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