基于MPC8280的智能串口模塊設(shè)計(jì)
該模塊將4個(gè)SCC設(shè)計(jì)為RS 422通信接口,其中一個(gè)可復(fù)用作為USB接口。將一個(gè)SMC設(shè)計(jì)為一個(gè)RS 232接口,作為調(diào)試控制臺(tái)通信使用,如圖2所示。本文引用地址:http://m.butianyuan.cn/article/151988.htm
該模塊將兩個(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)程序的編寫(xiě)。針對(duì)該模塊的板級(jí)固件已經(jīng)完成了對(duì)本板上各功能部件的驅(qū)動(dòng),本板上通信接口由板載的處理器控制,板微處理器通過(guò)非透明橋HB6與主板交互信息,并根據(jù)主板信息對(duì)I/O接口發(fā)起訪問(wèn)。邏輯圖如圖4所示。
HB6有三種工作模式:標(biāo)準(zhǔn)透明模式、標(biāo)準(zhǔn)非透明模式、通用模式。通用模式又分為通用非透明和通用透明模式兩種,本板的設(shè)計(jì)使用通用模式下的通用非透明模式。HB6芯片選擇由硬件配置完成,U_MODE拉高表示工作在通用模式;拉高表示工作在工作在通用非透明模式;XB_MEM拉高表示如果工作在非透明模式時(shí),自動(dòng)開(kāi)16 MB空間供主板訪問(wèn)。為S端的復(fù)位輸入,如果該模式下用不到,將其拉高,置在無(wú)效狀態(tài)。
該模塊中,HB6的通信機(jī)制用到直接消息中斷、門(mén)鈴中斷和內(nèi)存映射。HB6的P端和S端各開(kāi)一個(gè)內(nèi)存窗口,經(jīng)過(guò)HB6內(nèi)部的內(nèi)存窗口映射機(jī)制映射到對(duì)方可訪問(wèn)的地址區(qū)域,并可通過(guò)映射譯碼寄存器的設(shè)置而變化,從而可使內(nèi)存映射窗口隨意移動(dòng)。
橋兩端的陰影部分基址可以通過(guò)改變Upstrearn或者Dowmstrearn相應(yīng)寄存器的值來(lái)進(jìn)行選擇,從而使橋兩端陰影部分的內(nèi)存區(qū)域可以分別在各自的內(nèi)存尋址空間中任意移動(dòng),使得P端可通過(guò)移動(dòng)內(nèi)存窗口訪問(wèn)S端任意一段內(nèi)存區(qū)域,反之亦然。
當(dāng)橋的一段需要把數(shù)據(jù)發(fā)送到橋的另一端時(shí),先將需要發(fā)送的數(shù)據(jù)寫(xiě)入可供橋另一端讀取的本地內(nèi)存中,然后引發(fā)橋另一端的消息中斷,以通知其接收數(shù)據(jù),橋的另一端保持在空閑狀態(tài),接收到消息中斷后,立即從相應(yīng)內(nèi)存區(qū)域中讀取數(shù)據(jù),操作完成后發(fā)門(mén)鈴中斷,以通知橋的另一端可以進(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é)語(yǔ)
設(shè)計(jì)了基于PowerPC處理器的智能串口模塊,開(kāi)發(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)的開(kāi)發(fā),既可以通過(guò)HB6橋同系統(tǒng)中的其他模塊通信,又可以通過(guò)網(wǎng)絡(luò)與其他模塊構(gòu)成多點(diǎn)通信,在工業(yè)控制、軍用電子設(shè)備、通信設(shè)備等領(lǐng)域應(yīng)用前景極為廣泛。
評(píng)論