《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于MPC860與STl6C654的串行通信設(shè)計(jì)
基于MPC860與STl6C654的串行通信設(shè)計(jì)
電子設(shè)計(jì)工程
林為傳 韓曉晨 陳覺(jué)之
摘要: 基于MPC860與STl6C654的串行通信設(shè)計(jì),針對(duì)嵌入式服務(wù)器,、局域網(wǎng)需要與串行口通信的要求,提出基于MPC860與STl6C654的設(shè)計(jì)方法,。采用MPC860與STl6C654作為主要器件進(jìn)行電路連接,,采用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)VxWorks開(kāi)發(fā)程序,實(shí)現(xiàn)串口數(shù)據(jù)包的異步收發(fā),。進(jìn)行單通道每秒20次連續(xù)收或發(fā)5字節(jié)實(shí)驗(yàn),,無(wú)丟失包。該設(shè)計(jì)已成功應(yīng)用于網(wǎng)絡(luò)設(shè)備開(kāi)發(fā)中,。
Abstract:
Key words :

根據(jù)項(xiàng)目設(shè)計(jì)要求嵌入式處理器作為服務(wù)器,,串行端口收發(fā)信息,經(jīng)快速以太網(wǎng)接口實(shí)時(shí)發(fā)送到局域網(wǎng),??蛻?hù)端將需要發(fā)送到串口的數(shù)據(jù)通過(guò)快速以太網(wǎng)接口經(jīng)處理器轉(zhuǎn)發(fā)到串口。因此,,這是提出一種基于MPC860STl6C654串行通信設(shè)計(jì)方案,。采用MPC860連接STl6C654。  MPC860是目前在網(wǎng)絡(luò)與通信領(lǐng)域應(yīng)用廣泛的一款微處理器,,其高速的PowerPC內(nèi)核,,連同集成的網(wǎng)絡(luò)與通信外圍設(shè)備,為用戶(hù)提供一個(gè)建立高端通信系統(tǒng)的解決方案,。STl6C654是一個(gè)帶有收發(fā)各64字節(jié),、可擴(kuò)展4路串行通道FIF0的擴(kuò)展通用異步收發(fā)器,用于和高速調(diào)制解調(diào)器及需要快速處理數(shù)據(jù)時(shí)間的共享網(wǎng)絡(luò)環(huán)境一起工作,。

1 系統(tǒng)硬件設(shè)計(jì)
1.1 主要器件選型
1.1.1 MPC860型微處理器

    MPC860 PowerQIUCC(簡(jiǎn)稱(chēng)MPC860)內(nèi)部集成了2個(gè)處理單元,。一個(gè)處理單元是嵌入的PowerPC核(PowerPCCore),是主處理單元(CPU),,是一個(gè)RISC芯片,,通常編譯后的程序指令都是由它執(zhí)行;另一個(gè)處理單元是通信處理模塊CPM(Communications Processor Module),,內(nèi)部集成有一個(gè)RISC微處理器,,對(duì)各種常用的通信模塊進(jìn)行管理,。通信處理模塊內(nèi)部集成有4個(gè)串行通信控制器SCC、2個(gè)串行管理控制器SMC,、1個(gè)串行外圍接口電路SPI和1個(gè)I2C接口,。另外,還有一個(gè)系統(tǒng)接口單元SIU,,主要功能是提供內(nèi)外總線的接口及一些其他功能(如SIU中斷)的管理等,。本設(shè)計(jì)利用通信處理模塊CPM強(qiáng)大功能,與STl6C654通信,。MPC860硬件結(jié)構(gòu)如圖1所示,。


1.1.2 STl6C654
    STl6C654是一個(gè)帶有收發(fā)各64 Byte的FIF0的擴(kuò)展通用異步收發(fā)器,自動(dòng)軟硬件流程控制,,速率最高達(dá)到1.5 Mb/s(24 MHz時(shí)鐘),,支持16(Intel)/68(Motorola)總線接口類(lèi)型。STl6C654結(jié)構(gòu)圖如圖2所示,。擴(kuò)展的4路串口通道,,每個(gè)通道有15個(gè)(64/68pin封裝)或16個(gè)(100pin封裝)內(nèi)部寄存器,用來(lái)存放收發(fā)數(shù)據(jù)以及配置該串口的工作模式,,需要在初始化時(shí)對(duì)各寄存器進(jìn)行配置,。工作模式有中斷模式和定時(shí)查詢(xún)模式,中斷模式實(shí)時(shí)性能好,,適合于緊急情況,,中斷次數(shù)多,中斷任務(wù)切換頻繁影響主要任務(wù)的運(yùn)行,;定時(shí)查詢(xún)模式,,由于STl6C654具有緩存,定時(shí)查詢(xún)方式具備一般實(shí)時(shí)性,,數(shù)據(jù)不丟失,。


