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

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

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

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-04-23 08:22 ? 次閱讀

多串口數(shù)據(jù)通信技術(shù)主要研究數(shù)據(jù)的多串口采集、存儲(chǔ)和處理。由于串口通信技術(shù)的廣泛應(yīng)用,使得多串口采集卡一直是研究的熱點(diǎn),從早期的基于PCI總線的多串口數(shù)據(jù)采集卡到后來(lái)的基于USB的多串口數(shù)據(jù)采集卡,以及現(xiàn)在的基于USB3.0的多串口數(shù)據(jù)采集卡。

PCI采集卡由于使用不方便,逐漸被淘汰,目前USB傳輸系統(tǒng)被廣泛應(yīng)用。USB2.0理論傳輸速度為480Mb/s,而USB3.0的傳輸速率可高達(dá)5Gb/s,且在USB2.0的基礎(chǔ)上又增加了超高速傳輸模式。本文設(shè)計(jì)的系統(tǒng)中有80個(gè)485傳輸通道,每個(gè)通道的速率為1~10Mb/s,最高傳輸速率可達(dá)800Mb/s,USB2.0已不能滿(mǎn)足此要求。因此本文采用了Cypress的CYUSB3014和Altera的CycloneIII系列FPGA,CYUSB3014保證與PC的傳輸性能,F(xiàn)PGA負(fù)責(zé)多串口數(shù)據(jù)的采集以及對(duì)CYUSB3014的控制。

1 EZ-USB3.0 FX3與FPGA接口設(shè)計(jì)

1.1系統(tǒng)框架

整個(gè)多串口數(shù)據(jù)采集與傳輸系統(tǒng)框圖如圖1所示。圖中虛線部分為該系統(tǒng)的硬件框圖,整個(gè)系統(tǒng)由3部分組成,USB3.0芯片選擇了業(yè)界性能表現(xiàn)最好的Cypress的CYUSB3014芯片(簡(jiǎn)稱(chēng)FX3芯片),理論上通信速率可達(dá)4.8Gb/s,該芯片除了擁有GPIF2.0接口可方便與外設(shè)進(jìn)行通信外,還有標(biāo)準(zhǔn)的SPI、UART、I2C、I2S與外設(shè)進(jìn)行通信;FPGA采用了Cyclone3C40系列的芯片,邏輯資源、片上RAM以及I/O腳數(shù)目都能充分滿(mǎn)足本系統(tǒng)設(shè)計(jì);80路485傳輸芯片采用了ADIADM3485E,是一款3.3V低功耗數(shù)據(jù)收發(fā)器,提供±15kV的ESD保護(hù),適用于多點(diǎn)總線線路的半雙工通信。共模輸入范圍-7V~+12V,數(shù)據(jù)速率可達(dá)12Mb/s,能滿(mǎn)足本系統(tǒng)的設(shè)計(jì)要求。

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

圖1多串口數(shù)據(jù)傳輸系統(tǒng)框圖

1.2 FX3與FPGA的通信設(shè)計(jì)

FX3與FPGA通信主要分為兩類(lèi):

(1)FX3對(duì)FPGA的配置信息:PC通過(guò)FX3將串口的相關(guān)信息發(fā)送給FPGA,如各串口的奇偶校驗(yàn)、波特率、空閑位、每路的統(tǒng)計(jì)信息等配置,此類(lèi)信息數(shù)據(jù)量比較小;

(2)FX3與FPGA的大容量數(shù)據(jù)通信:FPGA將485采集的數(shù)據(jù)通過(guò)FX3傳輸?shù)絇C.

為了有效地利用FX3的超高速數(shù)據(jù)傳輸特性,針對(duì)這兩種不同的數(shù)據(jù)類(lèi)型,本設(shè)計(jì)將兩種數(shù)據(jù)通道分開(kāi)設(shè)計(jì),其中配置信息較少,而采集的485數(shù)據(jù)容量很大,為了不使配置信息數(shù)據(jù)打斷485數(shù)據(jù)通道,將配置信息和數(shù)據(jù)信息通過(guò)兩個(gè)獨(dú)立的通道進(jìn)行傳輸,其中配置信息采用了通過(guò)FX3的UART和FPGA進(jìn)行通信,通信格式如下:

①EZ-USB向FPGA發(fā)送命令格式

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

