欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于FlexRay總線的通信方法、裝置及系統(tǒng)與流程

文檔序號:12376094閱讀:1055來源:國知局
一種基于FlexRay總線的通信方法、裝置及系統(tǒng)與流程

本發(fā)明涉及通信技術(shù)領域,特別涉及一種基于FlexRay總線的通信方法、裝置及系統(tǒng)。



背景技術(shù):

FlexRay是一種用于汽車的高速的、可確定性的、具備故障容錯能力的總線技術(shù),它將事件觸發(fā)和時間觸發(fā)兩種方式相結(jié)合,具有高效的網(wǎng)絡利用率和系統(tǒng)靈活性,可以作為汽車內(nèi)部網(wǎng)絡的主干網(wǎng)絡。FlexRay總線通信系統(tǒng),可用于FlexRay總線的仿真和數(shù)據(jù)采集,基于FlexRay總線實現(xiàn)高效、高帶寬以及高穩(wěn)定性的通信。

目前,F(xiàn)lexRay總線通信系統(tǒng)主要包括兩種:第一種主要由主機PC、控制器和協(xié)議芯片構(gòu)成,主機PC以控制器為通道讀寫協(xié)議芯片內(nèi)部的總線數(shù)據(jù);第二種主要由主機PC和FPGA等大型可編程邏輯器件構(gòu)成,不使用協(xié)議芯片,協(xié)議的編解碼、數(shù)據(jù)的處理和與主機PC之間的通信都在FPGA中實現(xiàn)。

第一種FlexRay總線通信系統(tǒng)中設置有協(xié)議芯片,不需要開發(fā)總線協(xié)議的具體內(nèi)容,著眼于協(xié)議芯片的接口時序即可,可以縮短開發(fā)周期,但是控制器只作為主機PC和協(xié)議芯片間的通道存在,協(xié)議芯片的中斷和數(shù)據(jù)的處理都通過主機PC來實現(xiàn),通信帶寬會嚴重受到主機PC的性能限制;而且主機PC在處理中斷時需要以控制器為通道從協(xié)議芯片內(nèi)部的寄存器中頻繁讀取數(shù)據(jù),一個數(shù)據(jù)包中有多少個數(shù)據(jù)就需要讀取多少次,導致數(shù)據(jù)處理的周期過長,會嚴重影響通信帶寬,甚至出現(xiàn)丟包現(xiàn)象。

第二種FlexRay總線通信系統(tǒng)是通過FPGA來進行總線協(xié)議的編解碼和數(shù)據(jù)的處理,然后FPGA再與主機PC之間進行通信,主機PC處理中斷時只需要一次性從FPGA中讀取一整包的數(shù)據(jù),減少了主機PC與協(xié)議芯片之間的頻繁讀寫交互,可以解決第一種FlexRay總線通信系統(tǒng)中的通信帶寬會嚴重受到主機PC的性能限制和數(shù)據(jù)處理的周期過長的問題,但是由于沒有設置協(xié)議芯片,需要為FPGA開發(fā)總線協(xié)議的具體內(nèi)容,會導致開發(fā)周期過長,而且不便于其他總線類型的程序的復用和移植。

因此,現(xiàn)有技術(shù)中缺乏一種既能進行高速通信,又能縮短開發(fā)周期的基于FlexRay總線的通信方法、裝置及系統(tǒng)。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明提供了一種基于FlexRay總線的通信方法、裝置及系統(tǒng),可以在實現(xiàn)高速通信的同時,縮短開發(fā)周期。

為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:

一種基于FlexRay總線的通信方法,包括:

在接收到協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù);

將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包;

以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中。

優(yōu)選地,還包括:

在接收到所述主機PC發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片,以使所述協(xié)議芯片對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

一種基于FlexRay總線的通信裝置,包括:

讀取模塊,用于在接收到協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù);

組包模塊,用于將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包;

第一發(fā)送模塊,用于以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中。

