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