汽車通信數(shù)據(jù)傳輸?shù)姆椒把b置制造方法
【專利摘要】本發(fā)明適用于汽車【技術(shù)領(lǐng)域】,提供了一種汽車通信數(shù)據(jù)傳輸?shù)姆椒把b置,所述方法包括:數(shù)據(jù)傳輸裝置檢測是否有待接收的汽車通信數(shù)據(jù);當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù);將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。本發(fā)明提出的方法及裝置,可提高汽車通信數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
【專利說明】汽車通信數(shù)據(jù)傳輸?shù)姆椒把b置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于汽車【技術(shù)領(lǐng)域】,尤其涉及一種汽車通信數(shù)據(jù)傳輸?shù)姆椒把b置。
【背景技術(shù)】
[0002]現(xiàn)有的汽車診斷技術(shù)中需要支持各種汽車通信協(xié)議如CAN協(xié)議、IS09141協(xié)議、IS014230協(xié)議、SAE J1850協(xié)議等通信協(xié)議,為了降低成本,就不能使高速的處理器來完成這些工作,需要在中端處理器中完成人機交互界面、汽車數(shù)據(jù)診斷、分析等相關(guān)功能。其中SAE J1850協(xié)議集成了 VPW協(xié)議和PWM協(xié)議的通信方式,其中,VPff的最高通信速度為41600HZ,PWM為83333HZ,也就是最小脈沖寬度為4us。如果用定時器捕獲或者中斷方式來計算脈沖寬度都會使處理器一直處于忙的狀態(tài)(由于總線上數(shù)據(jù)量龐大),處理器根本沒有時間處理其它任務(wù)(比如USB數(shù)據(jù)通信或其它協(xié)議的數(shù)據(jù)傳輸),并且一個400MHz以下的處理器中斷響應(yīng)時間都要2?3us,要實現(xiàn)SAE J1850協(xié)議則更加困難,其穩(wěn)定性得不到保障。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例的目的在于提供一種汽車通信數(shù)據(jù)傳輸?shù)姆椒把b置,旨在解決現(xiàn)有的汽車通信數(shù)據(jù)傳輸方式穩(wěn)定性差的問題。
[0004]本發(fā)明實施例是這樣實現(xiàn)的,一種汽車通信數(shù)據(jù)傳輸?shù)姆椒?,所述方法包?
[0005]數(shù)據(jù)傳輸裝置檢測是否有待接收的汽車通信數(shù)據(jù);
[0006]當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù);
[0007]將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。
[0008]進一步地,所述將接收的汽車通信數(shù)據(jù)傳輸至主處理器包括:
[0009]將所述接收的汽車通信數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū);
[0010]使能主處理器中斷,供所述主處理器至所述數(shù)據(jù)緩沖區(qū)獲取所述接收的汽車通信數(shù)據(jù)。
[0011]進一步地,所述方法還包括:
[0012]檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù);
[0013]當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù);
[0014]發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。
[0015]進一步地,所述發(fā)送待發(fā)送的汽車通信數(shù)據(jù)之后,還包括:
[0016]使能所述主處理器中斷;
[0017]通知所述主處理器發(fā)送狀態(tài)。
[0018]進一步地,所述汽車通信數(shù)據(jù)為PWM協(xié)議數(shù)據(jù)或VPW協(xié)議數(shù)據(jù)。
[0019]本發(fā)明還提出一種汽車通信數(shù)據(jù)傳輸?shù)难b置,所述裝置包括:
[0020]檢測模塊,用于檢測是否有待接收的汽車通信數(shù)據(jù);
[0021]接收模塊,用于當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù);
[0022]傳輸模塊,用于將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。
[0023]進一步地,所述傳輸模塊包括:
[0024]存入單元,用于將所述接收的汽車通信數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū);
[0025]中斷單元,用于使能主處理器中斷,供所述主處理器至所述數(shù)據(jù)緩沖區(qū)獲取所述接收的汽車通信數(shù)據(jù)。
[0026]進一步地,所述檢測模塊還用于檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù);所述接收模塊還用于當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù);所述傳輸模塊還用于發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。
[0027]進一步地,所述裝置還包括:
[0028]通知模塊,用于使能所述主處理器中斷;以及通知所述主處理器發(fā)送狀態(tài)。
[0029]進一步地,所述汽車通信數(shù)據(jù)為PWM協(xié)議數(shù)據(jù)或VPW協(xié)議數(shù)據(jù)。
[0030]在本發(fā)明實施例中,通過主處理器以外的數(shù)據(jù)傳輸裝置完成數(shù)據(jù)收發(fā),該數(shù)據(jù)傳輸裝置可以與主處理器共享內(nèi)存,完成汽車通信數(shù)據(jù)的傳輸。本發(fā)明實施例的主處理器可以是DSP,數(shù)據(jù)傳輸裝置可以是DSP自帶的PRU單元,DSP和PRU單元通過共享內(nèi)存和PRU特定的匯編指令集完成汽車通信數(shù)據(jù)的實現(xiàn)。與現(xiàn)有技術(shù)相比,本發(fā)明提出的技術(shù)方案中,有以下幾點優(yōu)勢:
[0031]1.實時性高:PRU單元匯編代碼單獨完成汽車通信數(shù)據(jù)的收發(fā),在以中斷方式通知DSP,大大的提高了代碼效率。
[0032]2.穩(wěn)定性高:將PRU單元(主頻大約150MHZ)作為串行數(shù)據(jù)的收發(fā),無中斷程序的干擾,脈沖寬度計算準確,增加了代碼的穩(wěn)定性,對于83.3KHZ的汽車電腦編程速度,完全可以勝任。
[0033]3.成本底:有效的利用DSP中的PRU單元,不需要額外的處理器。
【專利附圖】
【附圖說明】
[0034]圖1是本發(fā)明實施例一提供的汽車通信數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒虉D;
[0035]圖2是本發(fā)明實施例二提供的汽車通信數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒虉D;
[0036]圖3是本發(fā)明實施例三提供的汽車通信數(shù)據(jù)傳輸?shù)难b置的結(jié)構(gòu)圖;
[0037]圖4是本發(fā)明實施例三提供的汽車通信數(shù)據(jù)傳輸?shù)难b置中傳輸模塊的結(jié)構(gòu)圖;
[0038]圖5是本發(fā)明實施例四提供的汽車通信數(shù)據(jù)傳輸?shù)难b置的結(jié)構(gòu)圖。
【具體實施方式】
[0039]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0040]實施例一
[0041]本發(fā)明實施例一提出一種汽車通信數(shù)據(jù)傳輸?shù)姆椒?。如圖1所述,本發(fā)明實施例一的方法包括:
[0042]步驟S11、數(shù)據(jù)傳輸裝置檢測是否有待接收的汽車通信數(shù)據(jù)。本發(fā)明實施例一以主處理器為DSP,數(shù)據(jù)傳輸裝置為DSP內(nèi)置的PRU為例進行說明。當DSP工作時,首先初使化與PRU相關(guān)的寄存器,然后使能PRU單元。當PRU單元運行后,完成自定義寄存器到默認值(比如設(shè)置收發(fā)數(shù)據(jù)頻率,過濾器等)、中斷相關(guān)寄存器的初使化(以便后續(xù)接收數(shù)據(jù)成功之后,觸發(fā)DSP中斷)以及定時器的初使化(此定時器在后續(xù)接收或發(fā)送數(shù)據(jù)過程中用于對接收到的脈沖寬度進行計算)。完成上述工作后,數(shù)據(jù)傳輸裝置開始檢測DSP是否有數(shù)據(jù)需要接收。
[0043]步驟S12、當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù)。接收過程首先檢測總線狀態(tài),然后查找總線上的幀頭脈沖(幀頭脈沖在83.3KHZ的頻率下約為16us),當正確檢測到幀頭以后,就可以繼續(xù)接收后面的數(shù)據(jù)、幀結(jié)束標志。接收完后面的數(shù)據(jù),當PRU單元收到一幀完整的數(shù)據(jù)之后,對接收到的數(shù)據(jù)進行數(shù)據(jù)過濾,當數(shù)據(jù)滿足過濾條件,發(fā)送幀的響應(yīng)脈沖,并將數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū)。
[0044]步驟S13、將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。使能DSP中斷,接收到的數(shù)據(jù)交由DSP。在PRU單元接收數(shù)據(jù)過程中,脈沖寬度的計算均以檢測到脈中邊沿(上升/下降)開始,記錄兩個邊沿變化的差值作為高(底)脈沖的寬度。
[0045]上述汽車通信數(shù)據(jù)為SAE J1850協(xié)議數(shù)據(jù),其實現(xiàn)有VPW協(xié)議和PWM協(xié)議兩種串行實現(xiàn)方式,比如83.3KHZ的PWM協(xié)議數(shù)據(jù)是以幀頭、幀數(shù)據(jù)、幀結(jié)束和幀響應(yīng)作為一幀完整的數(shù)據(jù)。4us的高電平加上8us的底電平為一個周期,表示數(shù)字I ;8us的高電平加上4us的底電平為一個周基表不數(shù)字O。
[0046]本發(fā)明實施例一中,數(shù)據(jù)傳輸裝置單獨完成汽車通信數(shù)據(jù)的接收,以中斷方式通知DSP,大大的提高了數(shù)據(jù)接收效率。且數(shù)據(jù)傳輸裝置作為串行數(shù)據(jù)的接收,無中斷程序的干擾,脈沖寬度計算準確,增加了數(shù)據(jù)接收的穩(wěn)定性,對于83.3KHZ的汽車電腦編程速度,完全可以勝任。
[0047]實施例二
[0048]本發(fā)明實施例二提出一種汽車通信數(shù)據(jù)傳輸?shù)姆椒?。如圖2所示,在本發(fā)明實施例一的基礎(chǔ)上,還包括:
[0049]步驟S21、檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù)。
[0050]步驟S22、當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù)。當DSP中有數(shù)據(jù)需要發(fā)送的時候,觸發(fā)PRU單元中斷,設(shè)置PRU單元提供的寄存器,發(fā)送數(shù)據(jù)標志,當PRU單元檢測到這個中斷和標志的時候,進入發(fā)送過程。
[0051]步驟S23、發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。首先檢測總線電平是否處于隱性狀態(tài),如果為非隱性狀態(tài),表明總線可能處于發(fā)送數(shù)據(jù)階段或總線存在故障。否則當檢測到總線隱性電平處于超過幀的結(jié)束標志脈沖寬度時,則認為可以將數(shù)據(jù)發(fā)送出去,首先發(fā)送的是幀的頭部,然后幀中的數(shù)據(jù),最后是幀的接束標志。
[0052]步驟S24、使能所述主處理器中斷;
[0053]步驟S25、通知所述主處理器發(fā)送狀態(tài)。
[0054]本發(fā)明實施例二的方法可通過數(shù)據(jù)傳輸裝置單獨完成汽車通信數(shù)據(jù)的發(fā)送,進一步地提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0055]實施例三
[0056]本發(fā)明實施例三提出一種汽車通信數(shù)據(jù)傳輸?shù)难b置,該裝置可以是主處理器DSP內(nèi)置的PRU單元。如圖3所示,本發(fā)明實施例三包括檢測模塊31,用于檢測是否有待接收的汽車通信數(shù)據(jù);接收模塊32,用于當有待接收的汽車通信數(shù)據(jù)時,接收待接收的汽車通信數(shù)據(jù);傳輸模塊33,用于將接收的汽車通信數(shù)據(jù)傳輸至主處理器。
[0057]如圖4所示,傳輸模塊33包括存入單元331,用于將所述接收的汽車通信數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū);中斷單元332,用于使能主處理器中斷,供所述主處理器至所述數(shù)據(jù)緩沖區(qū)獲取所述接收的汽車通信數(shù)據(jù)。
[0058]汽車通信數(shù)據(jù)接收過程檢測模塊31首先檢測總線狀態(tài),然后查找總線上的幀頭脈沖(幀頭脈沖在83.3KHZ的頻率下約為16us),當正確檢測到幀頭以后,接收模塊32就可以繼續(xù)接收后面的數(shù)據(jù)、幀結(jié)束標志。接收模塊32接收完后面的數(shù)據(jù),即收到一幀完整的數(shù)據(jù)之后,對接收到的數(shù)據(jù)進行數(shù)據(jù)過濾,當數(shù)據(jù)滿足過濾條件,發(fā)送幀的響應(yīng)脈沖,由傳輸模塊33將數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū)。中斷單元332使能DSP中斷,將接收到的數(shù)據(jù)交由DSP。在PRU單元接收數(shù)據(jù)過程中,脈沖寬度的計算均以檢測到脈中邊沿(上升/下降)開始,記錄兩個邊沿變化的差值作為高(底)脈沖的寬度。
[0059]上述汽車通信數(shù)據(jù)為SAE J1850協(xié)議數(shù)據(jù),其實現(xiàn)有VPW協(xié)議和PWM協(xié)議兩種串行實現(xiàn)方式,比如83.3KHZ的PWM協(xié)議數(shù)據(jù)是以幀頭、幀數(shù)據(jù)、幀結(jié)束和幀響應(yīng)作為一幀完整的數(shù)據(jù)。4us的高電平加上8us的底電平為一個周期,表示數(shù)字I ;8us的高電平加上4us的底電平為一個周基表不數(shù)字O。
[0060]本發(fā)明實施例三中,數(shù)據(jù)傳輸裝置單獨完成汽車通信數(shù)據(jù)的接收,以中斷方式通知DSP,大大的提高了數(shù)據(jù)接收效率。且數(shù)據(jù)傳輸裝置作為串行數(shù)據(jù)的接收,無中斷程序的干擾,脈沖寬度計算準確,增加了數(shù)據(jù)接收的穩(wěn)定性,對于83.3KHZ的汽車電腦編程速度,完全可以勝任。
[0061]實施例四
[0062]本發(fā)明實施例四提出一種汽車通信數(shù)據(jù)傳輸?shù)难b置。如圖5所示,與本發(fā)明實施例三不同,本發(fā)明實施例四中,檢測模塊31還用于檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù);所述接收模塊32還用于當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù);所述傳輸模塊33還用于發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。本發(fā)明實施例四的裝置還包括通知模塊34,用于使能所述主處理器中斷;以及通知所述主處理器發(fā)送狀態(tài)。
[0063]本發(fā)明實施例四進一步通過數(shù)據(jù)傳輸裝置完成汽車通信數(shù)據(jù)的發(fā)送,進一步增加了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
[0064]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種汽車通信數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?,所述方法包? 數(shù)據(jù)傳輸裝置檢測是否有待接收的汽車通信數(shù)據(jù); 當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù); 將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。
2.如權(quán)利要求1所述的方法,其特征在于,所述將接收的汽車通信數(shù)據(jù)傳輸至主處理器包括: 將所述接收的汽車通信數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū); 使能主處理器中斷,供所述主處理器至所述數(shù)據(jù)緩沖區(qū)獲取所述接收的汽車通信數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù); 當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù); 發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。
4.如權(quán)利要求3所述的方法,其特征在于,所述發(fā)送待發(fā)送的汽車通信數(shù)據(jù)之后,還包括: 使能所述主處理器中斷; 通知所述主處理器發(fā)送狀態(tài)。
5.如權(quán)利要求1至4中任一項所述的方法,其特征在于,所述汽車通信數(shù)據(jù)為PWM協(xié)議數(shù)據(jù)或VPW協(xié)議數(shù)據(jù)。
6.一種汽車通信數(shù)據(jù)傳輸?shù)难b置,其特征在于,所述裝置包括: 檢測模塊,用于檢測是否有待接收的汽車通信數(shù)據(jù); 接收模塊,用于當有待接收的汽車通信數(shù)據(jù)時,接收所述待接收的汽車通信數(shù)據(jù); 傳輸模塊,用于將所述接收的汽車通信數(shù)據(jù)傳輸至主處理器。
7.如權(quán)利要求6所述的裝置,其特征在于,所述傳輸模塊包括: 存入單元,用于將所述接收的汽車通信數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū); 中斷單元,用于使能主處理器中斷,供所述主處理器至所述數(shù)據(jù)緩沖區(qū)獲取所述接收的汽車通信數(shù)據(jù)。
8.如權(quán)利要求6所述的裝置,其特征在于,所述檢測模塊還用于檢測所述主處理器是否有待發(fā)送的汽車通信數(shù)據(jù);所述接收模塊還用于當有待發(fā)送的汽車通信數(shù)據(jù)時,從所述主處理器中獲取所述待發(fā)送的汽車通信數(shù)據(jù);所述傳輸模塊還用于發(fā)送所述待發(fā)送的汽車通信數(shù)據(jù)。
9.如權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 通知模塊,用于使能所述主處理器中斷;以及通知所述主處理器發(fā)送狀態(tài)。
10.如權(quán)利要求6至9中任一項所述的裝置,其特征在于,所述汽車通信數(shù)據(jù)為PWM協(xié)議數(shù)據(jù)或VPW協(xié)議數(shù)據(jù)。
【文檔編號】G05B23/02GK103699115SQ201310686737
【公開日】2014年4月2日 申請日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】李紅京, 余世均 申請人:深圳市道通科技有限公司