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

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

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

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

優(yōu)秀的 Verilog/FPGA開源項目之 USB通信

OpenFPGA ? 來源:OpenFPGA ? 作者:碎碎思 ? 2021-11-02 14:54 ? 次閱讀

優(yōu)秀的 Verilog/FPGA開源項目介紹(五)- USB通信

USB是我們生活中非常非常常見的接口,鼠標、鍵盤以及常見的U 盤等,可以說現(xiàn)在的USB設(shè)備已經(jīng)滲透到生活中的方方面面,下面就介紹幾個開源的USB IP,供大家學(xué)習(xí)。

0-官方網(wǎng)站

https://www.usb.org/?

很多人花各種XX幣下載各種標準,其實太浪費時間和精力了,這里介紹一個網(wǎng)站--usb.org。

USB Implementers Forum, Inc. 是一家非營利性公司,由開發(fā)通用串行總線規(guī)范的公司集團創(chuàng)立。USB-IF 的成立是為了為通用串行總線技術(shù)的進步和采用提供支持組織和論壇。該論壇促進了高質(zhì)量兼容 USB 外圍設(shè)備(設(shè)備)的開發(fā),并促進了 USB 的優(yōu)勢和通過一致性測試的產(chǎn)品質(zhì)量。

1-usbcorev

項目地址

https://github.com/avakar/usbcorev?

項目簡介

該IP可以將全速 (12Mbps) USB 2.0 設(shè)備內(nèi)核嵌入到 FPGA 設(shè)計中。

接口部分

我們知道USB接口使用了差分結(jié)構(gòu),所以接口部分還是很復(fù)雜的。

980b5e2c-3b8a-11ec-82a9-dac502259ad0.png

由于 USB 在其半雙工差分線上使用了一些奇怪的信號,因此需要做一些工作才能將其連接到核心。以下五個信號連接到USB 信號的 D+ 和 D- 。

  • input rx_j -- D+/D-線上的微分值

  • input rx_se0 -- 單端零檢測:應(yīng)在 D+ 和 D- 線均為零時設(shè)置

  • output tx_se0-- 在兩條 USB 線上傳輸零;優(yōu)先于tx_j

  • output tx_j-- 傳輸tx_j到 D+ 和~tx_jD-

  • output tx_en -- 啟用發(fā)射器

如果使用的 FPGA 沒有差分接收器,那么可以簡單地使用兩個引腳并按如下方式連接它們。但是,如果沒有差分接收器,這將超出 USB 規(guī)范。

inoutusb_dp;
inoutusb_dn;

//...

wireusb_tx_se0,usb_tx_j,usb_tx_en;
usbusb0(
.rx_j(usb_dp),
.rx_se0(!usb_dp&&!usb_dn),

.tx_se0(usb_tx_se0),
.tx_j(usb_tx_j),
.tx_en(usb_tx_en));