優(yōu)選地,還包括:

接收模塊,用于接收所述主機PC發(fā)送的第二總線數(shù)據(jù);

第二發(fā)送模塊,用于在接收到所述主機PC發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片,以使所述協(xié)議芯片對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

一種基于FlexRay總線的通信系統(tǒng),包括:

協(xié)議芯片、現(xiàn)場可編程門陣列FPGA和主機PC;

所述協(xié)議芯片用于從所述FlexRay總線中接收并解碼第一總線數(shù)據(jù),且在解碼所述第一總線數(shù)據(jù)后向所述FPGA發(fā)送中斷請求;

所述FPGA用于在接收到所述協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片解碼的所述第一總線數(shù)據(jù),將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包,并以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到所述主機PC中。

優(yōu)選地,所述FPGA還用于:

在接收到所述主機PC發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片,以使所述協(xié)議芯片對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

優(yōu)選地,還包括:

總線接口預處理模塊,用于按照所述協(xié)議芯片的接口要求對所述FlexRay總線的電平進行轉(zhuǎn)換,將從所述FlexRay總線接收的所述第一總線數(shù)據(jù)輸入到所述協(xié)議芯片中進行解碼,并按照所述FlexRay總線的電氣標準將所述協(xié)議芯片編碼之后的所述第二總線數(shù)據(jù)輸出到所述FlexRay總線中。

優(yōu)選地,還包括:

CPCI接口模塊,用于實現(xiàn)所述FPGA與所述主機PC之間的硬件連接。

優(yōu)選地,所述FPGA包括:

中斷處理模塊,用于對所述協(xié)議芯片發(fā)送的所述中斷請求進行處理;

協(xié)議芯片接口控制模塊,用于按照所述協(xié)議芯片的接口要求完成對所述協(xié)議芯片中的寄存器的讀寫時序控制,以從所述協(xié)議芯片中讀取所述第一總線數(shù)據(jù)或者將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片;

CPCI接口控制模塊,用于按照所述CPCI接口模塊的接口要求完成與所述主機PC之間的寄存器讀寫控制和DMA通信控制;

DMA數(shù)據(jù)處理上傳模塊,用于將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包,并以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到所述主機PC中。

優(yōu)選地,所述協(xié)議芯片為MFR4310芯片。

通過本申請?zhí)峁┑幕贔lexRay總線的通信方法、裝置及系統(tǒng),在接收到協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù);將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包;以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中??梢?,本申請?zhí)峁┑募夹g(shù)方案中,使用協(xié)議芯片完成總線數(shù)據(jù)的編解碼,可以將開發(fā)重點放在總線通信的數(shù)據(jù)處理上,節(jié)省總線協(xié)議上的開發(fā)時間,縮短開發(fā)周期;而且,本申請方案并不通過主機PC直接操作協(xié)議芯片,而是在接收到協(xié)議芯片的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù),并對第一總線數(shù)據(jù)進行組包,通過DMA的方式將第一總線數(shù)據(jù)包一次上傳給主機PC,主機PC不需要處理中斷,也不需要從協(xié)議芯片中讀取第一總線數(shù)據(jù),只需要接收第一總線數(shù)據(jù)包,可以節(jié)省主機PC的性能,避免主機PC性能對通信帶寬的限制,同時組包和DMA的方式可以減少主機PC與協(xié)議芯片之間的頻繁讀寫交互,能夠大大簡化主機PC與協(xié)議芯片之間的通信流程,縮短一個數(shù)據(jù)處理周期需要的時間,保證設備的帶寬和速率,滿足高速通信的要求。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明第一具體實施例提供的基于FlexRay總線的通信方法的流程示意圖;

圖2是本發(fā)明第二具體實施例提供的基于FlexRay總線的通信裝置的結(jié)構(gòu)示意圖;

圖3是本發(fā)明第三具體實施例提供的基于FlexRay總線的通信系統(tǒng)的結(jié)構(gòu)示意圖;