②FPGA返回命令格式

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

FX3每發(fā)一條配置參數(shù)給FPGA,F(xiàn)PGA都會(huì)返回相應(yīng)配置回應(yīng),并通知FX3可以繼續(xù)發(fā)送下一條配置信息,在配置信息都發(fā)送完成后,F(xiàn)X3最后會(huì)發(fā)送一條配置完成命令,此時(shí)FPGA會(huì)啟動(dòng)外圍接口電路進(jìn)入正常的數(shù)據(jù)采集過(guò)程。

2 USB3.0芯片固件設(shè)計(jì)

Cypress公司為USB3.0芯片提供了一個(gè)開(kāi)發(fā)包,其中包括了典型的固件代碼。對(duì)USB3.0芯片固件的設(shè)計(jì),可利用EZ-USBFX3固件函數(shù)庫(kù)簡(jiǎn)化加速USB3.0固件程序的開(kāi)發(fā)。固件程序主要完成的工作有:初始化、處理標(biāo)準(zhǔn)的USB設(shè)備請(qǐng)求及USB掛起時(shí)的電源管理等。任務(wù)循環(huán)的流程圖如圖2所示。

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

圖2任務(wù)循環(huán)流程圖

3 FPGA邏輯設(shè)計(jì)

FPGA采用了Altera公司的CycloneIII系列的3C40-C8,其邏輯門(mén)數(shù)有200萬(wàn)門(mén)左右,最高工作頻率可以達(dá)到300MHz.整個(gè)工程使用了Verilog語(yǔ)言編寫(xiě),整個(gè)工程的綜合、布局布線都是在Quartus11.0版本下進(jìn)行,仿真軟件使用Modelsim6.5se版本。本設(shè)計(jì)中FPGA邏輯設(shè)計(jì)主要包括485數(shù)據(jù)采集模塊及與FX3的讀寫(xiě)時(shí)序控制邏輯,整個(gè)工程使用邏輯單元,片上RAM使用率接近系統(tǒng)的95%,整個(gè)系統(tǒng)工作頻率為100MHz.

3.1邏輯模塊設(shè)計(jì)

系統(tǒng)的邏輯模塊分為時(shí)鐘模塊、FX3發(fā)送/接收緩存模塊、發(fā)送/接收控制模塊、FX3讀寫(xiě)控制模塊、485接收模塊、485發(fā)送模塊以及配置串口參數(shù)模塊。

整個(gè)系統(tǒng)的數(shù)據(jù)流分為兩個(gè)過(guò)程:485數(shù)據(jù)采集過(guò)程和485發(fā)送控制命令過(guò)程。

(1)485數(shù)據(jù)采集過(guò)程:485數(shù)據(jù)通過(guò)485接收模塊傳送給FX3接收緩存模塊,在FX3數(shù)據(jù)接口沒(méi)有被占用時(shí),通過(guò)FX3讀寫(xiě)控制模塊發(fā)送給USB3.0芯片并傳到PC端。

(2)485數(shù)據(jù)發(fā)送過(guò)程:USB3.0芯片通過(guò)FX3讀寫(xiě)控制模塊將數(shù)據(jù)發(fā)送到FX3發(fā)送緩存模塊中,在收發(fā)控制模塊檢測(cè)到相關(guān)串口空閑后通過(guò)485發(fā)送模塊將相關(guān)數(shù)據(jù)發(fā)送出去。

485收發(fā)相對(duì)于USB3.0速度來(lái)說(shuō),屬于慢速設(shè)備。為了提高USB3.0總線利用率,此處只設(shè)計(jì)了兩種緩存,即接收緩存和發(fā)送緩存,大小都設(shè)置為512KB,80路的485接收和發(fā)送buffer最終都匯聚到這兩種緩存上,有效地減少了短包和空包發(fā)生率。

3.2 FX3接口時(shí)序

FPGA與FX3之間采用了Slavefifo模式,F(xiàn)PGA通過(guò)狀態(tài)標(biāo)志的flaga、flagb、flagc、flagd來(lái)判斷FX3的接收/發(fā)送緩存的數(shù)據(jù)狀態(tài),當(dāng)flaga/flagc為高時(shí),表示FX3緩存中接收到了數(shù)據(jù);當(dāng)flagb/flagd為高時(shí),表示FX3的發(fā)送緩存為非滿(mǎn)狀態(tài),F(xiàn)PGA可對(duì)其進(jìn)行寫(xiě)數(shù)據(jù)操作。

