基于ENC28J60的嵌入式以太網/CAN網關設計
摘 要:提出一種基于ARM7芯片LPC2294微處理器和以太網控制器ENC28J60的以太網/CAN網關設計方案,闡述以太網/CAN協議轉換的硬件設計,以及相關接口通信軟件設計。通過該網關可以實現CAN總線與基于IP/TCP協議的以太網之間的雙向通信。
關鍵詞:嵌入式網關;不起CAN總線;以太網;ARM
0 引 言
隨著Internet的普及,實現智能家居遠程控制不再是人們的夢想,其完全成為可能,然而實現這個夢想需要花費高額代價,智能家居迄今仍不能普及,因此設計一款性價比好的家庭控制器很有必要。CAN總線采用非破壞仲裁技術,短幀結構和數據出錯率極低,可以滿足控制系統安全性、可靠性、快捷性的要求。目前以太網以成本低,通信速度快,兼容性和互操作性好,資源共享能力強等特點已成為目前最流行的因特網接入方案之一,因此采用CAN總線組建家庭內部網絡,再通過網關與外部以太網相連實現對家居電器設備的遠程控制,實現CAN網絡與以太網的結合,已成為家居發展的趨勢。CAN與以太網采用的網絡協議,要確保兩種網絡之間高效無縫地連接網關是問題的關鍵。在此設計一種基于ENC28J60的高性能嵌入式以太網/CAN網關。
1 網關的硬件設計
1.1 系統硬件結構
該系統的硬件部分主要由ARM、以太網接口、CAN接口、高速存儲器、JTAG口、復位電路和電源等組成,其系統硬件結構如圖1所示。ARM負責對以太網接口芯片和CAN接口芯片進行控制。ARM移植TCP/IP通信協議和CAN協議,可完成以太網協議和CAN總線協議轉換,實現以太網接口和CAN接口通信數據的透明傳輸。JTAG口主要用來下載程序,進行系統仿真調試。鍵盤、LCD顯示用來實現人機交換。
1.2 主控制器的選擇
微處理器選用PhiIips公司ARM7TDMI內核的32位微控制器LPC2294,與一般單片機相比,LPC2294可嵌入操作系統。LPC2294內嵌256 KB的高速FLASH存儲器和16 KB的靜態RAM,多個外部中斷和串行口,LPC2294內部還集成了CAN控制器,只要加上CAN總線收發器就可以構成CAN節點,從而大大簡化了硬件電路。同時,由于LPC2294具有多路CAN,因此還可以把系統設計成冗余結構,以提高系統的可靠性。LPC2294還支持JTAG實時仿真和跟蹤,并具有128位寬度的存儲器接口和獨特的加速結構,它能夠使32位代碼在高達60 MHz的操作頻率下運行。
1.3 系統電源電路和復位電路
在該設計中,需要使用5 V,3.3 V和1.8 V的直流穩壓電源。其中,5 V電源由LM317L三端可調穩壓器產生;3.3 V和l_8 V電源由可調節輸出電壓的SPXlll7產生。系統復位電路的可靠性對整個系統的穩定起著非常重要的作用。在復位電路中采用了電壓監控芯片TPS383K33,它是10 ms或200。ms可選的上電復位發生器,具有防按鍵抖動的手動復位輸入功能,允許組成多個Ic的菊花鏈電壓監控等。復位電路如圖2所示。圖2中,nRST連接到LPC2294的復位腳RESET;nTRST接以太網控制器ENC28J60的復位引腳。當復位開關SW按下時,TPS383K33輸出復位信號,引腳REST輸出低電平,導致兩路74HCl25(三態門負邏輯控制)導通,信號nRST和nTRST輸出低電平使系統復位。在系統正常運行情況下,TPS383K33的引腳REST輸出高電平,兩路74HCl25截止,上拉電阻R1,R2將信號nRST和nTRST上拉為高電平。
評論