圖4是本發(fā)明第四具體實施例提供的基于FlexRay總線的通信系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

本發(fā)明提供了一種基于FlexRay總線的通信方法,以及一種基于FlexRay總線的通信裝置及系統(tǒng),能夠在實現(xiàn)高速通信的同時,縮短開發(fā)周期。

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

請參閱圖1,圖1是本發(fā)明第一具體實施例提供的基于FlexRay總線的通信方法的流程示意圖。

本發(fā)明第一具體實施例提供的基于FlexRay總線的通信方法,應用于下位機的控制器FPGA中,包括以下步驟:

S101:在接收到協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù);

在本申請實施例中,協(xié)議芯片負責完成總線數(shù)據(jù)的編解碼,通過中斷方式與FPGA進行通信,協(xié)議芯片在接收到第一總線數(shù)據(jù)后向FPGA發(fā)起中斷請求,由FPGA對中斷源進行判斷,讀取協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù)。本申請實施例使用協(xié)議芯片完成總線數(shù)據(jù)的編解碼,可以將開發(fā)重點放在總線通信的數(shù)據(jù)處理上,節(jié)省總線協(xié)議上的開發(fā)時間,縮短開發(fā)周期。

FPGA在接收到中斷請求后,可以執(zhí)行如下步驟:

(1)判斷中斷源:

(2)讀MB配置RAM,具體為:在板卡啟動并初始化時由軟件設定此次通信網(wǎng)絡中使用到的mb_num,F(xiàn)PGA將此一系列的配置信息寫入內(nèi)部的RAM中,當接收到中斷后首先讀取此RAM中的值;

其中:MB為消息緩存,mb_num為MB的序號,RAM為隨機存儲器;

(3)讀MBCCSR值,具體為:讀取此寄存器中的第9位MBCCSR[8]:MBIE、第5位MBCCSR[4]:DUP、第4位MBCCSR[3]:DVAL和第1位MBCCSR[0]:MBIF,

其中:MBSCCR為消息緩存配置、控制、狀態(tài)寄存器,MBIE為消息中斷使能,DUP為幀頭和消息緩存域被更新,DVAL為消息緩存數(shù)據(jù)域中包含有效幀,MBIF為消息中斷標志;

(4)通過讀取到的MBIE、DUP、DVAL和MBIF判斷此MB中的數(shù)據(jù)幀是否為有效數(shù)據(jù)幀;

若是有效的數(shù)據(jù)幀,將mb_num和有效數(shù)據(jù)幀標志寫入到Node_MB_INT MSG中,則執(zhí)行步驟(5);若不是則執(zhí)行步驟(6),其中,Node_MB_INT MSG的含義是節(jié)點中斷信息寄存器;

(5)得到mb_num,具體為在步驟(2)中從MB配置RAM中取出來的值即是此次中斷源的mb_num,然后跳轉(zhuǎn)至步驟(9);

(6)讀MBIDXR值,具體為讀取此寄存器中的MBIDX值,其中,MBIDXR的含義是消息緩存索引寄存器,MBIDX的含義是消息緩存索引值。

(7)讀slot_Status值,具體為讀取此寄存器的第16位VFB和第8位VFA,其中,slot_Status的含義是時隙狀態(tài)寄存器,VFB的含義是通道B上有效幀,VFA的含義是通道A上有效幀。

(8)判斷MBSCCSR[0]&(Slot[7]‖Slot[15])?具體為:MBIF為1,即中斷標志位有效,并且VFB或VFA中至少有一個為1,即通道A或通道B中至少有一個通道有有效幀;

若滿足上述條件,則認為是接收到了有效的空幀,將mb_num和空數(shù)據(jù)幀標志寫入到Node_MB_INT MSG中,跳轉(zhuǎn)至步驟(5),若不滿足條件,跳轉(zhuǎn)至步驟(2)繼續(xù)判斷下一個MB信息;

