郭麗萍,張艷榮,林思苗
(西南交通大學(xué)機械工程學(xué)院,四川 成都 610031)
嵌入式設(shè)備電源控制系統(tǒng)的CAN通信軟硬件設(shè)計
郭麗萍,張艷榮,林思苗
(西南交通大學(xué)機械工程學(xué)院,四川 成都 610031)
為解決電源監(jiān)控系統(tǒng)中存在的數(shù)字化程度低、實時性差、準(zhǔn)確度和可靠性低等問題,在研究CAN協(xié)議的原理及應(yīng)用技術(shù)的基礎(chǔ)上,采用外掛Microchip MCP2515 CAN控制器的設(shè)計思想,完成基于AVR單片機的CAN通信軟硬件設(shè)計,滿足電源控制系統(tǒng)策略的需要。該文給出CAN總線的整體結(jié)構(gòu)及控制器、收發(fā)器等組成部分硬件及軟件的設(shè)計與實現(xiàn),并對系統(tǒng)進(jìn)行網(wǎng)絡(luò)負(fù)載分析及實時性分析。實際運行表明:該系統(tǒng)可實現(xiàn)報文的發(fā)送、接收等功能,可靠性強、通信實時性好。另外,電氣隔離電路的設(shè)計,進(jìn)一步提高系統(tǒng)的抗干擾能力;同時,軟件設(shè)計部分采用自頂向下的模塊化設(shè)計方法,增強系統(tǒng)的可移植性。
電源控制系統(tǒng);CAN通信軟硬件設(shè)計;網(wǎng)絡(luò)負(fù)載分析;實時性分析;抗干擾能力
隨著社會的發(fā)展,電力電子設(shè)備與人們的工作、生活關(guān)系日益密切,而電子設(shè)備都離不開可靠的電源。在工業(yè)控制中對電源監(jiān)控系統(tǒng)[1-2]的準(zhǔn)確度、可靠性及實時性等要求也越來越高。然而目前對電源監(jiān)控普遍采用的做法存在數(shù)字化程度低、時實性差、準(zhǔn)確度和可靠性低等問題。
在工業(yè)控制中,電源控制系統(tǒng)經(jīng)常需要監(jiān)控設(shè)備的互聯(lián)操作,即對現(xiàn)場采集的數(shù)據(jù)進(jìn)行有效地收集與傳輸,并且把控制信號從控制中心發(fā)送到現(xiàn)場控制節(jié)點。CAN總線是一種使用CAN協(xié)議的串行通信網(wǎng)絡(luò),它廢除了傳統(tǒng)的站地址編碼,采用對通信數(shù)據(jù)塊進(jìn)行編碼,從而網(wǎng)絡(luò)內(nèi)的節(jié)點個數(shù)在理論上不受限制,其數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性[3]。因此,電源控制系統(tǒng)采用CAN總線,即使在比較惡劣的工業(yè)現(xiàn)場環(huán)境中,也能保證信號傳輸時間短、受干擾概率低。
針對電源監(jiān)控系統(tǒng)存在的問題,本文提出有效的軟硬件設(shè)計方案。該電源控制系統(tǒng)具有以下功能:
1)發(fā)送控制命令和配置參數(shù)。
2)對電源狀態(tài)進(jìn)行實時監(jiān)控,采集電源的電壓、電流和溫度參數(shù)。
3)把采集的各數(shù)據(jù)發(fā)送給控制單元,通過控制單元保證電源的正常運行。
為了實現(xiàn)控制系統(tǒng)的功能,采用主從控制方式。主機為PC機[4],從機采用AVR單片機作為控制核心。主機與從機、從機里的兩層系統(tǒng)之間的信息交互采用CAN總線通信方式。電源控制系統(tǒng)的CAN總線結(jié)構(gòu)如圖1所示。
由圖可以看出,整個系統(tǒng)采用2路并行CAN總線:CAN總線1負(fù)責(zé)AVR單片機與PC機之間報文的傳送;CAN總線2負(fù)責(zé)AVR單片機與電源的各功能模塊之間報文的傳送。由此,避免各種數(shù)據(jù)的傳輸沖突,使得系統(tǒng)更加穩(wěn)定可靠,實時性增強。由于AVR單片機內(nèi)部沒有集成CAN控制器,所以采用外掛CAN控制器的方式,AVR單片機通過SPI接口與CAN控制器進(jìn)行數(shù)據(jù)傳輸。
完整的CAN節(jié)點的硬件結(jié)構(gòu)如圖2所示,主要包括微處理器、CAN控制器、CAN收發(fā)器、電氣隔離等部分。本文微處理器采用性價比高、結(jié)構(gòu)簡單、便于編程的AVR單片機,主要用于對CAN控制器MCP2515的初始化,并通過對CAN控制器的控制操作實現(xiàn)現(xiàn)場總線與管理層中央服務(wù)器PC的數(shù)據(jù)交換等通信任務(wù)[5]。
圖1 電源控制系統(tǒng)的CAN總線結(jié)構(gòu)
圖2 CAN節(jié)點硬件電路框圖
由圖可以看出,電源控制系統(tǒng)的CAN接口電路包括CAN控制器收發(fā)CAN信號的電路以及AVR單片機與CAN控制器之間的通信電路。CAN控制器能夠完成CAN格式數(shù)據(jù)和SPI格式數(shù)據(jù)的轉(zhuǎn)換,并通過CAN收發(fā)器進(jìn)行CAN數(shù)據(jù)的收發(fā)。
CAN控制器主要集成了CAN協(xié)議[6]的物理層和數(shù)據(jù)鏈路層的功能,由實現(xiàn)CAN通信協(xié)議部分的電路和實現(xiàn)與AVR單片機接口部分的電路組成。
Microchip公司的MCP2515芯片是一款基于SPI接口操作設(shè)置的獨立CAN協(xié)議控制器[7-9]。CAN控制器與AVR單片機接口部分連接如圖3所示。
本文使用MCP2551作為CAN協(xié)議控制器與物理總線的接口[10],負(fù)責(zé)把CAN控制器的數(shù)字信號轉(zhuǎn)換成適合總線傳輸(差分輸出)的信號。MCP2551與ISO/DIS11898標(biāo)準(zhǔn)完全兼容,其原理如圖4所示。MCP2551的CANH、CANL引腳分別串接一個熱敏電阻再連接到物理總線上,當(dāng)電流增加時,電阻增大,從而保護收發(fā)器免受過流沖擊。另外,收發(fā)器的RS引腳通過一個電阻后接地,可控制CAN差分信號的上升沿、下降沿的陡峭程度,以匹配CAN速率要求,同時降低對外界的電磁干擾[11]。
圖3 MCP2515與AVR單片機的物理連接接口
圖4 CAN收發(fā)器部分原理圖
收發(fā)器采用帶隔離的DC-DC模塊單獨供電來達(dá)到電氣隔離的目的。另外,本文采用光電耦合器件進(jìn)行信號的隔離,隔離電路如圖5所示。
CAN控制器引腳 CANTX、CANRX和收發(fā)器MCP2551之間不直接相連,而是通過由高速光電耦合器ACPL-M61L構(gòu)成的隔離電路后再與MCP2551相連,這樣就可以很好地防止線路間串?dāng)_。圖中,TXCAN、RXCAN分別為信號發(fā)送(從MCP2515來)和信號接收(到MCP2515去),與MCP2515的TXCAN、RXCAN引腳相連,TX、RX分別連接 MCP2551的TXD、RXD引腳。
圖5 信號隔離電路原理圖
圖6 程序主流程圖
電源控制系統(tǒng)的程序設(shè)計主要包括MCP2515的初始化、數(shù)據(jù)的發(fā)送和接收,這3部分程序是CAN模塊進(jìn)行數(shù)據(jù)通信的基本部分。程序主流程如圖6所示。MCP2515在正常運行之前必須進(jìn)行初始化,主要包括波特率設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器、中斷允許設(shè)置等。初始化設(shè)置是在配置模式下進(jìn)行的,在上電或復(fù)位時,器件會自動進(jìn)入配置模式。MCP2515有2種復(fù)位方式:硬件復(fù)位和SPI復(fù)位。本文采用SPI命令復(fù)位方式。只有在正常模式下,MCP2515才能在CAN總線上進(jìn)行報文的傳輸[9]。
系統(tǒng)中1路CAN通信[10-11]的相應(yīng)設(shè)置如下:
1)通信終端:主機-從機AVR單片機。
2)通信方式:命令/應(yīng)答方式。
3)通信協(xié)議:使用CAN協(xié)議,擴展數(shù)據(jù)幀[12],不使用遠(yuǎn)程幀,波特率為500kb/s。
由于CAN協(xié)議定義了物理層和數(shù)據(jù)鏈路層,故本系統(tǒng)在CAN總線擴展幀格式基礎(chǔ)上,結(jié)合系統(tǒng)要求,自定義了應(yīng)用層通信協(xié)議,包括若干命令,如參數(shù)設(shè)置、參數(shù)查詢、停止命令等。該應(yīng)用層通信協(xié)議中設(shè)計的幀結(jié)構(gòu)如表1所示。具體溫度、電流、電壓參數(shù)相關(guān)的幀結(jié)構(gòu)如表2所示。
表1 應(yīng)用層通信協(xié)議幀結(jié)構(gòu)
表2 溫度、電流、電壓參數(shù)幀結(jié)構(gòu)1)
AVR單片機將要發(fā)送的數(shù)據(jù)按CAN協(xié)議封裝成一完整信息幀,通過SPI接口依次存入MCP2515的發(fā)送緩沖器中,設(shè)置控制寄存器中的相應(yīng)位來啟動發(fā)送模式,然后通過CAN收發(fā)器MCP2551發(fā)送數(shù)據(jù)[9]。
數(shù)據(jù)發(fā)送部分主要完成CAN擴展幀格式與用戶通信協(xié)議中設(shè)計的幀結(jié)構(gòu)之間的轉(zhuǎn)換。將通信協(xié)議中定義的幀結(jié)構(gòu)對應(yīng)到MCP2515的相關(guān)發(fā)送緩沖器中(有關(guān)CAN幀的控制信息和CAN擴展幀ID的存放結(jié)構(gòu))。MCP2515中相關(guān)發(fā)送緩沖器的結(jié)構(gòu)如表3所示。
由于通信控制的實時性要求比較強,采用中斷接收方式來接收信息。當(dāng)MCP2515接收到有效報文時,器件的INT引腳拉為低電平,并保持低電平狀態(tài)直到AVR單片機清除中斷。AVR單片機讀取到報文后,通過位修改命令對CANINTF寄存器中的相應(yīng)位清零來清除中斷。
當(dāng)中斷服務(wù)程序?qū)?shù)據(jù)包接收后,再根據(jù)CAN擴展幀格式與自定義的應(yīng)用層通信協(xié)議中的幀結(jié)構(gòu)之間的轉(zhuǎn)換方式得出擴展幀的29bitID,再根據(jù)ID將數(shù)據(jù)分別存入相應(yīng)寄存器中,由此完成數(shù)據(jù)的接收。
一般CAN總線的網(wǎng)絡(luò)負(fù)載限制在30%以內(nèi)。根據(jù)文獻(xiàn)[13],報文總長度最大值為填充位數(shù)、數(shù)據(jù)位數(shù)、報文格式位數(shù)之和。按照CAN協(xié)議,相同電平持續(xù)5bit,在下一位要插入1bit與前5bit反型的電平。由此,填充位數(shù)計算公式為
表3 MCP2515中相關(guān)發(fā)送緩沖器的結(jié)構(gòu)
其中:n——填充的位數(shù);
有著高度政治責(zé)任感和強烈事業(yè)心的李潔,認(rèn)真貫徹“四個最嚴(yán)”和“四有兩責(zé)”要求,勇于擔(dān)當(dāng)、從嚴(yán)監(jiān)管。作為上海市“行刑銜接”涉案食品危害鑒定機構(gòu)的負(fù)責(zé)人,她帶領(lǐng)同事們大膽探索,主動爭取有關(guān)部門支持,在全國率先制定了“行刑銜接”涉案食品危害鑒定工作程序,近3年來完成了涉案食品鑒定40多起。2013年4月,受上海市奉賢工商分局委托對一批檢驗不符合國家標(biāo)準(zhǔn)的嬰幼兒配方奶粉進(jìn)行鑒定,她帶領(lǐng)團隊立即查閱國內(nèi)外各類嬰幼兒奶粉有關(guān)資料,第一時間組織專家進(jìn)行健康風(fēng)險評估,為案件定性提供了科學(xué)依據(jù),最終涉案主犯被判刑15年。
54——擴展幀中控制位的總位數(shù);
sm——數(shù)據(jù)幀中數(shù)據(jù)段字節(jié)數(shù)。
報文格式位數(shù)公式為
式中:m——報文格式位數(shù);
p——無位填充段+幀間間隔,此處為13。
因此,CAN總線的網(wǎng)絡(luò)負(fù)載率表示為
式中:sc、sa——單位時間內(nèi)網(wǎng)絡(luò)上實際傳送的位數(shù)、理想傳送的位數(shù);
對于一個8字節(jié)的擴展數(shù)據(jù)幀來說,一共有64 bit的數(shù)據(jù)位,67 bit的報文格式位,23 bit的填充位。設(shè)單位時間為1s,則sa就是波特率。設(shè)定30s,波特率為500kb/s,取N=18/30。通過式(3)計算可以得到網(wǎng)絡(luò)負(fù)載率的理論值為0.018%,遠(yuǎn)小于30%,不會出現(xiàn)嚴(yán)重的丟包現(xiàn)象。
根據(jù)文獻(xiàn)[13],在CAN網(wǎng)絡(luò)通信中,排隊數(shù)據(jù)幀的最長響應(yīng)時間可以用式(4)計算得到:
式中:Jm——數(shù)據(jù)幀m的排隊抖動時間,主要取決于最長反應(yīng)時間;
Wm——最長排隊延遲時間,主要取決于數(shù)據(jù)幀的優(yōu)先級別;
Cm——傳送數(shù)據(jù)幀m所需最長時間。
經(jīng)過實驗證明,該系統(tǒng)可以順利高效地進(jìn)行CAN通信。
實踐證明,利用CAN總線技術(shù)實現(xiàn)的電源控制系統(tǒng)結(jié)構(gòu)簡單,抗干擾性和可擴展性強。同時,對系統(tǒng)進(jìn)行了連續(xù)的通信測試,本文使用的波特率為500 kb/s,完全可以滿足系統(tǒng)實時性要求,實現(xiàn)數(shù)據(jù)幀的可靠傳輸。另外,模塊化的編程思想使系統(tǒng)可移植性增強,適用于不同功能的系統(tǒng)和應(yīng)用環(huán)境。
[1] 李霞,蔡啟仲,陳文輝.基于CAN的嵌入式PLC和監(jiān)控系統(tǒng)通信設(shè)計[J].儀表技術(shù)與傳感器,2011(10):41-43.
[2]韓紅遠(yuǎn),朱翔宇.CAN總線在煤礦安全監(jiān)控系統(tǒng)中的應(yīng)用[J].太原科技,2007,160(5):63-64.
[3]陶秋紅,張偉龍.CAN總線技術(shù)及發(fā)展[J].商場現(xiàn)代化,2007(9):4-5.
[4] 孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用[J].微計算機應(yīng)用,2010,31(12):59-63.
[5] 陸前鋒,劉波,陳明昭.基于SJA1000的CAN總線智能控制系統(tǒng)設(shè)計[J].自動化技術(shù)與應(yīng)用,2003,22(1):61-64.
[6] 韓鑫,鮑可進(jìn).CAN總線網(wǎng)絡(luò)層協(xié)議棧開發(fā)測試[J].計算機工程,2011,37(15):232-234.
[7] 柯江民,孫淑霞,曹屹東.MCP2515及CAN通信驅(qū)動設(shè)計[J].網(wǎng)絡(luò)技術(shù),2008,17(12):43-45.
[8] 王繼國,吉吟東,孫新亞.CAN總線控制器MCP2515的原理及應(yīng)用[J].電測與儀表,2004,41(457):52-56.
[9]MICROCHIP INCORPORATION.MCP2515協(xié)議控制器手冊[M].北京:機械工業(yè)出版社,2005,142-149.
[10]張文杰,王坤.淺談CAN通信的硬件抗干擾設(shè)計[J].科技信息,2012(23):144.
[11]田江學(xué),屈衛(wèi)東.基于C8051F020的CAN通信軟硬件設(shè)計[J].2004,23(3):52-55.
[12] 王泓.CAN總線的消息機制[J].中國測試技術(shù),2006,32(1):130-131,144.
[13]TINDELL K W,HANSSON H,WELLINGS A J.Analyzing real-time communications:Controller area network(CAN)[R].Real-time Systems Symposium, San Juan: IEEE,1994:259-263.
Software and hardware design based on CAN communication for control system of embedded device power supply
GUO Liping, ZHANG Yanrong, LIN Simiao
(School of Mechanical Engineering,Southwest Jiaotong University,Chengdu 610031,China)
To solve such problems as low digital level, poor real-time performance, low accuracy and reliability, software and hardware parts of CAN communication are designed based on AVR,meeting the requirement of control system to power supply.Microcontroller in conjunction with external CAN controller of Microchip MCP2515 is applied with the foundation of CAN protocol and practical technology.After hardware and software of parts of the system such as controller,transceiver are designed and established, as well as the general structure is shown, network load analysis and real-time performance analysis are carried out.The result of test shows that system can achieve such functions as transferring and receiving of messages with good reliability and realtime performance for communicating.In addition,the design of electrical isolation circuit further improve the anti-interference ability of the system;meanwhile,the software design part adopts the top-down modular design method strengthening the portability of the system.
control system of power supply; software and hardware design of CAN communication;network load analysis; real-time performance analysis; anti-interference ability
A
1674-5124(2017)10-0109-05
10.11857/j.issn.1674-5124.2017.10.021
2017-01-28;
2017-02-22
郭麗萍(1990-),女,四川簡陽市人,碩士研究生,專業(yè)方向為網(wǎng)絡(luò)測控。
張艷榮(1971-),女,河北易縣人,副教授,博士,研究方向為自動化測量與控制系統(tǒng)。
(編輯:商丹丹)