基于VxWorks和MPC860T平臺的嵌入式串口通信服務器的解決方案
在實際應用中UART協(xié)議和HDLC協(xié)議是串口通信常用的兩種通信協(xié)議,并且HDLC是其它眾多協(xié)議(如SDLC、SS#7等)的基礎(chǔ),因此該通信服務器的串口協(xié)議采用HDLC和UART?;?a class="contentlabel" href="http://www.2s4d.com/news/listbylabel/label/MPC860T">MPC860T的串口通信服務器的硬件組成如圖3所示。在該串口通信服務器中,
4個SCC通道分別獨立工作于雙工的HDLC模式,以提供高速實時的串行數(shù)據(jù)傳輸,快速接入以太網(wǎng);2個SMC通道獨立工作在UART模式提供低速率的數(shù)據(jù)通信,SMC1提供系統(tǒng)級和任務級調(diào)試用串口,用戶可以利用SMC1通過運行在個人計算機上的程序來配置服務器的相關(guān)參數(shù),SMC2提供低速的串口通信。FEC接口提供雙工100/10M 以太網(wǎng)接入端口;4M的Flash用來存儲操作系統(tǒng)、用戶應用程序、服務器配置程序等;32M的SDRAM用來運行應用程序、存儲運行過程的數(shù)據(jù)等。BDM端口供軟硬件仿真調(diào)試使用,利用VisionProbe通過BDM口可以對軟硬件進行調(diào)試。
4.串口通信服務器的軟件實現(xiàn)
在串口通信服務器中,操作系統(tǒng)也是影響通信服務器整體性能的另一個關(guān)鍵因素。根據(jù)
圖1所示的體系結(jié)構(gòu)和所使用的微處理器,論文選用美國風河公司的嵌入式實時操作系統(tǒng)VxWorks。VxWorks是美國風河公司推出的一款實時操作系統(tǒng)。它以模塊化構(gòu)造并可高度裁減,這使其能夠在較小的存儲空間中高效穩(wěn)定的運行,非常適合于各種高性能、多任務嵌入式實時系統(tǒng)的開發(fā),廣泛應用于通信、航空航天等領(lǐng)域。VxWorks系統(tǒng)的構(gòu)成主要有Wind內(nèi)核、I/O系統(tǒng)、BSP以及網(wǎng)絡協(xié)議棧等。
基于VxWorks操作系統(tǒng)構(gòu)建的串口通信服務器軟件系統(tǒng)層次結(jié)構(gòu)如圖4所示。在該軟件
系統(tǒng)中,由底向上依次是依賴于通信服務器硬件系統(tǒng)的BSP(包括UART驅(qū)動、HDLC驅(qū)動、config.h配置文件、makefile編譯規(guī)則文件等)和以太網(wǎng)驅(qū)動程序;與硬件無關(guān)的操作系統(tǒng)層;屬于應用層的通用服務器配置程序。其中操作系統(tǒng)層由VxWorks提供,服務器配置程序和BSP需要根據(jù)系統(tǒng)硬件具體實現(xiàn)。FEC驅(qū)動需要作為BSP的一部分集成進整個軟件系統(tǒng),之所以將FEC驅(qū)動單獨列出,是因為FEC驅(qū)動是通用的,僅僅需要在BSP中進行集成。下面主要討論BSP和服務器配置軟件的實現(xiàn)方案。
4.1 通信服務器BSP設計與實現(xiàn)
嵌入式系統(tǒng)中的BSP一般都是參考一個經(jīng)過了嚴格測試的、功能比較類似的BSP來設計和實現(xiàn)的,串口通信服務器的BSP就是參考ADS860評估板的BSP來實現(xiàn)的。根據(jù)串口通信服務器的體系結(jié)構(gòu)和硬件實現(xiàn),BSP的實現(xiàn)需要做以下工作:
將MPC860T的SCC1~SCC4通道設置成HDLC模式,實現(xiàn)HDLC驅(qū)動并將其掛接到VxWorks的TTY系統(tǒng);
新建sysSccSerial.c文件以支持HDLC驅(qū)動模式;
根據(jù)實際需要修改usrconfig.c或是usrSerial.c文件以便將HDLC通道作為標準的I/O設備;
修改config.h、configNet.h、makefile、apc860.h等文件使相關(guān)的配置參數(shù)符合串口通信服務器的具體要求,去除對10M以太網(wǎng)的支持、添加對100/10M FEC以太網(wǎng)的支持;
其中HDLC驅(qū)動程序的實現(xiàn)是BSP開發(fā)中的重要一環(huán),因為SCCx通道的HDLC驅(qū)動需要滿足高速率、高實時性的要求,它的性能直接決定著整個通信服務器的性能。
評論