專利名稱:基于can網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng)及基于該系統(tǒng)的數(shù)據(jù)通訊方法
技術領域:
本發(fā)明涉及測控網(wǎng)絡總線通訊領域。
背景技術:
CAN是ControllerAreaNetwork的縮寫,是ISO國際標準化的串行通信協(xié)議。1986年德國電氣商博世公司為解決現(xiàn)代汽車中眾多的電子控制單元(ECU)之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議。CAN總線通信接口中集成了 CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗、優(yōu)先級判別等項工作。CAN最大的特點是廢除了傳統(tǒng)的站地址編碼,取而代之對通信數(shù)據(jù)塊進行編碼。采用這種方法的優(yōu)點可使網(wǎng)絡內(nèi)的節(jié)點個數(shù)在理論上不受限制。它采用雙線多主/從模塊方式,所以一個模塊出故障對系統(tǒng)不會有什么影響,就是一般稱的被緩機制。目前CAN的高性能和可靠性已被認同,并被廣泛的應用于分布式測控系統(tǒng)之間的通訊領域。以CAN總線技術組建的分布式測控網(wǎng)絡,用于連接現(xiàn)場的智能傳感器、執(zhí)行器、智能I/o模塊、智能儀表、測試儀器等,就形成了基于CAN的測控網(wǎng)絡。目前,CAN總線使用的技術規(guī)范主要是CAN2. OA和CAN2. OB, CAN2. OA報文標示符可以達到2032種,而擴展標準CAN2. OB的報文標示符幾乎不受限制。為了保證數(shù)據(jù)通訊的可靠性要求,CAN2. O技術規(guī)范中規(guī)定CAN總線數(shù)據(jù)采用短幀結構,一般數(shù)據(jù)長度不超過8個字節(jié),組成一個單幀,這樣的好處是傳輸時間短,受干擾概率低,具有良好的檢錯效果。但是由于測控網(wǎng)絡之間ECU與ECU之間或者測控設備與ECU之間的信息交換通常超過8個字節(jié),因此,必須進行有效的多幀數(shù)據(jù)通訊的方法。
發(fā)明內(nèi)容
本發(fā)明是為了在基于CAN網(wǎng)絡的通訊系統(tǒng)中,實現(xiàn)不增加系統(tǒng)額外資源的情況下提高字節(jié)數(shù)據(jù)傳輸能力,從而提供一種基于CAN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng)及基于該系統(tǒng)的數(shù)據(jù)通訊方法?;贑AN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng),它包括發(fā)送端I、發(fā)送數(shù)據(jù)請求模塊、數(shù)據(jù)拆分模塊31、接收端2、接收數(shù)據(jù)請求模塊、數(shù)據(jù)重組模塊32、時間管理模塊4、一號錯誤處理模塊51和二號錯誤處理模塊52 ;發(fā)送端I是發(fā)送數(shù)據(jù)請求模塊的E⑶數(shù)據(jù)請求的主動提供者;發(fā)送數(shù)據(jù)請求模塊用于將ECU數(shù)據(jù)請求發(fā)送至數(shù)據(jù)拆分模塊31 ;接收端2是接收數(shù)據(jù)請求模塊的ECU數(shù)據(jù)請求的被動接收者;接收數(shù)據(jù)請求模塊用于接收來自數(shù)據(jù)重組模塊32的數(shù)據(jù);數(shù)據(jù)拆分模塊31用于對數(shù)據(jù)進行拆分;還用于將拆分后的數(shù)據(jù)發(fā)送到CAN網(wǎng)絡;數(shù)據(jù)重組模塊32用于從CAN網(wǎng)絡中接收數(shù)據(jù),還用于對數(shù)據(jù)進行重組;時間管理模塊4用于對數(shù)據(jù)拆分模塊31和數(shù)據(jù)重組模塊32進行時間管理;還用于當數(shù)據(jù)拆分模塊31出現(xiàn)錯誤時序時,將錯誤信息提供給一號錯誤處理模塊51 ;還用于將數(shù)據(jù)重組模塊32出現(xiàn)錯誤時序時,將錯誤信息提供給二號錯誤處理模塊52 ;一號錯誤處理模塊51用于回復信息給發(fā)送端I ;二號錯誤處理模塊52用于回復信息給接收端2。基于上述系統(tǒng)的數(shù)據(jù)通訊方法,它由以下步驟實現(xiàn)步驟一、首先為連接在總線上的數(shù)據(jù)通訊系統(tǒng)E⑶分配發(fā)送與接收的唯一身份標識ID,并將其建立成一個地址映射字典;步驟二、當發(fā)送端要請求數(shù)據(jù)發(fā)送的時,則根據(jù)發(fā)送端的身份標識ID,并查找地址映射字典,開通一個通訊通道,動態(tài)創(chuàng)建一個用戶協(xié)議數(shù)據(jù)單元rou,并為PDU分配所需要·的資源信息,進入發(fā)送數(shù)據(jù)處理步驟;當接收端根據(jù)接收身份標識,判斷出要接收數(shù)據(jù)時,則查找地址映射字典,開通一個通訊通道,動態(tài)創(chuàng)建一個用戶協(xié)議數(shù)據(jù)單元rou,為PDU分配所需要的資源信息,進入接收數(shù)據(jù)處理步驟;發(fā)送數(shù)據(jù)處理步驟 步驟Al、首先判斷發(fā)送端請求的數(shù)據(jù)量,需要采取不同的解決方式進行數(shù)據(jù)傳送;并判斷請求的數(shù)據(jù)量是否小于8個字節(jié),如果判斷結果為是,則執(zhí)行步驟A2,如果判斷結果為否,則執(zhí)行步驟A3;步驟A2、通過發(fā)送管理模塊,采用一個CAN幀將完整的請求數(shù)據(jù)傳送出去,并執(zhí)行步驟A5 ;步驟A3、通過發(fā)送管理模塊,進入發(fā)送多幀數(shù)據(jù)處理狀態(tài),并執(zhí)行步驟A31 ;步驟A31、進行請求數(shù)據(jù)的拆分,并對拆分的多幀數(shù)據(jù)進行順序編號,保證接收實體能夠根據(jù)編號的順序來判斷接收到的數(shù)據(jù)幀是否正確,以及能夠重組多段數(shù)據(jù)幀,得到完整的原始請求數(shù)據(jù),并首先發(fā)送第一幀數(shù)據(jù)即首幀數(shù)據(jù);發(fā)送完成后,等待接收端應答信息,即流控幀,并設定超時等待參數(shù),執(zhí)行步驟A32 ;步驟A32、判斷在超時等待的時間內(nèi),是否收到流控數(shù)據(jù)幀,如果判斷結果為否,則執(zhí)行步驟A4 ;如果判斷結果為是,則執(zhí)行步驟A33 ;步驟A33、收到流控數(shù)據(jù)幀后,根據(jù)編號順序,判斷是否為最后一幀數(shù)據(jù),如果判斷結果為否,則繼續(xù)發(fā)送一幀數(shù)據(jù),即連續(xù)幀,重新延時等待接收流控幀,并執(zhí)行返回執(zhí)行步驟步驟A32 ;如果判斷結果為是,則執(zhí)行步驟A5 ;步驟A4、終止數(shù)據(jù)發(fā)送,并執(zhí)行步驟A5 ;步驟A5、向發(fā)送端回復發(fā)送狀態(tài)信息,結束數(shù)據(jù)發(fā)送,并進執(zhí)行步驟A6 ;步驟A6、刪除H)U,釋放PDU占用的內(nèi)存空間,釋放占用的通訊通路;完成發(fā)送數(shù)據(jù)處理;接收數(shù)據(jù)處理步驟步驟BI、接收端收到CAN網(wǎng)絡提供的數(shù)據(jù)幀,判斷該數(shù)據(jù)幀是否為單幀,如果判斷結果為是,則執(zhí)行步驟B2 ;如果判斷結果為否,則執(zhí)行步驟B3 ;步驟B2、接收到單幀,進入步驟B5 ;步驟B3、接收到首幀,設定延時發(fā)送時間參數(shù),等待發(fā)送流控數(shù)據(jù)幀;發(fā)送流控幀后,設置等待接收連續(xù)幀超時時間參數(shù);并判斷數(shù)據(jù)是否接收完畢,如果判斷結果為否,則執(zhí)行步驟B31 ;如果判斷結果為是,則執(zhí)行步驟B33 ;步驟B31、判斷是否在規(guī)定時間內(nèi)接收到連續(xù)幀,如果判斷結果為是,則執(zhí)行步驟B32 ;如果判斷結果為否,則執(zhí)行步驟B4 ;步驟B32、繼續(xù)進行后續(xù)的數(shù)據(jù)接收工作,并判斷是否完成接收,如果判斷結果為是,則執(zhí)行步驟B5 ;如果判斷結果為否,則執(zhí)行步驟B31 ;步驟B33、根據(jù)預設的數(shù)據(jù)格式,進行數(shù)據(jù)重組,并執(zhí)行步驟B5 ;步驟B4、進入超時處理,終止數(shù)據(jù)接收,并執(zhí)行步驟B5 ;步驟B5、給發(fā)送端回復接收狀態(tài)信息,將數(shù)據(jù)上報接收端,退出接收功能,進入步 驟B6 ;步驟B6、刪除rou,釋放rou占用的內(nèi)存空間,釋放占用的通訊通路;完成接收數(shù)據(jù)處理。步驟一中建立的地址映射字典是一個一維數(shù)據(jù)表格,該一維數(shù)據(jù)表格中的數(shù)據(jù)項包括ECU的地址信息,即包括發(fā)送端的地址映射字典和接收端的地址映射字典。步驟二中所述的開通一個通訊通道的具體含義是初始化CAN通訊功能,完成開啟通路和通路波特率的設定。步驟二中動態(tài)創(chuàng)建的用戶協(xié)議數(shù)據(jù)單元rou中的數(shù)據(jù)項包括地址信息、身份標識、狀態(tài)信息、數(shù)據(jù)緩存、數(shù)據(jù)長度和當前收發(fā)數(shù)據(jù)的長度。在該數(shù)據(jù)通訊方法中,時間管理是通過定時中斷來實現(xiàn)延時與超時控制。在該數(shù)據(jù)通訊方法中,時間管理是采用計時鏈表來實現(xiàn)。在該數(shù)據(jù)通訊方法中,采用錯誤處理機制處理處理超時情況或沒有及時接收到連續(xù)幀的問題,具體為接收端接收到數(shù)據(jù)幀時當收到單幀的長度為O時或者單幀的長度大于7時,接收端會忽略接收到的數(shù)據(jù)幀;當收到無效首幀或者單幀時,向發(fā)送端發(fā)出無效回復信息,數(shù)據(jù)發(fā)送將被終止;當收到正確的首幀時,向發(fā)送端回復流控幀,并且定時連續(xù)幀超時參數(shù);當發(fā)生超時情況時,向接收端發(fā)出超時信息,采取超時處理;當接收端沒有及時接收到連續(xù)幀時,終止數(shù)據(jù)接收,向接收端回復信息;當發(fā)送端沒有及時收到流控幀時,終止數(shù)據(jù)傳送,向發(fā)送端回復錯誤信息。在該數(shù)據(jù)通訊方法中,采用錯誤處理機制處理超時情況或沒有及時接收到連續(xù)幀的問題,發(fā)送端發(fā)送數(shù)據(jù)幀時當發(fā)送數(shù)據(jù)無效或者數(shù)據(jù)長度錯誤時,丟掉數(shù)據(jù);當發(fā)送數(shù)據(jù)有效并且數(shù)據(jù)長度可以形成多幀數(shù)據(jù)時,首先發(fā)送首幀數(shù)據(jù),并且定時流控陣超時參數(shù);當發(fā)生超時情況時,向發(fā)送端回復超時信息,采取超時處理;當發(fā)送端沒有及時收到流控幀時,終止數(shù)據(jù)傳送,向發(fā)送端回復錯誤信息;當發(fā)送端正確接收到流控陣時,繼續(xù)數(shù)據(jù)傳送,向接收端傳送連續(xù)中貞。本發(fā)明基于CAN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng)及基于該系統(tǒng)的數(shù)據(jù)通訊方法,實現(xiàn)了在不增加系統(tǒng)額外資源的情況下提高字節(jié)數(shù)據(jù)傳輸能力。解決了 CAN2. O規(guī)范中只能傳遞小于8個字節(jié)數(shù)據(jù)的缺點,同時滿足對系統(tǒng)資源的苛刻要求情況下,實現(xiàn)了大于8個字節(jié)數(shù)據(jù)的準確傳輸。本發(fā)明尤其對于測控網(wǎng)絡通訊要求比較苛刻的情況下,減小系統(tǒng)中的運行資源,很好的滿足性能要求,是系統(tǒng)高效的工作。
圖I為CAN網(wǎng)絡通訊方法的結 構示意圖;圖2為CAN網(wǎng)絡通訊方法發(fā)送端請求數(shù)據(jù)發(fā)送的方法流程圖;圖3為CAN網(wǎng)絡通訊方法接收端請求數(shù)據(jù)接收的方法流程圖;圖中“Y”表示“是”,“N”表示“否”;圖4為CAN網(wǎng)絡通訊方法中用戶協(xié)議數(shù)據(jù)單元創(chuàng)建示意圖;圖5為CAN網(wǎng)絡通訊方法時間管理機制方法流程圖;圖6為CAN網(wǎng)絡通訊方法中時間管理機制方法示意圖;圖7為CAN網(wǎng)絡通訊方法中單幀數(shù)據(jù)的收發(fā)方法示意圖;圖8為CAN網(wǎng)絡通訊方法中多幀數(shù)據(jù)的收發(fā)方法示意圖。
具體實施例方式具體實施方式
一、結合圖I說明本具體實施方式
,基于CAN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng),它包括發(fā)送端I、發(fā)送數(shù)據(jù)請求模塊、數(shù)據(jù)拆分模塊31、接收端2、接收數(shù)據(jù)請求模塊、數(shù)據(jù)重組模塊32、時間管理模塊4、一號錯誤處理模塊51和二號錯誤處理模塊52 ;發(fā)送端I是發(fā)送數(shù)據(jù)請求模塊的E⑶數(shù)據(jù)請求的主動提供者;發(fā)送數(shù)據(jù)請求模塊用于將ECU數(shù)據(jù)請求發(fā)送至數(shù)據(jù)拆分模塊31 ;接收端2是接收數(shù)據(jù)請求模塊的ECU數(shù)據(jù)請求的被動接收者;接收數(shù)據(jù)請求模塊用于接收來自數(shù)據(jù)重組模塊32的數(shù)據(jù);數(shù)據(jù)拆分模塊31用于對數(shù)據(jù)進行拆分;還用于將拆分后的數(shù)據(jù)發(fā)送到CAN網(wǎng)絡;數(shù)據(jù)重組模塊32用于從CAN網(wǎng)絡中接收數(shù)據(jù),還用于對數(shù)據(jù)進行重組;時間管理模塊4用于對數(shù)據(jù)拆分模塊31和數(shù)據(jù)重組模塊32進行時間管理;還用于當數(shù)據(jù)拆分模塊31出現(xiàn)錯誤時序時,將錯誤信息提供給一號錯誤處理模塊51 ;還用于將數(shù)據(jù)重組模塊32出現(xiàn)錯誤時序時,將錯誤信息提供給二號錯誤處理模塊52 ;一號錯誤處理模塊51用于回復信息給發(fā)送端I ;二號錯誤處理模塊52用于回復信息給接收端2。CAN網(wǎng)絡地址映射字典如表I所示表I
權利要求
1.基于CAN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng),其特征是它包括發(fā)送端(I)、發(fā)送數(shù)據(jù)請求模塊、數(shù)據(jù)拆分模塊(31)、接收端(2)、接收數(shù)據(jù)請求模塊、數(shù)據(jù)重組模塊(32)、時間管理模塊(4)、 一號錯誤處理模塊(51)和二號錯誤處理模塊(52);發(fā)送端(I)是發(fā)送數(shù)據(jù)請求模塊的E⑶數(shù)據(jù)請求的主動提供者;發(fā)送數(shù)據(jù)請求模塊用于將E⑶數(shù)據(jù)請求發(fā)送至數(shù)據(jù)拆分模塊(31);接收端(2)是接收數(shù)據(jù)請求模塊的ECU數(shù)據(jù)請求的被動接收者;接收數(shù)據(jù)請求模塊用于接收來自數(shù)據(jù)重組模塊(32)的數(shù)據(jù);數(shù)據(jù)拆分模塊(31)用于對數(shù)據(jù)進行拆分;還用于將拆分后的數(shù)據(jù)發(fā)送到CAN網(wǎng)絡; 數(shù)據(jù)重組模塊(32)用于從CAN網(wǎng)絡中接收數(shù)據(jù),還用于對數(shù)據(jù)進行重組;時間管理模塊(4)用于對數(shù)據(jù)拆分模塊(31)和數(shù)據(jù)重組模塊(32)進行時間管理;還用于當數(shù)據(jù)拆分模塊(31)出現(xiàn)錯誤時序時,將錯誤信息提供給一號錯誤處理模塊(51);還用于將數(shù)據(jù)重組模塊(32)出現(xiàn)錯誤時序時,將錯誤信息提供給二號錯誤處理模塊(52); 一號錯誤處理模塊(51)用于回復信息給發(fā)送端(I);二號錯誤處理模塊(52)用于回復信息給接收端(2)。
2.基于權利要求I的數(shù)據(jù)通訊方法,其特征在于,它由以下步驟實現(xiàn)步驟一、首先為連接在總線上的數(shù)據(jù)通訊系統(tǒng)ECU分配發(fā)送與接收的唯一身份標識 ID,并將其建立成一個地址映射字典;步驟二、當發(fā)送端要請求數(shù)據(jù)發(fā)送的時,則根據(jù)發(fā)送端的身份標識ID,并查找地址映射字典,開通一個通訊通道,動態(tài)創(chuàng)建一個用戶協(xié)議數(shù)據(jù)單元H)U,并為PDU分配所需要的資源信息,進入發(fā)送數(shù)據(jù)處理步驟;當接收端根據(jù)接收身份標識,判斷出要接收數(shù)據(jù)時,則查找地址映射字典,開通一個通訊通道,動態(tài)創(chuàng)建一個用戶協(xié)議數(shù)據(jù)單元rou,為PDU分配所需要的資源信息,進入接收數(shù)據(jù)處理步驟;發(fā)送數(shù)據(jù)處理步驟步驟Al、首先判斷發(fā)送端請求的數(shù)據(jù)量,需要采取不同的解決方式進行數(shù)據(jù)傳送;并判斷請求的數(shù)據(jù)量是否小于8個字節(jié),如果判斷結果為是,則執(zhí)行步驟A2,如果判斷結果為否,則執(zhí)行步驟A3;步驟A2、通過發(fā)送管理模塊,采用一個CAN幀將完整的請求數(shù)據(jù)傳送出去,并執(zhí)行步驟A5 ;步驟A3、通過發(fā)送管理模塊,進入發(fā)送多幀數(shù)據(jù)處理狀態(tài),并執(zhí)行步驟A31 ;步驟A31、進行請求數(shù)據(jù)的拆分,并對拆分的多幀數(shù)據(jù)進行順序編號,保證接收實體能夠根據(jù)編號的順序來判斷接收到的數(shù)據(jù)幀是否正確,以及能夠重組多段數(shù)據(jù)幀,得到完整的原始請求數(shù)據(jù),并首先發(fā)送第一幀數(shù)據(jù)即首幀數(shù)據(jù);發(fā)送完成后,等待接收端應答信息,即流控幀,并設定超時等待參數(shù),執(zhí)行步驟A32 ;步驟A32、判斷在超時等待的時間內(nèi),是否收到流控數(shù)據(jù)幀,如果判斷結果為否,則執(zhí)行步驟A4 ;如果判斷結果為是,則執(zhí)行步驟A33 ;步驟A33、收到流控數(shù)據(jù)幀后,根據(jù)編號順序,判斷是否為最后一幀數(shù)據(jù),如果判斷結果為否,則繼續(xù)發(fā)送一幀數(shù)據(jù),即連續(xù)幀,重新延時等待接收流控幀,并執(zhí)行返回執(zhí)行步驟步驟A32 ;如果判斷結果為是,則執(zhí)行步驟A5 ;步驟A4、終止數(shù)據(jù)發(fā)送,并執(zhí)行步驟A5 ; 步驟A5、向發(fā)送端回復發(fā)送狀態(tài)信息,結束數(shù)據(jù)發(fā)送,并進執(zhí)行步驟A6 ; 步驟A6、刪除rou,釋放rou占用的內(nèi)存空間,釋放占用的通訊通路;完成發(fā)送數(shù)據(jù)處理; 接收數(shù)據(jù)處理步驟 步驟BI、接收端收到CAN網(wǎng)絡提供的數(shù)據(jù)幀,判斷該數(shù)據(jù)幀是否為單幀,如果判斷結果為是,則執(zhí)行步驟B2 ;如果判斷結果為否,則執(zhí)行步驟B3 ; 步驟B2、接收到單幀,進入步驟B5 ; 步驟B3、接收到首幀,設定延時發(fā)送時間參數(shù),等待發(fā)送流控數(shù)據(jù)幀;發(fā)送流控幀后,設置等待接收連續(xù)幀超時時間參數(shù);并判斷數(shù)據(jù)是否接收完畢,如果判斷結果為否,則執(zhí)行步驟B31 ;如果判斷結果為是,則執(zhí)行步驟B33 ; 步驟B31、判斷是否在規(guī)定時間內(nèi)接收到連續(xù)幀,如果判斷結果為是,則執(zhí)行步驟B32 ;如果判斷結果為否,則執(zhí)行步驟B4 ; 步驟B32、繼續(xù)進行后續(xù)的數(shù)據(jù)接收工作,并判斷是否完成接收,如果判斷結果為是,則執(zhí)行步驟B5 ;如果判斷結果為否,則執(zhí)行步驟B31 ; 步驟B33、根據(jù)預設的數(shù)據(jù)格式,進行數(shù)據(jù)重組,并執(zhí)行步驟B5 ; 步驟B4、進入超時處理,終止數(shù)據(jù)接收,并執(zhí)行步驟B5 ; 步驟B5、給發(fā)送端回復接收狀態(tài)信息,將數(shù)據(jù)上報接收端,退出接收功能,進入步驟B6 ; 步驟B6、刪除rou,釋放rou占用的內(nèi)存空間,釋放占用的通訊通路; 完成接收數(shù)據(jù)處理。
3.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于步驟一中建立的地址映射字典是一個一維數(shù)據(jù)表格,該一維數(shù)據(jù)表格中的數(shù)據(jù)項包括ECU的地址信息,S卩包括發(fā)送端的地址映射字典和接收端的地址映射字典。
4.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于步驟二中所述的開通一個通訊通道的具體含義是初始化CAN通訊功能,完成開啟通路和通路波特率的設定。
5.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于步驟二中動態(tài)創(chuàng)建的用戶協(xié)議數(shù)據(jù)單元PDU中的數(shù)據(jù)項包括地址信息、身份標識、狀態(tài)信息、數(shù)據(jù)緩存、數(shù)據(jù)長度和當前收發(fā)數(shù)據(jù)的長度。
6.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于在該數(shù)據(jù)通訊方法中,時間管理是通過定時中斷來實現(xiàn)延時與超時控制。
7.根據(jù)權利要求6所述的數(shù)據(jù)通訊方法,其特征在于在該數(shù)據(jù)通訊方法中,時間管理是采用計時鏈表來實現(xiàn)。
8.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于在該數(shù)據(jù)通訊方法中,采用錯誤處理機制處理超時情況或沒有及時接收到連續(xù)幀的問題,具體為接收端接收到數(shù)據(jù)幀時 當收到單幀的長度為O時或者單幀的長度大于7時,接收端會忽略接收到的數(shù)據(jù)幀; 當收到無效首幀或者單幀時,向發(fā)送端發(fā)出無效回復信息,數(shù)據(jù)發(fā)送將被終止; 當收到正確的首幀時,向發(fā)送端回復流控幀,并且定時連續(xù)幀超時參數(shù);當發(fā)生超時情況時,向接收端發(fā)出超時信息,采取超時處理; 當接收端沒有及時接收到連續(xù)幀時,終止數(shù)據(jù)接收,向接收端回復信息; 當發(fā)送端沒有及時收到流控幀時,終止數(shù)據(jù)傳送,向發(fā)送端回復錯誤信息。
9.根據(jù)權利要求2所述的數(shù)據(jù)通訊方法,其特征在于在該數(shù)據(jù)通訊方法中,采用錯誤處理機制處理超時情況或沒有及時接收到連續(xù)幀的問題,具體為發(fā)送端發(fā)送數(shù)據(jù)幀時 當發(fā)送數(shù)據(jù)無效或者數(shù)據(jù)長度錯誤時,丟掉數(shù)據(jù); 當發(fā)送數(shù)據(jù)有效并且數(shù)據(jù)長度可以形成多幀數(shù)據(jù)時,首先發(fā)送首幀數(shù)據(jù),并且定時流控陣超時參數(shù); 當發(fā)生超時情況時,向發(fā)送端回復超時信息,采取超時處理; 當發(fā)送端沒有及時收到流控幀時,終止數(shù)據(jù)傳送,向發(fā)送端回復錯誤信息; 當發(fā)送端正確接收到流控陣時,繼續(xù)數(shù)據(jù)傳送,向接收端傳送連續(xù)中貞。
全文摘要
基于CAN網(wǎng)絡的數(shù)據(jù)通訊系統(tǒng)及基于該系統(tǒng)的數(shù)據(jù)通訊方法,涉及測控網(wǎng)絡總線通訊領域。它是為了在基于CAN網(wǎng)絡的通訊系統(tǒng)中,實現(xiàn)不增加系統(tǒng)額外資源的情況下提高字節(jié)數(shù)據(jù)傳輸能力。本發(fā)明的數(shù)據(jù)通訊系統(tǒng)包括發(fā)送端、發(fā)送數(shù)據(jù)請求模塊、接收端、接收數(shù)據(jù)請求模塊、數(shù)據(jù)接收模塊、時間管理模塊、一號錯誤處理模塊和二號錯誤處理模塊。其方法定義了數(shù)據(jù)傳輸格式后,連接在CAN網(wǎng)絡上的ECU準備收發(fā)總線上的數(shù)據(jù),整理成符合應用層數(shù)據(jù)通訊幀格式,對數(shù)據(jù)進行拆分、組包處理。并且在此基礎上,建立可靠的收發(fā)機制、時間管理機制和錯誤處理機制功能維護系統(tǒng)正常的運轉,實現(xiàn)了CAN總線數(shù)據(jù)準確快捷的通訊。本發(fā)明適用于測控網(wǎng)絡總線通訊。
文檔編號H04L12/40GK102932224SQ20121048287
公開日2013年2月13日 申請日期2012年11月23日 優(yōu)先權日2012年11月23日
發(fā)明者高會軍, 潘惠惠, 汪超, 于金泳 申請人:哈爾濱工業(yè)大學