亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種控制器局域網(wǎng)總線分析與觸發(fā)的方法

文檔序號:7930005閱讀:294來源:國知局
專利名稱:一種控制器局域網(wǎng)總線分析與觸發(fā)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種測量儀器中控制器局域網(wǎng)總線信號的分析與觸發(fā)方法,尤其涉及數(shù)字示波器中控制器局域網(wǎng)總線信號的分析與觸發(fā)。
背景技術(shù)
控制器局域網(wǎng)(CAN)總線是博世公司在20世紀(jì)80年代專門研制的一種分層串行數(shù)據(jù)通信協(xié)議,以在電氣噪聲環(huán)境中作為設(shè)備之間的通信總線。在CAN總線中,幀頭、標(biāo)識符(地址)、數(shù)據(jù)長度代碼、數(shù)據(jù)、CRC和幀尾及少量其它控制位等信息都以串行方式在一條導(dǎo)線上傳送,測量儀器的傳統(tǒng)觸發(fā)方式(如邊沿觸發(fā))不能有效的捕獲總線信息。因此, 有必要為測量儀器配備一種專門的CAN總線信號分析與觸發(fā)的方式,分析并提取總線的幀頭、標(biāo)識符、數(shù)據(jù)長度、數(shù)據(jù)、CRC、幀尾和其它控制位信息,并將其作為觸發(fā)條件,使得捕獲感興趣的事件變得簡單,提取的信息可以用來做進(jìn)一步的分析處理或顯示,提高了總線調(diào)試的效率。