圖3所示為FX3的A通道讀時(shí)序,F(xiàn)PGA先檢測(cè)i_usb_flaga是否為高電平,如果為高電平則表示A通道buffer中有數(shù)據(jù)可讀,此時(shí)將通道地址信號(hào)設(shè)置為0,片選信號(hào)o_usb_slcs_n/o_usb_sloe_n拉低,o_usb_slrd_n信號(hào)拉低后,在4個(gè)時(shí)鐘之后,數(shù)據(jù)將出現(xiàn)在io_usb_dq上,如果進(jìn)行寫(xiě)操作則將o_usb_slwr_n拉低。對(duì)應(yīng)的通道號(hào)地址選對(duì),同時(shí)將片選信號(hào)拉低即可,寫(xiě)通道時(shí)序如圖4所示。

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

圖3 FX3的A通道數(shù)據(jù)讀取時(shí)序

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

圖4 FX3的B通道寫(xiě)數(shù)據(jù)時(shí)序

4通信速度實(shí)驗(yàn)結(jié)果

利用Cypress的Streamer軟件,可以測(cè)試該USB3.0傳輸系統(tǒng)的傳輸速率。將Packets per Xfer設(shè)置為256,在win764位下(電腦配置為華碩N53XI241SN,F(xiàn)resco FL1000系列的控制器)的傳輸速率測(cè)試結(jié)果為2.5Gb/s,滿(mǎn)足了整個(gè)系統(tǒng)的性能,如圖5所示。

基于USB3.0技術(shù)和FPGA器件實(shí)現(xiàn)多串口數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計(jì)

圖5讀速率測(cè)試結(jié)果圖

