一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種基于FPGA的FT232H接口通信開發(fā)方案

FPGA之家 ? 來(lái)源:FPGA之家 ? 2023-07-05 09:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

本文主要介紹一種基于FPGA的FT232H接口通信開發(fā)方案。傳統(tǒng)的USB通信開發(fā)對(duì)工程人員的要求比較高,除了上層應(yīng)用軟件以外,還需要掌握一定的USB傳輸協(xié)議、固件編程以及底層驅(qū)動(dòng)等等。對(duì)于FPGA固件開發(fā)人員來(lái)說(shuō),我只關(guān)心數(shù)據(jù)如何可以正確的收發(fā),說(shuō)白了就是給我說(shuō)清楚接口交互時(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é)議。通過(guò)配套的軟件可以配置成不同的應(yīng)用模式,如下圖所示:

ad9bb44c-1ace-11ee-962d-dac502259ad0.png

ada40e94-1ace-11ee-962d-dac502259ad0.png

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,通過(guò)配置成不同的模式,管腳對(duì)應(yīng)的定義不一樣。

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

adaf19b0-1ace-11ee-962d-dac502259ad0.png

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

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

芯片工作模式配置

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

adc28c34-1ace-11ee-962d-dac502259ad0.png

adccc762-1ace-11ee-962d-dac502259ad0.png

adeb5c72-1ace-11ee-962d-dac502259ad0.png

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

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

adf71c10-1ace-11ee-962d-dac502259ad0.png

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

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

ae16c0b0-1ace-11ee-962d-dac502259ad0.png

通常來(lái)說(shuō),為了處理好異時(shí)鐘域數(shù)據(jù)傳輸問(wèn)題,都會(huì)在FPGA端例化一個(gè)FIFO來(lái)作為與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í)序就知道怎么回事了。

ae203226-1ace-11ee-962d-dac502259ad0.png

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ù)是沒(méi)有問(wèn)題的,碰上我之前的項(xiàng)目,讀寫由上位機(jī)發(fā)起,并且讀寫的數(shù)據(jù)長(zhǎng)度也由上位機(jī)決定的時(shí)候,就會(huì)出現(xiàn)上位機(jī)會(huì)少接收一個(gè)數(shù)據(jù)的現(xiàn)象。

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

ae321f68-1ace-11ee-962d-dac502259ad0.png

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

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

ae442f96-1ace-11ee-962d-dac502259ad0.png

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

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

ae5cb278-1ace-11ee-962d-dac502259ad0.png

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1646

    文章

    22054

    瀏覽量

    618808
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52529

    瀏覽量

    441332
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6207

    瀏覽量

    137871