發(fā)明內(nèi)容
技術(shù)問題本發(fā)明提出一種在測量儀器中CAN總線信號的分析與觸發(fā)方法。根據(jù) CAN總線協(xié)議格式,分析并提取總線傳輸?shù)膸^、標(biāo)識符(地址)、數(shù)據(jù)長度代碼、數(shù)據(jù)、CRC 和幀尾及少量其它控制位等信息,并與用戶設(shè)定的觸發(fā)條件相比較,如果符合條件則產(chǎn)生觸發(fā)信號,以控制測量儀器的采集存儲,方便捕獲感興趣的事件,同時提取出的信息還可以用來做進(jìn)一步的分析處理。技術(shù)方案本發(fā)明提出的CAN總線信號的分析與觸發(fā)方法為
1)根據(jù)用戶設(shè)定的CAN總線波特率,采樣時鐘生成器生成采樣時鐘;
2)根據(jù)用戶設(shè)定的CAN總線幀特征,數(shù)字比較器選取參考值。3)根據(jù)用戶設(shè)定的CAN總線幀特征,對輸入的數(shù)字化CAN總線信號進(jìn)行相位轉(zhuǎn)換;
4)抽點(diǎn)模塊根據(jù)1)生成的采樣時鐘對模數(shù)轉(zhuǎn)換后的CAN總線信號進(jìn)行抽點(diǎn),經(jīng)過數(shù)字比較器后轉(zhuǎn)為0/1信號送給解碼模塊,解碼模塊首先根據(jù)幻進(jìn)行相位轉(zhuǎn)換,檢測出幀起始條件后啟動幀比特提取模塊、編碼冗余檢測模塊、字段提取狀態(tài)機(jī)對幀數(shù)據(jù)進(jìn)行解碼,并按照CAN總線協(xié)議,將串行位信息轉(zhuǎn)換成幀頭(SOF)、仲裁(標(biāo)識符-即地址)、控制(數(shù)據(jù)長度代碼)、數(shù)據(jù)、校驗(yàn)(CRC)和幀尾(EOF)等字段信息以及一些特征位信息(RTR、應(yīng)答位);
5)比較觸發(fā)模塊根據(jù)4)生成的各字段信息與用戶設(shè)定的觸發(fā)條件比較,如果符合條件則產(chǎn)生觸發(fā)信號,送采集控制模塊控制對抽點(diǎn)后的信號進(jìn)行存儲,并與解碼模塊輸出的字段信息一并送給后續(xù)處理模塊處理。所述的采樣時鐘生成器生成采樣時鐘,其頻率為用戶設(shè)定CAN總線波特率的N倍, N 為 5,7,9,11......。
用戶設(shè)定的CAN總線幀特征有兩種情況,分別為CAN_L(0為顯性電平,1為隱性電平)和CAN_H(1為顯性電平,0為隱形電平),如輸入的是CAN_L信號,則數(shù)字比較器的參考值選為前端2V電壓模數(shù)轉(zhuǎn)換后對應(yīng)的數(shù)字量,如輸入的是CAN_H信號,則數(shù)字比較器的參考值選為前端3V電壓模數(shù)轉(zhuǎn)換后對應(yīng)的數(shù)字量。相位轉(zhuǎn)換的規(guī)則為如輸入的是CAN_L信號則不進(jìn)行相位轉(zhuǎn)換,如輸入的是CAN_H 信號則進(jìn)行相位轉(zhuǎn)換,即對輸入的數(shù)字化CAN信號反相。解碼模塊中幀起始檢測模塊判斷幀起始的方法如下以采樣時鐘生成器生成的采樣時鐘對相位轉(zhuǎn)換模塊輸出的信號進(jìn)行采樣,當(dāng)連續(xù)出現(xiàn)7XN及以上個點(diǎn)的高電平后,再檢測到N個點(diǎn)的低電平即認(rèn)為是幀頭(SOF)信號,并發(fā)出工作信號(邏輯1)通知幀比特提取模塊、編碼冗余檢測模塊和字段提取狀態(tài)機(jī)開始工作。解碼模塊中幀比特提取的方法為當(dāng)幀比特提取模塊收到幀起始檢測模塊發(fā)出的工作信號(邏輯1)時,認(rèn)為出現(xiàn)幀頭(SOF)信號,輸出幀頭比特“0”,并開始對相位轉(zhuǎn)換模塊輸出的數(shù)字化CAN總線信號進(jìn)行計數(shù),以N個點(diǎn)為一組提取比特信息,具體方法為如果這N個點(diǎn)中有(N+l)/2及以上個高電平即判為高電平,比特信息為“1”,否則判為低電平,比特信息為“0”,另產(chǎn)生采樣時鐘頻率的N分頻的同步時鐘與幀比特信息一并送給編碼冗余檢測模塊。解碼模塊中編碼冗余檢測模塊工作方式如下以上述的同步時鐘對提取的幀比特進(jìn)行檢測,若檢測到連續(xù)5個相同位后第6位為相反位,則輸出的幀比特丟棄第6位。解碼模塊中字段提取狀態(tài)機(jī)以上述的同步時鐘接收經(jīng)過編碼冗余檢測模塊處理后的幀比特,按以下7個狀態(tài)有序解碼出幀比特中的各個字段以及遠(yuǎn)程傳輸請求位、應(yīng)答位信息
狀態(tài)1 空閑狀態(tài),上電復(fù)位后,狀態(tài)機(jī)即處于該狀態(tài),在該狀態(tài)下,當(dāng)檢測到幀起始檢測模塊發(fā)出的有效工作信號(邏輯1),則進(jìn)入狀態(tài)2,否則狀態(tài)不跳轉(zhuǎn);
狀態(tài)2 幀頭(SOF)字段檢測狀態(tài),檢測輸入的幀比特,若檢測到0,輸出幀頭信息,進(jìn)入狀態(tài)3 ;
狀態(tài)3 仲裁字段檢測狀態(tài),仲裁字段包括標(biāo)識符和遠(yuǎn)程傳輸請求位(RTR),標(biāo)識符分為標(biāo)準(zhǔn)格式(11位)和擴(kuò)展格式(CAN2. OB標(biāo)準(zhǔn)定義了四位擴(kuò)展格式的標(biāo)識符,分11位的基本標(biāo)識符和18位的擴(kuò)展標(biāo)識符,中間插入SRR、IDE兩位,發(fā)送順序?yàn)?1位基本標(biāo)識符、SRR、IDE、18位的擴(kuò)展標(biāo)識符),根據(jù)用戶設(shè)定的標(biāo)識符格式(11位或四位),讀取輸入的幀比特,同時仲裁字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到特定長度(12——標(biāo)準(zhǔn)格式的標(biāo)識符11 位+RTR 1位,32——擴(kuò)展格式的標(biāo)識符31位+RTR 1位)后,輸出標(biāo)識符信息,并給出RTR 值(0代表數(shù)據(jù)幀,1代表遠(yuǎn)程幀),進(jìn)入狀態(tài)4 ;
狀態(tài)4 控制字段檢測狀態(tài),控制字段共6位(后4位為數(shù)據(jù)長度代碼),讀取輸入的幀比特同時控制字段計數(shù)器開始計數(shù),當(dāng)達(dá)到控制字段計數(shù)器的預(yù)定值(6)后,輸出數(shù)據(jù)長度(后4位),若狀態(tài)3中輸出的RTR值為0 (數(shù)據(jù)幀),且控制字段不為0,則數(shù)據(jù)字節(jié)存儲器存入控制字段的后4位,進(jìn)入狀態(tài)5,若狀態(tài)3中輸出RTR值為1 (遠(yuǎn)程幀),或控制字段為0,則進(jìn)入狀態(tài)6;
狀態(tài)5 數(shù)據(jù)字段檢測狀態(tài),幀比特輸入移位寄存器進(jìn)行串/并轉(zhuǎn)換,同時數(shù)據(jù)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)值達(dá)到數(shù)據(jù)字節(jié)存儲器中的字節(jié)數(shù)X8位數(shù)據(jù)后,移位寄存器輸出相應(yīng)的數(shù)據(jù)字節(jié)信息,進(jìn)入狀態(tài)6 ;
狀態(tài)6 校驗(yàn)字段檢測狀態(tài),校驗(yàn)字段包括校驗(yàn)序列CRC和CRC界定符,讀取輸入的幀比特同時校驗(yàn)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值(16——15位的CRC序列和1位的CRC 界定符)后,輸出CRC信息,進(jìn)入狀態(tài)7 ;
狀態(tài)7 應(yīng)答字段(ACK)及幀尾(EOF)檢測狀態(tài),應(yīng)答字段長度為2位,包括應(yīng)答間隙 (應(yīng)答位)和應(yīng)答界定符,如果接收器正確地接收到有效的幀信息,應(yīng)答間隙應(yīng)為0,否則為 1,幀尾緊接著應(yīng)答界定符,由固定的7位組成,讀取輸入的幀比特同時幀尾計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值(9——1位應(yīng)答位,1位應(yīng)答界定符,7位的幀尾)后,依序讀出應(yīng)答位和應(yīng)答界定符(前兩位)以及幀結(jié)束符(后7位,全為1)后,分別輸出應(yīng)答位以及幀結(jié)束標(biāo)志,進(jìn)入狀態(tài)1。用戶設(shè)定的觸發(fā)條件包括
1)幀頭觸發(fā)檢測到幀頭(SOF)字段產(chǎn)生觸發(fā);
2)幀類型觸發(fā)包括數(shù)據(jù)幀、遠(yuǎn)程幀,可設(shè)定,檢測到符合設(shè)定的幀類型產(chǎn)生觸發(fā);
3)標(biāo)識符觸發(fā)將解碼出來的標(biāo)識符與設(shè)定的11位或四位標(biāo)識符值比較產(chǎn)生觸發(fā);
4)控制符觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)長度與設(shè)定值比較產(chǎn)生觸發(fā);
5)數(shù)據(jù)觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)與用戶設(shè)定的觸發(fā)數(shù)據(jù)(1-8字節(jié))比較產(chǎn)生觸
發(fā);
6)校驗(yàn)觸發(fā)將解碼出來的CRC信息與設(shè)定值比較產(chǎn)生觸發(fā);
7)無應(yīng)答觸發(fā)在接收設(shè)備接收錯誤時(應(yīng)答位為1)觸發(fā);
8)幀尾觸發(fā)檢測到幀尾(EOF)字段產(chǎn)生觸發(fā)。比較觸發(fā)模塊內(nèi)含幀信息比較器、仲裁比較器、控制比較器、數(shù)據(jù)比較器、校驗(yàn)比較器和觸發(fā)生成模塊,幀信息比較器接收并比較幀頭、RTR、應(yīng)答位、幀尾信息;仲裁比較器接收并比較標(biāo)識符信息;控制比較器接收并比較數(shù)據(jù)字節(jié)長度信息;數(shù)據(jù)比較器接收并比較數(shù)據(jù)字段信息;校驗(yàn)比較器接收并比較校驗(yàn)字段信息,各比較器獨(dú)立工作互不影響,在比較過程中,來自解碼模塊的信息被保存在比較觸發(fā)模塊的寄存器中,一旦得到新的信息就移入寄存器,并立即進(jìn)行比較。任一比較器比較成功后即通知觸發(fā)生成模塊產(chǎn)生觸發(fā)信號。有益效果在CAN總線中,所有信息(幀頭、標(biāo)識符(地址)、數(shù)據(jù)長度代碼、數(shù)據(jù)、 CRC和幀尾及少量其它控制位)都以串行方式在一條導(dǎo)線上傳送,測量儀器的傳統(tǒng)觸發(fā)方式(如邊沿觸發(fā))不能有效地捕獲總線事件,并且觸發(fā)采集后不能方便解讀總線信息。因此, 有必要配備一種專門的CAN總線信號分析與觸發(fā)的方式。在帶有CAN總線信號分析與觸發(fā)的測量儀器中,用戶除了能夠用傳統(tǒng)觸發(fā)方式觸發(fā)采集CAN總線信號,還可以采用專門為 CAN總線定制的觸發(fā)方式,以總線的幀頭、標(biāo)識符(地址)、數(shù)據(jù)長度代碼、數(shù)據(jù)、CRC和幀尾及少量其它控制位信息作為觸發(fā)條件,使得捕獲感興趣的事件變得簡單;解碼輸出的信息還可以做進(jìn)一步的分析處理或者顯示,方便了用戶解讀總線信息,提高了調(diào)試效率。


