基于PowerPC嵌入式內核的多串口通信擴展設計
摘要:本文設計了一種基于PowerPC嵌入式內核MPC565和串口模塊EMM-8M-XT的多串口通信系統,給出了系統總體的硬件架構和軟件設計流程,詳述了串口卡跳線(xiàn)及寄存器的設置方法,實(shí)現了8個(gè)RS232/422/485工作模式可任意配置的全雙工通信串口。MPC565通過(guò)PC/104總線(xiàn)對串口卡進(jìn)行讀寫(xiě)控制,體積小,使用方便。經(jīng)大量長(cháng)時(shí)間的通信測試和考機驗證,串口系統工作穩定,實(shí)時(shí)性好,抗干擾性強,在不同應用環(huán)境中采用特定通信模式能有效保證信息交換的可靠性,適用于具有多路串行數據傳輸需求的復雜控制場(chǎng)合。
本文引用地址:http://dyxdggzs.com/article/201610/306409.htm關(guān)鍵詞:PowerPC;嵌入式系統;多串口通信;PC/104總線(xiàn)
在一些復雜的控制領(lǐng)域中,控制計算機往往需要與多個(gè)終端進(jìn)行信息的交互通信。但由于工程現場(chǎng)環(huán)境的限制和應用設備的日漸增多,近距離集中式的通信管理已不再具有普遍適用性。
隨著(zhù)遠程集散控制理念的出現,串行數據通信因其結構簡(jiǎn)單、設計方便、價(jià)格低廉、占用資源少、傳輸距離遠等優(yōu)勢而得到了廣泛普及。而近年來(lái)串口通信正朝著(zhù)帶寬、速度、穩定性逐漸增加的方向發(fā)展,利用多個(gè)串口進(jìn)行信號采集或數據傳輸為多設備分布式布局提供了可能。但一般的處理器板卡只有一至兩個(gè)RS232串口,難以滿(mǎn)足控制系統對串口數量和數據傳輸過(guò)程中抗干擾性能的要求,因此需要對串口進(jìn)行擴展設計。
傳統的串口擴展設計多以微控制器與串口芯片在板集成的方式實(shí)現,需單獨設計其控制電路和外圍接口電路,周期較長(cháng),靈活性低,且穩定性和抗干擾性仍有待驗證。MPC565與EMM串口卡技術(shù)相對更加成熟,各性能指標已經(jīng)過(guò)長(cháng)期的實(shí)踐驗證,同樣具有的PC/104總線(xiàn)結構使其能夠以簡(jiǎn)單的插拔方式實(shí)現串口功能的擴展,使用靈活、方便。因此本文結合以PowerPC嵌入式處理器MPC565為核心的飛控計算機開(kāi)發(fā)平臺,介紹一種多串口通信在實(shí)際工程應用中的擴展方法。利用MPC565與EMM-8M-XT組成串口擴展系統,通過(guò)簡(jiǎn)單的搭積木方式實(shí)現8個(gè)通信方式可配置的串口擴展。
1 系統硬件結構設計
本文涉及的內容已成功應用于某型無(wú)人機飛控系統的預研開(kāi)發(fā)。眾所周知,無(wú)人機飛行控制系統是個(gè)典型的多輸入、多輸出系統,其多外設平臺大多采用分布式布局,串行通信逐漸成為了各傳感器及任務(wù)設備與飛控計算機內核之間的主要通信方式,高質(zhì)量的數據傳輸尤其重要。
本文中飛控計算機內核采用具有PC/104結構的MPC565板卡。PowerPC系列的MPC565處理器具有較高的硬件穩定性和抗干擾性,工作頻率可達50 MHz以上,在無(wú)操作系統的情況下也能可靠、靈活的直接操作硬件,運算處理能力強大,可靠性高,工作溫度范圍-40℃~+85℃,同時(shí)應用PC/104總線(xiàn)結構還可以外接串口、A/D、D/A、I/O等功能組件,為其提供了方便的資源擴展能力,且有利于功能的模塊化集成。
MPC565可通過(guò)簡(jiǎn)單的插拔方式與同樣具有PC/104結構的EMM-8M-XT實(shí)現串口功能的擴展。EMM-8M-XT串口板提供8個(gè)通信模式可配置的串行接口,分別連接磁羅盤(pán)、大氣機、GPS、慣導等設備,完成不同的任務(wù)功能。擴展串口通信后飛控系統結構如圖1所示。