1.2 系統(tǒng)組成
    電路設(shè)計(jì)需要注意:1)MPC2860采用大端(big-end)工作模式,,STl6C654從BD0開(kāi)始接收數(shù)據(jù),。STl6C654數(shù)據(jù)總線D[0..7]連接MPC860的數(shù)據(jù)總線D[7..0],地址總線A[O..4]連接MPVC860地址總線A[31..27],;2)STl6C654采用Motorola模式即接地,,此時(shí)控制為0,就是對(duì)4路串口同時(shí)使能,,選擇A3,,A4就可以對(duì)具體通道操作;3)采用定時(shí)查詢(xún)模式,,STl6C654的與MPC860的
連接,,與MPC860的連接,,置空,以實(shí)現(xiàn)了串口數(shù)據(jù)的接收后以UDP協(xié)議包發(fā)送到以太網(wǎng)和從以太網(wǎng)收到的UDP包數(shù)據(jù)按協(xié)議重打包后發(fā)送到指定端口,;4)時(shí)鐘選擇為14.7654MHz,,為O,但實(shí)際波特率要通過(guò)MCRBIT7初始化設(shè)置,,各路傳輸速率最高可達(dá)921.6 Kb/s,。STl6C654電路設(shè)計(jì)如圖3所示。



2 系統(tǒng)軟件設(shè)計(jì)
2.1 操作系統(tǒng)

    Vxworks是由WRS(Wind River System Ine.)公司開(kāi)發(fā)的一套具有微內(nèi)核,、高性能,、可伸縮的實(shí)時(shí)操作系統(tǒng),支持廣泛的網(wǎng)絡(luò)通信協(xié)議,,支持32位的CPU,,包括Intel公司的x86、MIatorola公司的68k和PoweerPC,、MIPS,、ARM,并能夠根據(jù)用戶(hù)的需求進(jìn)行組合,;同時(shí)WRS公司還提供了優(yōu)秀的實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)工具Tornado,。Tornado是一整套強(qiáng)有力的交叉開(kāi)發(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++語(yǔ)言,,任務(wù)、中斷,、通信都提供了統(tǒng)一的API接口,。這些特性為編寫(xiě)應(yīng)用程序和設(shè)備驅(qū)動(dòng)提供了極大便利。Tornado目前已發(fā)展到6.O及更高板本,。本設(shè)計(jì)開(kāi)發(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)比較困難:而后一種比較簡(jiǎn)單,,與編寫(xiě)一般的應(yīng)用程度類(lèi)似,。本設(shè)計(jì)采用后者。
2.2 STl6C654程序設(shè)計(jì)
    定義消息結(jié)構(gòu)MSG_STRUCT和串口接收UART_RECE_STRUCT數(shù)據(jù)結(jié)構(gòu):
   
    系統(tǒng)啟用收發(fā)2個(gè)任務(wù),,初始化STl6C654后,,實(shí)現(xiàn)收發(fā)數(shù)據(jù)流程如圖4所示。



3 結(jié)論
    在詳細(xì)分析MPC860和STl6C654元件性能參數(shù)的基礎(chǔ)上,,介紹了具體的開(kāi)發(fā)實(shí)例,。硬件采用MPC860連接STl6C654,軟件采用VxWorks系統(tǒng),,雙任務(wù)驅(qū)動(dòng)STl6C654進(jìn)行串口收發(fā)通信,,該實(shí)例已在TornadoⅡ2.0_2版本上通過(guò)調(diào)試,單通道連續(xù)收或發(fā)5字節(jié)實(shí)驗(yàn),,1秒20次無(wú)丟失包,。該
實(shí)例已成功應(yīng)用于某型網(wǎng)絡(luò)設(shè)備開(kāi)發(fā)中。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。