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