根據(jù)項目設(shè)計要求嵌入式處理器作為服務(wù)器,串行端口收發(fā)信息,,經(jīng)快速以太網(wǎng)接口實時發(fā)送到局域網(wǎng),。客戶端將需要發(fā)送到串口的數(shù)據(jù)通過快速以太網(wǎng)接口經(jīng)處理器轉(zhuǎn)發(fā)到串口,。因此,,這是提出一種基于MPC860與STl6C654的串行通信設(shè)計方案。采用MPC860連接STl6C654,。 MPC860是目前在網(wǎng)絡(luò)與通信領(lǐng)域應用廣泛的一款微處理器,,其高速的PowerPC內(nèi)核,連同集成的網(wǎng)絡(luò)與通信外圍設(shè)備,,為用戶提供一個建立高端通信系統(tǒng)的解決方案,。STl6C654是一個帶有收發(fā)各64字節(jié)、可擴展4路串行通道FIF0的擴展通用異步收發(fā)器,,用于和高速調(diào)制解調(diào)器及需要快速處理數(shù)據(jù)時間的共享網(wǎng)絡(luò)環(huán)境一起工作,。
1 系統(tǒng)硬件設(shè)計
1.1 主要器件選型
1.1.1 MPC860型微處理器
MPC860 PowerQIUCC(簡稱MPC860)內(nèi)部集成了2個處理單元。一個處理單元是嵌入的PowerPC核(PowerPCCore),,是主處理單元(CPU),,是一個RISC芯片,通常編譯后的程序指令都是由它執(zhí)行,;另一個處理單元是通信處理模塊CPM(Communications Processor Module),,內(nèi)部集成有一個RISC微處理器,對各種常用的通信模塊進行管理,。通信處理模塊內(nèi)部集成有4個串行通信控制器SCC,、2個串行管理控制器SMC、1個串行外圍接口電路SPI和1個I2C接口,。另外,,還有一個系統(tǒng)接口單元SIU,主要功能是提供內(nèi)外總線的接口及一些其他功能(如SIU中斷)的管理等,。本設(shè)計利用通信處理模塊CPM強大功能,,與STl6C654通信。MPC860硬件結(jié)構(gòu)如圖1所示,。
1.1.2 STl6C654
STl6C654是一個帶有收發(fā)各64 Byte的FIF0的擴展通用異步收發(fā)器,,自動軟硬件流程控制,,速率最高達到1.5 Mb/s(24 MHz時鐘),支持16(Intel)/68(Motorola)總線接口類型,。STl6C654結(jié)構(gòu)圖如圖2所示,。擴展的4路串口通道,每個通道有15個(64/68pin封裝)或16個(100pin封裝)內(nèi)部寄存器,,用來存放收發(fā)數(shù)據(jù)以及配置該串口的工作模式,,需要在初始化時對各寄存器進行配置。工作模式有中斷模式和定時查詢模式,,中斷模式實時性能好,,適合于緊急情況,中斷次數(shù)多,,中斷任務(wù)切換頻繁影響主要任務(wù)的運行,;定時查詢模式,由于STl6C654具有緩存,,定時查詢方式具備一般實時性,,數(shù)據(jù)不丟失。
1.2 系統(tǒng)組成
電路設(shè)計需要注意:1)MPC2860采用大端(big-end)工作模式,,STl6C654從BD0開始接收數(shù)據(jù),。STl6C654數(shù)據(jù)總線D[0..7]連接MPC860的數(shù)據(jù)總線D[7..0],地址總線A[O..4]連接MPVC860地址總線A[31..27],;2)STl6C654采用Motorola模式即接地,,此時控制
為0,就是對4路串口同時使能,,選擇A3,,A4就可以對具體通道操作;3)采用定時查詢模式,,STl6C654的
與MPC860的
連接,與MPC860的
連接,,
置空,,以實現(xiàn)了串口數(shù)據(jù)的接收后以UDP協(xié)議包發(fā)送到以太網(wǎng)和從以太網(wǎng)收到的UDP包數(shù)據(jù)按協(xié)議重打包后發(fā)送到指定端口;4)時鐘選擇為14.7654MHz,,
為O,,但實際波特率要通過MCRBIT7初始化設(shè)置,各路傳輸速率最高可達921.6 Kb/s,。STl6C654電路設(shè)計如圖3所示,。
2 系統(tǒng)軟件設(shè)計
2.1 操作系統(tǒng)
Vxworks是由WRS(Wind River System Ine.)公司開發(fā)的一套具有微內(nèi)核、高性能,、可伸縮的實時操作系統(tǒng),,支持廣泛的網(wǎng)絡(luò)通信協(xié)議,,支持32位的CPU,包括Intel公司的x86,、MIatorola公司的68k和PoweerPC,、MIPS、ARM,,并能夠根據(jù)用戶的需求進行組合,;同時WRS公司還提供了優(yōu)秀的實時操作系統(tǒng)開發(fā)工具Tornado。Tornado是一整套強有力的交叉開發(fā)工具,,它能夠支持幾乎所有的工作平臺和目標處理器,,所提供有工具可用于所有目標機,并具有兩種調(diào)試模式(系統(tǒng)模式和任務(wù)模式),,能夠輕松給Vxworks操作系統(tǒng)添加刪除各種通信協(xié)議,,能夠支持目標機和宿主機的如以太網(wǎng)、串行線路,、在線仿真等通信選項,,其機制和功能都是基于C/C++語言,任務(wù),、中斷,、通信都提供了統(tǒng)一的API接口。這些特性為編寫應用程序和設(shè)備驅(qū)動提供了極大便利,。Tornado目前已發(fā)展到6.O及更高板本,。本設(shè)計開發(fā)工具是Tornado 2.0。
在Vxworks下,,設(shè)備驅(qū)動可以嵌入到內(nèi)核隨系統(tǒng)一起啟動,,也可以作為加載模塊在系統(tǒng)啟動后運行。前一種需要修改內(nèi)核,,需要熟悉內(nèi)核結(jié)構(gòu)和運行方式,,這實現(xiàn)比較困難:而后一種比較簡單,與編寫一般的應用程度類似,。本設(shè)計采用后者,。
2.2 STl6C654程序設(shè)計
定義消息結(jié)構(gòu)MSG_STRUCT和串口接收UART_RECE_STRUCT數(shù)據(jù)結(jié)構(gòu):
系統(tǒng)啟用收發(fā)2個任務(wù),初始化STl6C654后,,實現(xiàn)收發(fā)數(shù)據(jù)流程如圖4所示,。
3 結(jié)論
在詳細分析MPC860和STl6C654元件性能參數(shù)的基礎(chǔ)上,介紹了具體的開發(fā)實例,。硬件采用MPC860連接STl6C654,,軟件采用VxWorks系統(tǒng),雙任務(wù)驅(qū)動STl6C654進行串口收發(fā)通信,,該實例已在TornadoⅡ2.0_2版本上通過調(diào)試,,單通道連續(xù)收或發(fā)5字節(jié)實驗,,1秒20次無丟失包。該
實例已成功應用于某型網(wǎng)絡(luò)設(shè)備開發(fā)中,。