基于CAN總線(xiàn)的智能節點(diǎn)的設計
摘要:CAN總線(xiàn)性能優(yōu)越,是當前的研究熱點(diǎn),本文提出一種基于STM32F107和SN65HVD230組成的CAN總線(xiàn)智能節點(diǎn)測試系統。分別設計了基于CAN總線(xiàn)智能節點(diǎn)系統的硬件結構和軟件設計,實(shí)現了穩定可靠的數據測量控制,提高了工業(yè)現場(chǎng)的可操作性。實(shí)際應用表明,該方案提出的智能節點(diǎn)組態(tài)靈活、結構簡(jiǎn)單、性能穩定、擴展性好。
本文引用地址:http://dyxdggzs.com/article/201610/307873.htm關(guān)鍵詞:CAN總線(xiàn);智能節點(diǎn);STM32F107
現場(chǎng)總線(xiàn)是工業(yè)自動(dòng)化領(lǐng)域中實(shí)現分布式控制而產(chǎn)生的工業(yè)級局域網(wǎng),其可以實(shí)現控制系統內各節點(diǎn)的實(shí)時(shí)數據通信,具有良好的可靠性,成為當前工業(yè)控制領(lǐng)域內的研究熱點(diǎn)。在眾多現場(chǎng)總線(xiàn)中,CAN總線(xiàn)以其高性能的特點(diǎn),被廣泛應用于航天航空、工業(yè)控制、環(huán)境監測,醫療設備等多個(gè)方面?;贑AN總線(xiàn)的控制節點(diǎn)可實(shí)現對工業(yè)控制中多點(diǎn)
的分布式控制,具有重要的研究?jì)r(jià)值。
1 總體結構設計
CAN總線(xiàn)采用了不同于傳統的分布式控制系統的構架,由分散于工業(yè)控制中現場(chǎng)智能節點(diǎn)完成傳統系統中主機的常規測試與控制。因此基于CAN總線(xiàn)的分布式控制系統的主機不必監控底層設備,實(shí)現高性能的高層次控制與管理。一般基于CAN總線(xiàn)的工業(yè)分布式控制系統中由主機、數據轉換器以及智能節點(diǎn)組成。
整個(gè)系統的結構如圖1所示,主機和智能節點(diǎn)通過(guò)CAN總線(xiàn)連接,智能節點(diǎn)作為從機通過(guò)CAN接口連接CAN總線(xiàn)。主機由基于LabVIEW設計的監測軟件和硬件資源組成,主要實(shí)現對智能節點(diǎn)的監測以及測試數據的顯示和存儲。數據轉換器是串口轉CAN總線(xiàn)實(shí)現數據的轉換,并實(shí)現轉發(fā)。各個(gè)智能節點(diǎn)都掛接到 CAN總線(xiàn)上,將采集到的數據發(fā)送到CAN總線(xiàn)上或者接受CAN總線(xiàn)上數據進(jìn)行處理。智能節點(diǎn)主要由微控制器、CAN收發(fā)器以及相應I/O接口組成。

