一種嵌入式USB2.0主機(jī)控制器IP核的研究與設(shè)計(jì)
CPU 工作在12~ 160MHz 時(shí)鐘頻率。 CPU 模型通過(guò)讀命令文件master. cmd 來(lái)觸發(fā)嵌入式USB 主機(jī)開始配置寄存器的讀寫。
3. 2 存儲(chǔ)器模型
在IN 傳輸中, 存儲(chǔ)器模型通過(guò)DMA 通道從嵌入式USB 主機(jī)中數(shù)據(jù)緩沖器模塊讀出數(shù)據(jù), 并將讀出的數(shù)據(jù)寫入data. dmp 文件中, 在OUT 傳輸中,嵌入式USB 主機(jī)通過(guò)DMA 通道讀存儲(chǔ)器模型中的數(shù)據(jù)到數(shù)據(jù)緩沖器, 而存儲(chǔ)器模型中數(shù)據(jù)是存放在ehin. dat 文件中。
3. 3 PHY 模型
此處的PHY 模型包括USB 主機(jī)方的PHY1 和USB 設(shè)備方的PHY2, 本設(shè)計(jì)主要用于高速和全速的數(shù)據(jù)傳輸, 所以接入的PHY 模型為2. 0 版本。 它主要功能是串行數(shù)據(jù)與并行數(shù)據(jù)之間相互轉(zhuǎn)換, 因?yàn)樵谇度胧経SB 主機(jī)中都為并行數(shù)據(jù), 而在USB電纜中是以串行數(shù)據(jù)傳輸?shù)摹?P> 3. 4 USB 設(shè)備模型
此模塊通過(guò)讀命令文件dev1. cmd 來(lái)控制USB信息包的發(fā)送與接收, 若IN 傳輸時(shí)設(shè)備模型將dev1 sen. dat 文件中所包含的數(shù)據(jù)發(fā)送給主機(jī), 在OUT 傳輸中將主機(jī)輸出的數(shù)據(jù)也儲(chǔ)存在dev1rcv. dat 中。
為了方便觀察仿真結(jié)果, 設(shè)計(jì)中還加入了一個(gè)驗(yàn)證傳輸中數(shù)據(jù)對(duì)錯(cuò)的模塊, 在IN 傳輸中將設(shè)備模型中從dev1 sen. dat 發(fā)出的數(shù)據(jù)與USB 主機(jī)收到的數(shù)據(jù)進(jìn)行對(duì)比, 在OUT 傳輸時(shí)將進(jìn)入U(xiǎn)SB 主機(jī)的數(shù)據(jù)與設(shè)備模型中dev1 rcv. dat 收到的數(shù)據(jù)進(jìn)行對(duì)比, 由此可以清楚的看出在USB 主機(jī)與設(shè)備之間是否正確傳輸數(shù)據(jù)。
這里采用nc2verilog 分別對(duì)高速和全速中IN,OUT 傳輸以及枚舉過(guò)程進(jìn)行的功能仿真, 部分仿真波形如圖5、圖6 所示。 可以看到: 全速和高速的整個(gè)枚舉過(guò)程中狀態(tài)機(jī)enmumerate state 的變化直到傳輸使能; 整個(gè)主控制狀態(tài)機(jī)mast ectrlst 中各狀態(tài)的轉(zhuǎn)換; 在每次數(shù)據(jù)傳輸中utmtxready, utm rxactive, utm rxvalid 以及utm rx2validh 的跳變過(guò)程。 在高速和全速的仿真中, 驗(yàn)證先IN 傳輸再OUT 傳輸, 即先從USB 設(shè)備模型中dev1sen. dat 文件中讀出數(shù)據(jù)進(jìn)行4 個(gè)信息包的IN 傳輸, 然后執(zhí)行4 個(gè)信息包的OUT 傳輸。
圖5 高速數(shù)據(jù)批量傳輸仿真圖
圖6 全速數(shù)據(jù)批量傳輸仿真圖
4 FPGA 驗(yàn)證
FPGA 驗(yàn)證環(huán)境如圖7 所示, 驗(yàn)證中外接一塊USB2. 0 的PHY 子板和memory 子板, 其中FPGA芯片為Altara 公司的stratixIIs180, 其中實(shí)現(xiàn)嵌入式USB 主機(jī)IP 核和CPU 平臺(tái), memory 子板用來(lái)實(shí)現(xiàn)嵌入式軟件, 在驗(yàn)證時(shí)分別接入支持高速和全速的U 盤作為設(shè)備, 對(duì)U 盤進(jìn)行了數(shù)據(jù)的讀寫, 不管是在高速下還是在全速下都能正常完成U 盤的讀寫過(guò)程, 并與預(yù)期的讀寫數(shù)據(jù)一致。
圖7 嵌入式USB2. 0 主機(jī)控制器驗(yàn)證環(huán)境
從nc2verilog 的功能仿真和FPGA 驗(yàn)證表明, 此嵌入式USB2. 0 主機(jī)控制器IP 核成功地實(shí)現(xiàn)了高速和全速下數(shù)據(jù)傳輸。
5 結(jié)束語(yǔ)
此嵌入式USB2. 0 主機(jī)控制器IP 核在設(shè)計(jì)中采用了乒乓緩沖模式提高了數(shù)據(jù)傳輸?shù)乃俣龋?還采用了DMA master 和slave 模式, 很大程度的減小了CPU 的要求, 在仿真和FPGA 驗(yàn)證中分別采用了CPU 頻率為12MHz 和160MHz, 此IP 核都通過(guò)了功能驗(yàn)證。 目前已流片, 且通過(guò)芯片驗(yàn)證。 因此可以說(shuō)此IP 核能夠獨(dú)立地用于數(shù)碼相機(jī), MP3 播放器里。 這樣, 這些嵌入式的主機(jī)就可以直接和移動(dòng)硬盤、打印機(jī)等設(shè)備連接用了, 不需要通過(guò)PC 機(jī)來(lái)進(jìn)行相互的文件和數(shù)據(jù)交換, 實(shí)現(xiàn)了脫離PC 機(jī)的夢(mèng)想, 方便了更多使用者。
評(píng)論