• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA和LabVIEW的USB高速傳輸系統(tǒng)設計

      2014-04-29 06:20:15董淑偉鄭賓
      電子世界 2014年15期
      關鍵詞:現場可編程門陣列虛擬儀器

      董淑偉 鄭賓

      【摘要】針對大數據量傳輸問題,設計了基于FPGA和Labview的USB高速傳輸系統(tǒng),使FPGA、USB技術和LabVIEW軟件設計優(yōu)勢得到了有效的發(fā)揮。通過FPGA的控制,高速、高帶寬USB串行接口將數據傳輸到PC終端,在PC終端程序開發(fā)采取的LabVIEW軟件為USB傳輸系統(tǒng)提供了便捷性,具有一定的工程實用價值。

      【關鍵詞】現場可編程門陣列;通用串行總線;高速傳輸;虛擬儀器

      1.引言

      數據采集系統(tǒng)中需將大量的數據傳輸給PC機,傳統(tǒng)的RS232串口傳輸速度較慢,不適合大數據量傳輸。USB是一種高效快速、價格低廉、體積小、功耗低、時鐘頻率高、并支持熱拔插的串行通信接口,高速傳輸速率可達到480Mb/s,能夠實現數據的高速傳輸。

      2.系統(tǒng)整體設計

      系統(tǒng)主要由FPGA主控電路,USB接口電路和上位機部分組成。其中FPGA為Cyclone II系列,主要芯片為EP2C8Q208C8N;USB接口芯片為CY7C68013A,它通過將USB 2.0收發(fā)器、串行接口引擎(SIE)、增強型8051微控制器,以及可編程外設接口集成到一個芯片中。該芯片支持12Mbps全速和480Mbps高速兩種傳輸模式,帶有16KB的片內RAM和4KB的FIFO存儲器。配置有3種不同的接口模式:Ports(端口模式)、GPIF Master(可編程接口模式)和Slave FIFO(主從模式)。本文選用Slave FIFO模式;上位機主要由Labview來實現。

      FPGA與CY7C68013A的信號連接如圖1所示。

      圖1 FPGA與CY7C68013A的連接信號圖

      3.硬件設計

      USB傳輸系統(tǒng)主要包括FPGA控制模塊和USB接口模塊。USB接口模塊主要包括USB芯片、E2PROM、USB外圍接口電路等,其連接如圖2所示。

      4.軟件設計

      USB傳輸系統(tǒng)涉及USB固件程序、驅動程序、上位機接收程序以及slave FIFO模式下的FPGA邏輯設計。本文著重介紹固件程序設計和上位機接收程序部分。

      圖3 固件程序開發(fā)流程圖

      4.1 固件程序設計

      固件程序是USB開發(fā)的重要環(huán)節(jié),它主要功能包括初始化、輔助硬件完成相應的任務、處理中斷請求、收發(fā)數據以及外圍電路控制。CY7C6S013A芯片內置增強型8051單片機,因此可以用KEIL軟件進行固件程序的編寫。

      Cypress公司為了方便用戶編程,提供了完整的固件框架和函數庫。用戶只需添加或修改相應的代碼即可完成固件程序的開發(fā),從而提高了開發(fā)效率。固件程序開發(fā)流程圖如圖3所示。

      按功能區(qū)分整個固件程序可分為三個部分:(1)固件文件(fw.c),USB芯片的固件程序的核心,一般無需修改,主要用來完成USB外設請求以及協(xié)議通信;(2)功能文件(bulkloop.c),為用戶自由開發(fā)預留的文件,用戶為實現功能編寫的代碼就寫在這里,同時預留了功能函數并完成中斷響應;(3)描述符文件(dscr.a51),定義了枚舉設備時所需用的各類描述符信息,根據用戶需要進行編寫,包括設備描述符、接口描述符、端點描述符、字符串信息。

      主程序的源代碼如下:

      void main(void)

      {//初始化

      Sleep=FALSE;//禁止休眠模式

      Rwuen=FALSE;//禁止遠程喚醒

      Selfpwr=FALSE;//禁止自供電

      GotSUD=FALSE;//清SETUP令牌包來時的標志位

      //初始化用戶設備

      TD_Init();//定向USB描述符

      USB_Descriptor();

      USB_Interrupt();//中斷

      USB_ReConnect();

      //任務縣城線程

      while(TRUE)//主循環(huán)

      {//列舉用戶設備

      TD_Poll();

      if(GotSUD)

      {SetupCommand();

      GotSUD = FALSE;/清SETUP標記

      }

      if (Sleep)//檢查并處理

      {if(TD_Suspend())

      {Sleep = FALSE;//清Sleep標記

      do

      {EZUSB_Susp();//空閑狀態(tài)處理

      }

      while(!Rwuen && EZUSB_EXTWAKEUP());

      EZUSB_Resume();

      TD_Resume();

      }

      }

      }

      }

      4.2 上位機接收程序設計

      上位機是USB的主機,它需要實現的功能就是接收來自存儲在Flash中的測量數據,并保存在PC機中。本文中的上位機程序是使用LabVIEW開發(fā)的。

      上位機與USB通信靠三步完成:(1)找到并打開設備;(2)與設備通信;(3)關閉設備。其中先將Flash中的數據讀出存在硬盤內,然后在從硬盤讀取數據完成數據的波形顯示,并非邊寫邊讀,這樣減少了內存空間的使用。LaVIEW程序及前面板如圖5所示。

      5.總結

      本文結合FPGA、USB技術和Labview軟件設計優(yōu)勢,開發(fā)了基于FPGA和LabVIEW的USB高速傳輸系統(tǒng)。通過FPGA的控制,高速、高帶寬USB串行接口將數據傳輸到PC終端,在PC終端程序開發(fā)采取的LabVIEW軟件為USB傳輸系統(tǒng)提供了便捷性。

      參考文獻

      [1]馬向玲,楊輝,王海玲,吳亞男.基于FPGA的多路數據光纖傳輸系統(tǒng)設計與實現[J].計算機測量與控制,2011,02:363-366.

      [2]程海獅,黃玉清.基于FPGA+USB2.0多通道數據采集系統(tǒng)設計[J].西南科技大學學報,2011,01:56-60.

      [3]張思杰,趙泰,汪振興,石嶺.基于FPGA的USB接口數據采集系統(tǒng)設計[J].電子技術應用,2011,05:98-100.

      [4]張繼軍,劉小平,陶治洲,楊芳,顧適夷,范少池.基于FPGA的遠程USB高速傳輸系統(tǒng)設計[J].艦船電子對抗,2012,05:97-100.

      [5]甘建偉,秦付軍,王鵬.基于FPGA的高速多通道數據采集系統(tǒng)設計[J].電子技術應用,2013,04:55-57+61.

      [6]袁寶紅,付奎,張德祥.基于FPGA和LabVIEW的USB數據采集與傳輸系統(tǒng)[J]. 儀表技術與傳感器,2013,09:24-27.

      [7]唐磊.基于FPGA的USB、Flash控制器設計[D].北京:北京交通大學,2010.

      作者簡介:

      董淑偉(1989—),女,山東萊陽人,中北大學碩士研究生在讀,研究方向:動態(tài)測試與智能儀器。

      鄭賓,中北大學教授。

      猜你喜歡
      現場可編程門陣列虛擬儀器
      PCB 刻制機功能開發(fā)及在虛擬儀器實驗室建設中的應用
      電子制作(2017年13期)2017-12-15 09:00:26
      虛擬儀器及其在電工電子實驗中的應用
      電子制作(2017年1期)2017-05-17 03:54:33
      一種基于虛擬儀器的電控柴油機實驗臺的設計
      電子制作(2017年9期)2017-04-17 03:00:35
      D—BLAST基帶系統(tǒng)的FPGA實現研究
      移動通信(2016年20期)2016-12-10 09:33:12
      虛擬儀器技術在農業(yè)裝備測控中的應用
      一種千兆以太網SerDes 接口與電接口的轉換方法
      基于虛擬儀器的DMFC實時監(jiān)控系統(tǒng)
      電源技術(2016年9期)2016-02-27 09:05:28
      基于FPGA的遺傳算法在交通控制中的應用
      基于FPGA的顏色識別觸摸屏系統(tǒng)設計與實現
      虛擬儀器在三相不平衡度測量中的應用研究
      電測與儀表(2014年7期)2014-04-04 12:09:38
      黑山县| 尚义县| 渭源县| 青田县| 溧水县| 天峻县| 滨海县| 深圳市| 遂溪县| 达州市| 遂昌县| 家居| 肃南| 宜兰市| 金平| 泾阳县| 盐源县| 嘉黎县| 建水县| 自贡市| 北碚区| 成都市| 施秉县| 屏山县| 保康县| 岱山县| 保亭| 禄丰县| 襄樊市| 孟村| 金川县| 舟山市| 平武县| 台州市| 临湘市| 北宁市| 阳朔县| 广宗县| 永新县| 东乡族自治县| 南岸区|