圖1是具體實(shí)施傳送的幀格式, 圖2是具體實(shí)施模塊框圖,
圖3是字段提取狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖,圖4是解碼比較觸發(fā)流程圖。
具體實(shí)施例方式下面以CAN總線差分2線接口中的CAN_L為輸入信號結(jié)合附圖來說明本發(fā)明的具體實(shí)施方法。假定用戶設(shè)定的CAN總線波特率為5001ApS,標(biāo)識符采用標(biāo)準(zhǔn)的11位標(biāo)識符,傳送的為數(shù)據(jù)幀(RTR位為0),傳送2個數(shù)據(jù)字節(jié),其幀格式如附圖1所示,抽點(diǎn)頻率為波特率的 5倍,即N為5。根據(jù)用戶設(shè)定的波特率,以及選取的N值,生成的采樣時鐘頻率為500kX5=2. 5M, 待測信號首先經(jīng)過模數(shù)轉(zhuǎn)換器變?yōu)閿?shù)字信號,采樣時鐘生成器生成2. 5MHz的時鐘送給抽點(diǎn)模塊對數(shù)字信號進(jìn)行抽取,抽取后信號分兩路一路給采集控制模塊等待觸發(fā)采集,另一路經(jīng)數(shù)字比較器轉(zhuǎn)為0/1值送給解碼模塊,解碼模塊判斷出幀起始條件后對幀數(shù)據(jù)進(jìn)行解碼,并按照CAN總線協(xié)議,將串行位信息轉(zhuǎn)換成幀頭、仲裁、控制、數(shù)據(jù)、校驗(yàn)等字段信息,再經(jīng)過比較觸發(fā)模塊與用戶設(shè)定的觸發(fā)條件進(jìn)行比較,如滿足觸發(fā)條件則產(chǎn)生觸發(fā)信號通知采集控制模塊對信號進(jìn)行采集存儲,解碼模塊輸出的幀信息與采集控制模塊采集的波形信息一并送給后續(xù)處理模塊做進(jìn)一步分析處理,用戶設(shè)定根據(jù)用戶設(shè)定的數(shù)據(jù)傳遞相應(yīng)的信息至采樣時鐘生成器,數(shù)字比較器,解碼模塊,比較觸發(fā)模塊。解碼模塊主要包括相位轉(zhuǎn)換模塊、幀起始檢測模塊、幀比特提取模塊、編碼冗余檢測模塊、字段提取狀態(tài)機(jī)等模塊,比較觸發(fā)模塊主要包括幀信息比較器、仲裁比較器、控制比較器、數(shù)據(jù)比較器、校驗(yàn)比較器、觸發(fā)生成等模塊;比較觸發(fā)模塊根據(jù)解碼得到的各字段信息與用戶設(shè)定的觸發(fā)條件比較,如果符合條件則產(chǎn)生觸發(fā)信號,送采集控制模塊控制對抽點(diǎn)后信號的采集存儲,并與解碼模塊輸出的字段信息一并送給后續(xù)處理模塊處理。附圖 2為本發(fā)明的模塊框圖,下面具體說明其原理
根據(jù)輸入的幀特征決定數(shù)字比較器選取的參考電壓值,這里輸入的是CANJ^f號,數(shù)字比較器的參考值選為前端2V電壓模數(shù)轉(zhuǎn)換后對應(yīng)的數(shù)字量。根據(jù)輸入的幀特征決定是否使能解碼模塊中的相位轉(zhuǎn)換模塊,這里輸入的是CAN_ L信號,不使能相位轉(zhuǎn)換模塊,不進(jìn)行相位轉(zhuǎn)換。解碼模塊中幀起始檢測模塊利用同步狀態(tài)機(jī)對輸入信號進(jìn)行檢測,由于抽點(diǎn)頻率為幀波特率的5倍,當(dāng)出現(xiàn)連續(xù)7X5=35及以上個點(diǎn)的高電平后,再檢測到5個點(diǎn)的低電平即認(rèn)為是幀頭(SOF)信號,并發(fā)出工作信號(邏輯1)通知幀比特提取模塊、編碼冗余檢測模塊和字段提取狀態(tài)機(jī)開始工作。解碼模塊中幀比特提取模塊在收到幀起始檢測模塊發(fā)出的工作信號(邏輯1)時, 認(rèn)為出現(xiàn)幀頭(SOF)信號,輸出幀頭比特“0”,并開始對相位轉(zhuǎn)換模塊輸出的數(shù)字化CAN總線信號進(jìn)行計數(shù),以5個點(diǎn)為一組提取比特信息,如果這5個點(diǎn)中有不少于3個高電平即判為高電平,否則判為低電平,另外產(chǎn)生采樣時鐘頻率的5分頻即2. 5M/5(500KHz)的同步時鐘與幀信息一并送給編碼冗余檢測模塊。解碼模塊中編碼冗余檢測模塊以幀比特提取模塊提供的同步時鐘(500kHz)對對提取的幀比特進(jìn)行檢測,若檢測到連續(xù)5個相同位后第6位為相反位,則輸出的幀比特丟棄第6位。
解碼模塊中字段提取狀態(tài)機(jī)以幀比特提取模塊給出的同步時鐘接收經(jīng)過編碼冗余檢測模塊處理后的幀比特,按以下7個狀態(tài)(該狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖如附圖幻有序解碼出幀比特中的各個字段以及遠(yuǎn)程傳輸請求位、應(yīng)答位信息
狀態(tài)1 空閑狀態(tài),上電復(fù)位后,狀態(tài)機(jī)即處于該狀態(tài),在該狀態(tài)下,當(dāng)檢測到幀起始檢測模塊發(fā)出的有效工作信號(邏輯1),則進(jìn)入狀態(tài)2,否則狀態(tài)不跳轉(zhuǎn);
狀態(tài)2 幀頭(SOF)字段檢測狀態(tài),檢測輸入的幀比特,若檢測到0,輸出幀頭信息,進(jìn)入狀態(tài)3 ;
狀態(tài)3 仲裁字段檢測狀態(tài),仲裁字段包括標(biāo)識符和遠(yuǎn)程傳輸請求位(RTR),標(biāo)識符分為標(biāo)準(zhǔn)格式(11位)和擴(kuò)展格式(CAN2. OB標(biāo)準(zhǔn)定義了四位擴(kuò)展格式的標(biāo)識符,分11位的基本標(biāo)識符和18位的擴(kuò)展標(biāo)識符,中間插入SRR、IDE兩位,發(fā)送順序?yàn)?1位基本標(biāo)識符、SRR、IDE、18位的擴(kuò)展標(biāo)識符),根據(jù)用戶設(shè)定的標(biāo)識符格式(11位或四位),讀取輸入的幀比特,同時仲裁字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到特定長度(12——標(biāo)準(zhǔn)格式的標(biāo)識符11 位+RTR 1位,32——擴(kuò)展格式的標(biāo)識符31位+RTR 1位)后,輸出標(biāo)識符信息,并給出RTR 值(0代表數(shù)據(jù)幀,1代表遠(yuǎn)程幀),進(jìn)入狀態(tài)4 ;
狀態(tài)4 控制字段檢測狀態(tài),控制字段共6位(后4位為數(shù)據(jù)長度代碼),讀取輸入的幀比特同時控制字段計數(shù)器開始計數(shù),當(dāng)達(dá)到控制字段計數(shù)器的預(yù)定值(6)后,輸出數(shù)據(jù)長度(后4位),若狀態(tài)3中輸出的RTR值為0 (數(shù)據(jù)幀),且控制字段不為0,則數(shù)據(jù)字節(jié)存儲器存入控制字段的后4位,進(jìn)入狀態(tài)5,若狀態(tài)3中輸出RTR值為1 (遠(yuǎn)程幀),或控制字段為0,則進(jìn)入狀態(tài)6;
狀態(tài)5 數(shù)據(jù)字段檢測狀態(tài),幀比特輸入移位寄存器進(jìn)行串/并轉(zhuǎn)換,同時數(shù)據(jù)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)值達(dá)到數(shù)據(jù)字節(jié)存儲器中的字節(jié)數(shù)X8位數(shù)據(jù)后,移位寄存器輸出相應(yīng)的數(shù)據(jù)字節(jié)信息,進(jìn)入狀態(tài)6 ;
狀態(tài)6 校驗(yàn)字段檢測狀態(tài),校驗(yàn)字段包括校驗(yàn)序列CRC和CRC界定符,讀取輸入的幀比特同時校驗(yàn)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值(16——15位的CRC序列和1位的CRC 界定符)后,輸出CRC信息,進(jìn)入狀態(tài)7 ;
狀態(tài)7 應(yīng)答字段(ACK)及幀尾(EOF)檢測狀態(tài),應(yīng)答字段長度為2位,包括應(yīng)答間隙 (應(yīng)答位)和應(yīng)答界定符,如果接收器正確地接收到有效的幀信息,應(yīng)答間隙應(yīng)為0,否則為 1,幀尾緊接著應(yīng)答界定符,由固定的7位組成,讀取輸入的幀比特同時幀尾計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值(9——1位應(yīng)答位,1位應(yīng)答界定符,7位的幀尾)后,依序讀出應(yīng)答位和應(yīng)答界定符(前兩位)以及幀結(jié)束符(后7位,全為1)后,分別輸出應(yīng)答位以及幀結(jié)束標(biāo)志,進(jìn)入狀態(tài)1。上述狀態(tài)機(jī)解碼出的信息即送給比較觸發(fā)模塊存儲,比較觸發(fā)模塊接收到新的數(shù)據(jù)后即開始比較解碼出的信息與用戶設(shè)定的觸發(fā)條件。用戶設(shè)定的觸發(fā)條件包括
1)幀頭觸發(fā)檢測到幀頭(SOF)字段產(chǎn)生觸發(fā);
2)幀類型觸發(fā)包括數(shù)據(jù)幀、遠(yuǎn)程幀,可設(shè)定,檢測到符合設(shè)定的幀類型產(chǎn)生觸發(fā);
3)標(biāo)識符觸發(fā)將解碼出來的標(biāo)識符與設(shè)定的11位或四位標(biāo)識符值比較產(chǎn)生觸發(fā);
4)控制符觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)長度與設(shè)定值比較產(chǎn)生觸發(fā);
5)數(shù)據(jù)觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)與用戶設(shè)定的觸發(fā)數(shù)據(jù)(1-8字節(jié))比較產(chǎn)生觸發(fā);
6)校驗(yàn)觸發(fā)將解碼出來的CRC信息與設(shè)定值比較產(chǎn)生觸發(fā);
7)無應(yīng)答觸發(fā)在接收設(shè)備接收錯誤時(應(yīng)答位為1)觸發(fā);
8)幀尾觸發(fā)檢測到幀尾(EOF)字段產(chǎn)生觸發(fā)。比較觸發(fā)模塊內(nèi)含幀信息比較器、仲裁比較器、控制比較器、數(shù)據(jù)比較器、校驗(yàn)比較器和觸發(fā)生成模塊,幀信息比較器接收并比較幀頭、RTR、應(yīng)答位、幀尾信息;仲裁比較器接收并比較標(biāo)識符信息;控制比較器接收并比較數(shù)據(jù)字節(jié)長度信息;數(shù)據(jù)比較器接收并比較數(shù)據(jù)字段信息;校驗(yàn)比較器接收并比較校驗(yàn)字段信息,各比較器獨(dú)立工作互不影響,在比較過程中,來自解碼模塊的信息被保存在比較觸發(fā)模塊的寄存器中,一旦得到新的信息就移入寄存器,并立即進(jìn)行比較。任一比較器比較成功后即通知觸發(fā)生成模塊產(chǎn)生觸發(fā)信號。 完整的解碼比較觸發(fā)流程圖如附圖4所示。采集控制模塊接收到觸發(fā)信號后對信號進(jìn)行適當(dāng)?shù)拇鎯?,同時解碼模塊輸出的幀信息與采集控制模塊采集的波形信息可以一并送給后續(xù)處理模塊做進(jìn)一步分析處理或者顯不。用戶設(shè)定模塊與其它微處理器進(jìn)行數(shù)據(jù)交互,接收并存儲用戶設(shè)定的數(shù)據(jù),將用戶設(shè)定的波特率送給采樣時鐘生成器,將CAN總線信號類型等幀信息送給解碼模塊和數(shù)字比較器,將用戶設(shè)定的觸發(fā)條件送給比較觸發(fā)模塊,通過使能與復(fù)位信號對上述解碼和比較觸發(fā)等一系列模塊進(jìn)行有序的控制,使整體模塊與外圍模塊工作步調(diào)一致。 以上具體實(shí)施方式
僅用于說明本發(fā)明,而非用于限定本發(fā)明。
權(quán)利要求
1. 一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于該方法包括以下步驟1.)根據(jù)用戶設(shè)定的CAN總線波特率,采樣時鐘生成器生成采樣時鐘;2.)根據(jù)用戶設(shè)定的CAN總線幀特征,數(shù)字比較器選取參考值;3.)根據(jù)用戶設(shè)定的CAN總線幀特征,對輸入的數(shù)字化CAN總線信號進(jìn)行相位轉(zhuǎn)換;4.)抽點(diǎn)模塊根據(jù)步驟1)生成的采樣時鐘對模數(shù)轉(zhuǎn)換后的CAN總線信號進(jìn)行抽點(diǎn),經(jīng)過數(shù)字比較器后轉(zhuǎn)為0/1信號送給解碼模塊,解碼模塊首先根據(jù)步驟幻進(jìn)行相位轉(zhuǎn)換,檢測出幀起始條件后啟動幀比特提取模塊、編碼冗余檢測模塊、字段提取狀態(tài)機(jī)對幀數(shù)據(jù)進(jìn)行解碼,并按照CAN總線協(xié)議,將串行位信息轉(zhuǎn)換成幀頭、仲裁、控制、數(shù)據(jù)、校驗(yàn)和幀尾字段信息以及遠(yuǎn)程傳輸請求、應(yīng)答位信息;5.)比較觸發(fā)模塊根據(jù)步驟4)生成的各字段信息與用戶設(shè)定的觸發(fā)條件比較,如果符合條件則產(chǎn)生觸發(fā)信號,送采集控制模塊控制對抽點(diǎn)后的信號進(jìn)行存儲,并與解碼模塊輸出的字段信息一并送給后續(xù)處理模塊處理。
2.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于采樣時鐘生成器生成采樣時鐘,其頻率為用戶設(shè)定CAN總線波特率的N倍,N為5,7,9,11……。
3.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于數(shù)字比較器選取參考值的規(guī)則為如用戶設(shè)定的CAN總線幀特征是CAN_L信號——0為顯性電平, 1為隱性電平,則數(shù)字比較器選取參考值為前端2V電壓模數(shù)轉(zhuǎn)換后對應(yīng)的數(shù)字量,如用戶設(shè)定的CAN總線幀特征是CAN_H信號——1為顯性電平,0為隱性電平,則數(shù)字比較器選取參考值為前端3V電壓模數(shù)轉(zhuǎn)換后對應(yīng)的數(shù)字量。
4.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于對輸入數(shù)字化CAN總線信號進(jìn)行相位轉(zhuǎn)換的規(guī)則為如用戶設(shè)定的CAN總線幀特征是CAN_L信號則不進(jìn)行相位轉(zhuǎn)換,如用戶設(shè)定的CAN總線幀特征是CAN_H信號則進(jìn)行相位轉(zhuǎn)換,即對輸入的數(shù)字化CAN信號反相。
5.按照權(quán)利要求1、2或4所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于檢測幀起始條件的方法如下以采樣時鐘生成器生成的采樣時鐘對相位轉(zhuǎn)換后的信號進(jìn)行采樣,當(dāng)連續(xù)出現(xiàn)7XN及以上個點(diǎn)的高電平后,再檢測到N個點(diǎn)的低電平即認(rèn)為是幀頭信號,并發(fā)出工作信號邏輯“1”通知幀比特提取模塊、編碼冗余檢測模塊和字段提取狀態(tài)機(jī)開始工作。
6.按照權(quán)利要求5所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于幀比特提取模塊工作方式如下當(dāng)幀比特提取模塊收到檢測出幀起始條件發(fā)出的工作信號邏輯 “1”時,認(rèn)為出現(xiàn)幀頭信號,輸出幀頭比特“0”,并開始對相位轉(zhuǎn)換模塊輸出的數(shù)字化CAN總線信號進(jìn)行計數(shù),以N個點(diǎn)為一組提取比特信息,具體方法為如果這N個點(diǎn)中有(N+l)/2 及以上個高電平即判為高電平,比特信息為“1”,否則判為低電平,比特信息為“0”,另產(chǎn)生采樣時鐘頻率的N分頻的同步時鐘與幀比特信息一并送給編碼冗余檢測模塊。
7.按照權(quán)利要求1或6所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于編碼冗余檢測模塊工作方式如下以所述的同步時鐘對提取的幀比特進(jìn)行檢測,若檢測到連續(xù)5個相同位后第6位為相反位,則輸出的幀比特丟棄第6位。
8.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于字段提取狀態(tài)機(jī)工作方式如下以所述的同步時鐘接收經(jīng)過編碼冗余檢測模塊處理后的幀比特,按以下7個狀態(tài)有序解碼出幀比特中的各個字段以及遠(yuǎn)程傳輸請求、應(yīng)答位信息狀態(tài)1 空閑狀態(tài),上電復(fù)位后,狀態(tài)機(jī)即處于該狀態(tài),在該狀態(tài)下,當(dāng)檢測到幀起始檢測模塊發(fā)出的有效工作信號邏輯“1”,則進(jìn)入狀態(tài)2,否則狀態(tài)不跳轉(zhuǎn);狀態(tài)2 幀頭字段檢測狀態(tài),檢測輸入的幀比特,若檢測到0,輸出幀頭信息,進(jìn)入狀態(tài)3;狀態(tài)3 仲裁字段檢測狀態(tài),仲裁字段包括標(biāo)識符和遠(yuǎn)程傳輸請求位-RTR位,標(biāo)識符分為標(biāo)準(zhǔn)格式和擴(kuò)展格式,根據(jù)用戶設(shè)定的標(biāo)識符格式——11位或四位,讀取輸入的幀比特,同時仲裁字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到特定長度12——標(biāo)準(zhǔn)格式的標(biāo)識符11位+RTR 1位,或者32——擴(kuò)展格式的標(biāo)識符31位+RTR 1位后,輸出標(biāo)識符信息,并給出RTR值,0 代表數(shù)據(jù)幀,1代表遠(yuǎn)程幀,進(jìn)入狀態(tài)4 ;狀態(tài)4 控制字段檢測狀態(tài),控制字段共6位,后4位為數(shù)據(jù)長度代碼,讀取輸入的幀比特同時控制字段計數(shù)器開始計數(shù),當(dāng)達(dá)到控制字段計數(shù)器的預(yù)定值6后,輸出數(shù)據(jù)長度后4 位,若狀態(tài)3中輸出的RTR值為0,即數(shù)據(jù)幀,且控制字段不為0,則數(shù)據(jù)字節(jié)存儲器存入控制字段的后4位,進(jìn)入狀態(tài)5,若狀態(tài)3中輸出RTR值為1,即遠(yuǎn)程幀,或控制字段為0,則進(jìn)入狀態(tài)6 ;狀態(tài)5 數(shù)據(jù)字段檢測狀態(tài),幀比特輸入移位寄存器進(jìn)行串/并轉(zhuǎn)換,同時數(shù)據(jù)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)值達(dá)到數(shù)據(jù)字節(jié)存儲器中的字節(jié)數(shù)X8位數(shù)據(jù)后,移位寄存器輸出相應(yīng)的數(shù)據(jù)字節(jié)信息,進(jìn)入狀態(tài)6 ;狀態(tài)6 校驗(yàn)字段檢測狀態(tài),校驗(yàn)字段包括校驗(yàn)序列CRC和CRC界定符,讀取輸入的幀比特同時校驗(yàn)字段計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值16-15位的CRC序列和1位的CRC界定符后,輸出CRC信息,進(jìn)入狀態(tài)7 ;狀態(tài)7 應(yīng)答字段及幀尾檢測狀態(tài),應(yīng)答字段長度為2位,包括應(yīng)答間隙,即應(yīng)答位和應(yīng)答界定符,如果接收器正確地接收到有效的幀信息,應(yīng)答間隙應(yīng)為0,否則為1,幀尾緊接著應(yīng)答界定符,由固定的7位組成,讀取輸入的幀比特同時幀尾計數(shù)器開始計數(shù),當(dāng)計數(shù)到預(yù)定值9-1位應(yīng)答位,1位應(yīng)答界定符,7位的幀尾后,依序讀出應(yīng)答位和應(yīng)答界定符——前兩位以及幀結(jié)束符——后7位,全為1后,分別輸出應(yīng)答位以及幀結(jié)束標(biāo)志,進(jìn)入狀態(tài)1。
9.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于用戶設(shè)定的觸發(fā)條件包括1)幀頭觸發(fā)檢測到幀頭字段產(chǎn)生觸發(fā);2)幀類型觸發(fā)包括數(shù)據(jù)幀、遠(yuǎn)程幀,可設(shè)定,檢測到符合設(shè)定的幀類型產(chǎn)生觸發(fā);3)標(biāo)識符觸發(fā)將解碼出來的標(biāo)識符與設(shè)定的11位或四位標(biāo)識符值比較產(chǎn)生觸發(fā);4)控制符觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)長度與設(shè)定值比較產(chǎn)生觸發(fā);5)數(shù)據(jù)觸發(fā)將解碼出來的數(shù)據(jù)字節(jié)與用戶設(shè)定的1-8字節(jié)觸發(fā)數(shù)據(jù)比較產(chǎn)生觸發(fā);6)校驗(yàn)觸發(fā)將解碼出來的校驗(yàn)信息與設(shè)定值比較產(chǎn)生觸發(fā);7)無應(yīng)答觸發(fā)在接收設(shè)備接收錯誤時,即應(yīng)答位為1時觸發(fā);8)幀尾觸發(fā)檢測到幀尾字段產(chǎn)生觸發(fā)。
10.按照權(quán)利要求1所述的一種控制器局域網(wǎng)總線分析與觸發(fā)方法,其特征在于比較觸發(fā)模塊由如下模塊構(gòu)成幀信息比較器、仲裁比較器、控制比較器、數(shù)據(jù)比較器、校驗(yàn)比較器和觸發(fā)生成模塊,幀信息比較器接收并比較幀頭、RTR、應(yīng)答位、幀尾信息;仲裁比較器接收并比較標(biāo)識符信息;控制比較器接收并比較數(shù)據(jù)字節(jié)長度信息;數(shù)據(jù)比較器接收并比較數(shù)據(jù)字段信息;校驗(yàn)比較器接收并比較校驗(yàn)字段信息,各比較器獨(dú)立工作互不影響,在比較過程中,來自解碼模塊的信息被保存在比較觸發(fā)模塊的寄存器中,一旦得到新的信息就移入寄存器,并立即進(jìn)行比較。任一比較器比較成功后即通知觸發(fā)生成模塊產(chǎn)生觸發(fā)信號。
全文摘要
一種控制器局域網(wǎng)總線分析與觸發(fā)方法,可以為測量儀器提供CAN總線的觸發(fā)與解碼功能。待測的CAN總線信號首先經(jīng)過模數(shù)轉(zhuǎn)換器變?yōu)閿?shù)字信號,采樣時鐘生成器根據(jù)用戶設(shè)定的波特率生成相應(yīng)頻率的采樣時鐘送給抽點(diǎn)模塊對數(shù)字信號進(jìn)行抽取,再經(jīng)數(shù)字比較器轉(zhuǎn)為0/1值后送解碼模塊提取出幀信息,送給比較觸發(fā)模塊與用戶設(shè)定的觸發(fā)條件比較,如滿足觸發(fā)條件則產(chǎn)生觸發(fā)信號給采集控制模塊控制抽點(diǎn)后信號的采集存儲。解碼模塊輸出的幀信息可與采集存儲的波形信息一起送后續(xù)處理模塊做進(jìn)一步分析處理。本發(fā)明的方法方便了測量儀器捕獲感興趣的CAN總線事件,方便了用戶解讀CAN總線信息,提高了CAN總線的調(diào)試效率。
文檔編號H04L12/26GK102355382SQ20111029980
公開日2012年2月15日 申請日期2011年9月28日 優(yōu)先權(quán)日2011年9月28日
發(fā)明者葉少朋, 羅偉, 高禮忠 申請人:東南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1