(9)將MBCCSR[9]=1寫入MBCCSR,具體為:保持MBCCSR寄存器中的其他值不變,解鎖消息緩存,其中,MBCCSR[9]是LCKT,含義是鎖定或者解鎖消息緩存;

(10)再次讀取MBSSCR值,并將此值緩存在MBCCSR_temp2中。

在中斷處理完成后,F(xiàn)PGA還需要清中斷標志位:

(11)MBCCSR=MBCCSR&0xf900,具體為:設置即將寫入MBCCSR中的值,其中,MBCCSR=MBCCSR&0xf900的含義是保持MBCCSR寄存器中的其他位不變,將MBIF位置1;

(12)將MBCCSR[0]=1寫入MBCCSR,具體為:清除消息緩存中斷標志位。

S102:將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包;

在現(xiàn)有技術(shù)中,下位機的處理器通常是使用單片機,協(xié)議芯片在發(fā)送中斷請求后,主機PC在處理中斷時需要以單片機為通道直接對協(xié)議芯片內(nèi)部的寄存器進行讀寫,以寄存器讀取的方式將總線數(shù)據(jù)一個一個讀回,再由主機PC的軟件處理部分對總線數(shù)據(jù)進行組包。這需要主機PC從協(xié)議芯片內(nèi)部的寄存器中頻繁讀取數(shù)據(jù),一個數(shù)據(jù)包中有多少個數(shù)據(jù)就需要讀取多少次,導致數(shù)據(jù)處理的周期過長,會嚴重影響通信帶寬,甚至出現(xiàn)丟包現(xiàn)象。

在本申請實施例中,下位機的處理器使用FPGA,協(xié)議芯片在發(fā)送中斷請求后,是由FPGA處理中斷,將第一總線數(shù)據(jù)從協(xié)議芯片中讀回后進行組包,生成第一總線數(shù)據(jù)包。在處理中斷、讀取第一總線數(shù)據(jù)以及組包生成第一總線數(shù)據(jù)包的過程中并不需要主機PC的參與,可以節(jié)省主機PC性能,避免主機PC的性能對通信帶寬的限制。

S103:以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中。

FPGA在將第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包后,以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包一次上傳到主機PC中,可以減少與主機PC之間的數(shù)據(jù)交互,從而減少主機PC接收數(shù)據(jù)的次數(shù),縮短主機PC接收數(shù)據(jù)的時間,降低對通信帶寬的影響。

FPGA在以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中時,可以執(zhí)行如下步驟:

(13)判斷MBCCSR_temp2[1]是否被鎖定,具體為:判斷此時消息緩存是否處于被鎖定狀態(tài),其中,MBCCSR_temp2[1],即LCKS的含義是當前消息緩存的鎖定狀態(tài);

若被鎖定,則執(zhí)行步驟(14);若未被鎖定,則執(zhí)行步驟(21);

(14)讀取MBIDXR值,具體為:同步驟(6);

(15)讀取frame_header和slot_Status值,其中,frame_header的含義是數(shù)據(jù)幀頭信息;

(16)判斷Node_MB_INT MSG的數(shù)據(jù)幀類型;

若為數(shù)據(jù)幀,則執(zhí)行步驟(17),若為空幀,則執(zhí)行步驟(19);

(17)讀數(shù)據(jù)偏移地址DFO,具體為讀取DFO寄存器的值,此值就是存儲數(shù)據(jù)的緩存區(qū)的地址,其中DFO的含義為數(shù)據(jù)域偏移地址;

(18)讀數(shù)據(jù),具體為根據(jù)在S305中讀到的地址值,向其發(fā)送讀命令,從中讀出FlexRay總線的幀數(shù)據(jù)。

(19)再次讀取MBCCSR值;

(20)同步驟(11);

(21)以DMA方式將數(shù)據(jù)上傳至PC主機,其中DMA的含義是直接存儲器讀取。

