基于ARM的CAN總線智能節點的設計
摘 要:CAN總線是一種應用廣泛的實時性現場總線,提出了基于具有ARM7TDMI內核的32位微控制器的CAN總線智能節點設計方案。詳細介紹了ARM控制(LPC2294)的特點、智能節點的結構以及系統軟件設計,同時結合現場實際使用給出了硬件抗干擾措施。
本文引用地址:http://www.104case.com/article/14380.htm關鍵詞:CAN總線 ARM 嵌入式控制器
CAN(Controller Area Network)即控制器局域網,CAN總線是國際上應用最廣泛的現場總線之一。它最早是由德國Bosch公司推出的,CAN通信協議是一種用于汽車內部測量與執行部件之間的數據通信協議。
作為一種技術先進、可靠性高、功能完善、成本合理的遠程網絡通訊控制方式,CAN總線已被廣泛應用于各個自動化控制系統中。例如,在汽車電子、自動控制、智能大廈、電子系統、安防監控等各領域中,CAN總線具有不可比擬的優越性。本設計給出CAN總線節點方案。它采用內置多路CAN總線控制器PLC2294作為主控制器,使得該節點體積小、功耗低、抗干擾性好,因而特別適用于汽車、工業控制以及醫療系統和容錯維護總線中。
1 硬件設計
1.1 LPC2294的特點
ARM7系列具有ARM7TDMI內核的32位嵌入式微處理器是目前應用很廣的嵌入式RISC處理器。該系列芯片體積小、功耗低、成本低,高性能與靈活性相結合,有較多的寄存器,提供了擴充的增強的固定長的16/32位雙指令集。用16位的Thumb指令可以節省高達35%的空間。另外它還實行注水線作業,提供嵌入式ICE2RT邏輯,支持片上斷點和調試點支持,具有先進的軟件開發和調試環境。
本設計選用的LPC2294是PHILIPS公司新推出的一款功能強大的超低功耗的具有ARM7TDMI內核的32位微控制器。144腳封裝、兩個32位定時器、八路10位ADC、四路CAN通道和PWM通道以及多達九個的外部中斷,內部嵌入256K字節高速Flash存儲器和16K字節靜態RAM,包含76(使用了外部存儲器)~112(單片)個GPIO口。如此豐富的片上資源完全可以滿足一般的工業控制的需要,同時還可以減少系統硬件設計的復雜度。另外,LPC2294支持JTAG實時仿真和跟蹤、128位寬度的存儲器接口和獨特的加速結構,使32位代碼能夠在高達60MHz的操作頻率下運行。
LPC2294內部集成有四路CAN控制器:符合CAN規范CAN2.0B,ISO 11989-1標準:總線數據波特度均可達1Mbps;可訪問32位的寄存器和RAM;全局驗收過濾器可識別幾乎所有總線的11位和29位Rx標識符;驗收過濾器為選擇的標準標識符提供了FullCAN-style自動接收功能。
作為本設計的核心部件,LPC2294不僅擔起主控制器的作用,同時還作為CAN網絡的節點控制器,與網絡中的其它節點實現數據傳輸與交換。
1.2 CAN節點硬件電路組成
CAN節點硬件電路如圖1所示,由ARM微控制器LPC2294、CAN總線收發器TJA1050T、高速光耦6N137和電源隔離模塊B0505S等組成。
主控芯片LPC2294的晶振頻率范圍為1~30MHz。本設計選晶振頻率為20MHz,通過設置內部的VPB分頻器可以提高CPU時鐘頻率。內部256K字節的高速Flash存儲器用于代碼和數據的存儲。對于FLASH存儲器,可通過內置的串行JTAG接口進行在系統編程(ISP),或進行在應用編程(IAP)。為了便于調試和系統升級,在設計中可以預留這些接口電路。
LPC2294采用雙電源供電。CPU的供電電壓范圍為1.65~1.95V(1.8V
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論