原文標(biāo)題:軟件設(shè)計(jì)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第二十八章】USB雙向測(cè)速例程

    如何使用FTDI公司的FT232H驅(qū)動(dòng)芯片進(jìn)行USB數(shù)據(jù)傳輸,文中從底層FPGA、驅(qū)動(dòng)層固件(FT232H固件)及上位機(jī)測(cè)試軟件設(shè)計(jì)方面闡述了USB開發(fā)的整個(gè)流程。
    的頭像 發(fā)表于 04-09 10:46 ?2.3w次閱讀
    【紫光同創(chuàng)國(guó)產(chǎn)<b class='flag-5'>FPGA</b>教程】【第二十八章】USB雙向測(cè)速例程

    UM232H-B是FT232H高速到串行/并行接口轉(zhuǎn)換器的開發(fā)模塊

    UM232H-B-01,用于FT232H單通道USB至串行/并行接口分線板的開發(fā)模塊,帶有母頭。 UM232H-B是
    發(fā)表于 04-04 11:42

    FT232H單通道USB至串行/并行接口分線板開發(fā)模塊UM232H-B-WE

    UM232H-B-WE,用于FT232H單通道USB至串行/并行接口分線板的開發(fā)模塊,帶有6條懸空引線,連接到信號(hào)焊盤。 UM232H-B是
    發(fā)表于 04-08 11:03

    用于FT232H單通道USB至串行/并行接口分線板的開發(fā)模塊UM232H-B-NC

    UM232H-B-NC,用于FT232H單通道USB至串行/并行接口分線板的開發(fā)模塊,僅帶焊盤。 UM232H-B是
    發(fā)表于 04-09 09:20

    采用FT245BM和FPGA實(shí)現(xiàn)USB接口設(shè)計(jì)

    作者:孫立輝 劉院英 和志強(qiáng)、引言USB總線因其傳輸速度快、占用資源少以及真正的即插即用等諸多優(yōu)點(diǎn),受到了廣大開發(fā)者的青睞,已經(jīng)成為很多計(jì)算機(jī)設(shè)備的一種基本配置。目前被廣泛采用的USB設(shè)備
    發(fā)表于 04-22 07:00

    采用FT245BM和FPGA實(shí)現(xiàn)USB接口設(shè)計(jì)

    作者:孫立輝 劉院英 和志強(qiáng)、引言USB總線因其傳輸速度快、占用資源少以及真正的即插即用等諸多優(yōu)點(diǎn),受到了廣大開發(fā)者的青睞,已經(jīng)成為很多計(jì)算機(jī)設(shè)備的一種基本配置。目前被廣泛采用的USB設(shè)備
    發(fā)表于 04-26 07:00

    一種基于FPGA的光纖陀螺慣導(dǎo)系統(tǒng)溫控電路接口設(shè)計(jì)

    摘要:本文介紹了一種基于FPGA的光纖陀螺慣導(dǎo)系統(tǒng)溫控電路接口設(shè)計(jì)。主要說(shuō)明了溫控電路整體結(jié)構(gòu),溫控電路工作流程,FPGA與外圍電路的通信
    發(fā)表于 06-18 05:00

    基于FPGA技術(shù)的RS 232接口的時(shí)序邏輯設(shè)計(jì)實(shí)現(xiàn)

    摘要:RS 232接口是現(xiàn)在最常用的一種通信接口。隨著FPGA技術(shù)的高速發(fā)展,
    發(fā)表于 06-19 07:42

    PIC32MX與FTDI FT232H接口如何同步并行

    有可能將PIC32MX(目前我有個(gè)運(yùn)行@50Mhz)與FTDI FT232H接口。同步FIFO-并行(高達(dá)40MB/s)在這種模式下,FT232H輸出
    發(fā)表于 04-29 07:16

    USB2.0高速至MPSSE SPI模塊VA800A-SPI是個(gè)小型電子電路板

    板,使用FT232H。該設(shè)備處理所有USB信號(hào)和協(xié)議。該模塊提供了一種快速、簡(jiǎn)單的方式將具有3.3伏數(shù)字接口的設(shè)備連接到USB。有關(guān)集成電路的全部詳細(xì)信息,請(qǐng)參閱FT232H數(shù)據(jù)表DS
    發(fā)表于 10-14 16:55

    如何去實(shí)現(xiàn)一種高速通信接口的設(shè)計(jì)?

    一種FPGA與DSP的高速通信接口設(shè)計(jì)與實(shí)現(xiàn)方案
    發(fā)表于 06-02 06:07

    基于FT8U232BM的USB-HART通信接口開發(fā)

    基于FT8U232BM的USB-HART通信接口開發(fā) Development of FT8U232BM Based USB-HART C
    發(fā)表于 03-16 11:04 ?60次下載

    基于FT8U232BM的USB-HART通信接口開發(fā)

    基于FT8U232BM的USB-HART通信接口開發(fā)
    發(fā)表于 09-04 14:24 ?15次下載
    基于<b class='flag-5'>FT8U232</b>BM的USB-HART<b class='flag-5'>通信</b><b class='flag-5'>接口</b><b class='flag-5'>開發(fā)</b>

    一種基于FPGA的UART接口開發(fā)方案

    ,可以方便地進(jìn)行升級(jí)和移植。 設(shè)計(jì)背景 通用異步收發(fā)器(Universal Asynchronous Receiver/Transmitter,UART)可以和各種標(biāo)準(zhǔn)串行接口,如RS 232和RS 485等進(jìn)行全雙工異步通信,
    發(fā)表于 02-26 15:46 ?1163次閱讀
    <b class='flag-5'>一種</b>基于<b class='flag-5'>FPGA</b>的UART<b class='flag-5'>接口</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>方案</b>

    基于FPGAFT232H接口通信開發(fā)方案

    概述 本文主要介紹一種基于FPGAFT232H接口通信開發(fā)
    的頭像 發(fā)表于 07-05 09:56 ?6132次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FT232H</b><b class='flag-5'>接口</b><b class='flag-5'>通信</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>方案</b>