智能節點(diǎn)設計使用STM32F107作為其主控芯片,集成多項高性能工業(yè)標準接口的互聯(lián)型微處理器,其采用32位ARM Cortex—M3核心,主頻高達72 MHz,其出色的兼容性以及高性能,低價(jià)格,具有較大的RAM和ROM,對于程序量較大的嵌入式系統有良好的支持,廣泛應用于工業(yè)控制中。
新STM32外設豐富強大,包括10個(gè)定時(shí)器,其中一些不僅可以進(jìn)行普通的定時(shí)還可以進(jìn)行脈沖捕獲、以及PWM生成;2個(gè)12位AD模數轉換器,其最大采樣率高達2M sample/s、2個(gè)12位DA數模轉換器、2個(gè)I2C接口、5個(gè)UART接口支持最高921 600 bps和3個(gè)SPI端口和高質(zhì)量數字音頻接口IIS,擁有全速USB(OTG)接口,支持2路CAN2.0B接口,以及高速以太網(wǎng)10/100 MAC模塊接口。
CAN收發(fā)器選擇德州儀器的SN65HVD230,該器件具有高速率、高抗干擾能力和高可靠性CAN總線(xiàn)的串行通信。該芯片在CAN總線(xiàn)系統中具有廣泛的應用,便于更換。
2 系統硬件設計
一般的CAN總線(xiàn)智能節點(diǎn)由三個(gè)部分:微控制器、CAN總線(xiàn)控制器以及CAN總線(xiàn)收發(fā)器組成。微控制器STM32F107內部已經(jīng)集成了CAN總線(xiàn)控制器,故本文涉及的智能節點(diǎn)主要由STM32F107和CAN總線(xiàn)收發(fā)器組成。
圖2是基于STM32F107智能節點(diǎn)系統的CAN總線(xiàn)部分原理圖。圖中STM32F107的PD0和PD1腳分別為CANRX和CANTX引腳,為 CAN總線(xiàn)的輸入輸出管腳,連接CAN總線(xiàn)收發(fā)器才能與CAN物理總線(xiàn)相連。CAN收發(fā)器SN65HVD230,具有速度高達1 Mbps的差分發(fā)送、差分接收能力,提供三種工作模式:高速、低電流待機和斜率控制。自身具有短路保護、失地保護、過(guò)壓保護和過(guò)熱保護。常態(tài)下工作電壓是 -2V~7V,瞬時(shí)耐壓范圍是-25V~25V。CAN收發(fā)器SN65HVD230第8引腳經(jīng)10 k電阻與PD15連接,這樣可以由微控制器控制其工作模式,當PD 15為低電平時(shí)為高速工作模式,PD15為高電平時(shí)為低電流待機模式。CAN收發(fā)器SN65HVD230與CAN總線(xiàn)的接口設計時(shí)采用較強的抗干擾措施,以及過(guò)流保護等方式。其中與CANH、CANL串連的5 k電阻可起到一定的限流作用;并聯(lián)在CANH、CANL和地之間的32 pF的小電容,防止高頻干擾,同時(shí)具有一定的防電磁輻射能力;在CAN總線(xiàn)的輸入端與地之間接的防雷擊管,可以濾除CAN總線(xiàn)輸入端和地之間的瞬態(tài)突變干擾。

復位電路則是包括按鍵復位電路和上電自動(dòng)復位電路組成,加強其可靠性。本文為了系統的調試,集成了JTAG的調試接口。
3 系統軟件設計
基于CAN總線(xiàn)的智能節點(diǎn)主程序流程如圖3所示,其發(fā)送方式通過(guò)查詢(xún)實(shí)現,而發(fā)送數據方式通過(guò)中斷來(lái)實(shí)現。智能節點(diǎn)的主程序主要包括系統及外設初始化、CAN控制器初始化、數據發(fā)送、數據接收部分。

在CAN控制器初始化時(shí),必須要求其控制寄存器中復位位置較高時(shí),才可以訪(fǎng)問(wèn)寄存器。因此,在初始化寄存器前,系統必須確保已經(jīng)進(jìn)入復位狀態(tài),在訪(fǎng)問(wèn)CAN總線(xiàn)時(shí)寄存器中的內容決定波特率的大小??偩€(xiàn)定時(shí)寄存器的初始化值應根據CAN控制器的晶振頻率進(jìn)行設計。
數據發(fā)送時(shí),CAN控制器將數據發(fā)送到CAN總線(xiàn)是由CAN控制器自動(dòng)完成的,發(fā)送主程序將發(fā)送數據的信息幀發(fā)送到CAN的發(fā)送緩沖區,然后啟動(dòng)發(fā)送命令即可。
數據接收時(shí),CAN控制器從CAN總線(xiàn)將數據讀取到CAN接收緩沖區也是自動(dòng)完成的。接收程序需要從接收緩沖區讀取數據。設計時(shí)充分考慮讀接收緩存器(RBF0和RBF1)內容后,微控制器必須通過(guò)置釋放接收緩存位為高,從而釋放緩存器,使得另一個(gè)立即變?yōu)橛行А?/p>
4 結束語(yǔ)
以STM32F107微處理器為核心,設計了CAN總線(xiàn)的智能數據采集節點(diǎn),該系統充分發(fā)揮CAN總線(xiàn)的優(yōu)點(diǎn),具有高可靠性、高抗干擾性、高傳輸率以及靈活的組網(wǎng)方式等。該智能節點(diǎn)可實(shí)現分布式多節點(diǎn)測試,實(shí)現了測試過(guò)程智能化和網(wǎng)絡(luò )化,在工業(yè)測控領(lǐng)域有廣闊的應用前景,尤其是處理數據較多和實(shí)時(shí)性嚴苛的環(huán)境下,該設計節點(diǎn)會(huì )更加有優(yōu)勢。
- STM32單片機中文官網(wǎng)
- STM32單片機官方開(kāi)發(fā)工具
- STM32單片機參考設計
評論