王 燕 王 新
(中煤科工集團(tuán)唐山研究院有限公司,河北 唐山 063012)
目前,流量?jī)x表的傳輸方式以主從方式為主,多通過(guò)4 mA~20 mA模擬信號(hào)疊加Hart協(xié)議、RS485總線等進(jìn)行數(shù)據(jù)通信,當(dāng)主節(jié)點(diǎn)任務(wù)繁忙或出現(xiàn)故障時(shí),可能會(huì)造成數(shù)據(jù)丟失[1]。CAN(控制器局域網(wǎng)絡(luò))是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議,可以有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)[2],具有實(shí)時(shí)性強(qiáng)、傳輸距離較遠(yuǎn)、優(yōu)先權(quán)仲裁功能[3]以及錯(cuò)誤處理檢錯(cuò)機(jī)制可靠等優(yōu)點(diǎn),已經(jīng)成熟應(yīng)用于汽車通信領(lǐng)域。近些年,CAN總線逐步推廣到工業(yè)自動(dòng)化領(lǐng)域,市場(chǎng)上對(duì)流量計(jì)提出了具備CAN總線通信的要求,該文根據(jù)客戶需求,在礦用隔爆兼本安型明渠流量計(jì)中集成CAN控制器,實(shí)現(xiàn)了CAN通信,同時(shí)該電路也滿足礦用產(chǎn)品本質(zhì)安全的防爆要求。
控制局域網(wǎng)絡(luò)(Controller Area Network,CAN)是一種多主方式的傳輸總線,總線上的每個(gè)設(shè)備都可以成為主機(jī),每個(gè)節(jié)點(diǎn)的設(shè)備可以互相通信,當(dāng)多個(gè)設(shè)備同時(shí)發(fā)送數(shù)據(jù)時(shí),會(huì)優(yōu)先發(fā)送高優(yōu)先級(jí)ID單元設(shè)備的數(shù)據(jù)。CAN總線通過(guò)CANH和CANL端口與物理總線進(jìn)行連接。其中CANH和CANL信號(hào)使用差分電壓進(jìn)行傳送,當(dāng)CANH、CANL對(duì)地電壓都為2.5 V,2根導(dǎo)線的電壓差值為0 V,被稱為“隱性”,用邏輯“1”表示;當(dāng)CANH對(duì)地電壓為3.5 V、CANL對(duì)地電壓為1.5 V時(shí),2根導(dǎo)線的電壓差值為2 V,被稱為“顯性”,用邏輯“0”表示。2.0 B規(guī)范中的幀類型包括數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和過(guò)載幀[4]。數(shù)據(jù)幀又分為標(biāo)準(zhǔn)數(shù)據(jù)幀和擴(kuò)展數(shù)據(jù)幀,標(biāo)準(zhǔn)數(shù)據(jù)幀具有11位標(biāo)識(shí)符,擴(kuò)展數(shù)據(jù)幀包括29位標(biāo)識(shí)符,2種數(shù)據(jù)幀的不同點(diǎn)在于“識(shí)別符擴(kuò)展”位。
根據(jù)客戶的需求,明渠流量計(jì)CAN協(xié)議采用擴(kuò)展數(shù)據(jù)幀格式,1個(gè)CAN數(shù)據(jù)幀中包括幀信息、幀ID和幀數(shù)據(jù),共13個(gè)字節(jié),具體字節(jié)分配見(jiàn)表1。

表1 CAN數(shù)據(jù)幀
1.2.1 幀信息
幀信息的大小為1 B,可以用來(lái)標(biāo)識(shí)CAN幀的類型、長(zhǎng)度等基本信息,每一位的定義見(jiàn)表2,該設(shè)計(jì)定義為8 B的遠(yuǎn)程幀、擴(kuò)展幀。

表2 幀信息各位的定義
表2中,F(xiàn)F是標(biāo)準(zhǔn)幀和擴(kuò)展幀標(biāo)識(shí),0表示標(biāo)準(zhǔn)幀,1表示擴(kuò)展幀;RTR是遠(yuǎn)程幀和數(shù)據(jù)幀標(biāo)識(shí),0表示遠(yuǎn)程幀,1表示數(shù)據(jù)幀;保留表示值為0。D3~D0表示該CAN幀數(shù)據(jù)的長(zhǎng)度,本儀表協(xié)議中數(shù)據(jù)長(zhǎng)度為8 B。
1.2.2 總站指令
幀ID的長(zhǎng)度為4 B,擴(kuò)展幀的有效位為29位,高位定義為0x1FFF(x表示十六進(jìn)制數(shù))。幀數(shù)據(jù)的長(zhǎng)度為8位,該文設(shè)計(jì)的明渠流量計(jì)可以通過(guò)改變發(fā)送間隔自動(dòng)上傳報(bào)文,也可以根據(jù)總站需求通過(guò)指令向數(shù)據(jù)采集端發(fā)送接收數(shù)據(jù),具體指令見(jiàn)表3。