本申請實施例提供的基于FlexRay總線的通信方法,使用協(xié)議芯片完成總線數(shù)據(jù)的編解碼,可以將開發(fā)重點放在總線通信的數(shù)據(jù)處理上,節(jié)省總線協(xié)議上的開發(fā)時間,縮短開發(fā)周期。

而且,本申請方案并不通過主機PC直接操作協(xié)議芯片,而是在接收到協(xié)議芯片的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù),并對第一總線數(shù)據(jù)進行組包,通過DMA的方式將第一總線數(shù)據(jù)包一次上傳給主機PC,主機PC不需要處理中斷,也不需要從協(xié)議芯片中讀取第一總線數(shù)據(jù),只需要接收第一總線數(shù)據(jù)包,可以節(jié)省主機PC的性能,避免主機PC性能對通信帶寬的限制。

同時,組包和DMA上傳的方式可以減少主機PC與協(xié)議芯片之間的頻繁讀寫交互,能夠大大簡化主機PC與協(xié)議芯片之間的通信流程,縮短一個數(shù)據(jù)處理周期需要的時間,保證設備的帶寬和速率,滿足高速通信的要求。

可以理解的是,協(xié)議芯片不僅會從FlexRay總線中接收并解碼第一總線數(shù)據(jù),還會向FlexRay總線中發(fā)送編碼的第二總線數(shù)據(jù),此時,F(xiàn)PGA需要接收主機PC發(fā)送的第二總線數(shù)據(jù),并在接收到所述主機PC發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片,以使所述協(xié)議芯片對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

在本申請實施例中,F(xiàn)PGA在向協(xié)議芯片發(fā)送第二總線數(shù)據(jù)時,可以組包發(fā)送,也可以不組包發(fā)送,在不組包發(fā)送時,可以采用寄存器方式將主機PC的第二總線數(shù)據(jù)發(fā)送給協(xié)議芯片。

請參閱圖2,圖2是本發(fā)明第二具體實施例提供的基于FlexRay總線的通信裝置的結(jié)構(gòu)示意圖。

與本發(fā)明第一具體實施例中提供的基于FlexRay總線的通信方法相對應,本發(fā)明第二具體實施例提供的基于FlexRay總線的通信裝置,包括:

讀取模塊21,用于在接收到協(xié)議芯片發(fā)送的中斷請求后,讀取所述協(xié)議芯片從FlexRay總線中接收并解碼的第一總線數(shù)據(jù);

組包模塊22,用于將從所述協(xié)議芯片中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包;

第一發(fā)送模塊23,用于以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到主機PC中。

優(yōu)選地,還可以包括:

接收模塊24,用于接收所述主機PC發(fā)送的第二總線數(shù)據(jù);

第二發(fā)送模塊25,用于在接收到所述主機PC發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片,以使所述協(xié)議芯片對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

本申請實施例提供的基于FlexRay總線的通信裝置可以是現(xiàn)場可編程門陣列FPGA,通信方法可以采用上述方法實施例中的基于FlexRay總線的通信方法,具體功能可以參照上述方法實施例中的步驟描述,此處不再贅述。

請參閱圖3,圖3是本發(fā)明第三具體實施例提供的基于FlexRay總線的通信系統(tǒng)的結(jié)構(gòu)示意圖。

本發(fā)明第三具體實施例提供的基于FlexRay總線的通信系統(tǒng),包括:

協(xié)議芯片31、現(xiàn)場可編程門陣列FPGA32和主機PC33;

所述協(xié)議芯片31用于從所述FlexRay總線中接收并解碼第一總線數(shù)據(jù),且在解碼所述第一總線數(shù)據(jù)后向所述FPGA32發(fā)送中斷請求;

所述FPGA32用于在接收到所述協(xié)議芯片31發(fā)送的中斷請求后,讀取所述協(xié)議芯片31解碼的所述第一總線數(shù)據(jù),將從所述協(xié)議芯片31中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包,并以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到所述主機PC33中。

