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

一種fpga高速讀取usb接口數(shù)據(jù)的方法

文檔序號(hào):6539517閱讀:354來源:國知局
一種fpga高速讀取usb接口數(shù)據(jù)的方法
【專利摘要】本發(fā)明涉及一種FPGA高速讀取USB接口數(shù)據(jù)的方法該具體過程為:步驟1.ARM初始化;步驟2.監(jiān)控FPGA初始化工作;步驟3.被傳數(shù)據(jù)參數(shù)提??;ARM處理器讀入U(xiǎn)SB外設(shè)被傳數(shù)據(jù)信息,計(jì)算傳輸次數(shù);步驟4.啟動(dòng)數(shù)據(jù)傳輸;步驟5.判斷FPGA準(zhǔn)備接收狀態(tài);步驟6.組幀轉(zhuǎn)發(fā)數(shù)據(jù);步驟7.判斷數(shù)據(jù)是否發(fā)送完畢;ARM處理器中的控制模塊計(jì)算所有數(shù)據(jù)是否發(fā)送完畢,如果沒有完畢,轉(zhuǎn)入步驟5繼續(xù)發(fā)送數(shù)據(jù),如果發(fā)送完畢,則停止發(fā)送數(shù)據(jù);步驟8.結(jié)束數(shù)據(jù)轉(zhuǎn)發(fā)。本發(fā)明采用ARM處理器間接實(shí)現(xiàn)FPGA讀取US?B設(shè)備的數(shù)據(jù),大大降低FPGA控制和管理USB設(shè)備的工作量,從而節(jié)省FPGA的資源開銷,間接降低FPGA的成本開銷。
【專利說明】—種FPGA高速讀取USB接口數(shù)據(jù)的方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及電子設(shè)備的USB接口領(lǐng)域,尤其涉及一種基于FPGA實(shí)現(xiàn)USB接口高速獲取大容量數(shù)據(jù)的方法。
【背景技術(shù)】
[0002]USB具有傳輸速率快、即插即用、靈活性高、成本低和簡(jiǎn)便易用等特點(diǎn),USB接口越來越受消費(fèi)者、研究者的青睞,USB標(biāo)準(zhǔn)接口正逐漸取代其他接口,成為計(jì)算機(jī)外部設(shè)備應(yīng)用最廣泛的標(biāo)準(zhǔn)接口。而FPGA由于其具有高集成度、高速、可編程等優(yōu)點(diǎn),推動(dòng)了數(shù)字系統(tǒng)設(shè)計(jì)的單片化、自動(dòng)化發(fā)展,在超高速信號(hào)處理和實(shí)時(shí)測(cè)控方面有非常廣泛的應(yīng)用。因此,將FPGA與USB接口結(jié)合,使FPGA能夠通過USB接口實(shí)現(xiàn)高速讀取外部設(shè)備的數(shù)據(jù)己成為嵌入式電子系統(tǒng)設(shè)計(jì)的重要手段。
[0003]具有USB接口的設(shè)備可分為從設(shè)備和主設(shè)備。目前FPGA作為從設(shè)備,通過USB接口實(shí)現(xiàn)與上位機(jī)(通常指計(jì)算機(jī))的通信較為成熟,應(yīng)用較廣的方案為上位機(jī)通過CY68013芯片實(shí)現(xiàn)與FPGA之間的通信,由于上位機(jī)一般體積較大,它約束了以FPGA為主的便攜式嵌入式系統(tǒng)的推廣。目前FPGA作為主設(shè)備實(shí)現(xiàn)高速讀取U盤、SD卡、數(shù)碼相機(jī)、移動(dòng)硬盤等USB設(shè)備的數(shù)據(jù)存在困難,其原因有二,一是FPGA作為主設(shè)備,在其內(nèi)部實(shí)現(xiàn)USB控制和傳輸協(xié)議較為困難,它需要實(shí)現(xiàn)USB底層傳輸協(xié)議,和USB控制協(xié)議;USB底層協(xié)議如果自己開發(fā),工作量大,如果采用IP核,需要付專利費(fèi);同時(shí)USB控制協(xié)議一般需要通過內(nèi)建一個(gè)CPU軟核來實(shí)現(xiàn),這導(dǎo)致設(shè)計(jì)復(fù)雜,并且也占用較多的FPGA片上資源。二是FPGA外部采用專用USB芯片的解決方案。
[0004]典型的方案有兩種:第一種是集成了 USB控制器和USB收發(fā)器,但需自行實(shí)現(xiàn)文件系統(tǒng);另一種則是實(shí)現(xiàn)了包括文件系統(tǒng)在內(nèi)的所有USB讀取U盤所需的軟硬件,只需要FPGA發(fā)送命令進(jìn)行控制即可實(shí)現(xiàn)讀取U盤。
[0005]在這兩類方案中,CY7C67300集成度高,但其只支持USB1.1,傳輸速率較慢,同時(shí)需要FPGA對(duì)其進(jìn)行配置和控制和實(shí)現(xiàn)文件系統(tǒng),F(xiàn)PGA端的開發(fā)量較大。CH376支持USB2.0接口,是一個(gè)真正的單芯片解決方案。但CH376只支持FAT16 / 32文件系統(tǒng),不支持NTFS文件系統(tǒng),無法讀取大于4GB的大文件;同時(shí)CH376需要FPGA進(jìn)行配置和控制,因此需要實(shí)現(xiàn)CH376的控制邏輯并占用一定的FPGA資源而實(shí)際CH376芯片數(shù)據(jù)傳輸平均速度較慢,難以滿足高速傳輸要求。
[0006]鑒于上述缺陷,本發(fā)明創(chuàng)作者經(jīng)過長時(shí)間的研究和實(shí)踐終于獲得了本創(chuàng)作。

