精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一種基于FPGA的FT232H接口通信開發方案

FPGA之家 ? 來源:FPGA之家 ? 2023-07-05 09:56 ? 次閱讀

概述

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

接口芯片FT232H

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

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

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

FT232H的內部結構

從圖1中我們可以了解到,FT232H芯片內部可以劃分為UTMI_PHY、USB_protocol and FIFO ctrol、Tx/Rx Buffer、MPSSE/Multi_purpose UART/FIFO controler以及EEPROM_interface這幾部分。其中MPSSE/Multi_purpose UART/FIFO controler是面向用戶設計的IO,通過配置成不同的模式,管腳對應的定義不一樣。

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

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

FIFO模式下的拓撲結構

軟件設計

芯片工作模式配置

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

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

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

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

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

代碼設計

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

同步FIFO模式下的讀寫時序關系

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

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

通常來說,為了處理好異時鐘域數據傳輸問題,都會在FPGA端例化一個FIFO來作為與USB接口交互的緩存。在數據發送有個需要注意的地方,當發送速率比USB傳輸速率快,FT232H內部緩存被填滿的時候(TXE#被拉高),會出現丟數據情況。在處理的時候需要特別注意一下。

我們畫一下相關時序就知道怎么回事了。

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

FIFO常規模式下時序圖

從圖中可以看出,FIFO的讀使能持續了5個clk,由于FIFO的輸出最少都有1個clk的延遲,所以這次數據傳輸只傳輸了4個有效數據,剩下一個數據只能由下一次傳輸,當然這種情況,在傳輸流式的數據是沒有問題的,碰上我之前的項目,讀寫由上位機發起,并且讀寫的數據長度也由上位機決定的時候,就會出現上位機會少接收一個數據的現象。

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

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

First_word Fall through模式的時序

將例化FIFO的時候,設置成First_word Fall through模式就可以了,至于這種模式是什么,請自行度娘腦補一下。

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

方法還有很多,只要時序對的上即可。

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

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

接收端的設計比較簡單,這里就不展開論述了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21666

    瀏覽量

    601834
  • 芯片
    +關注

    關注

    453

    文章

    50402

    瀏覽量

    421800
  • 通信
    +關注

    關注

    18

    文章

    5971

    瀏覽量

    135855

原文標題:軟件設計

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【紫光同創國產FPGA教程】【第二十八章】USB雙向測速例程

    如何使用FTDI公司的FT232H驅動芯片進行USB數據傳輸,文中從底層FPGA、驅動層固件(FT232H固件)及上位機測試軟件設計方面闡述了USB開發的整個流程。
    的頭像 發表于 04-09 10:46 ?2.2w次閱讀
    【紫光同創國產<b class='flag-5'>FPGA</b>教程】【第二十八章】USB雙向測速例程

    UM232H-B是FT232H高速到串行/并行接口轉換器的開發模塊

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

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

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

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

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

    采用FT245BM和FPGA實現USB接口設計

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

    采用FT245BM和FPGA實現USB接口設計

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

    一種基于FPGA的光纖陀螺慣導系統溫控電路接口設計

    摘要:本文介紹了一種基于FPGA的光纖陀螺慣導系統溫控電路接口設計。主要說明了溫控電路整體結構,溫控電路工作流程,FPGA與外圍電路的通信
    發表于 06-18 05:00

    基于FPGA技術的RS 232接口的時序邏輯設計實現

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

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

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

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

    板,使用FT232H。該設備處理所有USB信號和協議。該模塊提供了一種快速、簡單的方式將具有3.3伏數字接口的設備連接到USB。有關集成電路的全部詳細信息,請參閱FT232H數據表DS
    發表于 10-14 16:55

    如何去實現一種高速通信接口的設計?

    一種FPGA與DSP的高速通信接口設計與實現方案
    發表于 06-02 06:07

    基于FT8U232BM的USB-HART通信接口開發

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

    基于FT8U232BM的USB-HART通信接口開發

    基于FT8U232BM的USB-HART通信接口開發
    發表于 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'>開發</b>

    一種基于FPGA的UART接口開發方案

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

    基于FPGAFT232H接口通信開發方案

    概述 本文主要介紹一種基于FPGAFT232H接口通信開發
    的頭像 發表于 07-05 09:56 ?5054次閱讀
    基于<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'>開發</b><b class='flag-5'>方案</b>