表3 總站指令表
明渠流量計(jì)采用液位法測(cè)量流過(guò)標(biāo)準(zhǔn)堰槽的流量,其主控芯片采用MSP430F5438A單片機(jī),該單片機(jī)是16位精簡(jiǎn)指令集(RISC)結(jié)構(gòu),該設(shè)計(jì)采用3.3 V的電源供電,工作主頻為12 MHz。液位信號(hào)經(jīng)過(guò)ADC轉(zhuǎn)換為數(shù)字信號(hào),通過(guò)I2C接口進(jìn)入單片機(jī),為了減小模擬信號(hào)與數(shù)字信號(hào)的干擾,在ADC與單片機(jī)之間增加隔離元件,ADC側(cè)采用5 V的本安電源供電。由于單片機(jī)未集成CAN控制器,因此該流量計(jì)選用Microchip公司的MCP2515 CAN控制器,并配合該公司的MCP2551 CAN收發(fā)器組成CAN網(wǎng)絡(luò),可以實(shí)現(xiàn)5 kbps~500 kbps的通信速率,流量計(jì)整體硬件結(jié)構(gòu)設(shè)計(jì)如圖1所示。

圖1 流量計(jì)整體硬件結(jié)構(gòu)設(shè)計(jì)圖
MCP2515芯片的工作電壓為2.7 V~5.5 V,采用低功耗的CMOS技術(shù),工作時(shí)典型電壓為5 mA,典型待機(jī)電流只有1μA,具有2種復(fù)位方式:硬件復(fù)位和SPI軟件復(fù)位。在該設(shè)計(jì)中,MCP2515電源引腳VCC采用單片機(jī)側(cè)的3.3 V電源供電,SPI片選引腳CS連接MSP430F5438A的USCIA0從機(jī)傳輸使能引腳P3.3,時(shí)鐘信號(hào)SCK連接MSP430F5438A的USCIA0時(shí)鐘信號(hào)P3.0,輸入SI、輸出SO引腳分別連接MSP430F5438A的UCA0SIMO和UCA0SOMI引腳,在MCP2515時(shí)鐘信號(hào)SCK的上升沿,可以通過(guò)SI引腳輸入外部數(shù)據(jù)和命令;在MCP2515時(shí)鐘信號(hào)SCK的下降沿,可以通過(guò)SO引腳輸出數(shù)據(jù)和命令。該設(shè)計(jì)中MCP2515復(fù)位采用SPI軟件復(fù)位,首先,將CS引腳拉低選中器件;其次,發(fā)送復(fù)位指令;最后,將CS引腳設(shè)置為高電平。為了避免硬件復(fù)位的干擾,在RESET引腳接10 kΩ上拉電阻R11至3.3 V電源。
為了加快單片機(jī)的反應(yīng)速度,采用中斷的方式進(jìn)行數(shù)據(jù)處理,MCP2515的INT引腳接單片機(jī)的中斷輸入引腳P2.7。當(dāng)發(fā)生中斷時(shí),MCP2515的INT引腳被設(shè)置為低電平,并一直保持這個(gè)狀態(tài)直到單片機(jī)發(fā)出清除中斷信號(hào)為止。MCP2515有8個(gè)中斷源。使能各中斷源的中斷標(biāo)志位包含在CANINTE寄存器中,當(dāng)CANINTE.RXnIE位置1(通過(guò)軟件令CANINTF.RXnIE=1),INT引腳將產(chǎn)生中斷,顯示接收到有效報(bào)文。各中斷源的中斷標(biāo)志位包含在CANINTF寄存器中,當(dāng)報(bào)文傳送到接收緩沖器時(shí),對(duì)應(yīng)的CANINTF.RXnIF位置1,報(bào)文處理完畢后,需要清除CANINTF.RXnIF位,才能接收下一條報(bào)文。MCP2551 CAN收發(fā)器采用5 V的本安電源供電,MCP2551的CAN輸出/輸入引腳(TXD/RXD)與MCP2515對(duì)應(yīng)引腳(TXCAN/RXCAN)之間采用ADUM1201磁耦合隔離器進(jìn)行電氣隔離,為了進(jìn)一步提高CAN總線的抗干擾能力,在CAN接口處增加TVS及ESD器件,例如順變抑制(TVS)二極管PSM712、自恢復(fù)保險(xiǎn)BK250-030以及強(qiáng)效放電管BK32001002,其CAN總線部分電路原理圖如圖2所示。

