基于MPC860與STl6C654的串行通信設計
2 系統(tǒng)軟件設計
2.1 操作系統(tǒng)
Vxworks是由WRS(Wind River System Ine.)公司開發(fā)的一套具有微內(nèi)核、高性能、可伸縮的實時操作系統(tǒng),支持廣泛的網(wǎng)絡通信協(xié)議,支持32位的CPU,包括Intel公司的x86、MIatorola公司的68k和PoweerPC、MIPS、ARM,并能夠根據(jù)用戶的需求進行組合;同時WRS公司還提供了優(yōu)秀的實時操作系統(tǒng)開發(fā)工具Tornado。Tornado是一整套強有力的交叉開發(fā)工具,它能夠支持幾乎所有的工作平臺和目標處理器,所提供有工具可用于所有目標機,并具有兩種調(diào)試模式(系統(tǒng)模式和任務模式),能夠輕松給Vxworks操作系統(tǒng)添加刪除各種通信協(xié)議,能夠支持目標機和宿主機的如以太網(wǎng)、串行線路、在線仿真等通信選項,其機制和功能都是基于C/C++語言,任務、中斷、通信都提供了統(tǒng)一的API接口。這些特性為編寫應用程序和設備驅(qū)動提供了極大便利。Tornado目前已發(fā)展到6.O及更高板本。本設計開發(fā)工具是Tornado 2.0。
在Vxworks下,設備驅(qū)動可以嵌入到內(nèi)核隨系統(tǒng)一起啟動,也可以作為加載模塊在系統(tǒng)啟動后運行。前一種需要修改內(nèi)核,需要熟悉內(nèi)核結(jié)構(gòu)和運行方式,這實現(xiàn)比較困難:而后一種比較簡單,與編寫一般的應用程度類似。本設計采用后者。
2.2 STl6C654程序設計
定義消息結(jié)構(gòu)MSG_STRUCT和串口接收UART_RECE_STRUCT數(shù)據(jù)結(jié)構(gòu):
系統(tǒng)啟用收發(fā)2個任務,初始化STl6C654后,實現(xiàn)收發(fā)數(shù)據(jù)流程如圖4所示。
3 結(jié)論
在詳細分析MPC860和STl6C654元件性能參數(shù)的基礎上,介紹了具體的開發(fā)實例。硬件采用MPC860連接STl6C654,軟件采用VxWorks系統(tǒng),雙任務驅(qū)動STl6C654進行串口收發(fā)通信,該實例已在TornadoⅡ2.0_2版本上通過調(diào)試,單通道連續(xù)收或發(fā)5字節(jié)實驗,1秒20次無丟失包。該
實例已成功應用于某型網(wǎng)絡設備開發(fā)中。
評論