該系統(tǒng)適合于超高速數(shù)據(jù)的傳輸,具有電路簡(jiǎn)單、體積小等優(yōu)點(diǎn)。FPGA技術(shù)與USB3.0的結(jié)合有極大的靈活性和可擴(kuò)展性,基于FPGA和USB3.0的突出優(yōu)點(diǎn),該設(shè)計(jì)方案必將應(yīng)用在更廣闊的領(lǐng)域。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    1625

    文章

    21636

    瀏覽量

    601315
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3375

    瀏覽量

    105803
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7880

    瀏覽量

    263770
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA+USB3.0接口的高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)

    滿(mǎn)足設(shè)計(jì)高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求,而USB3.0技術(shù)的出現(xiàn)無(wú)疑解決了上述窘困。因此,本設(shè)計(jì)選用了USB3.0芯片CYUSB3014作為
    發(fā)表于 08-09 14:18

    USB 3.0高速傳輸模塊XILINX版 USB開(kāi)發(fā)板 USB3.0開(kāi)發(fā)板

    電源總功耗不得超過(guò)2.5瓦。USB3.0-XILINX-DDR3模塊應(yīng)用●高速數(shù)據(jù)采集、傳輸●高速視頻,圖像采集、傳輸●打印機(jī)●掃描儀●高速
    發(fā)表于 09-20 15:08

    USB 3.0開(kāi)發(fā)板 USB3.0+fpga開(kāi)發(fā)板 FPGA開(kāi)發(fā)板

    200MHz(FPGA采用-6等級(jí)時(shí)),FPGAUSB3.0芯片及FPGA跟外部IO之間的走線均采用等長(zhǎng)設(shè)計(jì),保證高速信號(hào)的可靠傳輸。兩
    發(fā)表于 09-20 15:22

    USB 3.0開(kāi)發(fā)板 USB3.0+FPGA開(kāi)發(fā)板

    200MHz(FPGA采用-6等級(jí)時(shí)),FPGAUSB3.0芯片及FPGA跟外部IO之間的走線均采用等長(zhǎng)設(shè)計(jì),保證高速信號(hào)的可靠傳輸。兩
    發(fā)表于 11-21 11:25

    USB 3.0高速傳輸模塊XILINX版 USB3.0模塊 USB3.0開(kāi)發(fā)板

    電源總功耗不得超過(guò)2.5瓦。USB3.0-XILINX-DDR3模塊應(yīng)用●高速數(shù)據(jù)采集傳輸●高速視頻,圖像采集傳輸●打印機(jī)●掃描儀●高速
    發(fā)表于 01-08 14:28

    USB 3.0開(kāi)發(fā)板 USB3.0+FPGA開(kāi)發(fā)板 FPGA開(kāi)發(fā)板 USB開(kāi)發(fā)板

    200MHz(FPGA采用-6等級(jí)時(shí)),FPGAUSB3.0芯片及FPGA跟外部IO之間的走線均采用等長(zhǎng)設(shè)計(jì),保證高速信號(hào)的可靠傳輸。兩
    發(fā)表于 01-08 14:30

    USB 3.0高速傳輸模塊XILINX版 USB3.0開(kāi)發(fā)板 USB3.0模塊

    電源總功耗不得超過(guò)2.5瓦。USB3.0-XILINX-DDR3模塊應(yīng)用●高速數(shù)據(jù)采集、傳輸●高速視頻,圖像采集、傳輸●打印機(jī)●掃描儀●高速
    發(fā)表于 01-15 10:40

    USB 3.0開(kāi)發(fā)板 USB3.0+FPGA開(kāi)發(fā)板 FPGA開(kāi)發(fā)板

    ->PC機(jī)和PC->USB->FPGA數(shù)據(jù)傳輸實(shí)例;●USB3.0讀速度測(cè)試實(shí)例;●USB3.0寫(xiě)速度測(cè)試實(shí)例;●虛擬16路邏輯分析儀實(shí)例;
    發(fā)表于 01-15 10:50

    FPGA實(shí)現(xiàn)數(shù)據(jù)采集的方式對(duì)比(傳統(tǒng)串口、數(shù)據(jù)采集卡及外設(shè)計(jì)接口)

    ,使用非常方便。USB2.0支持高達(dá)480 Mbps的數(shù)據(jù)傳輸速率。USB接口可實(shí)現(xiàn)計(jì)算機(jī)與多個(gè)外圍設(shè)備的簡(jiǎn)單、高速互聯(lián),將USB
    發(fā)表于 01-07 07:00

    基于USB2.0與FPGA技術(shù)的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    基于USB2.0與FPGA技術(shù)的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) 基于USB2.0與
    發(fā)表于 04-22 19:56 ?1487次閱讀
    基于<b class='flag-5'>USB</b>2.0與<b class='flag-5'>FPGA</b><b class='flag-5'>技術(shù)</b>的高速<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    基于FPGAUSB接口的通道數(shù)據(jù)采集系統(tǒng)

    設(shè)計(jì)了一種基于FPGAUSB接口的通道數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用在
    發(fā)表于 12-28 10:34 ?91次下載
    基于<b class='flag-5'>FPGA</b>和<b class='flag-5'>USB</b>接口的<b class='flag-5'>多</b>通道<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    FPGAUSB3.0通信-USB3.0 PHY簡(jiǎn)介

    實(shí)現(xiàn)的情況)才可以,所以目前使用USB3.0時(shí),搭檔FPGA的最優(yōu)解就是外置USB3.0 PHY片。 USB3.0 PHY簡(jiǎn)介 首先我們需要
    的頭像 發(fā)表于 11-09 09:36 ?8611次閱讀
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>USB3.0</b>通信-<b class='flag-5'>USB3.0</b> PHY簡(jiǎn)介

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

    可以和FPGA搭配使用的USB3.0 PHY芯片通過(guò)之前的介紹
    發(fā)表于 12-20 19:11 ?34次下載
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>USB3.0</b>通信-<b class='flag-5'>USB3.0</b> PHY介紹

    基于FPGAUSB3.0回環(huán)傳輸測(cè)試方案

    本文開(kāi)源一個(gè)FPGA項(xiàng)目: USB3.0 LoopBack ?;?b class='flag-5'>FPGA的USB3.0通信方案有很多,其中非常好用的一款USB3.0芯片是
    的頭像 發(fā)表于 10-01 09:49 ?3610次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>USB3.0</b>回環(huán)<b class='flag-5'>傳輸</b>測(cè)試方案

    什么是USB3.0?usb3.0usb2.0有什么區(qū)別?

    什么是USB3.0usb3.0usb2.0有什么區(qū)別 USB3.0是指“超級(jí)速度USB”,它是一種高速
    的頭像 發(fā)表于 10-27 14:31 ?8671次閱讀