優(yōu)選地,所述FPGA32還用于:

在接收到所述主機PC33發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片31,以使所述協(xié)議芯片31對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

本申請實施例提供的基于FlexRay總線的通信系統(tǒng),與上述方法實施例中的基于FlexRay總線的通信方法相對應,具體功能可以參照上述方法實施例中的步驟描述,此處不再贅述。

請參閱圖4,圖4為本發(fā)明第四具體實施例提供的基于FlexRay總線的通信系統(tǒng)的結(jié)構(gòu)示意圖。

本發(fā)明第四具體實施例提供的基于FlexRay總線的通信系統(tǒng),包括:

協(xié)議芯片31、現(xiàn)場可編程門陣列FPGA32、主機PC33、總線接口預處理模塊34、CPCI接口模塊35;

所述協(xié)議芯片31用于從所述FlexRay總線中接收并解碼第一總線數(shù)據(jù),且在解碼所述第一總線數(shù)據(jù)后向所述FPGA32發(fā)送中斷請求;

所述FPGA32用于在接收到所述協(xié)議芯片31發(fā)送的中斷請求后,讀取所述協(xié)議芯片31解碼的所述第一總線數(shù)據(jù),將從所述協(xié)議芯片31中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包,并以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到所述主機PC33中。

優(yōu)選地,所述FPGA32還用于:

在接收到所述主機PC33發(fā)送的第二總線數(shù)據(jù)后,將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片31,以使所述協(xié)議芯片31對所述第二總線數(shù)據(jù)進行編碼,并將編碼后的所述第二總線數(shù)據(jù)發(fā)送到所述FlexRay總線中。

總線接口預處理模塊34,用于按照所述協(xié)議芯片31的接口要求對所述FlexRay總線的電平進行轉(zhuǎn)換,將從所述FlexRay總線接收的所述第一總線數(shù)據(jù)輸入到所述協(xié)議芯片31中進行解碼,并按照所述FlexRay總線的電氣標準將所述協(xié)議芯片31編碼之后的所述第二總線數(shù)據(jù)輸出到所述FlexRay總線中。

CPCI接口模塊35,用于實現(xiàn)所述FPGA32與所述主機PC33之間的硬件連接。

參照圖4所示,所述FPGA32中包括:

中斷處理模塊321,用于對所述協(xié)議芯片31發(fā)送的所述中斷請求進行處理;

協(xié)議芯片接口控制模塊322,用于按照所述協(xié)議芯片31的接口要求完成對所述協(xié)議芯片31中的寄存器的讀寫時序控制,以從所述協(xié)議芯片31中讀取所述第一總線數(shù)據(jù)或者將所述第二總線數(shù)據(jù)發(fā)送給所述協(xié)議芯片31;

CPCI接口控制模塊323,用于按照所述CPCI接口模塊35的接口要求完成與所述主機PC33之間的寄存器讀寫控制和DMA通信控制;

DMA數(shù)據(jù)處理上傳模塊324,用于將從所述協(xié)議芯片31中讀取的所述第一總線數(shù)據(jù)進行組包,生成第一總線數(shù)據(jù)包,并以直接內(nèi)存存取DMA的方式將所述第一總線數(shù)據(jù)包上傳到所述主機PC33中。

在本申請實施例中,可編程邏輯器件FPGA中設置有協(xié)議芯片接口控制邏輯、中斷處理邏輯、數(shù)據(jù)收發(fā)邏輯、DMA數(shù)據(jù)上傳邏輯、CPCI接口控制邏輯;協(xié)議芯片負責完成總線數(shù)據(jù)的編解碼,并通過中斷方式與FPGA進行通信;FPGA對協(xié)議芯片發(fā)起的中斷進行處理,完成第一總線數(shù)據(jù)的接收,并對第一總線數(shù)據(jù)進行組包,通過DMA方式上傳至主機PC,大大的簡化了主機PC與協(xié)議芯片之間的通信流程,縮短了一個數(shù)據(jù)處理周期需要的時間,從而實現(xiàn)高速的數(shù)據(jù)通信。同時可編程邏輯器件FPGA中采用模塊化設計,可以很快的對程序進行升級,縮短開發(fā)周期,降低硬件重開發(fā)成本和數(shù)據(jù)通信復雜度。

