本發(fā)明涉及嵌入式系統(tǒng)?,尤其涉及一種數(shù)據(jù)傳輸裝置及方法。
背景技術(shù):
1、數(shù)據(jù)的實(shí)時(shí)高速傳輸是目前束診系統(tǒng)的技術(shù)瓶頸,數(shù)據(jù)傳輸方法的研究必須基于一定的硬件平臺(tái),近年來(lái)基于xilinx?zynq系列芯片的硬件平臺(tái)得到了廣泛應(yīng)用,很多實(shí)驗(yàn)室采用了zynq系列的嵌入式芯片搭建讀出電子學(xué)。
2、zynq平臺(tái)提供hp(high?performance)端口用于數(shù)據(jù)高速傳輸,目前各實(shí)驗(yàn)室的高速數(shù)據(jù)傳輸普遍采用axi?dma?(advanced?extensible?interface?direct?memoryaccess)或axi?cdma(advanced?extensible?interface?centraldirect?memory?access),它們是抽象層次較低的實(shí)現(xiàn)方法,用戶需要在arm端,即ps(processing?system)端開發(fā)數(shù)據(jù)傳輸引擎,并且生成面向設(shè)備的復(fù)雜傳輸指令(物理地址、字節(jié)數(shù)等),增加了應(yīng)用程序研發(fā)的復(fù)雜度,同時(shí)其傳輸速度不能完全滿足束診系統(tǒng)數(shù)據(jù)傳輸需求,因此研發(fā)通用接口、高吞吐率傳輸方法是束診系統(tǒng)急需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種數(shù)據(jù)傳輸裝置及方法,用以解決現(xiàn)有技術(shù)中針對(duì)束診系統(tǒng)的數(shù)據(jù)傳輸增加了應(yīng)用程序研發(fā)的復(fù)雜度,且數(shù)據(jù)傳輸速率較低的技術(shù)問題。
2、本發(fā)明提供一種數(shù)據(jù)傳輸裝置,包括:可編程邏輯芯片和處理器芯片;所述可編程邏輯芯片包括多個(gè)數(shù)據(jù)傳輸模塊,每個(gè)所述數(shù)據(jù)傳輸模塊均連接所述處理器芯片,每個(gè)所述數(shù)據(jù)傳輸模塊用于將接收的待傳輸數(shù)據(jù)傳輸至與所述處理器芯片連接的存儲(chǔ)器,并觸發(fā)所述處理器芯片執(zhí)行將所述待傳輸數(shù)據(jù)由存儲(chǔ)器傳輸至用戶應(yīng)用程序的動(dòng)作。
3、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,每個(gè)所述數(shù)據(jù)傳輸模塊均包括:數(shù)據(jù)接口模塊、傳輸控制模塊和數(shù)據(jù)遷移模塊,所述傳輸控制模塊連接所述數(shù)據(jù)接口模塊和數(shù)據(jù)遷移模塊。
4、所述數(shù)據(jù)接口模塊用于接收數(shù)據(jù)傳輸參數(shù),并將所述數(shù)據(jù)傳輸參數(shù)發(fā)送至傳輸控制模塊。
5、所述傳輸控制模塊基于所述數(shù)據(jù)傳輸參數(shù),生成數(shù)據(jù)傳輸指令,并將所述數(shù)據(jù)傳輸指令發(fā)送至所述數(shù)據(jù)遷移模塊。
6、所述數(shù)據(jù)遷移模塊用于接收待傳輸數(shù)據(jù),并基于所述數(shù)據(jù)傳輸指令,將所述待傳輸數(shù)據(jù)傳輸至存儲(chǔ)器,所述傳輸控制模塊連接處理器芯片,用于在數(shù)據(jù)遷移模塊傳輸待傳輸數(shù)據(jù)之后,觸發(fā)處理器芯片執(zhí)行將所述待傳輸數(shù)據(jù)由存儲(chǔ)器傳輸至用戶應(yīng)用程序的動(dòng)作。
7、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述可編程邏輯芯片還包括:信號(hào)觸發(fā)模塊,用于產(chǎn)生可編程邏輯芯片的內(nèi)部觸發(fā)信號(hào);所述數(shù)據(jù)傳輸參數(shù)包括:工作模式、數(shù)據(jù)傳輸時(shí)長(zhǎng)、外部觸發(fā)信號(hào)和信號(hào)觸發(fā)模塊的觸發(fā)頻率;所述工作模式包括:外部觸發(fā)模式和內(nèi)部觸發(fā)模式,所述外部觸發(fā)模式下,由所述外部觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)傳輸,內(nèi)部觸發(fā)模式下,由所述信號(hào)觸發(fā)模塊產(chǎn)生內(nèi)部觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)傳輸,所述工作模式、數(shù)據(jù)傳輸時(shí)長(zhǎng)和信號(hào)觸發(fā)模塊的觸發(fā)頻率由處理器芯片端的用戶應(yīng)用程序設(shè)置,外部觸發(fā)信號(hào)由外部設(shè)備提供。
8、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述數(shù)據(jù)接口模塊還用于在接收所述數(shù)據(jù)傳輸參數(shù)之后,基于預(yù)設(shè)的待傳輸數(shù)據(jù)的輸入頻率、待傳輸數(shù)據(jù)每次輸入字節(jié)數(shù)及一次最大可輸出字節(jié)數(shù),將數(shù)據(jù)傳輸時(shí)長(zhǎng)轉(zhuǎn)換為傳輸次數(shù),并將所述傳輸次數(shù)、工作模式、信號(hào)觸發(fā)模塊的觸發(fā)頻率和外部觸發(fā)信號(hào)發(fā)送至所述傳輸控制模塊,所述傳輸控制模塊基于所述傳輸次數(shù)、工作模式、信號(hào)觸發(fā)模塊的觸發(fā)頻率和外部觸發(fā)信號(hào)生成并發(fā)送數(shù)據(jù)傳輸指令至所述數(shù)據(jù)遷移模塊。
9、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述傳輸控制模塊用于基于所述傳輸次數(shù)確定要生成的數(shù)據(jù)傳輸指令的目標(biāo)數(shù)量,生成目標(biāo)數(shù)量的數(shù)據(jù)傳輸指令,并根據(jù)工作模式,選擇在外部觸發(fā)信號(hào)觸發(fā)或在內(nèi)部觸發(fā)信號(hào)觸時(shí)發(fā)送數(shù)據(jù)傳輸指令至數(shù)據(jù)遷移模塊,所述數(shù)據(jù)傳輸指令包括:目標(biāo)存儲(chǔ)地址和數(shù)據(jù)幀傳輸長(zhǎng)度,所述目標(biāo)存儲(chǔ)地址為傳輸控制模塊自動(dòng)生成的將每次傳輸?shù)臄?shù)據(jù)幀存放的存儲(chǔ)器地址,數(shù)據(jù)幀傳輸長(zhǎng)度為一次傳輸?shù)膶?shí)際數(shù)據(jù)量大小。
10、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述數(shù)據(jù)遷移模塊內(nèi)設(shè)有指令緩沖區(qū),所述數(shù)據(jù)遷移模塊還用于將接收到的數(shù)據(jù)傳輸指令以隊(duì)列的形式緩存在指令緩沖區(qū)內(nèi)。
11、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述傳輸控制模塊用于在數(shù)據(jù)遷移模塊傳輸待傳輸數(shù)據(jù)之后,發(fā)送中斷信號(hào)至所述處理器芯片,所述處理器芯片用于基于中斷信號(hào)發(fā)出數(shù)據(jù)讀取信號(hào),所述數(shù)據(jù)讀取信號(hào)用于指示用戶應(yīng)用程序讀取所述存儲(chǔ)器中的數(shù)據(jù)。
12、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,所述處理器芯片還用于以驅(qū)動(dòng)方式提供用戶應(yīng)用程序調(diào)用的數(shù)據(jù)處理接口,所述數(shù)據(jù)處理接口用于在所述用戶應(yīng)用程序調(diào)用時(shí),將所述存儲(chǔ)器中的數(shù)據(jù)傳輸至所述用戶應(yīng)用程序。
13、根據(jù)本發(fā)明提供的一種數(shù)據(jù)傳輸裝置,基于zynq?ultrascale+mpsoc器件實(shí)現(xiàn),所述可編程邏輯芯片為所述器件的可編程邏輯端,所述處理器芯片為所述器件的處理器端。
14、本發(fā)明還提供一種數(shù)據(jù)傳輸方法,基于上述任一項(xiàng)所述的數(shù)據(jù)傳輸裝置實(shí)現(xiàn),所述方法包括以下步驟。
15、接收待傳輸數(shù)據(jù),將所述待傳輸數(shù)據(jù)傳輸至與所述處理器芯片連接的存儲(chǔ)器。
16、觸發(fā)所述處理器芯片執(zhí)行將所述待傳輸數(shù)據(jù)由存儲(chǔ)器傳輸至用戶應(yīng)用程序的動(dòng)作。
17、本發(fā)明提供的數(shù)據(jù)傳輸裝置及方法中,該裝置包括可編程邏輯芯片和處理器芯片;所述可編程邏輯芯片包括多個(gè)數(shù)據(jù)傳輸模塊,每個(gè)所述數(shù)據(jù)傳輸模塊均連接所述處理器芯片,用于將接收的待傳輸數(shù)據(jù)傳輸至與所述處理器芯片連接的存儲(chǔ)器,并觸發(fā)所述處理器芯片執(zhí)行將所述待傳輸數(shù)據(jù)由存儲(chǔ)器傳輸至用戶應(yīng)用程序的動(dòng)作。由于對(duì)待傳輸數(shù)據(jù)的傳輸控制是在可編程邏輯芯片端的數(shù)據(jù)傳輸模塊完成的,不需要在處理器芯片端(即ps端)開發(fā)數(shù)據(jù)傳輸引擎,降低了應(yīng)用程序研發(fā)的復(fù)雜度,且可編程邏輯芯片端包括多個(gè)數(shù)據(jù)傳輸模塊,可并行執(zhí)行數(shù)據(jù)傳輸控制,從而實(shí)現(xiàn)了高速率的數(shù)據(jù)傳輸。
1.一種數(shù)據(jù)傳輸裝置,其特征在于,包括:可編程邏輯芯片和處理器芯片;
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸裝置,其特征在于,每個(gè)所述數(shù)據(jù)傳輸模塊均包括:數(shù)據(jù)接口模塊、傳輸控制模塊和數(shù)據(jù)遷移模塊,所述傳輸控制模塊連接所述數(shù)據(jù)接口模塊和數(shù)據(jù)遷移模塊;
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)傳輸裝置,其特征在于,所述可編程邏輯芯片還包括:信號(hào)觸發(fā)模塊,用于產(chǎn)生可編程邏輯芯片的內(nèi)部觸發(fā)信號(hào);所述數(shù)據(jù)傳輸參數(shù)包括:工作模式、數(shù)據(jù)傳輸時(shí)長(zhǎng)、外部觸發(fā)信號(hào)和信號(hào)觸發(fā)模塊的觸發(fā)頻率;所述工作模式包括:外部觸發(fā)模式和內(nèi)部觸發(fā)模式,所述外部觸發(fā)模式下,由所述外部觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)傳輸,內(nèi)部觸發(fā)模式下,由所述信號(hào)觸發(fā)模塊產(chǎn)生內(nèi)部觸發(fā)信號(hào)觸發(fā)數(shù)據(jù)傳輸,所述工作模式、數(shù)據(jù)傳輸時(shí)長(zhǎng)和信號(hào)觸發(fā)模塊的觸發(fā)頻率由處理器芯片端的用戶應(yīng)用程序設(shè)置,外部觸發(fā)信號(hào)由外部設(shè)備提供。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)接口模塊還用于在接收所述數(shù)據(jù)傳輸參數(shù)之后,基于預(yù)設(shè)的待傳輸數(shù)據(jù)的輸入頻率、待傳輸數(shù)據(jù)每次輸入字節(jié)數(shù)及一次最大可輸出字節(jié)數(shù),將數(shù)據(jù)傳輸時(shí)長(zhǎng)轉(zhuǎn)換為傳輸次數(shù),并將所述傳輸次數(shù)、工作模式、信號(hào)觸發(fā)模塊的觸發(fā)頻率和外部觸發(fā)信號(hào)發(fā)送至所述傳輸控制模塊,所述傳輸控制模塊基于所述傳輸次數(shù)、工作模式、信號(hào)觸發(fā)模塊的觸發(fā)頻率和外部觸發(fā)信號(hào)生成并發(fā)送數(shù)據(jù)傳輸指令至所述數(shù)據(jù)遷移模塊。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)傳輸裝置,其特征在于,所述傳輸控制模塊用于基于所述傳輸次數(shù)確定要生成的數(shù)據(jù)傳輸指令的目標(biāo)數(shù)量,生成目標(biāo)數(shù)量的數(shù)據(jù)傳輸指令,并根據(jù)工作模式,選擇在外部觸發(fā)信號(hào)觸發(fā)或在內(nèi)部觸發(fā)信號(hào)觸時(shí)發(fā)送數(shù)據(jù)傳輸指令至數(shù)據(jù)遷移模塊,所述數(shù)據(jù)傳輸指令包括:目標(biāo)存儲(chǔ)地址和數(shù)據(jù)幀傳輸長(zhǎng)度,所述目標(biāo)存儲(chǔ)地址為傳輸控制模塊自動(dòng)生成的將每次傳輸?shù)臄?shù)據(jù)幀存放的存儲(chǔ)器地址,數(shù)據(jù)幀傳輸長(zhǎng)度為一次傳輸?shù)膶?shí)際數(shù)據(jù)量大小。
6.根據(jù)權(quán)利要求2所述的數(shù)據(jù)傳輸裝置,其特征在于,所述數(shù)據(jù)遷移模塊內(nèi)設(shè)有指令緩沖區(qū),所述數(shù)據(jù)遷移模塊還用于將接收到的數(shù)據(jù)傳輸指令以隊(duì)列的形式緩存在指令緩沖區(qū)內(nèi)。
7.根據(jù)權(quán)利要求2所述的數(shù)據(jù)傳輸裝置,其特征在于,所述傳輸控制模塊用于在數(shù)據(jù)遷移模塊傳輸待傳輸數(shù)據(jù)之后,發(fā)送中斷信號(hào)至所述處理器芯片,所述處理器芯片用于基于中斷信號(hào)發(fā)出數(shù)據(jù)讀取信號(hào),所述數(shù)據(jù)讀取信號(hào)用于指示用戶應(yīng)用程序讀取所述存儲(chǔ)器中的數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳輸裝置,其特征在于,所述處理器芯片還用于以驅(qū)動(dòng)方式提供用戶應(yīng)用程序調(diào)用的數(shù)據(jù)處理接口,所述數(shù)據(jù)處理接口用于在所述用戶應(yīng)用程序調(diào)用時(shí),將所述存儲(chǔ)器中的數(shù)據(jù)傳輸至所述用戶應(yīng)用程序。
9.根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的數(shù)據(jù)傳輸裝置,其特征在于,基于zynqultrascale+mpsoc器件實(shí)現(xiàn),所述可編程邏輯芯片為所述器件的可編程邏輯端,所述處理器芯片為所述器件的處理器端。
10.一種數(shù)據(jù)傳輸方法,其特征在于,基于所述權(quán)利要求1至9中任一項(xiàng)所述的數(shù)據(jù)傳輸裝置實(shí)現(xiàn),所述方法包括: