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