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