一種基于ARM920T的現(xiàn)場(chǎng)總線控制系統(tǒng)
1、引言
隨著工業(yè)控制系統(tǒng)逐步的自動(dòng)化,現(xiàn)代化,現(xiàn)場(chǎng)總線控制系統(tǒng)得到越來(lái)越多的重視和應(yīng)用,CAN總線是目前開發(fā)簡(jiǎn)單,性能價(jià)格比高的一種現(xiàn)場(chǎng)總線 。相對(duì)其他現(xiàn)場(chǎng)總線而言,CAN通信控制器的生產(chǎn)廠家最多、品種最全、應(yīng)用也最為廣泛?;诂F(xiàn)場(chǎng)總線控制系統(tǒng)智能化、復(fù)雜度的提高,作為現(xiàn)場(chǎng)總線的核心部件微處理器,傳統(tǒng)的51芯片,甚至ARM7已經(jīng)逐漸不能滿足需要,ARM9成為合適的選擇。但許多ARM9并沒有集成CAN接口,擴(kuò)展CAN接口成為當(dāng)務(wù)之急。且ARM9將數(shù)據(jù)地址總線分開,而CAN控制器為數(shù)據(jù)地址總線復(fù)用,使得CAN的擴(kuò)展不能一味照搬51處理器的方式。在CAN模塊驅(qū)動(dòng)開發(fā)上,現(xiàn)有資料往往只針對(duì)Linux系統(tǒng)上的驅(qū)動(dòng)開發(fā) 進(jìn)行介紹,而現(xiàn)場(chǎng)總線控制系統(tǒng)對(duì)實(shí)時(shí)性的要求使得Linux系統(tǒng)要讓位于更多的實(shí)時(shí)操作系統(tǒng)。
本文介紹了一種基于ARM920T現(xiàn)場(chǎng)總線的控制系統(tǒng),詳細(xì)說(shuō)明了其上擴(kuò)展CAN總線的兩種方式,并給出具體的CAN模塊在實(shí)時(shí)操作系統(tǒng)eCos 上驅(qū)動(dòng)程序開發(fā)的步驟,最后對(duì)兩種擴(kuò)展進(jìn)行了簡(jiǎn)要的比較。
2、現(xiàn)場(chǎng)總線控制系統(tǒng)簡(jiǎn)介
該現(xiàn)場(chǎng)總線控制系統(tǒng)采用EP9315為核心處理器。EP9315是Cirrus Logic公司開發(fā)的一款基于ARM920T的工業(yè)級(jí)處理器。該現(xiàn)場(chǎng)總線控制系統(tǒng)除了外擴(kuò)的CAN總線接口、還外擴(kuò)64Mb SDRAM和32MB FLASH、并帶有PCMCIA 接口、E PROM接口、512kb SRAM、IDE接口、實(shí)時(shí)時(shí)鐘、視頻顯示、彩色VGA TFT LCD觸摸屏、支持模擬VGA連接、視頻解碼支持壓縮視頻輸出和S-VIDEO輸出、PS/2鍵盤,三個(gè)USB接口、三個(gè)串行接口、音頻接口、1/10/100Mbps以太網(wǎng)接口、紅外線接收口;實(shí)現(xiàn)了控制系統(tǒng)的數(shù)字化、智能化;可實(shí)現(xiàn)多種功能,使系統(tǒng)的控制功能本地化,提高了系統(tǒng)的可靠性、實(shí)時(shí)性;簡(jiǎn)化了系統(tǒng)的結(jié)構(gòu)。多接口的系統(tǒng)結(jié)構(gòu)使系統(tǒng)的擴(kuò)展,變更,拆裝更加靈活便利。
3、硬件系統(tǒng)擴(kuò)展
3.1 CAN總線模塊結(jié)構(gòu)
本文使用SJA1000T作為CAN控制器擴(kuò)展CAN模塊 。SJA1000T是使用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器,具有完成CAN高性能通信協(xié)議所要求的全部必要特性;具有簡(jiǎn)單總線連接的SJA1000T可完成物理層和數(shù)據(jù)鏈路層的所有功能。支持CAN2.0協(xié)議。
CAN總線收發(fā)器TJA1040T是CAN控制器和物理總線之間的接口芯片,增強(qiáng)了總線的驅(qū)動(dòng)能力,從而增加CAN總線的通信距離并使得一條總線上可以掛更多的節(jié)點(diǎn)。
為增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力 ,SJA1000T的TXO和RXO并不直接與TJA1040的TXD和RXD相連,而是通過(guò)兩片光耦隔離芯片6N137與TJA1040T相連。很好地實(shí)現(xiàn)了收發(fā)器與控制器之間的電氣隔離,保護(hù)智能節(jié)點(diǎn)核心電路安全工作;并實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。需要強(qiáng)調(diào)的是:為實(shí)現(xiàn)這種電氣隔離,光耦器件兩側(cè)的直流電源必須是兩個(gè)無(wú)直接電氣聯(lián)系、相互隔離的直流電源。因而采用兩路DC-DC隔離電源實(shí)現(xiàn)。為進(jìn)一步加強(qiáng)安全性和抗干擾能力,可在總線收發(fā)器TJA1040T與CAN總線間串接限流電阻,避免TJA1040T受過(guò)流沖擊。同時(shí),在CANH和CANL,與地之間并聯(lián)了濾波電容,可以起到濾除總線上的高頻干擾,并具備一定的防電磁輻射能力。此外,通信信號(hào)在線路上傳輸時(shí),信號(hào)傳輸?shù)綄?dǎo)線的端點(diǎn)時(shí)會(huì)發(fā)生反射,反射信號(hào)會(huì)干擾正常信號(hào)的傳輸。為消除這種影響,可在CAN總線兩端并接匹配電阻,起到匹配總線阻抗和消除反射的雙重作用。若忽略這些措施,會(huì)使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無(wú)法通信。
3.2 CAN模塊與ARM9的兩種連接方式
SJA1000T數(shù)據(jù)地址總線復(fù)用,而整個(gè)ARM9系列包括ARM920T數(shù)據(jù)和地址總線分開。這就使得它與ARM9系列的連接不能像傳統(tǒng)的用于51單片機(jī)系列方式擴(kuò)展連接,本文給出兩種擴(kuò)展方式 :全部IO口連接方式和最少IO口的數(shù)據(jù)信號(hào)線連接方式。
陀螺儀相關(guān)文章:陀螺儀原理
評(píng)論