本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號(hào):
PGL22G
1. 簡介
本教程介紹如何使用FTDI公司的FT232H驅(qū)動(dòng)芯片進(jìn)行USB數(shù)據(jù)傳輸,文中從底層FPGA、驅(qū)動(dòng)層固件(FT232H固件)及上位機(jī)測試軟件設(shè)計(jì)方面闡述了USB開發(fā)的整個(gè)流程。
2. 實(shí)驗(yàn)原理
2.1 FT232H原理介紹
FT232H是由FTDI公司生產(chǎn)的單路USB2.0驅(qū)動(dòng)芯片,USB速度高達(dá)480Mb/s,支持轉(zhuǎn)UART或FIFO模式,并可配置成多種工業(yè)串行或并行接口:
(1)可配置成UART接口;
(2)FT245同步FIFO接口;
(3)FT245風(fēng)格異步FIFO接口;
(4)同步或異步Bit-Bang接口;
(5)MPSSE接口;
(6)Fast串口;
(7)CPU風(fēng)格FIFO接口;
(8)FT1248接口。
在本實(shí)驗(yàn)中配置成FT245同步FIFO接口。下面是FT232H的內(nèi)部結(jié)構(gòu)圖。

2.2 硬件原理圖
如下為AX7035/AX7050開發(fā)板的USB部分原理圖,USB驅(qū)動(dòng)芯片采用FT232HL,配置為FT245 FIFO模式,通過與93LC56存儲(chǔ)芯片相連,將FT232HL配置為FT245 FIFO模式的信息存儲(chǔ)于芯片中。


2.3 FT245 FIFO接口引腳
如下表所示為FT245 FIFO接口,ADBUS為并行接口,供FPGA使用,RXF#,TXE#為FT232H輸出信號(hào),用于通知FPGA是否可讀可寫,RD#,WR#為讀寫輸入信號(hào),由FPGA控制,CLKOUT為輸出時(shí)鐘60MHz,OE#為輸出全能,需要在RD#有效之前至少提前一個(gè)時(shí)鐘周期。

2.4 FT245 FIFO時(shí)序
下圖為FT245 FIFO模式時(shí)序圖,讀時(shí)序中,首先FT232H將RXF#拉低,此時(shí)可以讀取FIFO里的數(shù)據(jù),F(xiàn)PGA可將OE#先拉低,過至少一個(gè)時(shí)鐘周期,再將RD#拉低,在CLKOUT上升沿采集數(shù)據(jù);寫時(shí)序中,F(xiàn)T232H將TXE#拉低,表示現(xiàn)在可寫,F(xiàn)PGA可將WR#拉低,在CLKOUT上升沿寫入數(shù)據(jù)。

3. 程序設(shè)計(jì)
程序設(shè)計(jì)比較簡單,功能實(shí)現(xiàn)為將從FT232H的讀FIFO中讀取的數(shù)據(jù)存儲(chǔ)到雙口RAM中,再將數(shù)據(jù)從RAM讀取出來發(fā)送到FT232H的寫FIFO中,實(shí)現(xiàn)數(shù)據(jù)的環(huán)通。代碼實(shí)現(xiàn)根據(jù)前面所講的時(shí)序圖,實(shí)現(xiàn)其功能即可。

代碼中采用了簡單的狀態(tài)機(jī),首先在IDLE狀態(tài)下判斷ft_rxf_n信號(hào)是否是0,如果是0,進(jìn)入READ狀態(tài),開始讀取FT232H的數(shù)據(jù),并存入RAM中,如果ft_rxf_n拉高,進(jìn)入IDLE狀態(tài);否則判斷ft_txe_n是否為0并且RAM空間不為空,進(jìn)入WRITE狀態(tài),將RAM數(shù)據(jù)寫入FT232H,如果ft_txe_n拉高或者RAM空了,進(jìn)入IDLE狀態(tài)。
引腳名稱 | 功能描述 |
ft_clk | FT232H時(shí)鐘,CLKOUT頻率60MHz |
rst | 復(fù)位信號(hào),高電平有效 |
ft_rxf_n | RXF# FT232H FIFO可以讀,低電平有效 |
ft_txe_n | TXE# FT232H FIFO可以寫,低電平有效 |
ft_oe_n | OE# 輸出使能,低電平有效 |
ft_rd_n | RD# 讀信號(hào),低電平有效 |
ft_wr_n | WR#寫信號(hào),低電平有效 |
ft_data | FT232H數(shù)據(jù)端口,8位位寬,雙向IO |
4. 實(shí)驗(yàn)流程
4.1 安裝FTDI D2xx driver
在05_芯片手冊(cè)\ft232h文件夾中可以找到CDM v2.12.28 WHQL Certified_x64.zip,將其解壓。

