<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MPC755的嵌入式計算機系統設計

基于MPC755的嵌入式計算機系統設計

作者: 時(shí)間:2008-06-10 來(lái)源:上海貝爾阿爾卡特有限公司VND部 收藏

  3. 串口

本文引用地址:http://dyxdggzs.com/article/83951.htm

  TL16C550是RS-232串口控制芯片,接在RCS1空間,MAX3221是電平轉換芯片。串口的工作模式由軟件決定,既可工作于中斷模式,也可工作于輪詢(xún)模式。在調試的時(shí)候,串口用于輸出調試信息和接收外部命令。在實(shí)際應用中,串口可以作為系統和用戶(hù)的交流窗口,用戶(hù)通過(guò)串口來(lái)掌握或改變系統的運行情況。

  4. PCI設備

  本系統中,PCI采用MPC107內部仲裁器,總線(xiàn)工作于33MHz。系統的網(wǎng)口芯片選用了Intel82559,這是一款具有PCI接口的,將物理層和鏈路層集成在一起的10M/100M自適應網(wǎng)口芯片,可減少電路板空間和走線(xiàn)數量。變壓器選用了Pulse公司的H1012。網(wǎng)口可工作于全雙工或者半雙工模式。

  另外,PCI1410A是連接PCI總線(xiàn)和CF卡的一種接口芯片。CF卡具有攜帶方便、易于升級、存儲量大、抗震性好等優(yōu)點(diǎn)。在本設計中,CF卡主要用于保存應用軟件、用戶(hù)數據備份等。而且,在今后的系統維護和軟件升級中,技術(shù)人員只需要更換CF卡或者升級CF卡中的軟件,十分方便。設計選用了SanDisk公司的型號為SDCFB-64-101的CF卡,64M字節容量,幾何尺寸為36.4mm×42.8mm×3mm。 

  PMC插槽用于擴展PCI插卡,增加系統功能。例如,如果系統需要增加一個(gè)網(wǎng)口,只要在PMC槽上插入一塊具有PMC接口的網(wǎng)卡就可以了。

  5. 時(shí)鐘

  M41T81是ST公司生產(chǎn)的一款時(shí)鐘芯片。在本設計中,為系統提供時(shí)鐘,因為在電信、網(wǎng)絡(luò )等許多應用場(chǎng)合,系統必須提供時(shí)間信息。M41T81具有I2C接口,兩種供電模式:在系統上電時(shí),由電路板上的3.3V電源供電;系統斷電時(shí),自動(dòng)切換到外接電池供電。電池供電時(shí)的電流很小,僅為1A。

  地址空間分配

  在PCI主設備模式下,MPC107支持兩種地址空間分配方案:Map A和Map B。在PCI從設備模式下,MPC107只支持Map B。選擇哪種地址分配方案是由上電啟動(dòng)時(shí),引腳SDBA0的高低來(lái)決定的,如果為高,則選用Map B,否則,選用Map A。在本系統中,MPC107工作于PCI主設備模式,選用了Map B地址空間分配方案。

  在Map B地址空間分配方案中,整個(gè)32位(4G)地址空間被分為4大塊:本地存儲空間、PCI存儲空間、PCI I/O空間、系統ROM空間。如表1所示。

        表1:地址空間分配。

  在本系統中,128MB SDRAM的基地址是0000_0000,2MB Flash的基地址是FFE0_0000,串口控制芯片TL16C550的基地址是:7C00_0000,64M CF卡的訪(fǎng)問(wèn)地址是8000_0000。

  設計關(guān)鍵

  1. 時(shí)鐘

  時(shí)鐘信號是本設計的一大關(guān)鍵。整個(gè)系統只有一個(gè)時(shí)鐘輸入:OSC_IN,33MHz,輸入到MPC107,經(jīng)過(guò)MPC107的FO緩存產(chǎn)生5個(gè)同步的PCI時(shí)鐘信號,其中3個(gè)PCI時(shí)鐘輸送給PCI設備,1個(gè)保留,另一個(gè)PCI時(shí)鐘作為系統時(shí)鐘(PCISYNC_OUT),輸送到PLL和DLL(延時(shí)鎖相環(huán))模塊,經(jīng)過(guò)鎖相和倍頻,分別產(chǎn)生CPU時(shí)鐘(CPU_CLK0)、4個(gè)SDRAM(SDRAM_CLKx)時(shí)鐘、和一個(gè)回饋時(shí)鐘(SDRAM_SYNC)。CPU_CLK0輸送給MPC755。

  MPC107的DLL模塊類(lèi)似于PLL,但是它能夠把一個(gè)時(shí)鐘周期分為128個(gè)離散的間隔。在PCB布線(xiàn)時(shí),SDRAM時(shí)鐘的走線(xiàn)是等長(cháng)的。DLL檢測SDRAM_SYNC時(shí)鐘從輸出到輸入的時(shí)延,這個(gè)時(shí)延就相當于SDRAM_CLK的時(shí)延。通過(guò)調整SDRAM_SYNC時(shí)鐘的時(shí)延,可以方便地增加或者減少SDRAM_CLK時(shí)鐘的延遲。一般情況下,走線(xiàn)16.5cm相當于時(shí)延1000ps。

  本設計中,CPU_CLK0走線(xiàn)長(cháng)度、SDRAM_SYNC的走線(xiàn)長(cháng)度和SDRAM_CLK時(shí)鐘的走線(xiàn)長(cháng)度三者相等。PCISYNC_OUT到PCISYNC_IN的走線(xiàn)長(cháng)度和PCICLK的走線(xiàn)長(cháng)度相等。

  MPC755通過(guò)對CPU_CLK0時(shí)鐘倍頻,獲得內核主頻。二級高速緩存的時(shí)鐘是由MPC755對內核主頻分配所得,分頻系數由L2CR寄存器的L2CLK位決定,可以是1、1.5、2、2.5、3(本系統選擇了2.5)。一般的,分配系數的選擇要根據外部Cache的性能、MPC755的內核工作頻率和DLL的調整能力決定。L2 Cache最小的工作頻率是80MHz。分頻后的時(shí)鐘經(jīng)過(guò)片內的DLL電路調整,輸送到二級緩存。但是,L2SYNC_OUT作為反饋時(shí)鐘又輸入到L2SYNC_IN,返回路徑長(cháng)度必須是L2CLK_OUTA走線(xiàn)長(cháng)度的二分之一,這樣CPU就能夠保證輸入到L2 Cache的時(shí)鐘信號上升沿是和L2接口的時(shí)鐘信號上升沿對齊的。

  2. 高速布線(xiàn)

  MPC107的PLL外部電路必須盡可能地靠近MPC107。網(wǎng)口芯片82559和變壓器H1012之間的走線(xiàn)應該盡可能短,網(wǎng)口的一對輸入信號和一對輸出信號采用差分走線(xiàn)。連接MPC755和二級高速緩存的數據線(xiàn)、地址線(xiàn)的長(cháng)度盡可能相等,因為要連接二片SRAM芯片,所以采用“Y”形走線(xiàn)方式。SDRAM、L2 Cache的地址線(xiàn)、數據線(xiàn)和控制線(xiàn)也都需要特別注意。如表2所示,所有高速走線(xiàn),包括PCI走線(xiàn),都進(jìn)行了阻抗匹配控制。

        表2:重要走線(xiàn)示意。

  系統啟動(dòng)過(guò)程和調試 

  當信號#HRESET為低電平時(shí),MPC107就讀取配置引腳,以決定工作狀態(tài)。這些配置引腳是復用的,但是,在上電時(shí),它們只扮作配置引腳。關(guān)鍵的幾個(gè)配置引腳的意義如表3。

        表3:?jiǎn)?dòng)配置引腳及意義。

  系統的硬件調試借助了Windriver公司的EST7xx系列仿真器。仿真器一端連接PC機,另一端連接MPC755的JTAG接口,即使SDRAM等模塊工作不正常,仿真器也可以訪(fǎng)問(wèn)MPC755和MPC107的內部寄存器,幫助判斷SDRAM和其它器件的故障所在。

  首先調試PowerPC內核和外部SDRAM,一旦它們工作正常,就可以通過(guò)仿真器下載RTOS,來(lái)輔助硬件調試。為此,筆者選用了Windriver公司的實(shí)時(shí)操作系統,VxWorks及其集成開(kāi)發(fā)工具Tornado。然后,調試串口,因為串口相對簡(jiǎn)單。如果串口工作正常,就可以脫離仿真器,利用Tornado提供的工具軟件,例如WDB,通過(guò)串口線(xiàn)建立電路板和PC機的通信機制,繼續調試其它模塊。調試的主要工作量是在MPC107,而不是MPC755。

  調試結束后,將正確的啟動(dòng)代碼燒制到Flash中,VxWorks和應用軟件燒制到CF卡。因為啟動(dòng)時(shí)中斷入口的基地址為0xFFF00000,而PowerPC處理器啟動(dòng)的中斷向量偏移地址是0x100,所以啟動(dòng)代碼必須燒制在Flash的0xFFF00100地址。系統上電或者硬復位后,MPC755自動(dòng)從該地址讀取指令并執行,步驟如下:

  PowerPC內核初始化;
  關(guān)閉所有中斷;
  初始化SDRAM;
  初始化MPC755內部的高速緩存;
  初始化二級高速緩存
  初始化PCI接口;
  初始化CF卡;
  從CF卡讀取VxWorks及應用軟件到SDRAM中;
  運行VxWorks;
  初始化串口;
  初始化I2C,從AT24C04讀取MAC地址;
  初始化網(wǎng)口;
  打開(kāi)中斷;
  運行應用軟件。

  Bootrom中最初一段程序采用PowerPC的匯編語(yǔ)言編寫(xiě),這部分程序完成了對系統的最基本的初始化,其中最重要的是PowerPC內核和SDRAM,以便可以盡快使用SDRAM,從而在其后可以使用C語(yǔ)言編寫(xiě)的程序進(jìn)行后繼初始化工作。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>