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