時間:2008-11-24 09:38:00來源:ronggang
圖2 控制系統(tǒng)網(wǎng)絡結構[/align]
主控制模塊控制器采用配備了智能PC104 CAN控制卡的PC104計算機,其他模塊控制器采用以P80C592單片機為核心構成。P80C592芯片本身集成有CAN控制器,A/D轉換器,看門狗,使用該芯片使各控制節(jié)點小型化成為可能,在它的基礎上擴展了外圍模擬量和數(shù)字量的輸入和輸出,便于過程控制。
3 控制系統(tǒng)的通訊管理
3.1 CAN總線節(jié)點地址分配
對于以上述P80C592和PC104結構CAN通訊卡為硬件基礎的CAN總線網(wǎng)絡形式,節(jié)點之間通訊報文所用到的信息幀有兩種:數(shù)據(jù)幀和遠程幀。數(shù)據(jù)幀和遠程幀的幀起始位之后都包括有標識符和遠程發(fā)送請求位(RTR)組成的仲裁場。標識符的長度為11(ID.10~ID.0)位,包含信息幀目標地址特征。RTR位在數(shù)據(jù)幀中必須是“顯性”電平,用以標記幀類型。
節(jié)點報文接收器的接收濾波器由兩部分組成:接收碼寄存器(ACR)和接收屏蔽寄存器(AMR)。此兩個寄存器均為8位:驗收碼位(AC.7~AC.0),驗收屏蔽位(AM.7~AM.0)。當信息幀的報文標識符最高8位(ID.10~ID.3)滿足下列等式:
〔(ID.10~ID.3)=(AC.7~AC.0)〕或(AM.7~AM.0)=11111111B
則該信息幀將被報文接收器接收。
對于本系統(tǒng)的5個網(wǎng)絡節(jié)點,定義各節(jié)點的驗收碼和驗收屏蔽碼如下:
1#:ACR=81H,AMR=BEH;
2#:ACR=82H,AMR=BDH;
3#:ACR=84H,AMR=BBH;
4#:ACR=88H,AMR=B7H;
主機:ACR=A0H,AMR=9FH;
根據(jù)上述節(jié)點地址分配,各節(jié)點均可實現(xiàn)對其它任意節(jié)點組合的信息發(fā)送。如主機對1#、2#、3#節(jié)點同時發(fā)送信息,則主機發(fā)送信息幀的標識符高8位可寫為:87H或07H。
可見對報文接收器而言,ID.10=0或1沒有區(qū)別。但根據(jù)CAN總線協(xié)議,顯性位“0”將比隱性位“1”具有更高的總線優(yōu)先權。定義ID.10=0的信息幀為“快速幀”,ID.10=1的信息幀為“普通幀”。
因此,上述地址分配方法具有以下優(yōu)點:
?。?)容易實現(xiàn)單點對其他點任意組合的信息發(fā)送;
?。?)各節(jié)點具有不同的優(yōu)先級,從1#到5#到主機優(yōu)先級依次降低,保證發(fā)往關鍵節(jié)點的信號不被阻塞;
(3)每個節(jié)點都有兩種地址編碼,且優(yōu)先級不同,保證關鍵指令首先被接收。
3.2通訊方式及信息幀分類
由于分布式控制通訊量較大,對信息進行分類和規(guī)定相應的協(xié)議將有利于軟件的標準化,提高編程效率和程序的可靠性。首先,依據(jù)CAN總線協(xié)議標準,定義以C語言描述的CAN信息幀格式:
struct CAN_MSG
{
unsigned char CAN_FLAG;
unsigned char CAN_DLC;
unsigned char CAN_DATA[8];
?。?
其中CAN_FLAG是信息目標標識符,CAN_DLC含遠程幀信號位、幀定義描述和數(shù)據(jù)幀長度信息,CAN_DATA為8字節(jié)數(shù)據(jù)。
依據(jù)信息的流向、總線優(yōu)先級和作用的不同,將通訊信息分為5類,其具體定義如下(按優(yōu)先級從低到高排列):
?。?)遠程幀:由主機以一定節(jié)拍發(fā)往各控制器,擊活相應控制器的狀態(tài)幀發(fā)送。目的是使主機能在規(guī)定的時間內(nèi)獲得電動車的狀態(tài)信息,同時減少因各控制器自動發(fā)送狀態(tài)幀而引起總線阻塞。
格式:CAN_FLAG采用“普通幀”點對點編碼;CAN_DLC=0xF0;CAN_DATA為空。
?。?)狀態(tài)幀:由控制器發(fā)往主機或其他控制器。狀態(tài)幀返回當前命令執(zhí)行狀態(tài)和采集量信息,作為上層控制器執(zhí)行下一步規(guī)劃的標志。
格式:CAN_FLAG采用“普通幀”點對點、點對多編碼;CAN_DLC=0xE8;CAN_DATA[0]為狀態(tài)或信息數(shù)據(jù)標識,確定后續(xù)數(shù)據(jù)的含義;CAN_DATA[1]~ CAN_DATA[7]為數(shù)據(jù)。
?。?)間接命令幀:由主機發(fā)往控制器,或由某運行復合動作元的控制器發(fā)往其他控制器。間接命令幀含有復合動作元或動作元指令,接收方必須對命令進行分解才能產(chǎn)生驅動外設動作的控制元指令。
格式:CAN_FLAG采用“普通幀”點對點、點對多編碼;CAN_DLC=0x60+DLC,DLC等于有效數(shù)據(jù)的字節(jié)數(shù);CAN_DATA[0]為狀態(tài)或信息數(shù)據(jù)標識,確定后續(xù)數(shù)據(jù)的含義;CAN_DATA含有具體指令信息。
?。?)直接命令幀:發(fā)送方向同間接命令幀。但該命令幀所含命令將被接收方直接執(zhí)行,驅動控制元動作,因此,應具有比間接命令幀更高的優(yōu)先級。
格式:CAN_FLAG采用“快速幀”點對點、點對多編碼;CAN_DLC=0x20+DLC,DLC等于有效數(shù)據(jù)的字節(jié)數(shù);CAN_DATA含有具體指令信息。
(5)緊急命令幀:從檢測到緊急狀態(tài)的控制發(fā)往其他相關控制器。此命令具有最高優(yōu)先級,用以在檢測到緊急狀態(tài)時,快速執(zhí)行相應動作、避免事故發(fā)生。該命令將被接收方直接運行。
格式:CAN_FLAG采用“快速幀”點對點、點對多編碼;CAN_DLC=0x00+DLC,DLC等于有效數(shù)據(jù)的字節(jié)數(shù);CAN_DATA含有具體指令信息。
3.3 軟件設計
CAN總線為分布式控制提供了良好的硬件基礎,使各節(jié)點的通訊不再是制約分布式控制實現(xiàn)的主要因素。整個系統(tǒng)從本質上說已經(jīng)不存在主、從節(jié)點之分,整個系統(tǒng)的控制的控制已經(jīng)從傳統(tǒng)網(wǎng)絡中主節(jié)點的單一控制(這種體系結構要求上位機具有大容量的程序存儲器和高運算速度,必然造成上位機的大型化),轉化為各節(jié)點的協(xié)調(diào)控制,整加了系統(tǒng)控制的靈活性,也同時降低了對主節(jié)點的要求。
[align=center]
圖3 控制器1#,3#輸入輸出參數(shù)[/align]
如上圖3所示,車輛信息采集模塊采集車速、發(fā)動機轉速、檔位信號(前進、空檔、倒車)、油門踏板及剎車踏板的狀態(tài)及幅度。液壓系統(tǒng)測控模塊采集蓄能器的壓力,控制離合器的吸合與斷開,通過油路控制(4個開關量)實現(xiàn)油路分配控制,最后通過液壓泵/馬達控制實現(xiàn)液壓系統(tǒng)回收/釋放功能及強度。
各節(jié)點控制器均能獨立完成部分命令分解和調(diào)用底層指令的功能。這樣,對于某一動作元而言,節(jié)點控制器將充當“命令主機”。下面以“液壓系統(tǒng)運行調(diào)節(jié)”這一復合動作元執(zhí)行時,1#,3#控制器流程圖(如圖4,圖5所示)為例,說明各控制器在分布式控制系統(tǒng)中的作用??梢钥闯?,在該指令執(zhí)行過程中,3#控制器充當了1#控制器的“命令主機”。
[align=center]
圖4 1#控制器流程[/align]
采用分布式控制方式,可以將主機從繁瑣的邏輯控制過程中解放出來,對于主機的小型化、產(chǎn)品化有重要作用。
[align=center]標簽:
傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為傳動網(wǎng)(surachana.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
相關資訊
產(chǎn)品新聞
更多>2025-10-31
2025-10-22
2025-10-17
2025-10-11
2025-10-09
2025-09-23