[發(fā)明專利]一種USB2.0接口芯片的控制方法在審
| 申請?zhí)枺?/td> | 201410400546.6 | 申請日: | 2014-08-14 |
| 公開(公告)號: | CN104156336A | 公開(公告)日: | 2014-11-19 |
| 發(fā)明(設計)人: | 蘇振宇 | 申請(專利權)人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類號: | G06F13/40 | 分類號: | G06F13/40;G06F13/42 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 usb2 接口 芯片 控制 方法 | ||
1.一種USB2.0接口芯片的控制方法,?其特征在于采用CH378作為USB接口芯片,實現(xiàn)USB2.0協(xié)議;采用了FPGA現(xiàn)場可編程門陣列作為CH378的控制芯片,利用硬件描述語言VHDL設計狀態(tài)機對CH378芯片進行控制,實現(xiàn)了CH378的功能,?1)FPGA與CH378的接口及引腳功能;描述了CH378的引腳功能及與FPGA的接口,利用了FPGA的IO口和時鐘引腳與CH378相連,便于FPGA對CH378進行控制,其中:
CH378芯片的引腳及與FPGA的接口,除clk引腳外,CH378的其余引腳與FPGA的IO口連接,各引腳的功能如下:
clk:輸入信號,時鐘引腳,與FPGA的時鐘引腳相連,F(xiàn)PGA為CH378提供30MHz的時鐘頻率;
reset:輸入信號,CH378的復位信號;
D[31..0]:雙向信號,8?bit數(shù)據(jù)總線;
nWR:輸入信號,低電平表示寫入數(shù)據(jù)有效;
nRD:輸入信號,低電平表示讀出數(shù)據(jù)有效;
A0:輸入信號,命令與數(shù)據(jù)的區(qū)分引腳,當A0?=?1時FPGA對CH378寫命令或讀狀態(tài),當A0?=?0時讀寫數(shù)據(jù);
nINT:輸出信號,中斷輸出引腳,低電平有效;
2)FPGA控制CH378的狀態(tài)機設計方法:詳細描述了FPGA的狀態(tài)機工作流程,利用狀態(tài)機實現(xiàn)了對CH378的控制,利用雙端口RAM實現(xiàn)了數(shù)據(jù)的緩存,狀態(tài)機是FPGA的核心,實現(xiàn)對CH378的控制,由空閑狀態(tài)IDLE、獲取中斷狀態(tài)TX_C22、讀取中斷值狀態(tài)RX_INT_S、釋放緩沖區(qū)狀態(tài)TX_C23、寫命令字狀態(tài)TX_C29、讀數(shù)據(jù)狀態(tài)RX_DAT、寫命令字狀態(tài)TX_C2A、寫數(shù)據(jù)狀態(tài)TX_DAT組成,控制步驟如下:
(1)上電后FPGA首先對CH378初始化,狀態(tài)機處于IDLE狀態(tài),之后進入TX_C22狀態(tài);
(2)在TX_C22狀態(tài),F(xiàn)PGA向CH378寫入命令字0x22,請求獲得中斷狀態(tài)值,之后進入RX_INT_S狀態(tài);
(3)在RX_INT_S狀態(tài),狀態(tài)機讀取中斷狀態(tài)值,若為0x04表示端點0x02的接收器接收到數(shù)據(jù),之后進入TX_C29狀態(tài);若中斷狀態(tài)值不為0x04,說明未能接收到數(shù)據(jù),狀態(tài)機進入TX_C23狀態(tài);
(4)在TX_C23狀態(tài),狀態(tài)機釋放USB緩沖區(qū);
(5)在TX_C29狀態(tài),狀態(tài)機向CH378寫入命令字0x29和端點號0x02,使CH378準備從0x02端點緩沖區(qū)讀取數(shù)據(jù)塊,之后進入RX_DAT狀態(tài);
(6)在RX_DAT狀態(tài),狀態(tài)機依次把從端點緩沖區(qū)讀取的數(shù)據(jù)寫入雙端口RAM,數(shù)據(jù)傳輸完成后CH378釋放緩沖區(qū),之后進入TX_C2A狀態(tài);
(7)在TX_C2A狀態(tài),狀態(tài)機向CH378寫入命令字0x2A和端點號0x82,使CH378做好發(fā)送數(shù)據(jù)的準備,之后進入TX_DAT狀態(tài);
(8)在TX_DAT狀態(tài),狀態(tài)機讀取雙端口RAM中的數(shù)據(jù)并寫入端點0x82的發(fā)送緩沖區(qū),由CH378把數(shù)據(jù)發(fā)送到上位機;
(9)完成了數(shù)據(jù)的傳輸過程,狀態(tài)機回到IDLE狀態(tài)。
2.根據(jù)權利要求1所述的USB2.0接口芯片的控制方法,其特征在于在FPGA中為了緩存數(shù)據(jù)的需要,設置了一雙端口RAM,上位機和FPGA對RAM進行獨立的訪問,使得設計更加靈活。
3.根據(jù)權利要求1所述的USB2.0接口芯片的控制方法,其特征在于對狀態(tài)機各狀態(tài)的編碼采用了格雷碼的方式,能有效的防止毛刺的產(chǎn)生,使系統(tǒng)穩(wěn)定,另外采用了USB的批量端點進行數(shù)據(jù)的傳輸,下傳時數(shù)據(jù)由上位機傳輸?shù)紽PGA,端點號為0x02,數(shù)據(jù)傳輸最大支持512字節(jié);上傳時數(shù)據(jù)由FPGA傳輸?shù)缴衔粰C,端點號為0x82,支持的最大數(shù)據(jù)長度也是512字節(jié),CH378完成數(shù)據(jù)的下傳后通過nINT引腳向FPGA發(fā)送中斷。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410400546.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





