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