基于CAN總線的智能節(jié)點(diǎn)的設(shè)計(jì)
摘要:CAN總線性能優(yōu)越,是當(dāng)前的研究熱點(diǎn),本文提出一種基于STM32F107和SN65HVD230組成的CAN總線智能節(jié)點(diǎn)測(cè)試系統(tǒng)。分別設(shè)計(jì)了基于CAN總線智能節(jié)點(diǎn)系統(tǒng)的硬件結(jié)構(gòu)和軟件設(shè)計(jì),實(shí)現(xiàn)了穩(wěn)定可靠的數(shù)據(jù)測(cè)量控制,提高了工業(yè)現(xiàn)場(chǎng)的可操作性。實(shí)際應(yīng)用表明,該方案提出的智能節(jié)點(diǎn)組態(tài)靈活、結(jié)構(gòu)簡(jiǎn)單、性能穩(wěn)定、擴(kuò)展性好。
本文引用地址:http://cafeforensic.com/article/201610/307873.htm關(guān)鍵詞:CAN總線;智能節(jié)點(diǎn);STM32F107
現(xiàn)場(chǎng)總線是工業(yè)自動(dòng)化領(lǐng)域中實(shí)現(xiàn)分布式控制而產(chǎn)生的工業(yè)級(jí)局域網(wǎng),其可以實(shí)現(xiàn)控制系統(tǒng)內(nèi)各節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)通信,具有良好的可靠性,成為當(dāng)前工業(yè)控制領(lǐng)域內(nèi)的研究熱點(diǎn)。在眾多現(xiàn)場(chǎng)總線中,CAN總線以其高性能的特點(diǎn),被廣泛應(yīng)用于航天航空、工業(yè)控制、環(huán)境監(jiān)測(cè),醫(yī)療設(shè)備等多個(gè)方面。基于CAN總線的控制節(jié)點(diǎn)可實(shí)現(xiàn)對(duì)工業(yè)控制中多點(diǎn)
的分布式控制,具有重要的研究?jī)r(jià)值。
1 總體結(jié)構(gòu)設(shè)計(jì)
CAN總線采用了不同于傳統(tǒng)的分布式控制系統(tǒng)的構(gòu)架,由分散于工業(yè)控制中現(xiàn)場(chǎng)智能節(jié)點(diǎn)完成傳統(tǒng)系統(tǒng)中主機(jī)的常規(guī)測(cè)試與控制。因此基于CAN總線的分布式控制系統(tǒng)的主機(jī)不必監(jiān)控底層設(shè)備,實(shí)現(xiàn)高性能的高層次控制與管理。一般基于CAN總線的工業(yè)分布式控制系統(tǒng)中由主機(jī)、數(shù)據(jù)轉(zhuǎn)換器以及智能節(jié)點(diǎn)組成。
整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示,主機(jī)和智能節(jié)點(diǎn)通過CAN總線連接,智能節(jié)點(diǎn)作為從機(jī)通過CAN接口連接CAN總線。主機(jī)由基于LabVIEW設(shè)計(jì)的監(jiān)測(cè)軟件和硬件資源組成,主要實(shí)現(xiàn)對(duì)智能節(jié)點(diǎn)的監(jiān)測(cè)以及測(cè)試數(shù)據(jù)的顯示和存儲(chǔ)。數(shù)據(jù)轉(zhuǎn)換器是串口轉(zhuǎn)CAN總線實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,并實(shí)現(xiàn)轉(zhuǎn)發(fā)。各個(gè)智能節(jié)點(diǎn)都掛接到 CAN總線上,將采集到的數(shù)據(jù)發(fā)送到CAN總線上或者接受CAN總線上數(shù)據(jù)進(jìn)行處理。智能節(jié)點(diǎn)主要由微控制器、CAN收發(fā)器以及相應(yīng)I/O接口組成。
智能節(jié)點(diǎn)設(shè)計(jì)使用STM32F107作為其主控芯片,集成多項(xiàng)高性能工業(yè)標(biāo)準(zhǔn)接口的互聯(lián)型微處理器,其采用32位ARM Cortex—M3核心,主頻高達(dá)72 MHz,其出色的兼容性以及高性能,低價(jià)格,具有較大的RAM和ROM,對(duì)于程序量較大的嵌入式系統(tǒng)有良好的支持,廣泛應(yīng)用于工業(yè)控制中。
新STM32外設(shè)豐富強(qiáng)大,包括10個(gè)定時(shí)器,其中一些不僅可以進(jìn)行普通的定時(shí)還可以進(jìn)行脈沖捕獲、以及PWM生成;2個(gè)12位AD模數(shù)轉(zhuǎn)換器,其最大采樣率高達(dá)2M sample/s、2個(gè)12位DA數(shù)模轉(zhuǎn)換器、2個(gè)I2C接口、5個(gè)UART接口支持最高921 600 bps和3個(gè)SPI端口和高質(zhì)量數(shù)字音頻接口IIS,擁有全速USB(OTG)接口,支持2路CAN2.0B接口,以及高速以太網(wǎng)10/100 MAC模塊接口。
CAN收發(fā)器選擇德州儀器的SN65HVD230,該器件具有高速率、高抗干擾能力和高可靠性CAN總線的串行通信。該芯片在CAN總線系統(tǒng)中具有廣泛的應(yīng)用,便于更換。
2 系統(tǒng)硬件設(shè)計(jì)
一般的CAN總線智能節(jié)點(diǎn)由三個(gè)部分:微控制器、CAN總線控制器以及CAN總線收發(fā)器組成。微控制器STM32F107內(nèi)部已經(jīng)集成了CAN總線控制器,故本文涉及的智能節(jié)點(diǎn)主要由STM32F107和CAN總線收發(fā)器組成。
圖2是基于STM32F107智能節(jié)點(diǎn)系統(tǒng)的CAN總線部分原理圖。圖中STM32F107的PD0和PD1腳分別為CANRX和CANTX引腳,為 CAN總線的輸入輸出管腳,連接CAN總線收發(fā)器才能與CAN物理總線相連。CAN收發(fā)器SN65HVD230,具有速度高達(dá)1 Mbps的差分發(fā)送、差分接收能力,提供三種工作模式:高速、低電流待機(jī)和斜率控制。自身具有短路保護(hù)、失地保護(hù)、過壓保護(hù)和過熱保護(hù)。常態(tài)下工作電壓是 -2V~7V,瞬時(shí)耐壓范圍是-25V~25V。CAN收發(fā)器SN65HVD230第8引腳經(jīng)10 k電阻與PD15連接,這樣可以由微控制器控制其工作模式,當(dāng)PD 15為低電平時(shí)為高速工作模式,PD15為高電平時(shí)為低電流待機(jī)模式。CAN收發(fā)器SN65HVD230與CAN總線的接口設(shè)計(jì)時(shí)采用較強(qiáng)的抗干擾措施,以及過流保護(hù)等方式。其中與CANH、CANL串連的5 k電阻可起到一定的限流作用;并聯(lián)在CANH、CANL和地之間的32 pF的小電容,防止高頻干擾,同時(shí)具有一定的防電磁輻射能力;在CAN總線的輸入端與地之間接的防雷擊管,可以濾除CAN總線輸入端和地之間的瞬態(tài)突變干擾。
復(fù)位電路則是包括按鍵復(fù)位電路和上電自動(dòng)復(fù)位電路組成,加強(qiáng)其可靠性。本文為了系統(tǒng)的調(diào)試,集成了JTAG的調(diào)試接口。
3 系統(tǒng)軟件設(shè)計(jì)
基于CAN總線的智能節(jié)點(diǎn)主程序流程如圖3所示,其發(fā)送方式通過查詢實(shí)現(xiàn),而發(fā)送數(shù)據(jù)方式通過中斷來實(shí)現(xiàn)。智能節(jié)點(diǎn)的主程序主要包括系統(tǒng)及外設(shè)初始化、CAN控制器初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收部分。
在CAN控制器初始化時(shí),必須要求其控制寄存器中復(fù)位位置較高時(shí),才可以訪問寄存器。因此,在初始化寄存器前,系統(tǒng)必須確保已經(jīng)進(jìn)入復(fù)位狀態(tài),在訪問CAN總線時(shí)寄存器中的內(nèi)容決定波特率的大小??偩€定時(shí)寄存器的初始化值應(yīng)根據(jù)CAN控制器的晶振頻率進(jìn)行設(shè)計(jì)。
數(shù)據(jù)發(fā)送時(shí),CAN控制器將數(shù)據(jù)發(fā)送到CAN總線是由CAN控制器自動(dòng)完成的,發(fā)送主程序?qū)l(fā)送數(shù)據(jù)的信息幀發(fā)送到CAN的發(fā)送緩沖區(qū),然后啟動(dòng)發(fā)送命令即可。
數(shù)據(jù)接收時(shí),CAN控制器從CAN總線將數(shù)據(jù)讀取到CAN接收緩沖區(qū)也是自動(dòng)完成的。接收程序需要從接收緩沖區(qū)讀取數(shù)據(jù)。設(shè)計(jì)時(shí)充分考慮讀接收緩存器(RBF0和RBF1)內(nèi)容后,微控制器必須通過置釋放接收緩存位為高,從而釋放緩存器,使得另一個(gè)立即變?yōu)橛行А?/p>
4 結(jié)束語
以STM32F107微處理器為核心,設(shè)計(jì)了CAN總線的智能數(shù)據(jù)采集節(jié)點(diǎn),該系統(tǒng)充分發(fā)揮CAN總線的優(yōu)點(diǎn),具有高可靠性、高抗干擾性、高傳輸率以及靈活的組網(wǎng)方式等。該智能節(jié)點(diǎn)可實(shí)現(xiàn)分布式多節(jié)點(diǎn)測(cè)試,實(shí)現(xiàn)了測(cè)試過程智能化和網(wǎng)絡(luò)化,在工業(yè)測(cè)控領(lǐng)域有廣闊的應(yīng)用前景,尤其是處理數(shù)據(jù)較多和實(shí)時(shí)性嚴(yán)苛的環(huán)境下,該設(shè)計(jì)節(jié)點(diǎn)會(huì)更加有優(yōu)勢(shì)。
- STM32單片機(jī)中文官網(wǎng)
- STM32單片機(jī)官方開發(fā)工具
- STM32單片機(jī)參考設(shè)計(jì)
評(píng)論