單線CAN總線隔離中繼器的設計
摘要:針對CAN總線在現場運用中存在的一些限制因素,及煤礦井下液壓支架電液控制系統CAN總線組網控制中存在的問題,提出了一種基于意法半導體公司STM32單片機的單線CAN總線隔離中繼器。充分利用了STM32F105系列單片機內部集成的雙bxCAN控制器和飛思卡爾MC33879的單線CAN收發器的特性,構成了一種軟中繼器。實踐證明該設計有效解決了多點供電、網絡規模限制、電磁兼容性的問題,對提高煤礦自動化生產安全和效率具有較大意義。
關鍵詞:CAN總線;STM32;中繼器;MC33897
CAN總線是一種多主方式的串行通信總線,具有優良的穩定性、實時性、遠程通信能力以及超強的硬件CRC糾錯等特性;CAN總線技術的應用不再僅限于汽車行業,而擴展到了能源、制造等行業,并被公認為是最有前途的現場總線之一;因此,CAN總線在煤礦各種系統中得到了越來越多的應用。由于受制于CAN收發器,CAN總線通信距離和網絡中節點數被分別限制在10 km和110個節點之內。但在煤礦現場設備節點多、距離長、供電系統復雜系統中需要用CAN總線中繼器對CAN總線網絡進行擴展。
CAN中繼器是系統組網的關鍵技術設備之一,使用中繼器可以提高網絡的節點數和通信距離,并且可以連接兩個不同波特率的CAN總線網絡,極大地擴展其使用范圍。針對于此設計出了一種基于STM32的單線CAN總線隔離中繼器,并將于此應用到液壓支架電液控制系統中,實現了液壓支架間、液壓支架與上位機監控系統的通信。
1 系統整體方案
CAN總線中繼器的設計方法一般2種:一種采用硬中繼方式,即只通過門電路與一些分立器件的組合來設計電路,但轉發效率不高;另一種采用軟中繼方式,即采用CPU來接收、轉發CAN總線兩側的數據,該方案雖然結構復雜,但轉發效率較高。兩側的數據經過CPU接收后再轉發到另一側,軟中繼器的優勢除了具有程序濾波和自診斷功能外,還能實現不同速率網段的連接,滿足實際應用要求;故本設計采用軟中繼的方式。
2 硬件設計
2.1 主控電路設計
為煤礦井下嚴酷的工業環境中設計的中繼器硬件電路除了需穩定可靠外,還需保證其低功耗特性。該中繼器的CPU采用ST公司基于Cort ex—M3內核的STM32F105系列單片機。STM32F105系列是專門針對快速和簡單的編程而設計的,可用于高度集成與低功耗工業應用。STM32F105系列的工作頻率可達到72 MHz,相對于同等性能的單片機,功耗卻要小很多。另外,它還帶有具有在系統編程(ISP)的128KB片上FLASH程序存儲器,從而為數據存儲與固件升級等操作帶來極大的靈活性。STM32F105系列內部集成了2個獨立的CAN控制器,簡化了中繼器的硬件電路設計;其CAN控制器的驗收濾波器具有快速的硬件搜索算法,支持大量的CAN標識符,并且允許11位和29位CAN標識符的明確定義與分組定義,簡化了系統的軟件設計和運行負擔。
2.2 通信電路設計
CAN總線接口電路如圖2所示。圖中CAN收發器選用單線CAN收發器MC33897。它是飛思卡爾公司推出的用于由地構成回路的單總線CAN總線收發器芯片,主要用于多路傳輸應用方面。它為CAN總線控制器之間的數據傳輸提供一單線的物理接口,也就是說相對傳統CAN總線收發器,它只需要一根信號線即可完成CAN總線通信,這為節點之間相互通信節省了通信成本,方便了系統的安裝和后期的維護。另外,CAN總線接口與CPU之間采用雙路磁耦ADuM1201隔離,相比于高速光耦,磁耦時延小且功耗小。該設計方法解決不同的支架間用不同電源供電信號不共地的傳輸問題,并且提高抗干擾的能力。
評論