assignusb_dp=usb_tx_en?(usb_tx_se0?1'b0:usb_tx_j):1'bz;
assignusb_dn=usb_tx_en?(usb_tx_se0?1'b0:!usb_tx_j):1'bz;

對于 Xilinx Spartan 6 系列,使用四個物理引腳如下。

//Thesepinsareconfiguredasdifferentialinputs.Unfortunately,
//youcan'tusesingle-endedreceiversnortransmittersonthesepins.
inputusb_sp;
inputusb_sn;

//Thesepinsaresingle-endedinouts.
inoutusb_dp;
inoutusb_dn'

//...

IBUFDSusb_j_buf(.I(usb_sp),.IB(usb_sn),.O(usb_rx_j_presync));
synchusb_j_synch(clk_48,usb_rx_j_presync,usb_rx_j);
synchusb_se0_synch(clk_48,!usb_dp&&!usb_dn,usb_rx_se0);

wireusb_tx_se0,usb_tx_j,usb_tx_en;
usbusb0(
.rx_j(usb_rx_j),
.rx_se0(usb_rx_se0),

.tx_se0(usb_tx_se0),
.tx_j(usb_tx_j),
.tx_en(usb_tx_en));

assignusb_dp=usb_tx_en?(usb_tx_se0?1'b0:usb_tx_j):1'bz;
assignusb_dn=usb_tx_en?(usb_tx_se0?1'b0:!usb_tx_j):1'bz;

注意接收器之后的同步。

無論在哪個引腳上傳輸,都需要在線路上增加串阻,通常大約 27 歐姆就可以了。

還需要將 D+ 線增加1.5K的 3.3V 上拉。如果您想動態(tài)連接/分離到總線,可以直接或通過 FPGA 上的引腳拉動它。確保永遠不要下拉線路,上拉引腳的唯一有效輸出是1'b1和1'bz。

2-no2usb

https://github.com/no2fpga/no2usb?

該項目是Lattice眾多擁簇的一員的項目,平臺也是運行在ice40中,之前我也做了一個開發(fā)板(),奈何國內(nèi)對這個感興趣的不過,也就沒怎么推廣。

下面簡單介紹一下這個項目。

概述

該 fpga 內(nèi)核僅使用普通 FPGA CMOS IO 實現(xiàn) USB 全速 SIU(Server Interface Unit)。

  • 小巧高效(最初針對 ice40)
  • 靈活,動態(tài) EP 配置
  • 時鐘

該項目目前只運行在ice40芯片(Apple曾使用的)上,目前在適配ecp5(lattice)。

說明

?

https://github.com/smunaut/ice40-playground/tree/master/cores

?

3-tinyfpga_bx_usbserial(USB轉(zhuǎn)串口 SPI)

?

https://github.com/davidthings/tinyfpga_bx_usbserial

?

這個項目的起源也很有意思,ice40系列FPGA是使用SPI接口燒寫程序的(類似JTAG),使用時需要一個USB轉(zhuǎn)SPI芯片作為“JTAG”,常用的就是FT232/FT2232等,但是FTDI的芯片價格普遍比較貴(差不多和ICE40一樣價格甚至更貴),本項目的起源就是為了節(jié)省這一芯片,使用FPGA本身實現(xiàn)USB-SPI。

項目起源地址

?

https://github.com/tinyfpga/TinyFPGA-Bootloader

?

簡介

Lawrie Griffiths 深入研究了這段代碼的"暗盒",并做了大量工作將其更改為 USB - SERIAL 橋接器,將用戶視為串行端口,而不是 SPI 主機。他還創(chuàng)造了一些很好的例子,他的工作在這里:

?

https://github.com/lawrie/tiny_usb_examples

?

本項目針對以上兩個項目做了一些改善。并且做了很多改善,不僅使用ICE40系列FPGA還適配了XIlinx A7 FPGA,同時ECP5(Lattice)也可以使用。

項目資源使用如下:

Info:Deviceutilisation:
Info:ICESTORM_LC:1093/768014%
Info:ICESTORM_RAM:2/326%
Info:SB_IO:9/2563%
Info:SB_GB:8/8100%
Info:ICESTORM_PLL:1/250%
Info:SB_WARMBOOT:0/10%

項目的README中有詳細的介紹及使用教程,這里就介紹的這里,畢竟不是完整的USB通信。

4-眾多IP核

?

https://github.com/ultraembedded/cores

?

這個項目不僅不包括了USB(主要是USB1.1),還包括很多常見的低速接口-SPI UART I2S等等

每個IP都有完整的說明,自己去看吧,非常適合新手調(diào)試接口。

5-usb_cdc(設(shè)備類)

?

https://github.com/ultraembedded/core_usb_cdc

?

USB的CDC類是USB通信設(shè)備類 (Communication Device Class)的簡稱。CDC類是USB組織定義的一類專門給各種通信設(shè)備(電信通信設(shè)備和中速網(wǎng)絡(luò)通信設(shè)備)使用的USB子類。

簡介

該項目是一個簡單的 USB 外設(shè)接口(設(shè)備)實現(xiàn),可枚舉為高速 (480Mbit/s) 或全速 (12Mbit/s) CDC-ACM 設(shè)備。

該 IP 具有用于輸入和輸出數(shù)據(jù)的簡單 FIFO 接口(有效、數(shù)據(jù)、接受),以及用于連接到 USB PHY 的 UTMI 接口。

特征

  • 高速或全速 USB CDC 設(shè)備。
  • 硬件枚舉 - 無需軟件干預(yù)。
  • UTMI PHY 接口
  • 具有握手功能的簡單 8 位數(shù)據(jù)輸入/輸出接口(符合 8 位寬 AXI4-Stream 接口)。
  • 配置/要求(全速(12Mbit/s))

文件說明

Configuration/Requirements(FullSpeed(12Mbit/s))

Top:usb_cdc_core
Clock:clk_i-48MHzor60MHz
Reset:rst_i-Asynchronous,activehigh
VID/PIDcanbechangedinusb_desc_rom.v
Param:USB_SPEED_HS="False"
Configuration/Requirements(HighSpeed(480Mbit/s))

Top:usb_cdc_core
Clock:clk_i-60MHz
Reset:rst_i-Asynchronous,activehigh
VID/PIDcanbechangedinusb_desc_rom.v
Param:USB_SPEED_HS="True"

該項目在仿真下驗證,在 FPGA 上針對 Linux、Windows 和 MAC OS-X 進行了測試。

6-www-asics-ws的項目

?

https://github.com/www-asics-ws

?

www-asics-ws項目中包含了USB1.1和USB2.0設(shè)備類USB IP。
usb1_device

  • USB 1.1 兼容功能
  • 支持硬件枚舉
  • 無需微控制器/CPU
  • 基于 FIFO 的接口
  • 用 Verilog 編寫
  • 完全可合成
  • 仿真及硬件測試

usb2_dev

這是一個符合 USB 2.0 標準的內(nèi)核。由于接口速度高,此內(nèi)核需要外部 PHY。已開發(fā)出用于 USB 的行業(yè)標準 PHY 接口。該接口稱為USB Transceiver Macrocell Interface或簡稱UTMI。USB 內(nèi)核的主機接口符合 WISHBONE SoC 標準。有關(guān) USB 標準和完整規(guī)范的更多信息,請訪問www.usb.org。有關(guān) WISHBONE SoC 的更多信息和完整規(guī)范,請訪問www.opencores.org。UTMI 規(guī)范(以及其他各種有用的 USB 文件)可以從這里下載:https : //www.intel.com/content/www/us/en/io/universal-serial-bus/universal-serial-bus-specifications .html

參考意義不大,不能直接在FPGA中使用,需要搭配PHY使用。

7-usbhostslave

?

https://github.com/freecores/usbhostslave

?

該項目已使用 Quartus 6.0 成功編譯并且USBHostSlave 已經(jīng)在 SystemC 和 Altera Nios 開發(fā)套件 Cyclone 版中進行了測試。

整個項目文檔說明很少,但是看提交記錄該項目完成度很高,還是適合入坑。

優(yōu)秀的 Verilog/FPGA開源項目介紹(四)- Ethernet

9-core_usb_sniffer

?

https://github.com/ultraembedded/core_usb_sniffer

?

這個內(nèi)核是一個 HS/FS USB2.0 分析器(USB 總線嗅探器)。

內(nèi)核監(jiān)控 UTMI 接口,并通過 AXI-4 總線主接口將看到的流量記錄到內(nèi)存緩沖區(qū)。

可以連續(xù)提取日志格式(連續(xù)捕獲模式),也可以在內(nèi)存緩沖區(qū)已滿時內(nèi)核停止捕獲(一次性模式)。

IP 的配置是使用 AXI4-Lite 從接口執(zhí)行的。

該內(nèi)核已用于生產(chǎn)USB 2.0 捕獲設(shè)備(https://github.com/ultraembedded/usb2sniffer)這是實現(xiàn)的案例。

10-商業(yè)IP

?

https://www.synopsys.com/designware-ip/interface-ip/usb.html

?

商業(yè)IP肯定首推來自老牌大廠新思,新思科技在2018年推出基于HAPS-80 FPGA的硬件原型驗證平臺上部署了USB 3.2設(shè)備IP和主機IP。這些FPGA硬件原型驗證平臺在FinFET工藝節(jié)點的FPGA中使用了USB PHY。解決方案如下:

有需要的可以去上面的網(wǎng)站了解,需要money的IP,所以我就不過多介紹了,個人也不會選用,大公司自然有銷售對接。

以上就是今天推薦的項目,這里建議第一個和第五個項目可以入坑,其他看自己需求。

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

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

    關(guān)注

    1629

    文章

    21742

    瀏覽量

    603540
  • USB 2.0
    +關(guān)注

    關(guān)注

    1

    文章

    23

    瀏覽量

    17405
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1709

    瀏覽量

    149571
  • PHY
    PHY
    +關(guān)注

    關(guān)注

    2

    文章

    303

    瀏覽量

    51749

原文標題:優(yōu)秀的 Verilog/FPGA開源項目介紹(五)- USB通信

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    利用FPGA實現(xiàn)USB 2.0通信接口

    第一種方式,FPGA不需要實現(xiàn)USB通信協(xié)議,開發(fā)的風(fēng)險小,而且性能穩(wěn)定,因此被大部分設(shè)計者所采用。而第二種方式需要購買USB的IP核,門檻較高。如果自己開發(fā)基于
    的頭像 發(fā)表于 12-30 13:59 ?136次閱讀
    利用<b class='flag-5'>FPGA</b>實現(xiàn)<b class='flag-5'>USB</b> 2.0<b class='flag-5'>通信</b>接口

    Verilog 測試平臺設(shè)計方法 Verilog FPGA開發(fā)指南

    Verilog測試平臺設(shè)計方法是Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗證Verilog設(shè)計的正確性和性能。以下是一個詳細的Verilog
    的頭像 發(fā)表于 12-17 09:50 ?223次閱讀

    開源ISP(Infinite-ISP)介紹

    公開,都是給一堆函數(shù)自己調(diào)用調(diào)試。因為廠商將 ISP 算法視為保持市場競爭力的獨特秘訣。雖然之前介紹了很多開源ISP項目優(yōu)秀Verilog/F
    的頭像 發(fā)表于 11-18 10:21 ?436次閱讀
    <b class='flag-5'>開源</b>ISP(Infinite-ISP)介紹

    Verilog vhdl fpga

    崗位職責(zé) 1.負責(zé)FPGA的架構(gòu)設(shè)計、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測試; 3.負責(zé)項目FPGA設(shè)計的相關(guān)文檔編寫及維護;任職要求 1.碩士及以上學(xué)歷,電子、通信
    發(fā)表于 11-12 16:40

    FPGA加速深度學(xué)習(xí)模型的案例

    名稱 :DE5Net_Conv_Accelerator 應(yīng)用場景 :面向深度學(xué)習(xí)的開源項目,實現(xiàn)了AlexNet的第一層卷積運算加速。 技術(shù)特點 : 采用了Verilog語言進行編程,與PCIe接口相集成,可以直接插入到
    的頭像 發(fā)表于 10-25 09:22 ?229次閱讀

    怎么樣提高verilog代碼編寫水平?

    優(yōu)秀代碼:在網(wǎng)上查找開源的、經(jīng)過驗證的高質(zhì)量 Verilog 代碼,學(xué)習(xí)他人的編程風(fēng)格、代碼結(jié)構(gòu)和設(shè)計思路。 實踐項目:嘗試自己設(shè)計和實現(xiàn)一些較為復(fù)雜的
    發(fā)表于 09-25 20:05

    FPGA芯片架構(gòu)和資源有深入的理解,精通Verilog HDL、VHDL

    崗位職責(zé) 1.負責(zé)FPGA的架構(gòu)設(shè)計、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測試; 3.負責(zé)項目FPGA設(shè)計的相關(guān)文檔編寫及維護; 任職要求 1.碩士及以上學(xué)歷,電子、通信
    發(fā)表于 09-15 15:23

    如何用FPGA實現(xiàn)一個通信系統(tǒng)的發(fā)射端接收機?

    基礎(chǔ)(略懂verilog語法和通信原理)的人該怎么一步步學(xué)習(xí)? A:對于這個問題,分兩部分回答,一部分是如何設(shè)計以及思路,另一部分是規(guī)劃學(xué)習(xí)路線。拙見,僅供參考。 如何設(shè)計以及思路如下: 以下是使用 FPGA
    發(fā)表于 09-10 19:15

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發(fā)工具。 3.有AI算法 fpga實現(xiàn)經(jīng)驗優(yōu)先。 4.本科及
    發(fā)表于 09-02 15:50

    FPGA開源項目Verilog常用可綜合IP模塊庫

    所有代碼在典型的 FPGA 和主流 FPGA 供應(yīng)商中都具有高度可重用性。 可以出于任何目的對文件進行重新混合、轉(zhuǎn)換和構(gòu)建,甚至是商業(yè)用途。
    發(fā)表于 03-29 11:31 ?993次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>:<b class='flag-5'>Verilog</b>常用可綜合IP模塊庫

    fpga是用c語言還是verilog

    FPGA(現(xiàn)場可編程邏輯門陣列)開發(fā)主要使用的編程語言是硬件描述語言(HDL),其中Verilog是最常用的編程語言之一。而C語言通常用于傳統(tǒng)的軟件編程,與FPGA的硬件編程有所區(qū)別。
    的頭像 發(fā)表于 03-27 14:38 ?2014次閱讀

    如何排查FPGAUSB之間的芯片通信問題?

    ”,而在SBBulkSourceSink固件中沒有顯示這個錯誤,可不可以證明我的FPGAUSB之間通信成功?另外,我該如何排查FPGAUSB
    發(fā)表于 02-27 06:46

    優(yōu)秀Verilog/FPGA開源項目開發(fā)-CAN通信

    CAN總線有兩個ISO國際標準:ISO11898 和 ISO11519。
    的頭像 發(fā)表于 02-22 09:32 ?1998次閱讀
    <b class='flag-5'>優(yōu)秀</b>的<b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項目</b>開發(fā)-CAN<b class='flag-5'>通信</b>篇

    FPGA? 開搞!

    。 該工具鏈使用 Yosys 和 OpenFPGALoader 等開源工具,并與 Cologne Chip 合作開發(fā)實施和比特流生成工具。在設(shè)計輸入方面,工程師可以使用 Verilog、VHDL(通過
    發(fā)表于 01-11 00:52

    關(guān)于FPGA開源項目介紹

    Hello,大家好,之前給大家分享了大約一百多個關(guān)于FPGA開源項目,涉及PCIe、網(wǎng)絡(luò)、RISC-V、視頻編碼等等,這次給大家?guī)淼氖遣豢菰锏膴蕵?b class='flag-5'>項目,主要偏向老的游戲內(nèi)核使用
    的頭像 發(fā)表于 01-10 10:54 ?1468次閱讀
    關(guān)于<b class='flag-5'>FPGA</b>的<b class='flag-5'>開源</b><b class='flag-5'>項目</b>介紹
    主站蜘蛛池模板: 成人精品第一区二区三区| 黑人黄色大片| 99久久久精品| 成人国产在线24小时播放视频| 国产日本特黄特色大片免费视频| 国产卡1卡2卡三卡网站免费| www五月天| 一级大片免费看| 色屁屁www影院免费观看视频| 奇米影视四色7777久久精品| 色com| 四虎免费影院4hu永久免费| 色婷婷久久综合中文久久蜜桃| 色秀视频免费网站在线观看| 日韩特级片| 久久精品视频国产| 成人美女隐私免费| 窝窝午夜看片成人精品| 精品乱人伦一区二区三区| 日本xxxxxxxxx68| 亚洲高清一区二区三区| 在线观看www日本免费网站| 涩多多在线观看| 巨乳色网址| 222.www免费观看| 免费一级黄| 黄色片xxx| 综合六月| 日本不卡免费新一区二区三区| 玖玖国产| 午夜视频在线观看视频| 国内色视频| 午夜视频在线观看免费观看在线观看| 在线播放一区二区精品产| 日韩电影天堂网| 国产精品美女在线| 人人艹人人干| 一区二区三区视频| 五月婷婷深深爱| 久久国产精品免费网站| 亚洲九九香蕉|