【發(fā)明內(nèi)容】

[0007]本發(fā)明的目的在于提供一種FPGA高速讀取USB接口數(shù)據(jù)的方法,用以克服上述技術(shù)缺陷。
[0008]為實(shí)現(xiàn)上述目的,本發(fā)明提供一種FPGA高速讀取USB接口數(shù)據(jù)的方法,該具體過程為:[0009]步驟I,ARM處理器初始化;
[0010]ARM處理器完成自身操作系統(tǒng)的加載,與數(shù)據(jù)傳輸相關(guān)部分的初始化工作,在USB外設(shè)插入后,完成USB設(shè)備驅(qū)動(dòng)的加載;
[0011]步驟2,監(jiān)控FPGA初始化工作;
[0012]如果FPGA完成自身系統(tǒng)加載工作,F(xiàn)PGA會(huì)通過響應(yīng)線向ARM處理器發(fā)出響應(yīng)信號(hào),表明已準(zhǔn)備好接受數(shù)據(jù),此時(shí)ARM處理器會(huì)通過信號(hào)指示燈指示用戶進(jìn)入數(shù)據(jù)轉(zhuǎn)發(fā)階段;
[0013]步驟3,被傳數(shù)據(jù)參數(shù)提取;
[0014]ARM處理器讀入U(xiǎn)SB外設(shè)被傳數(shù)據(jù)信息,計(jì)算傳輸次數(shù);
[0015]步驟4,啟動(dòng)數(shù)據(jù)傳輸;
[0016]ARM處理器將USB外設(shè)數(shù)據(jù)轉(zhuǎn)發(fā)給FPGA ;
[0017]步驟5,判斷FPGA準(zhǔn)備接收狀態(tài);
[0018]步驟6,組幀轉(zhuǎn)發(fā)數(shù)據(jù);
[0019]ARM處理器中的轉(zhuǎn)發(fā)模塊將待發(fā)的數(shù)據(jù)進(jìn)行打包處理,添加幀頭信息,包括是否最后一包數(shù)據(jù)以及有效數(shù)據(jù)長度,F(xiàn)PGA可以判定數(shù)據(jù)是否完全發(fā)送完畢以及提取每幀有效數(shù)據(jù);
[0020]步驟7,判斷數(shù)據(jù)是否發(fā)送完畢;
[0021]ARM處理器中的控制模塊計(jì)算所有數(shù)據(jù)是否發(fā)送完畢,如果沒有完畢,轉(zhuǎn)入步驟5繼續(xù)發(fā)送數(shù)據(jù),如果發(fā)送完畢,則停止發(fā)送數(shù)據(jù);
[0022]步驟8,結(jié)束數(shù)據(jù)轉(zhuǎn)發(fā);
[0023]在轉(zhuǎn)發(fā)完數(shù)據(jù)后,ARM處理器關(guān)閉對(duì)USB外設(shè)的操作,通過指示燈提示數(shù)據(jù)發(fā)送完畢。
[0024]進(jìn)一步,上述步驟4包括兩個(gè)過程,分別為從USB外設(shè)讀入ARM處理器的內(nèi)存緩存器以及將內(nèi)存緩存器的數(shù)據(jù)組幀轉(zhuǎn)發(fā)給FPGA兩個(gè)過程,
[0025]采用"乒乓方式"讀取USB外設(shè)數(shù)據(jù),即,ARM處理器開辟兩個(gè)緩存空間,以便在進(jìn)行當(dāng)前緩存空間組幀發(fā)送的同時(shí),ARM將USB外設(shè)數(shù)據(jù)讀入另一緩存空間。
[0026]進(jìn)一步,所述ARM處理器開辟第一緩存器和第二緩存器,所述ARM處理器監(jiān)控發(fā)送模塊是否發(fā)完第一緩存器的數(shù)據(jù),如果未發(fā)完,等待數(shù)據(jù)發(fā)完;如果發(fā)送完畢,則向第一緩存器讀入新的數(shù)據(jù),再判斷第二緩存器的數(shù)據(jù)是否發(fā)完,依此循環(huán)操作。
[0027]進(jìn)一步,在上述步驟5中,所述FPGA在發(fā)送下一幀數(shù)據(jù)時(shí)判斷FPGA是否準(zhǔn)備好接收下一幀數(shù)據(jù),如果未收到FPGA通過響應(yīng)線發(fā)來的準(zhǔn)備好接收信號(hào),則繼續(xù)等待,直到FPGA準(zhǔn)備好接收數(shù)據(jù)為止。
[0028]進(jìn)一步,在上述步驟6中,ARM處理器中的轉(zhuǎn)發(fā)模塊中傳輸?shù)膸^信息默認(rèn)長度為2字節(jié),可根據(jù)需要進(jìn)行調(diào)整。
[0029]進(jìn)一步,所述ARM處理器和FPGA接口信號(hào)線包括片選信號(hào)、寫信號(hào)、響應(yīng)信號(hào)線、地址總線和數(shù)據(jù)總線,F(xiàn)PGA在完成初始化或接收完一幀數(shù)據(jù)后,通過響應(yīng)信號(hào)線向ARM處理器發(fā)出允許發(fā)數(shù)據(jù)信號(hào),ARM處理器通過數(shù)據(jù)總線向FPGA發(fā)數(shù)據(jù),同時(shí)向FPGA發(fā)出片選信號(hào)、寫信號(hào)和地址總線等輔助信息供FPGA正確接收數(shù)據(jù)用。
[0030]與現(xiàn)有技術(shù)相比較本發(fā)明的有益效果在于:1)本發(fā)明由于采用ARM處理器間接實(shí)現(xiàn)FPGA讀取USB設(shè)備的數(shù)據(jù),大大降低FPGA控制和管理USB設(shè)備的工作量,從而節(jié)省FPGA的資源開銷,間接降低FPGA的成本開銷。
[0031]2)本發(fā)明由于采用ARM處理器乒乓方式傳輸數(shù)據(jù)并以幀格式方式通過并行總線發(fā)送給FPGA,可以實(shí)現(xiàn)FPGA高速讀取數(shù)據(jù)的功能,便于開展超大規(guī)模圖像尺寸的FPGA圖像處理;
[0032]3)本發(fā)明由于采用ARM處理器,ARM處理器便于移植,系統(tǒng)便于升級(jí)處理以兼容更多USB外設(shè)。
[0033]4)本發(fā)明由于ARM處理器和FPGA模塊之間數(shù)據(jù)總線采用8位、16位和32位可調(diào)位寬設(shè)計(jì),適合不同類型的數(shù)據(jù)傳輸處理。
[0034]5)本發(fā)明中的FPGA只需簡(jiǎn)單處理,根據(jù)幀格式提取數(shù)據(jù),相比之前的方法更為簡(jiǎn)潔,可以保證高速、實(shí)時(shí)接收數(shù)據(jù)。
【專利附圖】

