基于LF2407A芯片和CAN總線實現(xiàn)分布式工業(yè)監(jiān)控局域網(wǎng)絡(luò)解決方案
引言
CAN(Controller Area Network)控制器局域網(wǎng),主要用于各種設(shè)備監(jiān)測及控制的局域網(wǎng)。最初由德國Bosch公司用于汽車的監(jiān)控系統(tǒng)而設(shè)計,具有良好的功能特性和極高的可靠性,現(xiàn)場抗干擾能力極強, 總線形式為串行數(shù)據(jù)通信總線。
TI 的24X系列芯片,具有處理性能優(yōu)良(30MIPS),外設(shè)集成度高,程序存儲器容量大,A/D轉(zhuǎn)換速度快等特點,是基于工業(yè)控制而設(shè)計的DSP(數(shù)字信號處理)類芯片。LF2407A以其豐富的集成外設(shè),提供了電機數(shù)字化控制解決方案。其嵌入式CAN總線控制器,基于CAN2.0B規(guī)范要求,提供了CAN通信功能,可為實現(xiàn)分布式工業(yè)監(jiān)控局域網(wǎng)絡(luò)提供了一個解決方案。
CAN總線簡介
CAN屬于現(xiàn)場總線的范疇,有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò)。CAN的應(yīng)用范圍很廣,從高速的網(wǎng)絡(luò)到低價位的多路界限都可以使用CAN 。在自動化電子領(lǐng)域的汽車發(fā)動機控制部件、傳感器、抗滑系統(tǒng)等應(yīng)用中,CAN的位速率可高達1Mbps。
區(qū)別與傳統(tǒng)的控制系統(tǒng)采用按控制回路進行一對一連接的方法,現(xiàn)場總線采用智能現(xiàn)場設(shè)備,具有運算、控制和通信功能,可以在現(xiàn)場完成數(shù)據(jù)采集、數(shù)據(jù)分析、控制處理等功能,并將有關(guān)數(shù)據(jù)發(fā)送到主機及其它現(xiàn)場設(shè)備,實現(xiàn)可徹底的分布式控制。
CAN總線特點:
1系統(tǒng)的開放性。2現(xiàn)場設(shè)備具有高度的自治性和智能化的特點。3系統(tǒng)的高度分散性。4對現(xiàn)場環(huán)境的適應(yīng)性強。
CAN節(jié)點的分層結(jié)構(gòu)
CAN對象層(the object layer)
CAN傳輸層(the transfer layer)
物理層(the physical layer)
對象層的功能是報文濾波以及狀態(tài)和報文的處理。傳輸層是CAN協(xié)議的核心。它把接受到的報文提供給對象層,以及接受來自對象層的報文。物理層定義實際信號的傳輸方法。物理層的作用是在不同節(jié)點之間根據(jù)所有的電氣屬性進行位信息的實際傳輸。
圖1 CAN節(jié)點分層結(jié)構(gòu)
LF2407A簡介
DSP(Digital Signal Processing)數(shù)字信號處理,是以數(shù)字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。LF2407A是一款新型工控型數(shù)字信號處理芯片,具有如下特點:
一、芯片特點:
1) 32位CPU,32位ALU,16*16位并行乘法器,3個定標(biāo)移位器,8個16位輔助寄存器;544字片內(nèi)數(shù)據(jù)/程序DARAM,2K的SARAM,32K片內(nèi)程序FLASH,64K數(shù)據(jù)和存儲器尋址范圍;
2) 四級流水線操作,八級硬件堆棧,五個外部中斷;
3) 兩個事件管理器EVA、EVB,包含:16路PWM通道,10路比較CMP單元,4個16位通用定時計數(shù)器,6個捕獲單元CAP,4個積分編碼脈沖QEP單元;
4) 16路10位A/D 轉(zhuǎn)換,轉(zhuǎn)換時間為500ns,最高采樣率為1MHz;
5) 41個可單獨編程的多路復(fù)用I/O引腳;基于鎖相環(huán)電路(PLL)的時鐘模塊;帶實時中斷的看門狗定時器模塊(WATCH_DOG);串行通信接口(SPI)和串行外設(shè)接口(SPI),及CAN 通信模塊接口;
6) 33ns指令周期,每秒執(zhí)行30MIPS,系統(tǒng)+3.3伏供電。
二、LF2407A 內(nèi)嵌CAN 控制器
LF2407A芯片內(nèi)嵌CAN控制模塊,集成了一個全CAN功能的16位控制芯片,且與CAN2.0B協(xié)議完全兼容,支持標(biāo)準(zhǔn)格式和擴展格式。LF2407A的CAN模塊包含兩大部分:CAN控制/狀態(tài)寄存器和CAN郵箱RAM區(qū)。其結(jié)構(gòu)框圖如下:
圖 2 LF2407-A CAN模塊框圖
CAN控制/狀態(tài)寄存器部分包含16個16位的CAN控制/狀態(tài)寄存器,分別為控制寄存器、狀態(tài)寄存器、中斷寄存器和接收屏蔽寄存器。完成對象層和傳輸層包括的所有由ISO/OSI 模型定義的數(shù)據(jù)鏈路層的服務(wù)和功能。實現(xiàn)控制幀結(jié)構(gòu)、執(zhí)行仲裁、錯誤檢測、出錯標(biāo)定、故障界定等。
CAN 控制器接口----PCA82C250: PCA82C250 是CAN 協(xié)議控制器和物理總線的接口。此器件對總線提供差動發(fā)送能力,對CAN 控制器提供差動接收能力,符合“ISO11898 ”標(biāo)準(zhǔn)。
系統(tǒng)結(jié)構(gòu)
本系統(tǒng)為一個基于分布式現(xiàn)場總線CAN總線進行通訊,以DSP為微控制器的電機控制系統(tǒng)。為一個具有DSP的高速處理能力和CAN總線通信的高性能和高可靠性的優(yōu)點結(jié)合起來的分布式工業(yè)控制系統(tǒng)。系統(tǒng)設(shè)計主體分為兩部分:其一執(zhí)行部件:LF2407-A控制電機動作;其二為網(wǎng)絡(luò)通訊:CAN實現(xiàn)分布式監(jiān)控通信。
節(jié)點 1 節(jié)點
圖 3 系統(tǒng)結(jié)構(gòu)框圖
其系統(tǒng)結(jié)構(gòu)主要可分為三層:第一層、PC機與CAN總線接口層----實現(xiàn)PC機與CAN通訊總線之間的可視化操作控制,以PC-CAN----智能型CAN總線通訊適配卡實現(xiàn);第二層、CAN總線與DSP控制器LF2407接口層----實現(xiàn)CAN總線和LF2407-A板的CAN控制器的物理接口和通訊;第三層、LF2407的I/O口與步進電機的驅(qū)動接口----實現(xiàn)對LF2407-A板的電氣隔離保護和步進電機的大電流驅(qū)動,完成電機的實際動作。
PC機作為該系統(tǒng)的上位機,有效的利用PC機計算能力強、容量大、人機界面良好的優(yōu)點。PC-CAN是具有高性能價格比的智能CAN總線通訊適配卡,它使PC機方便的連接到CAN總線上,實現(xiàn)CAN總線與主機PC的高速數(shù)據(jù)交換。PC-CAN上自帶光電隔離,保護PC機避免由于地環(huán)流的損壞,增強系統(tǒng)在惡劣環(huán)境中使用的可靠性。
PCA82C250: 為LF2407內(nèi)嵌式CAN 控制器與CAN 總線的接口收發(fā)器。8腳,高速,可達1Mbps傳輸速率。它提供了對CAN總線的差動發(fā)送能力以及對CAN控制器的差動接收能力。
圖5 DSP 2407-A與步進電機驅(qū)動接口
驅(qū)動電路接口實現(xiàn)了DSP芯片與步進電機之間的電氣隔離,保護了DSP芯片的安全性,又完成了從DSP輸出弱電流(不足10mA)到步進電機驅(qū)動所需的大電流(+1.5A)的轉(zhuǎn)換,提供電機所需驅(qū)動電流。其中,TLP521為DSP與步進電機之間的光電隔離耦合器,它起了電平隔離作用,保護了DSP芯片,又完成了信號轉(zhuǎn)換。RIF530 為VMOS管,是步進電機的驅(qū)動電流開關(guān)。
CAN 總線物理層:CAN 的物理鏈接通信介質(zhì)可采用雙絞線、同軸電纜或光纖。采用非破壞性的基于優(yōu)先權(quán)的總線仲裁方式。在本系統(tǒng)中,以雙絞線作為通信介質(zhì)。
軟件設(shè)計
本系統(tǒng)的軟件設(shè)計是完成基于CAN總線的分布式控制系統(tǒng)的關(guān)鍵所在。CAN總線的多機通訊由軟件編程實現(xiàn)數(shù)據(jù)的接受和發(fā)送。在兩塊LF2407-A板上實現(xiàn)兩節(jié)點通訊:一塊為本地節(jié)點,接受遠(yuǎn)程節(jié)點的請求數(shù)據(jù)幀,并發(fā)送數(shù)據(jù)幀;另一塊為遠(yuǎn)程節(jié)點,發(fā)送一個請求幀以請求遠(yuǎn)程節(jié)點發(fā)送數(shù)據(jù)。
主要分為:1、電機控制系統(tǒng)整體---實現(xiàn)系統(tǒng)初始化,并生成電機控制頻率信號,以中斷方式實現(xiàn)電機控制字的修改,延時子程序?qū)崿F(xiàn)電機的轉(zhuǎn)速控制,初始化CAN模塊。2、CAN 發(fā)送一個遠(yuǎn)程幀請求-----初始化CAN請求幀,令CAN郵箱3為發(fā)送請求幀郵箱,CAN郵箱0為接收數(shù)據(jù)幀郵箱。郵箱3發(fā)送一個請求幀請求電機控制字?jǐn)?shù)據(jù),當(dāng)查詢到接收報文標(biāo)志位為1時(RMP=1),郵箱0接收數(shù)據(jù)。3、CAN 初始化一個自動回答遠(yuǎn)程幀請求----初始化CAN自動回答遠(yuǎn)程幀請求,令CAN郵箱3為發(fā)送郵箱。當(dāng)接受到一個遠(yuǎn)程請求時,發(fā)送一幀數(shù)據(jù)。以下以CAN 初始化一個自動回答遠(yuǎn)程幀請求為例給出軟件程序流程圖,見圖6。
圖6 CAN 初始化一個自動回答遠(yuǎn)程幀請求程序流程圖
結(jié)束語
本文研究了基于CAN總線的分布式電機控制系統(tǒng)的組成和實現(xiàn)。將DSP的高速處理能力與CAN現(xiàn)場總線的高可靠性和高穩(wěn)定性結(jié)合起來,對于構(gòu)建新型實時快速響應(yīng)分布式工業(yè)控制網(wǎng)絡(luò)提供了一個較好的解決方案。尤其針對本款工控芯片LF2407A的內(nèi)嵌模塊:脈沖寬度編碼PWM,比較單元CMP,捕獲單元CAP,積分編碼脈沖QEP單元等提供了直流交流電機的直接控制應(yīng)用,免去以往在單片機控制系統(tǒng)中所需作的大量繁瑣的算法編程,有效的加快工控系統(tǒng)的開發(fā)應(yīng)用。