隨著嵌入式技術(shù)的不斷發(fā)展,微處理器的處理能力大幅提升。嵌入式處理器在通信設(shè)備、消費(fèi)電子、軍用電子等領(lǐng)域的應(yīng)用越來越廣泛。在軍用電子領(lǐng)域,微處理器的處理速度、功耗及工作溫度更是有嚴(yán)格的要求。
計(jì)算機(jī)系統(tǒng)中串口模塊智能化已經(jīng)成為趨勢(shì),為了能夠更好地對(duì)各種設(shè)備和接口進(jìn)行控制,逐漸開始在模塊中使用微處理器,并移植嵌入式操作系統(tǒng)進(jìn)行控制管理。該模塊使用了PowerPC家族中的MPC8280作微處理器,搭配HB6進(jìn)行了非透明橋設(shè)計(jì),并在本板上移植了實(shí)時(shí)操作系統(tǒng)VXWORKS。
1 硬件設(shè)計(jì)
智能串口模塊是基于G2處理器MPC8280的6U尺寸CPCI總線模塊,符合PICMIG2.0R3.O。處理器采用Freescale公司MPC8280,主頻450 MHz,最高處理性能885 MIPS,內(nèi)嵌高速緩沖器(指令16 KB,數(shù)據(jù)16 KB),支持32位整型運(yùn)算及硬件單/雙精度浮點(diǎn)運(yùn)算,最大功耗為2.3W;提供板載64位128 MB SDRAM,64位32 MB FLASH,E2PROM等存儲(chǔ)設(shè)備。
I/O接口方面提供了四個(gè)串行接口,支持異步/同步方式,支持RS 232/RS 422電氣接口標(biāo)準(zhǔn)。其中,異步方式的單口最大速率115.2 Kb/s,同步方式的單口最大速率1 Mb/s(實(shí)際性能根據(jù)系統(tǒng)負(fù)荷決定);提供一個(gè)USB 1.1標(biāo)準(zhǔn)接口,與串行接口4復(fù)用信號(hào);提供一個(gè)系統(tǒng)控制臺(tái)接口,接口符合串行異步RS 232標(biāo)準(zhǔn),速率為9 600 b/s;提供兩個(gè)以太網(wǎng)接口,支持10/100 Mb/s及半/全雙工白適應(yīng),接口定義符合PICMG 2.16標(biāo)準(zhǔn)定義。
CPCI總線接口采用非透明橋設(shè)計(jì),使用PCI6254芯片,配置其工作在通用模式下,總線為32 b數(shù)據(jù)寬度,33 MHz總線時(shí)鐘。
該智能串口模塊最大可提供四個(gè)RS 422接口(可跳線選擇為RS 232),兩個(gè)10/100 Mb/s及半/全雙工自適應(yīng)以太網(wǎng)接口,可滿足大多數(shù)軍用計(jì)算機(jī)系統(tǒng)的通信需求。采用非通明PCI橋設(shè)計(jì),使之與主板的通信智能化,可應(yīng)用于要求苛刻、環(huán)境惡劣的機(jī)載、車載、艦載計(jì)算機(jī)系統(tǒng)中。模塊原理框圖如圖1所示。
1.1 通信接口設(shè)計(jì)
MPC8280專為串行通信優(yōu)化而內(nèi)嵌通信處理器(CPM)。CPM是一個(gè)32位RISC通信處理器(CP),有自己的ROM和RAM,存放著自己的微代碼,它可以為需要通信能力的設(shè)備提供一個(gè)靈活、完整的解決方案,同時(shí)降低系統(tǒng)頻率和能耗。CP提供了多個(gè)綜合的通信通道,可以處理低層次的協(xié)議。
CPM模塊提供的對(duì)外接口如表1所示。
該模塊將4個(gè)SCC設(shè)計(jì)為RS 422通信接口,其中一個(gè)可復(fù)用作為USB接口。將一個(gè)SMC設(shè)計(jì)為一個(gè)RS 232接口,作為調(diào)試控制臺(tái)通信使用,如圖2所示。
\該模塊將兩個(gè)FCC設(shè)計(jì)為10/100Mb/s及半/全雙工自適應(yīng)以太網(wǎng)接口,如圖3所示。
\1.2 非透明PCI橋設(shè)計(jì)
該模塊在CPCI接口部分采用非透明PCI橋設(shè)計(jì),大大增強(qiáng)了使用靈活性,很大程度上簡(jiǎn)化了針對(duì)本串口板驅(qū)動(dòng)程序的編寫。針對(duì)該模塊的板級(jí)固件已經(jīng)完成了對(duì)本板上各功能部件的驅(qū)動(dòng),本板上通信接口由板載的處理器控制,板微處理器通過非透明橋HB6與主板交互信息,并根據(jù)主板信息對(duì)I/O接口發(fā)起訪問。邏輯圖如圖4所示。
HB6有三種工作模式:標(biāo)準(zhǔn)透明模式、標(biāo)準(zhǔn)非透明模式、通用模式。通用模式又分為通用非透明和通用透明模式兩種,本板的設(shè)計(jì)使用通用模式下的通用非透明模式。HB6芯片選擇由硬件配置完成,U_MODE拉高表示工作在通用模式;拉高表示工作在工作在通用非透明模式;XB_MEM拉高表示如果工作在非透明模式時(shí),自動(dòng)開16 MB空間供主板訪問。為S端的復(fù)位輸入,如果該模式下用不到,將其拉高,置在無效狀態(tài)。
該模塊中,HB6的通信機(jī)制用到直接消息中斷、門鈴中斷和內(nèi)存映射。HB6的P端和S端各開一個(gè)內(nèi)存窗口,經(jīng)過HB6內(nèi)部的內(nèi)存窗口映射機(jī)制映射到對(duì)方可訪問的地址區(qū)域,并可通過映射譯碼寄存器的設(shè)置而變化,從而可使內(nèi)存映射窗口隨意移動(dòng)。
橋兩端的陰影部分基址可以通過改變Upstrearn或者Dowmstrearn相應(yīng)寄存器的值來進(jìn)行選擇,從而使橋兩端陰影部分的內(nèi)存區(qū)域可以分別在各自的內(nèi)存尋址空間中任意移動(dòng),使得P端可通過移動(dòng)內(nèi)存窗口訪問S端任意一段內(nèi)存區(qū)域,反之亦然。
當(dāng)橋的一段需要把數(shù)據(jù)發(fā)送到橋的另一端時(shí),先將需要發(fā)送的數(shù)據(jù)寫入可供橋另一端讀取的本地內(nèi)存中,然后引發(fā)橋另一端的消息中斷,以通知其接收數(shù)據(jù),橋的另一端保持在空閑狀態(tài),接收到消息中斷后,立即從相應(yīng)內(nèi)存區(qū)域中讀取數(shù)據(jù),操作完成后發(fā)門鈴中斷,以通知橋的另一端可以進(jìn)行下一次操作,然后回到空閑狀態(tài)。需要注意的是傳送數(shù)據(jù)的格式必須有統(tǒng)一的標(biāo)準(zhǔn),本模塊的數(shù)據(jù)塊組織方式是前4個(gè)字節(jié)為操作方式,接著4個(gè)字節(jié)為傳送數(shù)據(jù)的長(zhǎng)度,該值不包括本身的4個(gè)字節(jié),后面緊接著存放相應(yīng)長(zhǎng)度的數(shù)據(jù)。
2 結(jié)語
設(shè)計(jì)了基于PowerPC處理器的智能串口模塊,開發(fā)了VxWorks的BSP。使本板可運(yùn)行硬實(shí)時(shí)的Vx-Works操作系統(tǒng),且在實(shí)際測(cè)試中運(yùn)行穩(wěn)定。該模塊可以作為從板在CPCI體系的計(jì)算機(jī)系統(tǒng)中方便的使用,很大程度上它的智能性簡(jiǎn)化了主板驅(qū)動(dòng)的開發(fā),既可以通過HB6橋同系統(tǒng)中的其他模塊通信,又可以通過網(wǎng)絡(luò)與其他模塊構(gòu)成多點(diǎn)通信,在工業(yè)控制、軍用電子設(shè)備、通信設(shè)備等領(lǐng)域應(yīng)用前景極為廣泛。