圖2 CAN總線部分電路原理圖設(shè)計(jì)
MCP2515支持CANV2.0B技術(shù)規(guī)范,自帶2個(gè)全接收緩沖器(RXB0和RXB1)和2個(gè)單獨(dú)的報(bào)文集成緩沖器(Message Assembly Buffer,MAB).RXB0具有較高的優(yōu)先級(jí),配置了1個(gè)屏蔽濾波器寄存器和2個(gè)驗(yàn)收濾波寄存器;RXB1的優(yōu)先級(jí)低于RXB0,配置了1個(gè)屏蔽濾波寄存器和4個(gè)驗(yàn)收濾波寄存器。報(bào)文需要先在RB0中進(jìn)行濾波,對(duì)不需要的報(bào)文進(jìn)行過(guò)濾。
MCP2515的工作模式包括配置模式、正常模式、休眠模式、僅監(jiān)聽(tīng)模式和環(huán)回模式,芯片復(fù)位后,首先進(jìn)入配置模式,分別對(duì)通信波特率、接收寄存器、濾波寄存器、屏蔽寄存器、清除中斷以及接收中斷使能等進(jìn)行初始化,初始化后進(jìn)入正常模式工作。MCP2515與單片機(jī)采用4線SPI總線進(jìn)行數(shù)據(jù)傳輸,單片機(jī)在主機(jī)模式工作,其時(shí)序?yàn)槟J?(CPOL=0;CPHA=0)或模式3(CPOL=1;CPHA=1)(CPOL為時(shí)鐘極性控制位;CPHA為時(shí)鐘相位控制位),單片機(jī)采用中斷方式進(jìn)行數(shù)據(jù)收發(fā),其初始化程序如下。

通過(guò)CANalyst-II分析儀與明渠流量計(jì)進(jìn)行聯(lián)機(jī)調(diào)試。啟動(dòng)設(shè)備后,設(shè)置通信波特率為10 kbps、設(shè)置過(guò)濾驗(yàn)收碼和過(guò)濾屏蔽碼,選擇正常工作模式,測(cè)試總站指令及返回?cái)?shù)據(jù),數(shù)據(jù)收發(fā)如圖3所示。經(jīng)過(guò)調(diào)試,數(shù)據(jù)收發(fā)正常,各種參數(shù)設(shè)置無(wú)誤,驗(yàn)證了硬件設(shè)計(jì)及軟件編程的正確性;明渠流量計(jì)CAN總線通信正常。

圖3 CAN協(xié)議數(shù)據(jù)傳輸測(cè)試
隨著CAN總線技術(shù)在煤炭礦井安全監(jiān)控系統(tǒng)中進(jìn)一步推廣和應(yīng)用,數(shù)據(jù)采集設(shè)備具備CAN協(xié)議數(shù)據(jù)傳輸接口已經(jīng)成為一種發(fā)展趨勢(shì)。該文以MSP430F5438A單片機(jī)為主控芯片而設(shè)計(jì)的礦用隔爆兼本安型明渠流量計(jì)不僅有常規(guī)的4 mA~20 mA 、RS485和脈沖等輸出方式,還實(shí)現(xiàn)了基于CAN總線的通信功能,為遠(yuǎn)程監(jiān)控礦井的流量數(shù)據(jù)提供了便利,符合智慧礦山的發(fā)展理念。目前,該產(chǎn)品準(zhǔn)確度等級(jí)為4.0級(jí),獲得安標(biāo)國(guó)家礦用產(chǎn)品安全標(biāo)志中心頒發(fā)的礦用產(chǎn)品安全標(biāo)志認(rèn)證,且已經(jīng)完成投產(chǎn),并在多個(gè)工業(yè)現(xiàn)場(chǎng)應(yīng)用。