四通道位置控制的CAN總線節(jié)點設(shè)計與實現(xiàn)
出處:tuwen 發(fā)布于:2007-04-29 11:52:35
關(guān)鍵詞:CAN總線;位置隨動系統(tǒng);D/A轉(zhuǎn)換;多路模擬開關(guān)
概述
根據(jù)課題要求,并經(jīng)充分考慮CAN總線數(shù)據(jù)通訊的特點、四個通道位置控制規(guī)律及實際工程的環(huán)境與條件之后,設(shè)計了一個CAN總線節(jié)點,并利用四個通道的控制信號來實施四路位置控制。該系統(tǒng)的結(jié)構(gòu)關(guān)系如圖1所示,根據(jù)該圖可以把本文中要描述的系統(tǒng)劃分為三個部分:CAN總線接口電路、單片機系統(tǒng)、D/A轉(zhuǎn)換電路。CAN總線接口電路主要提供CAN總線物理層通訊協(xié)議所要求的電氣連接,保證可靠通訊;單片機系統(tǒng)是本CAN總線節(jié)點的中樞,主要是控制和協(xié)調(diào)各部分的正常工作,并按算法計算形成四通道的控制信號;D/A轉(zhuǎn)換電路則要把單片機所形成的四個通道的數(shù)字控制信號轉(zhuǎn)化為四路模擬控制信號去驅(qū)動四路的電機控制系統(tǒng),同時要保證系統(tǒng)允許的延時和信號的線性度,終完成對四通道的位置控制。
硬件設(shè)計
CAN總線接口電路設(shè)計
完整的接口電路原理圖如圖2所示,該電路包含了CAN總線協(xié)議控制芯片SJA1000(與PCX82C200兼容)和CAN總線驅(qū)動芯片82C250以及它們各自的外圍電路。在此只討論實現(xiàn)過程中幾個具體問題。
片選信號:總體方案設(shè)計中確定了本系統(tǒng)地址空間的分配,CAN總線接口電路占用了C000~DFFF。為了有效利用已有的邏輯芯片,采用線選法產(chǎn)生片選信號CanSelt。片選信號CanSelt低電平有效。
總線連接:由于SJA1000本身具有分時復用的8位地址數(shù)據(jù)總線,并且引腳3、引腳5以及引腳6分別對應(yīng)單片機地址鎖存信號ALE、讀信號和寫信號,因此可以直接與80C196KC單片機的地址數(shù)據(jù)總線、控制總線對應(yīng)連接。
中斷信號:當SJA1000進行總線通信,需要單片機參與處理時,就在引腳16產(chǎn)生一個中斷信號。這些觸發(fā)中斷的事件包括總線上成功接收到有效數(shù)據(jù)幀、成功發(fā)送數(shù)據(jù)幀、CAN協(xié)議芯片被其它CAN節(jié)點喚醒、接收緩沖區(qū)超限以及總線狀態(tài)出錯等。引腳16平時維持高電平,中斷時產(chǎn)生一個負跳變信號。由于80C196KC單片機的外部中斷正跳變信號有效,所以SJA1000的中斷信號要經(jīng)過一個非門再送到單片機的外部中斷引腳。但在實際電路中,無中斷產(chǎn)生時,SJA1000的引腳16是觀察不到高電平的,只能觀察到0.7V~0.8V的電平信號。這是因為高電平被下級的非門導通拉低所致,不影響正常使用。
多路D/A轉(zhuǎn)換通道電路設(shè)計
CAN總線是一種串行總線,總線上傳輸?shù)男畔⑹菙?shù)字信號,而已有的電機控制系統(tǒng)是模擬控制系統(tǒng),因此需要設(shè)計D/A轉(zhuǎn)換電路來解決這一問題。在D/A轉(zhuǎn)換接口設(shè)計中主要考慮的問題是D/A轉(zhuǎn)換芯片的選擇、數(shù)字量的碼輸入及模擬量的極性輸出、參考電壓電流源、模擬電量輸出的調(diào)整與分配等?;谏鲜鲆蛩兀驹O(shè)計電路結(jié)構(gòu)如圖3所示。在該結(jié)構(gòu)中采用同一個D/A轉(zhuǎn)換芯片分時、分別對各路信號進行D/A轉(zhuǎn)換,再由一個多路采樣保持電路將轉(zhuǎn)換結(jié)果分時提取,并送到各路模擬信號通道。
由于電機模擬控制系統(tǒng)的性能指標如下:
輸入/輸出關(guān)系:輸入為±10V;對應(yīng)電機輸出齒輪軸轉(zhuǎn)動為±250;位置控制:角度誤差≤±0.10;
則0.1雜Φ男藕諾繆?:
又知D/A轉(zhuǎn)換分辨率頻畝ㄒ邐?
另外,雙極性輸出情況下,有效位MSB用作符號位,決定輸出電壓的極性。由以上則可得出,為了滿足電機模擬控制系統(tǒng)要求的D/A器件所需位數(shù)為9位。但是在實際中電路器件或電源的誤差是不可避免的,所以根據(jù)經(jīng)驗應(yīng)選用12位D/A轉(zhuǎn)換器件,以保證實際D/A轉(zhuǎn)換的結(jié)果滿足系統(tǒng)指標的要求。
在圖3中,多路模擬開關(guān)與保持電路實際上構(gòu)成的是一個采樣保持器,該采樣保持器的設(shè)計在本文所述的多路D/A轉(zhuǎn)化電路設(shè)計中是至關(guān)重要的。采樣保持器一般由模擬開關(guān)、存儲元件(保持電容)和緩沖放大器組成,保持電容在實際應(yīng)用中還起到了信號濾波的作用。如果在模擬開關(guān)之后不加保持電容或加得不當,都會在終模擬輸出的波形上出現(xiàn)尖峰脈沖。根據(jù)調(diào)試經(jīng)驗該保持電容取0.01mF時的效果較好。取得太小,則“毛刺”不能有效被去除,取得太大則影響D/A轉(zhuǎn)換電路的速度。另外,當采樣開關(guān)(多路模擬開關(guān))斷開后,保持電容進入信號電壓保持狀態(tài)。由于采樣開關(guān)、保持電容、輸出緩沖放大器都存在漏電流,所以會造成保持電容中電量的流失。如設(shè)保持電壓U=10V,保持電容C取0.01mF,則可以計算出放電時間t=1s??梢?,控制模擬開關(guān)的關(guān)斷時間要大于20ms,小于1s。
軟件設(shè)計
軟件設(shè)計是圍繞CAN總線通訊進行的,它包括CAN總線通訊初始化、CAN總線數(shù)據(jù)幀的定義和通訊中斷服務(wù)程序設(shè)計。
CAN總線通訊初始化
在系統(tǒng)上電復位后,程序?qū)⑼瓿上旅鎯身椆ぷ鳎?BR>1)根據(jù)硬件系統(tǒng)的連接方式和要求確定微處理器的設(shè)置。
2)在SJA1000復位后,需要設(shè)置與通信相關(guān)的參數(shù):模式的選擇、接收碼寄存器、接收屏蔽寄存器和總線定時等。
在系統(tǒng)運行的過程中,也可以發(fā)出一個復位請求,根據(jù)實際情況重新確定系統(tǒng)的通信參數(shù)。初始化的流程圖如圖4所示。
另外,在調(diào)試的過程中確定出了一套CAN總線通信參數(shù)。決定CAN總線波形的寄存器有下面幾個:CAN_TIMER1(總線定時器0)、CAN_TIMER2(總線定時器1)、CAN_OUT_CTRL(輸出寄存器)??偩€定時器0的內(nèi)容決定波特率預分頻器(BRP)和同步跳轉(zhuǎn)寬度(SJW)的數(shù)值;總線定時器1的內(nèi)容決定位周期寬度、采樣點位置和在每個采樣點獲取采樣點的數(shù)目。經(jīng)過實際調(diào)試,采用如下設(shè)置參數(shù):
ldb T1,#81h
;設(shè)置總線定時器0
stb T1,CAN_TIMER1
ldb T1,#0c1h
;設(shè)置總線定時器1
stb T1,CAN_TIMER2
ldb T1,#0aah
;設(shè)置輸出寄存器
stb T1,CAN_OUT_CTRL
CAN總線數(shù)據(jù)幀的定義
Basic模式下,CAN總線幀包含10個字節(jié)。其中前兩個字節(jié)是描述符,后八個字節(jié)是數(shù)據(jù)長。本軟件設(shè)計中采用的數(shù)據(jù)幀結(jié)構(gòu)的特點是:
1)指令動作類型由11位的標識符定義,可滿足不同類型的控制要求。
2)各通道的控制指令由幀數(shù)據(jù)長中的16位雙字節(jié)給出,滿足系統(tǒng)12位要求。
3)每次數(shù)據(jù)幀傳送,同時給出4個通道的控制指令與動作類型,單幀信息容量大,節(jié)約系統(tǒng)通信資源。
通訊中斷服務(wù)程序
如果SJA1000收到一個報文,通過接收碼寄存器和接收屏蔽寄存器,并放到接收緩存中后,控制器就會產(chǎn)生一個接收中斷。這樣,微處理器可以很快的響應(yīng),接收緩沖區(qū)的數(shù)據(jù),并根據(jù)實際的數(shù)據(jù)進行相應(yīng)的處理,然后通過設(shè)置命令寄存器釋放接收緩沖區(qū)。接收緩存新的報文到來將產(chǎn)生一個新的接收中斷。
在CAN總線節(jié)點的軟件設(shè)計過程中還要注意數(shù)據(jù)超載,當接收緩沖區(qū)已經(jīng)滿了,但又收到了一個新的報文信息,這時,就會產(chǎn)生一個數(shù)據(jù)超載中斷。同時,狀態(tài)寄存器中的“數(shù)據(jù)超載位”將被置位,用以通知微處理器,必須有相應(yīng)的程序?qū)@種情況進行處理。
結(jié)語
本文所介紹的方案中,用單CAN總線節(jié)點及一路D/A轉(zhuǎn)換器件與模擬選擇開關(guān)相結(jié)合來實現(xiàn)對四路位置的隨動系統(tǒng)控制。與其它方案相比有結(jié)構(gòu)簡單、實現(xiàn)容易,課題開銷少等優(yōu)點。對其它類似設(shè)計有可借鑒性?!?/P>
參考文獻
1 孫涵芳. intel 16位單片機. 北京航空航天大學出版社,1995
2 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計. 北京航空航天大學出版社,1997
3 張松春,竺子蘭. 電子控制設(shè)備抗干擾技術(shù)及其應(yīng)用. 機械工業(yè)出版社,1994
4 SJA1000 datasheet http://m.58mhw.cn/datasheet/SJA1000_609075.html.
5 80C196KC datasheet http://m.58mhw.cn/datasheet/80C196KC_103576.html.
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









