精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久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

    文章

    21665

    瀏覽量

    601828
  • 芯片
    +關注

    關注

    453

    文章

    50397

    瀏覽量

    421793
  • 接口通信
    +關注

    關注

    0

    文章

    9

    瀏覽量

    13392
收藏 人收藏

    評論

    相關推薦

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

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

    完美高性能USB解決方案1

    R, FT232H, FT230X, FT231XUSB 轉 FIFO :FT245B, FT245R,
    發表于 03-29 11:43

    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接口設計

    協議的細節,并編寫出固件程序。固件的運行要占用微控制器的時間和空間資源,實際通信效率不會很高。也有人用FPGA實現固件的功能,但這種方案開發和調試的難度很大。本人在實際工作中用
    發表于 04-22 07:00

    接口轉換芯片-FT232RL

    小編最近對FT232RL這顆轉換芯片做了大概了解,各位朋友有更多好的資料跟內容可以分享大家一起討論下。FT232RL為接口轉換芯片,可以實現USB到串行UART接口的轉換,也可轉換到同
    發表于 09-21 15:51

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

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

    用于FT232RL USB-to-UART接口的串行UART開發模塊

    UM232R,開發模塊,使用FT232RL USB到UART接口的集成電路器件。 FT232RL是USB轉串行UART
    發表于 08-19 07:02

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

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

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

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

    基于FT232BL的USB接口快速設計

    FT232BL 的主要功能是進行USB 和串行UART 口之間的協議轉換。文章詳細介紹了FT232BL 芯片的工作原理、內部結構;給出基于FT232BL 接口電路的典型設計及驅動和應用
    發表于 10-01 01:54 ?325次下載
    基于<b class='flag-5'>FT232</b>BL的USB<b class='flag-5'>接口</b>快速設計

    基于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>

    FT232R 的串行 UART 接口解析

    FT232 這顆器件最基本的應用功能,當然是 USB 轉 RS232 接口了,其硬件電路設計如下圖所示。
    發表于 07-16 16:05 ?3.5w次閱讀
    <b class='flag-5'>FT232</b>R 的串行 UART <b class='flag-5'>接口</b>解析

    一種基于FPGAFT232H接口通信開發方案

    從圖1中我們可以了解到,FT232H芯片內部可以劃分為UTMI_PHY、USB_protocol and FIFO ctrol、Tx/Rx Buffer、MPSSE/Multi_purpose
    的頭像 發表于 07-05 09:56 ?1308次閱讀
    一種基于<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>