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