基于A(yíng)T90CAN128的開(kāi)關(guān)量控制單元設計
CAN(Controller Area NetWork)總線(xiàn)技術(shù)是一種有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò ),廣泛應用于工業(yè)控制。其硬件連接簡(jiǎn)單,可靠性好,實(shí)時(shí)性和性?xún)r(jià)比高,能夠很好地滿(mǎn)足計算機聯(lián)鎖系統通信網(wǎng)絡(luò )對實(shí)時(shí)性和可靠性的要求。
AVR單片機是由Atmel公司研發(fā)的增強型內置Flash的RISC高速8位單片機。本設計使用的是AVR系列新型單片機AT90CAN128,它自帶CAN控制器,使得通信部分的硬件電路設計大大簡(jiǎn)化,因此增強了系統可靠性。
1 CAN總線(xiàn)技術(shù)簡(jiǎn)介
CAN總線(xiàn)是德國B(niǎo)osch公司20世紀80年代初為解決現代汽車(chē)中眾多的控制與測試儀器之間的數據交換而開(kāi)發(fā)的一種串行數據通信協(xié)議。它是一種多主總線(xiàn),通信介質(zhì)可以是雙絞線(xiàn)、同軸電纜或光導纖維。通信速率可達1 Mbps。CAN總線(xiàn)通信接口中集成了CAN協(xié)議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等工作。CAN總線(xiàn)具有以下技術(shù)特性:
①廢除了傳統的站地址編碼,改為對通信數據塊進(jìn)行編碼。采用這種方法的優(yōu)點(diǎn)是,可使網(wǎng)絡(luò )內的節點(diǎn)個(gè)數在理論上不受限制,數據塊的標識碼可由11位或29位二進(jìn)制數組成,因此可以定義211或229個(gè)不同的數據塊;這種按數據塊編碼的方式,還可使不同的節點(diǎn)同時(shí)接收到相同的數據,這一點(diǎn)在分布式控制系統中非常有用。
②數據段長(cháng)度最多為8個(gè)字節,可滿(mǎn)足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數據的一般要求。同時(shí),8個(gè)字節不會(huì )占用總線(xiàn)時(shí)間過(guò)長(cháng),從而保證了通信的實(shí)時(shí)性。CAN協(xié)議采用CRC校驗并可提供相應的錯誤處理功能,保證了數據通信的可靠性。
③CAN采用非破壞總線(xiàn)仲裁技術(shù)。當多個(gè)節點(diǎn)同時(shí)向總線(xiàn)發(fā)送信息出現沖突時(shí),優(yōu)先級較低的節點(diǎn)會(huì )主動(dòng)退出發(fā)送,而優(yōu)先級最高的節點(diǎn)可不受影響地繼續傳輸數據,從而大大節省了總線(xiàn)沖突仲裁時(shí)間。即使在網(wǎng)絡(luò )負載很重的情況下,也不會(huì )出現網(wǎng)絡(luò )癱瘓的情況。
2 AT90CAN128功能簡(jiǎn)介
2.1 基本特性
AT90C2AN128微控制器采用具有先進(jìn)的RISC結構和低功耗的8位單片機,在一個(gè)時(shí)鐘周期內執行一條指令,因此可以達到接近1 MIPS/MHz的性能。
AT90CAN128具有以下特點(diǎn):128 KB的可在系統編程/應用編程(ISP/IAP)Flash程序存儲器,4 KB SRAM,32個(gè)通用工作寄存器,53個(gè)通用I/O口,實(shí)時(shí)時(shí)鐘計數器(RTC),4個(gè)帶有比較模式靈活的定時(shí)器/計數器,2個(gè)可編程的USRAT接口,1個(gè)8位面向字節的TWI(I2C)總線(xiàn)接口,8通道單端或差分輸入的10位ADC(其中1個(gè)差分通道為增益可調的),可編程帶內部振蕩器的看門(mén)狗定時(shí)器,1個(gè)SPI接口,1個(gè)符合2.0A或2.0B的CAN控制器接口,一個(gè)兼容IEEE1149.1標準的JTAG接口(用于在線(xiàn)仿真調試和程序下載),6種可通過(guò)軟件選擇的節電模式。
2.2 內置CAN控制器
AT90CAN128內置完全符合CAN2.0A和2.0B標準協(xié)議的CAN控制器。采用Mob(消息對象)方式進(jìn)行數據的發(fā)送和接收,共有15個(gè)Mob,它們具有相同的屬性:有11位標識符(2.0A協(xié)議),也可擴展至29位(2.0B協(xié)議);最多為8字節數據緩沖(靜態(tài)分配);Tx、Rx幀緩沖或自動(dòng)響應配置;時(shí)間標識。CAN控制器的結構如圖1所示。
Mob用來(lái)設置幀格式和存放數據。Mob的數目是0~14,它們相互獨立,但在進(jìn)行總線(xiàn)仲裁時(shí),低位的Mob會(huì )獲得優(yōu)先權。每個(gè)Mob都被安置在一個(gè)頁(yè)中來(lái)保存,頁(yè)的序號即Mob的序號。
3 控制單元的軟硬件設計
3.1 整體結構
開(kāi)關(guān)量控制單元與計算機聯(lián)鎖系統中其他的控制單元以及上位機等節點(diǎn)共同構成CAN通信網(wǎng)絡(luò )。每一個(gè)控制單元都有自己獨立的地址,當上位機發(fā)出指令時(shí),網(wǎng)絡(luò )中的CAN節點(diǎn)對指令中的地址信息進(jìn)行比對,如果與自己的地址一致則接收數據并執行相應的控制命令。AT90CAN128的CAN控制器接口與TJA1050芯片通過(guò)光耦相連組成CAN通信通道,接收上位機下發(fā)的控制命令,使電子開(kāi)關(guān)吸合或斷開(kāi),即接通或斷開(kāi)負載。其A/D轉換通道對負載電路的電流進(jìn)行采樣,如果電流過(guò)載,則單片機停止輸出周期性脈沖信號給動(dòng)態(tài)電路,斷開(kāi)與電源相連的繼電器組,切斷電源供給,以保證系統安全。
開(kāi)關(guān)量控制單元的硬件結構如圖2所示。
3.2 硬件設計(CAN通信部分)
AT90CAN128的晶振頻率在5 V時(shí)可以達到16MHz,其與CAN總線(xiàn)的硬件連接如圖3所示。
本設計中,CAN通信采用AT90CAN128內置的CAN控制器與CAN收發(fā)器TJA1050經(jīng)高速光耦6N137相連接。TJA1050速率高,最高可達1 Mbps,提供總線(xiàn)與電源及地之間的短路保護。其引腳8(STB)用于選定工作模式,有兩種工作模式可供選擇:高速或待機。這里,引腳8接地,選擇高速模式,高速模式是TJA1050的正常工作模式。如果引腳接高電平,則TJA1050將進(jìn)入待機模式,發(fā)送器被關(guān)閉。高速光耦6N137起隔離控制器與工業(yè)現場(chǎng)的作用,可以提高系統的抗干擾能力。電路采用獨立的電源供電,有效地避免了外界電壓變化對通信的影響。
3.3 軟件設計
CAN總線(xiàn)節點(diǎn)要有效、實(shí)時(shí)地完成通信任務(wù),軟件的設計是關(guān)鍵。CAN總線(xiàn)節點(diǎn)的軟件設計主要包括CAN控制器的初始化、數據接收和數據發(fā)送程序。主程序通過(guò)調用函數來(lái)實(shí)現數據的接收和發(fā)送。
3.3.1 CAN初始化
為了正確地實(shí)現通信,這一部分要對波特率,標識碼寄存器CANIDT、標識碼屏蔽寄存器CANIDM,發(fā)送與接收Mob的頁(yè)號,數據長(cháng)度、中斷開(kāi)啟、Mob使能等內容作出設置。本設計采用CAN2.0A協(xié)議,即標識符為11位。將標識碼寄存器CANIDT1設置為開(kāi)關(guān)量控制單元的地址Addr,其余的標識碼寄存器設置為0。該地址只使用一個(gè)8位寄存器,因此標識碼屏蔽寄存器只需設置CANIDM1為0xFF,其余的標識碼屏蔽寄存器設置為0。
由4個(gè)標識碼寄存器CANIDT、標識碼屏蔽寄存器CANIDM組成驗收濾波器,信息只有通過(guò)它的驗收濾波才能被接收。所有驗收屏蔽寄存器為0的位,驗收碼寄存器和CAN信息幀對應位必須相同才能驗收通過(guò);而所有驗收屏蔽寄存器為1的位,驗收碼寄存器對應位的驗收濾波功能則被屏蔽。本例中只接收ID為Addr的信息。
3.3.2 發(fā)送子程序
發(fā)送時(shí)只需將待發(fā)送的數據按特定格式送入發(fā)送緩存區中,然后啟動(dòng)發(fā)送即可。
3.3.3 接收子程序
消息的接收采用中斷方式實(shí)現。首先要關(guān)閉接收中斷,然后設置CANPAGE寄存器來(lái)指定接收的頁(yè)數,隨后由CANCDMob寄存器來(lái)控制接收動(dòng)作。當有消息到達時(shí),將觸發(fā)CANSTMob寄存器中的RXOK中斷,消息中的數據將被裝載到CANMSG寄存器中。
結 語(yǔ)
本文詳細介紹了以AT90CAN128微控制器為核心的開(kāi)關(guān)量控制單元的主要軟硬件設計。與目前同類(lèi)型的單片機相比較,AT90CAN128由于內置CAN控制器,因而可大大降低設備成本,簡(jiǎn)化硬件結構,提高通信效率、安全性以及可靠性。實(shí)踐證明,開(kāi)關(guān)量控制單元在計算機聯(lián)鎖系統中運行穩定,能夠很好地實(shí)現預期的功能。
評論