取出開發(fā)板,連接上開發(fā)板的USB接口,打開電源
打開設(shè)備管理器,出現(xiàn)新設(shè)備,右鍵點(diǎn)擊更新驅(qū)動(dòng)程序軟件

點(diǎn)擊瀏覽計(jì)算機(jī)以查找驅(qū)動(dòng)程序軟件

點(diǎn)擊瀏覽找到解壓的文件夾,點(diǎn)擊確定,并點(diǎn)擊下一步。
成功安裝驅(qū)動(dòng)后如下圖:

可以看到出現(xiàn) USB Serial Converter設(shè)備

4.2 實(shí)驗(yàn)現(xiàn)象
將程序下載到FPGA中,找到上位機(jī)測速軟件,打開軟件

選擇USB設(shè)備,點(diǎn)擊開始按鈕

可以看到讀寫速度在40MB/s附近變動(dòng),點(diǎn)擊暫停按鈕可停止測速。

有些同學(xué)想要看看USB傳輸?shù)臄?shù)據(jù),在這里我們提供 了“USB測試工具“,工具在下圖中位置:

操作如下:
1)首先確保程序(與測速軟件一致)已下載到FPGA中,連接好USB線,找到上位機(jī)測速軟件并打開,在選擇設(shè)備下拉框里找到USB 設(shè)備, 如果沒有顯示 USB 設(shè)備, 點(diǎn)擊“刷新” 按鈕 之后選擇好設(shè)備, 點(diǎn)擊“打開” 按鈕。如下圖:

2)在數(shù)據(jù)輸入框輸入十六進(jìn)制數(shù)據(jù), 再點(diǎn)擊發(fā)送, 可以在顯示窗口看到發(fā)送和接收的數(shù)據(jù), 進(jìn)行數(shù)據(jù)對(duì)比, 驗(yàn)證正確性。

在這里需要注意下:發(fā)送數(shù)據(jù)需要為偶數(shù)個(gè),否則上位機(jī)會(huì)截取偶數(shù)個(gè)數(shù)據(jù)發(fā)送, 如下圖, 最后一個(gè)數(shù)據(jù) f 并沒有發(fā)送出去。

3)“刷新” 按鈕類似于關(guān)閉端口, 點(diǎn)擊“刷新” 按鈕后, 發(fā)送數(shù)據(jù), 不會(huì)有反應(yīng), 需要點(diǎn)擊
“打開” 按鈕打開 USB 設(shè)備。

5. 總結(jié)
本實(shí)驗(yàn)介紹了FT232H芯片F(xiàn)T245 FIFO模式的讀寫測速,大家可以結(jié)合各自的應(yīng)用編寫上位機(jī)程序?qū)崿F(xiàn)所需功能。
-
FPGA
+關(guān)注
關(guān)注
1640文章
21910瀏覽量
611581 -
usb
+關(guān)注
關(guān)注
60文章
8055瀏覽量
269352 -
程序
+關(guān)注
關(guān)注
117文章
3816瀏覽量
82115 -
uart
+關(guān)注
關(guān)注
22文章
1250瀏覽量
102741 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
5文章
91瀏覽量
27804
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
2024新品|紫光同創(chuàng)盤古系列FPGA開發(fā)板套件,100%國產(chǎn)化方案
國產(chǎn)FPGA介紹-紫光同創(chuàng)
火力發(fā)電廠水汽分析方法 第二十八部分:有機(jī)物的測定(紫外吸收法)
紫光同創(chuàng)FPGA開發(fā)套件,高性能國產(chǎn)FPGA方案
火力發(fā)電廠水汽分析方法 第二十八部分:有機(jī)物的測定(紫外吸收
第二十八講 數(shù)模和模數(shù)轉(zhuǎn)換器

模擬電路網(wǎng)絡(luò)課件 第二十八節(jié):集成電路運(yùn)算放大器的參數(shù)

HDLBits:在線學(xué)習(xí) Verilog (二十八 · Problem 135-139)

stm32溫濕度傳感器報(bào)告_「正點(diǎn)原子NANO STM32開發(fā)板資料連載」第二十八章 DHT11 數(shù)字溫濕度傳感器實(shí)驗(yàn)...

輕生活科技將參加第二十八屆廣州國際照明展覽會(huì)(GILE)

鐳拓新款激光圓管切割機(jī)亮相第二十八屆中國五金博覽會(huì)

紫光同創(chuàng)助力國產(chǎn)FPGA高校生態(tài)建設(shè)
ALINX 多系列 FPGA 產(chǎn)品亮相第二十六屆高交會(huì),攜手紫光同創(chuàng)助力 FPGA 國產(chǎn)化發(fā)展

評(píng)論