[發(fā)明專利]基于多塊USB接口芯片提高與上位機(jī)通訊速率的方法在審
| 申請?zhí)枺?/td> | 201910369736.9 | 申請日: | 2019-05-06 | 
| 公開(公告)號: | CN110147338A | 公開(公告)日: | 2019-08-20 | 
| 發(fā)明(設(shè)計)人: | 張治國;賴小松;王藝璇;施博文 | 申請(專利權(quán))人: | 電子科技大學(xué) | 
| 主分類號: | G06F13/38 | 分類號: | G06F13/38 | 
| 代理公司: | 成都立信專利事務(wù)所有限公司 51100 | 代理人: | 馮忠亮 | 
| 地址: | 610054 四川省成*** | 國省代碼: | 四川;51 | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | 上位機(jī) 上位機(jī)通訊 多塊 數(shù)據(jù)輸入模塊 匹配問題 多線程 下位機(jī) 并發(fā) 數(shù)據(jù)處理程序 并口數(shù)據(jù) 并行傳輸 程序解析 輸入模塊 傳輸 并口 | ||
1.基于多塊USB接口芯片提高與上位機(jī)通訊速率的方法,其特征在于,包括并口數(shù)據(jù)輸入模塊、多塊USB接口芯片、上位機(jī)多線程數(shù)據(jù)處理程序,F(xiàn)PGA控制模塊,其中并口數(shù)據(jù)輸入模塊采取16線或8線并口作為輸入接口,多塊USB接口芯片傳輸速率總和大于并口數(shù)據(jù)輸入模塊的傳輸速率,F(xiàn)PGA控制模塊通過并口連接于并口數(shù)據(jù)輸入模塊,通過SPI通訊協(xié)議連接于各塊USB接口芯片,各塊USB接口芯片通過USB協(xié)議連接于上位機(jī),F(xiàn)PGA控制模塊共有(N+1)個并行子程序,F(xiàn)PGA控制模塊內(nèi)部創(chuàng)建N個緩沖區(qū)用于保存并口數(shù)據(jù)輸入模塊里面的數(shù)據(jù),每個緩沖區(qū)的大小為64個字節(jié),F(xiàn)PGA控制模塊第一個并行子程序?yàn)樽x取子程序,其功能是將并口數(shù)據(jù)輸入模塊里面的數(shù)據(jù)按字節(jié)大小依次寫入N個緩沖區(qū),每個緩沖區(qū)對應(yīng)一塊USB接口芯片,然后其余N個并行子程序?yàn)閭鬏斪映绦颍涔δ苁峭ㄟ^SPI協(xié)議驅(qū)動各個USB接口芯片將每塊緩沖區(qū)的數(shù)據(jù)傳輸至上位機(jī),在上位機(jī)創(chuàng)建N+1個線程安全隊(duì)列:queue,queue1……queueN,上位機(jī)創(chuàng)建N+1個子線程,其中前N個子線程用于接收N塊USB接口芯片傳上來的數(shù)據(jù),并將數(shù)據(jù)依次存入queue1到queueN線程安全隊(duì)列里,第N+1個子線程將queue1,queue2……queueN線程安全隊(duì)列的數(shù)據(jù)依次取出放入queue線程安全隊(duì)列里,合成并口數(shù)據(jù)輸入模塊的原始數(shù)據(jù),即把queue1里面的數(shù)據(jù)彈出一幀數(shù)據(jù)放入queue線程安全隊(duì)列,然后把queue2里面的數(shù)據(jù)彈出一幀數(shù)據(jù)放入queue線程安全隊(duì)列,直到把第N個queueN線程安全隊(duì)列里面的數(shù)據(jù)彈出一幀數(shù)據(jù)放入queue線程安全隊(duì)列,然后重復(fù)以上步驟,queue線程安全隊(duì)列里面的數(shù)據(jù)便是原始數(shù)據(jù)信號,供數(shù)字信號處理。
2.根據(jù)權(quán)利要求1所述的基于多塊USB接口芯片提高與上位機(jī)通訊速率的方法,其特征在于, FPGA的工作流程如下:
(a)FPGA創(chuàng)建N個數(shù)據(jù)幀為64個字節(jié)的緩沖區(qū):buffer1、buffer2……bufferN,N為緩沖區(qū)的編號,
(b)創(chuàng)建N個與緩沖區(qū)相對應(yīng)的狀態(tài)變量標(biāo)志Full1、Full2……FullN,其中FullN為0代表緩沖區(qū)N未滿,F(xiàn)ullN為1代表緩沖區(qū)N為滿,
(c)創(chuàng)建代表緩沖區(qū)對應(yīng)USB接口芯片狀態(tài)變量Flag,F(xiàn)lag取值為1到N,flag=k代表往第k塊USB接口芯片寫入并口數(shù)據(jù)輸入模塊的數(shù)據(jù),
(d)FPGA讀取并行子程序用于依次將并口數(shù)據(jù)輸入模塊的數(shù)據(jù)寫入FPGA的N塊緩沖區(qū),其邏輯流程分別為如下所示:
S1:初始化buffer1=0……buffer2=0,F(xiàn)lag=1,Full1……FullN=0,
S2:讀取Flag值,
S3:FPGA檢測Flag是否大于零,若是執(zhí)行S4,否則執(zhí)行S7,
S4:FPGA檢測Flag是否等于1,若是執(zhí)行S5,否則執(zhí)行S6 ,
S5:FPGA將FullN置零,執(zhí)行S7,
S6:FPGA將Full[Flag-1]置零,
S7:FPGA讀取并口輸入數(shù)據(jù)寫入Flag值對應(yīng)的緩沖區(qū)Buffer[Flag],
S8:FPGA將Full[Flag]置1,
S9:FPGA將Flag標(biāo)志值加1,
S10:FPGA檢測Flag是否等于N+1,若是執(zhí)行S11,否者執(zhí)行S2,
S11: FPGA將Flag置1,執(zhí)行S2,
(e)其余N個FPGA傳輸子程序邏輯流程一致,只是N的取值不同,其邏輯流程為:
S1:初始化N塊USB接口芯片,
S2:讀取N塊USB接口芯片的FullN標(biāo)志,
S3:FPGA檢測FullN標(biāo)志是否為1,若是執(zhí)行S4,否則執(zhí)行S2,
S4:驅(qū)動第N塊USB接口芯片把bufferN的數(shù)據(jù)傳入上位機(jī),執(zhí)行S2,
上位機(jī)的程序流程為:
(a)通過上位機(jī)建立的多線程并發(fā)數(shù)據(jù)處理程序:
包括主線程,用于初始化各外設(shè),界面配置,以及開啟N個數(shù)據(jù)接收線程來處理并口數(shù)據(jù)輸入模塊數(shù)據(jù)的接收,包括buffer1數(shù)據(jù)接收線程……bufferN數(shù)據(jù)接收線程,以及N個用于保存FPGA控制模塊數(shù)據(jù)的線程安全隊(duì)列queue1……queueN,數(shù)據(jù)解析線程,以及用以存放合成數(shù)據(jù)的線程安全隊(duì)列緩沖區(qū)queue,
(b)主線程的邏輯流程為:
S1:初始化界面配置,初始化USB接口芯片,
S2:開啟buffer1……bufferN數(shù)據(jù)接收線程,
S3:開啟數(shù)據(jù)解析線程,
(c)N個數(shù)據(jù)接收線程的邏輯流程是一致的,只是對應(yīng)N值不同,其邏輯流程為:
S1:調(diào)用USB接口芯片官方提供的DLL函數(shù)庫里面的讀取函數(shù),
S2:判斷是否成功讀取bufferN中的數(shù)據(jù),若讀取失敗表示暫時無數(shù)據(jù)傳送到上位機(jī),執(zhí)行S1,否則執(zhí)行S3,
S3: 將該幀數(shù)據(jù)寫入queueN,
S4:是否結(jié)束線程,若是結(jié)束,否則執(zhí)行S1,
(d)數(shù)據(jù)解析線程的邏輯流程為:
S1:讀取queue1……queueN中各幀的大小,
S2: 檢測queue1……queueN的數(shù)據(jù)大小是否都大于100幀,若否執(zhí)行S1,若是執(zhí)行S3,
S3: 依次從queue1……queueN中取出100幀數(shù)據(jù),放入queue,
4: 是否結(jié)束線程,若是直接結(jié)束,否則執(zhí)行步驟S1。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電子科技大學(xué),未經(jīng)電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910369736.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)采集裝置
 - 一種數(shù)據(jù)輸入模塊
 - 數(shù)據(jù)輸入單元、數(shù)據(jù)輸入方法、源極驅(qū)動電路和顯示裝置
 - 一種紅外碳硫分析儀的數(shù)據(jù)分析管理系統(tǒng)
 - 一種綜合型地理信息數(shù)據(jù)處理系統(tǒng)
 - 融合深度神經(jīng)網(wǎng)絡(luò)和層級注意力機(jī)制的惡意流量監(jiān)測系統(tǒng)
 - 一種液壓機(jī)械公司質(zhì)量成本控制系統(tǒng)
 - 一種無紙化問卷調(diào)查系統(tǒng)
 - 一種校園OA辦公的多途徑身份認(rèn)證系統(tǒng)
 - 一種模具質(zhì)量的監(jiān)控匯總平臺
 