本文應用的MPC565板卡設有3個(gè)RS232通信串口,主要用于程序裝訂和飛控參數的測試,因此需額外的串口模塊來(lái)滿(mǎn)足飛控計算機的基本功能。這里選用DIAMOND公司的EMM-8M-XT串口模塊實(shí)現串口功能的擴展。
EMM-8M-XT串口模塊集成了兩個(gè)高性能的16C654控制芯片,8個(gè)獨立的串口通道各有64字節的接收緩沖器和發(fā)送緩沖器,自動(dòng)軟硬件流程控制,最高配置波特率可達1.5 Mb/s,有10個(gè)不同的中斷優(yōu)先級可選。每個(gè)通道的狀態(tài)可以通過(guò)CPU的操作讀取寄存器。三態(tài)輸出為雙向數據總線(xiàn)和控制總線(xiàn)提供TTL驅動(dòng)能力、優(yōu)先級中斷系統控制、可編程的串行接口特性。串口基地址、中斷號和通信模式(RS232/422/485可選)亦可通過(guò)硬件跳線(xiàn)靈活配置,如圖2和圖3所示。

為防止與其他PC/104結構的板卡沖突,在這里把串口板的基地址設為200H,port1~port8共用3號中斷?;刂诽€(xiàn)J9的A、B、C、D定義如圖4所示,“In”表示放置跳線(xiàn),“Out”表示不放置跳線(xiàn)。每個(gè)串行口的基地址和中斷號信息均保存在EEPROM中,上電后板卡從中讀取這些數據,自動(dòng)完成基地址和中斷號的初始配置。

2 應用軟件設計
應用軟件采用C語(yǔ)言編程,可讀性好,主要分為串口板初始化軟件和串口中斷服務(wù)軟件。EMM-8M-XT的8個(gè)串口相對獨立。除共用中斷級外,MPC565可對每個(gè)串口的特性進(jìn)行單獨控制,因此波特率、數據格式、緩沖區深度等需通過(guò)初始化軟件依次設置。8串口初始化流程和中斷處理流程如圖5所示。

用中斷方式實(shí)現芯片功能比查詢(xún)方式能更有效地利用CPU,具有更好的實(shí)時(shí)性,大批量數據傳輸時(shí)中斷方式更能顯示出其優(yōu)勢。
本例中8個(gè)串口共用3號中斷,由內部硬件機制完成板級中斷狀態(tài)寄存器相應位的置位與清零。在中斷處理子程序中,首先要關(guān)閉CPU響應其他中斷的能力,以免造成多層中斷嵌套可能導致的程序死機。這樣即使中斷同時(shí)到來(lái)各串口也能正常工作,不會(huì )出現搶占現象,亦不會(huì )產(chǎn)生中斷阻塞或丟失情況。8個(gè)串口共用3號中斷,具體哪一個(gè)通道產(chǎn)生中斷由位于202H的中斷狀態(tài)寄存器指示(bit0~hit7分別代表1~8號串口)。中斷發(fā)生后,CPU將“一視同仁”,按照3號中斷處理函數內設置的中斷狀態(tài)查詢(xún)次序,對到來(lái)的中斷依次響應。數據接收或發(fā)送時(shí),各串口采用相同的中斷處理流程,下面以串口中斷服務(wù)程序為例,對軟件設計思路進(jìn)行描述。


3 性能驗證
多串口通信擴展系統實(shí)物圖如圖7所示。實(shí)際應用中分別對8個(gè)串口進(jìn)行了局部測試和系統測試,如圖8所示。在115200bps的高波特率下,長(cháng)時(shí)間的通信驗證未出現幀格式錯誤和丟幀現象。中斷的收發(fā)方式亦同時(shí)保證了較高的傳輸速度和對其它任務(wù)的實(shí)時(shí)響應。

4 結論
文中利用PC/104總線(xiàn)結構的PowerPC嵌入式處理器MPC565和串口模塊EMM-8M-XT成功構建了多串口通信擴展系統。各串口在帶有校驗機制的長(cháng)時(shí)間連續串行通信測試中.RS232、RS422、RS485 3種工作模式下均收發(fā)正常,幀格式正確且誤碼率極低。系統測試中,8個(gè)串口工作于無(wú)人機機載復雜電磁環(huán)境和溫變循環(huán)(-40℃、+85℃)等惡劣條件下,能夠長(cháng)時(shí)間連續穩定的進(jìn)行數據傳輸,具有較強的抗干擾能力和良好的實(shí)時(shí)性能。
評論