此外,在使用DMA方式的同時,在FPGA中還可以對數(shù)據(jù)進行組包和超時上傳,其中組包和超時的參數(shù)均可以開放給用戶,組包功能既可以盡可能大的利用DMA的帶寬,同時又保證在數(shù)據(jù)傳輸?shù)倪^程中如果主機PC發(fā)起了寄存器讀取的指令,也能很快的在數(shù)據(jù)包上傳后對讀操作進行響應,不會導致死機,配合組包的超時上傳功能又可以保證數(shù)據(jù)包完整不丟失。

本申請實施例使用了協(xié)議芯片,所述協(xié)議芯片可以采用飛思卡爾的MFR4310芯片,開發(fā)重點可以放在FPGA對于總線通信的數(shù)據(jù)處理上,能夠節(jié)省總線協(xié)議上的開發(fā)時間;FPGA不僅實現(xiàn)了協(xié)議芯片外圍接口控制邏輯,還要實現(xiàn)中斷處理、數(shù)據(jù)處理和DMA上傳處理,相對于現(xiàn)有技術(shù)中通常使用的DSP和單片機等處理器,可以由單節(jié)點控制改進為多節(jié)點同時控制,還使用了高速的并行接口對中斷和數(shù)據(jù)按照流程進行快速處理,實現(xiàn)較高的通信帶寬,并且通過DMA方式上傳到主機PC,處理速率和數(shù)據(jù)吞吐都可以顯著提升,能夠?qū)崿F(xiàn)高速、高效、穩(wěn)定的FlexRay總線通信;采用CPCI接口與主機相連,CPCI接口模塊可以使用9056橋片,相對于現(xiàn)有技術(shù)中通常使用的PCI接口,通信帶寬可以提升一倍,并且可以快速開發(fā)實現(xiàn)DMA功能。

并且,本申請實施例在FPGA將第一總線數(shù)據(jù)發(fā)送給主機PC時采用了DMA的方式,而在FPGA將第二總線數(shù)據(jù)發(fā)送給協(xié)議芯片時可以采用寄存器的方式,所以主機PC中軟件的工作可以集中在接收總線數(shù)據(jù)上,更符合FlexRay通信系統(tǒng)特點,并且結(jié)合了組包的功能,使得主機PC接收到的都是有效的數(shù)據(jù)內(nèi)容,減少主機PC處理中斷的次數(shù),性能可以大大提高,使得雙向數(shù)據(jù)通信既獨立又高效穩(wěn)定。

本申請實施例提供的基于FlexRay總線的通信系統(tǒng),可以采用上述方法實施例中的基于FlexRay總線的通信方法,具體功能可以參照上述方法實施例中的步驟描述,此處不再贅述。

為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。

本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應用和設計約束條件。專業(yè)技術(shù)人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

對所公開的實施例的上述說明,使本領域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
自治县| 江陵县| 平远县| 巴彦县| 师宗县| 高邑县| 澳门| 抚远县| 邛崃市| 砀山县| 台江县| 沙田区| 昌吉市| 土默特右旗| 佛冈县| 五峰| 阳春市| 元氏县| 中山市| 雷山县| 兴海县| 郁南县| 姚安县| 肃北| 旅游| 土默特右旗| 醴陵市| 尉氏县| 新郑市| 五寨县| 武义县| 赞皇县| 望谟县| 龙口市| 泰来县| 泰来县| 礼泉县| 淄博市| 青川县| 年辖:市辖区| 疏勒县|