日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > ZYNQ
		


概述

本文主要介紹一種基于FPGA的FT232H接口通信開發(fā)方案。傳統(tǒng)的USB通信開發(fā)對(duì)工程人員的要求比較高,除了上層應(yīng)用軟件以外,還需要掌握一定的USB傳輸協(xié)議、固件編程以及底層驅(qū)動(dòng)等等。對(duì)于FPGA固件開發(fā)人員來說,我只關(guān)心數(shù)據(jù)如何可以正確的收發(fā),說白了就是給我說清楚接口交互時(shí)相關(guān)信號(hào)之間的時(shí)序關(guān)系即可,其他的內(nèi)容并不是這么關(guān)心。FTDI公司的FT232H應(yīng)運(yùn)而生,他把USB的相關(guān)協(xié)議封裝在芯片內(nèi)部,只把數(shù)據(jù)端口部分開發(fā)給工程開發(fā)人員。與市面上另外一款USB芯片(cypress的CY7C68013)相比,F(xiàn)T232H在模式配置上,有官方提供的工具軟件直接進(jìn)行模式配置,而不需要像前者那樣,還要編寫模式配置的相關(guān)代碼,從而大大提高開發(fā)效率。


接口芯片F(xiàn)T232H

FT232H是一款單通道的高速USB轉(zhuǎn)UART/FIFO芯片,支持USB2.0協(xié)議。通過配套的軟件可以配置成不同的應(yīng)用模式,如下圖所示:

FT232H的內(nèi)部結(jié)構(gòu)

從圖1中我們可以了解到,F(xiàn)T232H芯片內(nèi)部可以劃分為UTMI_PHY、USB_protocol and FIFO ctrol、Tx/Rx Buffer、MPSSE/Multi_purpose UART/FIFO controler以及EEPROM_interface這幾部分。其中MPSSE/Multi_purpose UART/FIFO controler是面向用戶設(shè)計(jì)的IO,通過配置成不同的模式,管腳對(duì)應(yīng)的定義不一樣。


我們通過把FT232H配置成同步FIFO模式,已達(dá)到最快的傳輸速率。

  1. FIFO模式下的拓?fù)浣Y(jié)構(gòu)

軟件設(shè)計(jì)

芯片工作模式配置

FT232H在出廠的時(shí)候,默認(rèn)是UART模式,配置長同步FIFO模式,需要通過官方提供的配置軟件FT_PROG進(jìn)行配置,配置過程十分簡單,如下:

如上圖所示,配置過程大體上可以分為上述3個(gè)步驟。需要注意的是在進(jìn)行第一步之前,PC上需要安裝好相應(yīng)的驅(qū)動(dòng),才能夠識(shí)別出芯片;還有一個(gè)需要注意的地方是,Property中product_desc里面的值可以自己修改,但是上位機(jī)一定要與之對(duì)應(yīng),否則編寫的上位機(jī)軟件有可能打不開設(shè)備。


代碼設(shè)計(jì)

  1. 同步FIFO模式下的讀寫時(shí)序關(guān)系

發(fā)送端(FPGA--->USB--->PC)

通常來說,為了處理好異時(shí)鐘域數(shù)據(jù)傳輸問題,都會(huì)在FPGA端例化一個(gè)FIFO來作為與USB接口交互的緩存。在數(shù)據(jù)發(fā)送有個(gè)需要注意的地方,當(dāng)發(fā)送速率比USB傳輸速率快,F(xiàn)T232H內(nèi)部緩存被填滿的時(shí)候(TXE#被拉高),會(huì)出現(xiàn)丟數(shù)據(jù)情況。在處理的時(shí)候需要特別注意一下。


我們畫一下相關(guān)時(shí)序就知道怎么回事了。

FIFO常規(guī)模式下時(shí)序圖

從圖中可以看出,F(xiàn)IFO的讀使能持續(xù)了5個(gè)clk,由于FIFO的輸出最少都有1個(gè)clk的延遲,所以這次數(shù)據(jù)傳輸只傳輸了4個(gè)有效數(shù)據(jù),剩下一個(gè)數(shù)據(jù)只能由下一次傳輸,當(dāng)然這種情況,在傳輸流式的數(shù)據(jù)是沒有問題的,碰上我之前的項(xiàng)目,讀寫由上位機(jī)發(fā)起,并且讀寫的數(shù)據(jù)長度也由上位機(jī)決定的時(shí)候,就會(huì)出現(xiàn)上位機(jī)會(huì)少接收一個(gè)數(shù)據(jù)的現(xiàn)象。


那么有沒有辦法解決這種現(xiàn)象呢?答案是肯定的,我比較推薦的一種方法如下:

  1. First_word Fall through模式的時(shí)序

將例化FIFO的時(shí)候,設(shè)置成First_word Fall through模式就可以了,至于這種模式是什么,請(qǐng)自行度娘腦補(bǔ)一下。

方法還有很多,只要時(shí)序?qū)Φ纳霞纯伞?

接收端(PC—>USB--->FPGA)

接收端的設(shè)計(jì)比較簡單,這里就不展開論述了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