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