【附圖說明】
[0035]圖1為本發(fā)明FPGA讀取USB設(shè)備數(shù)據(jù)裝置的示意圖;
[0036]圖2為本發(fā)明FPGA與ARM處理器之間連線示意圖;
[0037]圖3為本發(fā)明ARM處理器數(shù)據(jù)轉(zhuǎn)發(fā)組幀結(jié)構(gòu)置示意圖;
[0038]圖4為本發(fā)明ARM處理器控制轉(zhuǎn)發(fā)USB設(shè)備數(shù)據(jù)流程圖。
【具體實(shí)施方式】
[0039]以下結(jié)合附圖,對(duì)本發(fā)明上述的和另外的技術(shù)特征和優(yōu)點(diǎn)作更詳細(xì)的說明。
[0040]請(qǐng)參閱圖1所示,其為本發(fā)明FPGA讀取USB設(shè)備數(shù)據(jù)裝置的示意圖,該裝置包括數(shù)據(jù)讀取模塊、控制模塊、數(shù)據(jù)轉(zhuǎn)發(fā)模塊、接收模塊和DDR模塊,其中,數(shù)據(jù)讀取模塊、控制模塊和數(shù)據(jù)轉(zhuǎn)發(fā)模塊存儲(chǔ)在ARM處理器中,DDR模塊與FPGA連接。
[0041]所述數(shù)據(jù)讀取模塊與USB外設(shè)連接,用于從USB外設(shè)中存儲(chǔ)的數(shù)據(jù),在用戶啟動(dòng)數(shù)據(jù)讀取功能后,數(shù)據(jù)讀取模塊根據(jù)預(yù)定的文件路徑,從USB外設(shè)打開指定的文件,獲取文件大小信息,并按預(yù)設(shè)置的數(shù)據(jù)塊大小依次讀取,直至讀完數(shù)據(jù)并關(guān)閉文件。
[0042]所述控制模塊,控制ARM處理器讀取并轉(zhuǎn)發(fā)USB外設(shè)中的數(shù)據(jù),在進(jìn)入數(shù)據(jù)轉(zhuǎn)發(fā)工作后,控制模塊采用"乒乓操作"模式負(fù)責(zé)將USB外設(shè)數(shù)據(jù)依次讀入內(nèi)存中開辟的第一緩存器和第二緩存器,即監(jiān)控發(fā)送模塊是否發(fā)完第一緩存器的數(shù)據(jù),如果未發(fā)完,等待數(shù)據(jù)發(fā)完;如果發(fā)送完畢,則向第一緩存器讀入新的數(shù)據(jù),再判斷第二緩存器的數(shù)據(jù)是否發(fā)完,依此循環(huán)操作;由于ARM處理器從USB外設(shè)讀入的數(shù)據(jù)速率比轉(zhuǎn)發(fā)的數(shù)據(jù)速率快,因此,它不會(huì)造成數(shù)據(jù)的丟失。
[0043]所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,用于將內(nèi)存中的第一緩存器和第二緩存器的數(shù)據(jù)轉(zhuǎn)發(fā)給FPGA,數(shù)據(jù)轉(zhuǎn)發(fā)模塊根據(jù)所讀取的文件大小信息,判斷需要傳輸?shù)拇螖?shù),每次按幀數(shù)據(jù)格式組幀,然后發(fā)送給FPGA接收端。
[0044]所述數(shù)據(jù)接收模塊,用于實(shí)現(xiàn)與ARM處理器之間的數(shù)據(jù)交互;FPGA將接收到的數(shù)據(jù)暫存于內(nèi)部開辟的RAM,如果只需處理少量數(shù)據(jù),F(xiàn)PGA數(shù)據(jù)處理單元可以直接處理該部分?jǐn)?shù)據(jù),如果需要處理大量的數(shù)據(jù),如大尺寸圖像數(shù)據(jù),則可將暫存于RAM的數(shù)據(jù)存入DDR高速緩存芯片以便實(shí)時(shí)處理。[0045]請(qǐng)參閱圖2所示,其為本發(fā)明FPGA與ARM處理器之間連線示意圖,本發(fā)明的ARM處理器和FPGA接口信號(hào)線包括片選信號(hào)、寫信號(hào)、響應(yīng)信號(hào)線、地址總線和數(shù)據(jù)總線,F(xiàn)PGA在完成初始化或接收完一幀數(shù)據(jù)后,通過響應(yīng)信號(hào)線向ARM處理器發(fā)出允許發(fā)數(shù)據(jù)信號(hào),ARM處理器通過數(shù)據(jù)總線向FPGA發(fā)數(shù)據(jù),同時(shí)向FPGA發(fā)出片選信號(hào)、寫信號(hào)和地址總線等輔助信息供FPGA正確接收數(shù)據(jù)用。
[0046]請(qǐng)參閱圖3所示,其為本發(fā)明ARM處理器數(shù)據(jù)轉(zhuǎn)發(fā)組幀結(jié)構(gòu)置示意圖,本發(fā)明的幀格式,包括幀類型、擴(kuò)展位、幀有效數(shù)據(jù)長度和數(shù)據(jù)信息,其中幀類型占2位位寬,用于區(qū)分是否最后一幀數(shù)據(jù)。擴(kuò)展位用于今后功能擴(kuò)展,幀有效數(shù)據(jù)長度表示將轉(zhuǎn)發(fā)的數(shù)據(jù)長度,數(shù)據(jù)信息為被傳的有效數(shù)據(jù)。
[0047]本發(fā)明中所述的FPGA選用xilinx公司的XC5VFX130T-1738芯片;所述的ARM處理器選用三星的S5V210芯片,它支持USb2.0協(xié)議,滿足高速傳輸要求;所述的FPGA存儲(chǔ)模塊選用美光公司的MT47H128M16HG芯片,單片存儲(chǔ)容量2Gbit,支持高速緩存,支持并聯(lián)以擴(kuò)大存儲(chǔ)容量。
[0048]請(qǐng)參閱圖4所示,其為本發(fā)明ARM處理器控制轉(zhuǎn)發(fā)USB設(shè)備數(shù)據(jù)流程圖,本發(fā)明的ARM處理器控制發(fā)送USB外設(shè)數(shù)據(jù)流程如下:
[0049]步驟I,ARM處理器初始化;
[0050]ARM處理器完成自身操作系統(tǒng)的加載,與數(shù)據(jù)傳輸相關(guān)部分的初始化工作,在USB外設(shè)插入后,完成USB設(shè)備驅(qū)動(dòng)的加載。
[0051 ] 步驟2,監(jiān)控FPGA初始化工作;
[0052]如果FPGA完成自身系統(tǒng)加載工作,F(xiàn)PGA會(huì)通過響應(yīng)線向ARM處理器發(fā)出響應(yīng)信號(hào),表明已準(zhǔn)備好接受數(shù)據(jù),此時(shí)ARM處理器會(huì)通過信號(hào)指示燈指示用戶進(jìn)入數(shù)據(jù)轉(zhuǎn)發(fā)階段。
[0053]步驟3,被傳數(shù)據(jù)參數(shù)提取;
[0054]ARM處理器讀入U(xiǎn)SB外設(shè)被傳數(shù)據(jù)信息,計(jì)算傳輸次數(shù);
[0055]步驟4,啟動(dòng)數(shù)據(jù)傳輸;
[0056]ARM處理器將USB外設(shè)數(shù)據(jù)轉(zhuǎn)發(fā)給FPGA包括兩過程,即從USB外設(shè)讀入ARM處理器內(nèi)存緩存器以及將內(nèi)存緩存器的數(shù)據(jù)組幀轉(zhuǎn)發(fā)給FPGA兩過程,為了快速發(fā)送數(shù)據(jù),需要采用"乒乓方式"讀取USB外設(shè)數(shù)據(jù),S卩,ARM處理器開辟兩緩存空間,以便在進(jìn)行當(dāng)前緩存空間組幀發(fā)送的同時(shí),ARM將USB外設(shè)數(shù)據(jù)讀入另一緩存空間,由于ARM處理器從USB外設(shè)數(shù)據(jù)讀入的速度比組幀發(fā)送給FPGA的速度快通過這樣處理不會(huì)造成數(shù)據(jù)的丟失,并且可以提高整個(gè)系統(tǒng)讀取USB外設(shè)的速度。
[0057]數(shù)據(jù)組幀并行傳輸工作,ARM處理器采用并行傳輸模式向FPGA發(fā)送數(shù)據(jù),數(shù)據(jù)位寬可以選用8位、16位和32位等,為了保證FPGA快速讀取數(shù)據(jù),采用幀格式進(jìn)行數(shù)據(jù)打包,ARM采用連續(xù)發(fā)送方式發(fā)送完一幀數(shù)據(jù)。
[0058]步驟5,判斷FPGA準(zhǔn)備接收狀態(tài);
[0059]由于FPGA接收一幀數(shù)據(jù)后需要根據(jù)需求轉(zhuǎn)發(fā)數(shù)據(jù),為了保證FPGA準(zhǔn)確接收數(shù)據(jù),需要在發(fā)送下一幀數(shù)據(jù)時(shí)判斷FPGA是否準(zhǔn)備好接收下一幀數(shù)據(jù),如果未收到FPGA通過響應(yīng)線發(fā)來的準(zhǔn)備好接收信號(hào),則繼續(xù)等待,直到FPGA準(zhǔn)備好接收數(shù)據(jù)為止。
[0060]步驟6,組幀轉(zhuǎn)發(fā)數(shù)據(jù);[0061 ] ARM轉(zhuǎn)發(fā)模塊將待發(fā)的數(shù)據(jù)進(jìn)行打包處理,添加幀頭信息,包括是否最后一包數(shù)據(jù)以及有效數(shù)據(jù)長度,為節(jié)省幀開銷,幀頭信息默認(rèn)長度為2字節(jié),可根據(jù)需要進(jìn)行調(diào)整。通過以上處理,F(xiàn)PGA可以判定數(shù)據(jù)是否完全發(fā)送完畢以及提取每幀有效數(shù)據(jù)。
[0062]步驟7,判斷數(shù)據(jù)是否發(fā)送完畢;
[0063]ARM控制模塊計(jì)算所有數(shù)據(jù)是否發(fā)送完畢,如果沒有完畢,轉(zhuǎn)入步驟5繼續(xù)發(fā)送數(shù)據(jù),如果發(fā)送完畢,則停止發(fā)送數(shù)據(jù)。
[0064]步驟8,結(jié)束數(shù)據(jù)轉(zhuǎn)發(fā);
[0065]在轉(zhuǎn)發(fā)完數(shù)據(jù)后,ARM處理器關(guān)閉對(duì)USB外設(shè)的操作,通過指示燈提示數(shù)據(jù)發(fā)送完畢。
[0066]本發(fā)明中的FPGA只需簡(jiǎn)單處理,根據(jù)幀格式提取數(shù)據(jù),相比之前的方法更為簡(jiǎn)潔,可以保證高速、實(shí)時(shí)接收數(shù)據(jù)。
[0067]以上所述僅為本發(fā)明的較佳實(shí)施例,對(duì)發(fā)明而言僅僅是說明性的,而非限制性的。本專業(yè)技術(shù)人員理解,在發(fā)明權(quán)利要求所限定的精神和范圍內(nèi)可對(duì)其進(jìn)行許多改變,修改,甚至等效,但都將落入本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,該具體過程為: 步驟1,ARM處理器初始化; ARM處理器完成自身操作系統(tǒng)的加載,與數(shù)據(jù)傳輸相關(guān)部分的初始化工作,在USB外設(shè)插入后,完成USB設(shè)備驅(qū)動(dòng)的加載; 步驟2,監(jiān)控FPGA初始化工作; 如果FPGA完成自身系統(tǒng)加載工作,F(xiàn)PGA會(huì)通過響應(yīng)線向ARM處理器發(fā)出響應(yīng)信號(hào),表明已準(zhǔn)備好接受數(shù)據(jù),此時(shí)ARM處理器會(huì)通過信號(hào)指示燈指示用戶進(jìn)入數(shù)據(jù)轉(zhuǎn)發(fā)階段;步驟3,被傳數(shù)據(jù)參數(shù)提取; ARM處理器讀入U(xiǎn)SB外設(shè)被傳數(shù)據(jù)信息,計(jì)算傳輸次數(shù); 步驟4,啟動(dòng)數(shù)據(jù)傳輸; ARM處理器將USB外設(shè)數(shù)據(jù)轉(zhuǎn)發(fā)給FPGA ; 步驟5,判斷FPGA準(zhǔn)備接收狀態(tài); 步驟6,組幀轉(zhuǎn)發(fā)數(shù)據(jù); ARM處理器中的轉(zhuǎn)發(fā)模塊將待發(fā)的數(shù)據(jù)進(jìn)行打包處理,添加幀頭信息,包括是否最后一包數(shù)據(jù)以及有效數(shù)據(jù)長度,F(xiàn)PGA可以判定數(shù)據(jù)是否完全發(fā)送完畢以及提取每幀有效數(shù)據(jù);步驟7,判斷數(shù)據(jù)是否發(fā)送完畢; ARM處理器中的控制模塊計(jì)算所有數(shù)據(jù)是否發(fā)送完畢,如果沒有完畢,轉(zhuǎn)入步驟5繼續(xù)發(fā)送數(shù)據(jù),如果發(fā)送完畢,則停止發(fā)送數(shù)據(jù); 步驟8,結(jié)束數(shù)據(jù)轉(zhuǎn)發(fā); 在轉(zhuǎn)發(fā)完數(shù)據(jù)后,ARM處理器關(guān)閉對(duì)USB外設(shè)的操作,通過指示燈提示數(shù)據(jù)發(fā)送完畢。
2.根據(jù)權(quán)利要求1所述的FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,上述步驟4包括兩個(gè)過程,分別為從USB外設(shè)讀入ARM處理器的內(nèi)存緩存器以及將內(nèi)存緩存器的數(shù)據(jù)組幀轉(zhuǎn)發(fā)給FPGA兩個(gè)過程, 采用"乒乓方式"讀取USB外設(shè)數(shù)據(jù),即,ARM處理器開辟兩個(gè)緩存空間,以便在進(jìn)行當(dāng)前緩存空間組幀發(fā)送的同時(shí),ARM將USB外設(shè)數(shù)據(jù)讀入另一緩存空間。
3.根據(jù)權(quán)利要求2所述的FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,所述ARM處理器開辟第一緩存器和第二緩存器,所述ARM處理器監(jiān)控發(fā)送模塊是否發(fā)完第一緩存器的數(shù)據(jù),如果未發(fā)完,等待數(shù)據(jù)發(fā)完;如果發(fā)送完畢,則向第一緩存器讀入新的數(shù)據(jù),再判斷第二緩存器的數(shù)據(jù)是否發(fā)完,依此循環(huán)操作。
4.根據(jù)權(quán)利要求1或2所述的FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,在上述步驟5中,所述FPGA在發(fā)送下一幀數(shù)據(jù)時(shí)判斷FPGA是否準(zhǔn)備好接收下一幀數(shù)據(jù),如果未收到FPGA通過響應(yīng)線發(fā)來的準(zhǔn)備好接收信號(hào),則繼續(xù)等待,直到FPGA準(zhǔn)備好接收數(shù)據(jù)為止。
5.根據(jù)權(quán)利要求1或2所述的FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,在上述步驟6中,ARM處理器中的轉(zhuǎn)發(fā)模塊中傳輸?shù)膸^信息默認(rèn)長度為2字節(jié),可根據(jù)需要進(jìn)行調(diào)整。
6.根據(jù)權(quán)利要求1所述的FPGA高速讀取USB接口數(shù)據(jù)的方法,其特征在于,所述ARM處理器和FPGA接口信號(hào)線包括片選信號(hào)、寫信號(hào)、響應(yīng)信號(hào)線、地址總線和數(shù)據(jù)總線,F(xiàn)PGA在完成初始化或接收完一幀數(shù)據(jù)后,通過響應(yīng)信號(hào)線向ARM處理器發(fā)出允許發(fā)數(shù)據(jù)信號(hào),ARM處理器通過數(shù)據(jù)總線向FPGA發(fā)數(shù)據(jù),同時(shí)向FPGA發(fā)出片選信號(hào)、寫信號(hào)和地址總線等輔助信息供FPGA正確接收 數(shù)據(jù)用。
【文檔編號(hào)】G06F13/38GK103838694SQ201410077587
【公開日】2014年6月4日 申請(qǐng)日期:2014年2月28日 優(yōu)先權(quán)日:2014年2月28日
【發(fā)明者】姚引娣 申請(qǐng)人:西安郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1