在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

利用FPGA實現USB 2.0通信接口

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 2024-12-30 13:59 ? 次閱讀

USB2.0接口的實現方式

利用FPGA來實現USB 2.0接口的方式一般有兩種,一是借助外圍的USB接口芯片,二是FPGA內部實現USB協議控制器,外部通過USB的PHY芯片來實現接口。

對于第一種方式,FPGA不需要實現USB通信協議,開發的風險小,而且性能穩定,因此被大部分設計者所采用。而第二種方式需要購買USB的IP核,門檻較高。如果自己開發基于FPGA的USB協議棧,風險高,而且兼容性和穩定性很難保證。

目前市場上的USB 2.0接口芯片廠家和型號比較多,其中Cypress Semiconductor公司的EZ-USB FX2(CY7C68013)是世界上第一款集成USB 2.0的微處理器,它集成了USB 2.0收發器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。

FX2這種獨創性結構可使數據傳輸率達到56MByte/s,即USB 2.0允許的最大帶寬。在FX2中,智能SIE可以硬件處理許多USB 1.1和USB 2.0協議,從而減少了開發時間、確保了USB的兼容性。

GPIF(General Programmable Interface)和主/從端點FIFO(8位或16位數據總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。

CY7C68013結構圖如圖10.4所示。FPGA與CY7C68013的電路連接關系可以參考本書2.2.11小節的內容。

b19048ac-c409-11ef-9310-92fbcf53809c.png

圖10.4CY7C68013FX2結構示意圖

10.3.2FX2接口芯片的SlaveFIFO傳輸模式

當FPGA與FX2芯片相連時,只需要利用FX2作為一個USB 2.0數據通道來實現與主機的高速通信。FPGA能夠提供滿足Slave FIFO要求的傳輸時序,可以作為Slave FIFO主控制器。`

Slave FIFO傳輸的示意圖如圖10.5所示。

b1a624f6-c409-11ef-9310-92fbcf53809c.png

圖10.5SlaveFIFO傳輸的示意圖

在這種方式下,FX2內嵌的8051固件的功能只是配置Slave FIFO相關的寄存器以及控制FX2何時工作在Slave FIFO模式下。一旦8051固件將相關的寄存器配置完畢,且使自身工作在Slave FIFO模式下后,FPGA就可按照Slave FIFO的傳輸時序,高速與主機進行通信,而在通信過程中不需要8051固件的參與。

在Slave FIFO方式下,FPGA與FX2的連接信號圖如圖10.6所示。

b1be32bc-c409-11ef-9310-92fbcf53809c.png

下面是信號線的說明。

IFCLK:FX2輸出的時鐘,可作為通信的同步時鐘。

FLAGA、FLAGB、FLAGC、FLAGD:FX2輸出的FIFO狀態信息,如滿、空等。

SLCS:FIFO的片選信號,外部邏輯控制,當SLCS輸出高時,不可進行數據傳輸。

SLOE:FIFO輸出使能,外部邏輯控制,當SLOE無效時,數據線不輸出有效數據。

SLRD:FIFO讀信號,外部邏輯控制,同步讀時,FIFO指針在SLRD有效時的每個IFCLK的上升沿遞增,異步讀時,FIFO讀指針在SLRD的每個有效至無效的跳變沿時遞增。

SLWR:FIFO寫信號,外部邏輯控制,同步寫時,在SLWR有效時的每個IFCLK的上升沿時數據被寫入,FIFO指針遞增,異步寫時,在SLWR的每個有效至無效的跳變沿時數據被寫入,FIFO寫指針遞增。

PKTEND:包結束信號,外部邏輯控制,在正常情況下,外部邏輯向FX2的FIFO中寫數,當寫入FIFO端點的字節數等于FX2固件設定的包大小時,數據將自動被打成一包進行傳輸,但有時外部邏輯可能需要傳輸一個字節數小于FX2固件設定的包大小的包,這時,它只需在寫入一定數目的字節后,聲明此信號,此時FX2硬件不管外部邏輯寫入了多少字節,都自動將之打成一包進行傳輸。

FD[15:0]:數據線。

FIFOADR[1:0]:選擇4個FIFO端點的地址線,外部邏輯控制。

10.3.3SlaveFIFO模式的典型操作時序

1.同步SlaveFIFO寫操作

同步Slave FIFO寫的標準連接圖如圖10.7所示。

同步Slave FIFO寫的標準時序如下。

· IDLE:當寫事件發生時,進狀態1。

·狀態1:使FIFOADR[1:0]指向IN FIFO,進狀態2。

·狀態2:如FIFO滿,在當前狀態等待,否則進狀態3。

·狀態3:驅動數據到數據線上,使SLWR有效,持續一個IFCLK周期,進狀態4。

·狀態4:如需傳輸更多的數,進狀態2,否則進狀態IDLE。

狀態跳轉示意圖如圖10.8所示。

b1c62c60-c409-11ef-9310-92fbcf53809c.png

圖10.7同步SlaveFIFO寫的標準連接圖 圖10.8同步SlaveFIFO寫的標準時序

假定FX2設定包大小為512字節,當FPGA向FIFO端點中寫入的數據達512字節時,FX2硬件自動將已寫入的512字節打成一包準備進行傳輸。這個動作就和在普通傳輸中,FX2固件向FIFO端點中寫入512字節后,把512這個數寫入EPxBC中一樣,只不過這個過程是由硬件自動完成的。在這里可以看出“FX2固件不參與數據傳輸過程”的含義了。外部邏輯只需按上面的時序圖所示的時序向FIFO端點中一個一個字節(或字)地寫數,寫到一定數量,FX2硬件自動將數據打包傳輸,這一切均不需固件的參與,由此實現高速數據傳輸。

2.同步SlaveFIFO讀操作

同步Slave FIFO讀的標準連接圖如圖10.9所示。

b1d6bed6-c409-11ef-9310-92fbcf53809c.png

同步Slave FIFO讀的標準時序如下。

· IDLE:當讀事件發生時,進狀態1。

·狀態1:使FIFOADR[1:0]指向OUT FIFO,進狀態2。

·狀態2:使SLOE有效,如FIFO空,在當前狀態等待,否則進狀態3,

·狀態3:從數據線上讀數,使SLRD有效,持續一個IFCLK周期,以遞增FIFO讀指針,進狀態4。

·狀態4:如需傳輸更多的數,進狀態2,否則進狀態IDLE。

狀態跳轉示意圖如圖10.10所示。

3.異步SlaveFIFO寫操作

異步Slave FIFO寫的標準連接圖如圖10.11所示。

b1e771ea-c409-11ef-9310-92fbcf53809c.png

圖10.10同步SlaveFIFO讀狀態跳轉示意圖 圖10.11異步SlaveFIFO寫的標準連接圖

異步Slave FIFO寫的標準時序如下。

· IDLE:當寫事件發生時,進狀態1。

·狀態1:使FIFOADR[1:0]指向IN FIFO,進狀態2。

·狀態2:如FIFO滿,在當前狀態等待,否則進狀態3。

·狀態3:驅動數據到數據線上,使SLWR有效,再無效,以使FIFO寫指針遞增,進狀態4。

·狀態4:如需傳輸更多的數,進狀態2,否則進狀態IDLE。

狀態跳轉示意圖如圖10.12所示。

4.異步SlaveFIFO讀操作

異步Slave FIFO讀的標準連接如圖10.13所示。

b1eeb13a-c409-11ef-9310-92fbcf53809c.png

圖10.12異步SlaveFIFO寫狀態跳轉示意圖圖10.13異步SlaveFIFO讀的標準連接圖

異步Slave FIFO讀的標準時序如下。

· IDLE:當讀事件發生時,進狀態1。

·狀態1:使FIFOADR[1:0]指向OUT FIFO,進狀態2。

·狀態2:如FIFO空,在當前狀態等待,否則進狀態3。

b2059e86-c409-11ef-9310-92fbcf53809c.png

·狀態3:使SLOE有效,使SLRD有效,從數據線上讀數,再使SLRD無效,以遞增FIFO讀指針,再使SLOE無效,進狀態4。

·狀態4:如需傳輸更多的數,進狀態2,否則進狀態IDLE。

狀態跳轉示意圖如圖10.14所示。

10.3.4FX2的固件程序設計

在FX2芯片的固件程序設計中,最關鍵的就是系統初始化函數TD_Init(void),下面講解這個函數的部分代碼。

//時鐘設置

CPUCS=0x12;//48MHzCLKOUT輸出使能

IFCONFIG=0x43;//使用外部時鐘,IFCLK輸入不反向

SYNCDELAY;//同步延遲

EP2CFG=0xA0;//需要設定為4緩沖,每個緩沖區大小為512字節

SYNCDELAY;

EP4CFG=0x00;

SYNCDELAY;

EP6CFG=0xE0;

SYNCDELAY;

EP8CFG=0x00;

SYNCDELAY;

FIFORESET=0x80;//激活NAK-ALL避免競爭

SYNCDELAY;

FIFORESET=0x02;//復位FIFO2

SYNCDELAY;

FIFORESET=0x06;//復位FIFO6

SYNCDELAY;

FIFORESET=0x00;//取消激活NAK-ALL

SYNCDELAY;

PINFLAGSAB=0xE6;//FLAGA設定為EP6PF,FLAGB設定為EP6FF

SYNCDELAY;

PINFLAGSCD=0xf8;//FLAGC設定為EP2EF,FLAGD保留

SYNCDELAY;

PORTACFG|=0x00;//SLCS有效

SYNCDELAY;

FIFOPINPOLAR=0x00;//所有信號低電平有效

SYNCDELAY;

10.3.5USB2.0接口的典型應用

由于USB 2.0接口的數據傳輸速度快,而且使用方便,因此被廣泛應用于各種便攜設備中。例如,基于USB 2.0接口的數據采集終端,可以將各種類型的數據采集到電腦主機中進行處理和結果顯示,其典型的結構如圖10.15所示。

b21254fa-c409-11ef-9310-92fbcf53809c.png

圖10.15基于USB2.0接口的數據采集終端結構框圖

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

    關注

    1629

    文章

    21746

    瀏覽量

    603754
  • usb
    usb
    +關注

    關注

    60

    文章

    7949

    瀏覽量

    264834
  • 通信接口
    +關注

    關注

    3

    文章

    239

    瀏覽量

    30999

原文標題:利用FPGA實現USB 2.0通信接口

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    高云半導體宣布發布USB 2.0接口解決方案

    廣東高云半導體科技宣布發布其USB 2.0接口解決方案,此方案能夠使FPGA設計人員輕松的集成USB 2
    發表于 05-17 15:28 ?3823次閱讀

    FPGA應用開發入門與典型實例pdf免費下載(華清遠見編寫)

    FPGA實現外設通信接口  10.1 FPGA在外設接口實現方面的優勢  10.2 
    發表于 02-09 15:45

    基于Verilog的FPGAUSB 2.0高速接口設計

    引 言在高速的數據采集或傳輸中,目前使用較多的都是采用USB 2.0接口控制器和FPGA或DSP實現的,本設計在
    發表于 06-24 07:00

    如何實現基于FPGA的RS485通信接口設計

    RS485是什么?如何實現基于FPGA的RS485通信接口設計?
    發表于 09-28 07:53

    基于USB接口技術的無線通信設計與實現

    提出了一種運用USB接口芯片PDIUSBD12、89C51微處理器、射頻收發器nRF401構建的無線USB 接口,并利用
    發表于 08-05 09:29 ?44次下載

    基于USB2.0的數據傳輸接口轉換系統

    針對工業現場的復雜情況,設計出一種數據傳輸接口轉換方法,采用DSP、FPGAUSB2.0,結合RS-422接口,實現數據的遠距離采集。本系
    發表于 02-24 11:33 ?31次下載

    基于FPGAUSB2.0控制器設計

    摘要:介紹了一種用VHDL設計USB2.0功能控制器的方法,詳術了其原理和設計思想,并在FPGA上予以實現。 關鍵詞:USB VHDL FPGA
    發表于 06-20 13:26 ?1659次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>USB2.0</b>控制器設計

    IR-UWB通信系統高速USB接口的設計與實現

    IR-UWB通信系統高速USB接口的設計與實現 摘要: 采用高速USB接口連接計算機終端與UW
    發表于 03-13 11:32 ?2211次閱讀
    IR-UWB<b class='flag-5'>通信</b>系統高速<b class='flag-5'>USB</b><b class='flag-5'>接口</b>的設計與<b class='flag-5'>實現</b>

    FPGA的嵌入式系統USB接口設計

    FPGA的嵌入式系統USB接口設計 摘要:設計基于FPGA的IP-BX電話應用系統,用于傳統的電話網絡(PSTN)與PC機之間的接口連接。
    發表于 04-03 10:52 ?1924次閱讀
    <b class='flag-5'>FPGA</b>的嵌入式系統<b class='flag-5'>USB</b><b class='flag-5'>接口</b>設計

    基于USB2.0芯片CY7C68013的高速數據通信接口設計

    利用USB2.0接口芯片CY7C68013實現了語音信號處理系統中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結構以及與TM
    發表于 09-21 11:41 ?177次下載

    USB2.0協議的通用測控通信接口設計

    USB2.0協議的通用測控通信接口設計
    發表于 08-31 14:20 ?23次下載
    <b class='flag-5'>USB2.0</b>協議的通用測控<b class='flag-5'>通信</b><b class='flag-5'>接口</b>設計

    基于FPGA NANO2開發板實現USB2.0接口通信的設計方案

    Cypress Semiconductor公司的EZ-USB FX2是世界上第一款集成USB2.0的微處理器,它集成了USB2.0收發器、SIE(串行接口引擎)、增強的8051微控制器
    的頭像 發表于 01-16 09:20 ?3454次閱讀
    基于<b class='flag-5'>FPGA</b> NANO2開發板<b class='flag-5'>實現</b><b class='flag-5'>USB2.0</b><b class='flag-5'>接口</b><b class='flag-5'>通信</b>的設計方案

    基于Verilog的FPGAUSB 2.0高速接口設計資料下載

    電子發燒友網為你提供基于Verilog的FPGAUSB 2.0高速接口設計資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決
    發表于 04-12 08:53 ?17次下載
    基于Verilog的<b class='flag-5'>FPGA</b>與<b class='flag-5'>USB</b> <b class='flag-5'>2.0</b>高速<b class='flag-5'>接口</b>設計資料下載

    FPGAUSB3.0通信-USB3.0 PHY簡介

    可以和FPGA搭配使用的USB3.0 PHY芯片 通過之前的介紹FPGAUSB3.0通信-USB
    的頭像 發表于 11-09 09:36 ?8843次閱讀
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>USB</b>3.0<b class='flag-5'>通信</b>-<b class='flag-5'>USB</b>3.0 PHY簡介

    FPGAUSB3.0通信-USB3.0 PHY介紹

    可以和FPGA搭配使用的USB3.0 PHY芯片通過之前的介紹
    發表于 12-20 19:11 ?34次下載
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>USB</b>3.0<b class='flag-5'>通信</b>-<b class='flag-5'>USB</b>3.0 PHY介紹
    主站蜘蛛池模板: 日本黄色网址大全| 欧美ol丝袜高跟秘书在线播放 | 美女被免费视频网站九色| 久久久久无码国产精品一区| fenfencao在线观看免费视频| 午夜视频在线观看网站| 夜夜操天天干| 国产精品久久久久aaaa| 欧美成人午夜精品免费福利| 两性色午夜视频免费网| 丁香六月婷婷综合| 两性午夜欧美高清做性| 国产一级aa大片毛片| 久久久久久久国产精品电影| 国模谢心2013.05.06私拍| 嫩草影院地址一地址二| 色站在线| 亚洲天堂免费| 日韩无| 婷婷综合七月激情啪啪| 日韩免费毛片| 国产婷婷一区二区三区| 午夜视频精品| 国产成 人 综合 亚洲网 | 成人欧美一区二区三区的电影| 午夜久久影院| baoyu168成人免费视频| 日本不卡一区视频| 四虎影视大全免费入口| 天天视频国产精品| 欧美a一级| 夜夜cao| 亚洲欧美卡通 动漫 丝袜| 老熟女毛片| 日本不卡免费新一区二区三区| 日韩欧美中文字幕在线播放 | 性欧美精品久久久久久久| 综合五月婷婷| 中国videos偷窥| 日本v片免费一区二区三区| www五月婷婷|