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

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

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

基于CY7C68013與GPIF模式的USB2.0數(shù)據(jù)傳輸系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-06 09:08 ? 次閱讀

1 引 言

USB支持主計算機與許多可同時訪問的外設(shè)之間進(jìn)行數(shù)據(jù)交換,使外設(shè)的連接具有單一化、即插即用、熱插拔等特點,已成為個人筆記本電腦和臺式機的標(biāo)準(zhǔn)配置接口。Cypress公司的EZ-USB FX2是一款集成 USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強的8051微控 制器和可編程的外圍接口。每條指令占四個時鐘周期,在48M晶振下工作時,單指令周 期為83.3ns,執(zhí)行速度遠(yuǎn)快于標(biāo)準(zhǔn)的8051單片機。本文的數(shù)據(jù)傳輸模塊采用CY7C68013 高速芯片設(shè)計的USB接口可以實現(xiàn)外部的存儲測試電路數(shù)據(jù)的快速下載,并且上傳至計 算機保存,顯示,處理。這里介紹CY7C68013的GPIF接口功能及其在設(shè)計中的實現(xiàn)機理。

2 硬件連接設(shè)計

2.1系統(tǒng)連接框圖及硬件各部分功能

系統(tǒng)的連接框圖如下圖1所示:主要有計算機主機USB接口,程序存儲EEPROM,內(nèi)置MCU的USB接口芯片,電平轉(zhuǎn)換部分組成。

硬件各部分功能:

設(shè)備接口:實現(xiàn)模塊與測試電路的連接;

電平轉(zhuǎn)換:單片機的輸出和工作電壓為3.3V的電壓值,而設(shè)備的電壓是3.3~5V之間,電平轉(zhuǎn)換器件實現(xiàn)電壓值的匹配;

USB總線控制器:采用CY7C68013接口芯片的GPI接口模式完成控制信號的發(fā)送和16bit寬度數(shù)據(jù)的讀取;

串行EEPROM:存儲單片機固件,并被下載到單片機。

基于CY7C68013與GPIF模式的USB2.0數(shù)據(jù)傳輸系統(tǒng)的設(shè)計

2.2硬件部分工作過程

硬件工作過程:

數(shù)據(jù)傳輸中核心器件是CY7C68013控制器芯片,主要完成USB的事務(wù)處理和單片機的控制功能。系統(tǒng)采用總線供電模式,數(shù)據(jù)傳輸模塊連接到計算機后,上電復(fù)位后,USB功能設(shè)備以全速的模式進(jìn)行設(shè)備的識別并枚舉。設(shè)計中將程序存儲到串行EEPROM中,主芯片首先檢測I2C總線上的EEPROM,判斷其首字節(jié)是0xC2,下載固件和USB的描述符標(biāo)裝入到自身的RAM中執(zhí)行,并且根據(jù)信息設(shè)置定義設(shè)備,完成了重枚舉。 CY7C68013包含8.5KB的片上RAM,可以用于“軟配置”,4KB的FIFO存儲器可以給4個端點共享。實現(xiàn)數(shù)據(jù)的高速讀取和傳輸,根據(jù)實際的需要,設(shè)計中配置了端點2采用三緩沖,使用3KB,端點4采用雙緩沖使用1KB。

采用GPIF主機模式,EZ-USB FX2由軟件編程輸出讀寫控制波形,F(xiàn)D[15:0]雙向數(shù)據(jù)總線12位與外部測試電路的靜態(tài)存儲器(SRAM)的相連,CTL[5:0]輸出可編程控制信號,如SRAM的讀寫選通信號等。數(shù)據(jù)在GPIF控制下讀入到CY7C68013后,在軟件的配置下,完成1024字節(jié)的最大封包,輸入計算機,由主機端的主控制器的串行接口引擎完成數(shù)據(jù)流串行化和解碼。

3 系統(tǒng)軟件設(shè)計

3.1GPIF接口模式

FX支持3種接口方式:端口、Slave FIFOs和可編程接口GPIF。

在“端口”模式下,所有I/O引腳都可作為8051的通用I/O口。在“從FIFO”模式下,外部邏輯或外部處理器直接與FX2端點FIFO相連。在這種模式下,GPIF 不被激活,這種模式下,外部主控端既可以是異步方式,也可以是同步方式,并可以為FX2 接口提供自己的獨立時鐘?!癎PIF主控”接口模式使用PORTB 和PORTD構(gòu)成通向四個FX2端點FIFO(EP2、EP4、EP6和EP8)的16位數(shù)據(jù)接口。GPIF 作為內(nèi)部的主控制器與FIFO直接相連, 并產(chǎn)生用戶可編程的控制信號與外部接口進(jìn)行通信。GPIF使用內(nèi)部時鐘。用戶將波形文件程序存在內(nèi)部RAM的程序存儲區(qū)中。

根據(jù)系統(tǒng)需要,設(shè)計中采用GPIF接口模式將CY7C68013設(shè)為FIFO READ和SINGLE READ兩種模式, 讓GPIF中的端點FIFO與USB通信中端點緩沖直接建立連接, 數(shù)據(jù)的傳送不再需要CPU 的參與。 根據(jù)外部測試電路的要求,適用于不同測試環(huán)境預(yù)設(shè)電路的CPLD編程信號,根據(jù)實際的測試信號的頻率采用不同的采樣頻率,設(shè)定不同的觸發(fā)電平,使用單次寫模式可以完成編程數(shù)據(jù)的輸出。針對的測試數(shù)據(jù)采用FIFO多次讀模式,實現(xiàn)數(shù)據(jù)的批量傳輸。設(shè)計中采用48M晶振,由于靜態(tài)存儲器的在使能信號(OE)的上升沿后推地址(Adr),而數(shù)據(jù)在總線上的保持時間至少需要85ns,因此在波形設(shè)計中數(shù)據(jù)有效時間應(yīng)該為4個時鐘周期,才能夠滿足地址有效的要求。靜態(tài)存儲器讀操作時序圖如圖2所示。

基于CY7C68013與GPIF模式的USB2.0數(shù)據(jù)傳輸系統(tǒng)的設(shè)計

3.2固件程序設(shè)計

固件是指存儲在USB接口芯片或微控器中的代碼,用于控制硬件系統(tǒng)運行,各種USB標(biāo)準(zhǔn)請求的處理,以及USB閑置模式的電源管理服務(wù),實現(xiàn)主機與外設(shè)之間的通信和數(shù)據(jù)傳輸。主要是根據(jù)系統(tǒng)需求設(shè)計相應(yīng)的程序框架圖。Cypress 公司為FX2 固件開發(fā)提供了一個固件庫和固件框架,都是在KeilC51集成開發(fā)環(huán)境下開發(fā)的,固件庫提供了一些常量、數(shù)據(jù)結(jié)構(gòu)、函數(shù)來簡化用戶對芯片的使用。C 語言環(huán)境, 同時保留了匯編代碼高效、快速的特點,將代碼在KeilC51環(huán)境中進(jìn)行編譯。編譯通過后,將固件代碼下載到USB單片機中,就可以實現(xiàn)GPIF多字節(jié)讀等操作。在程序起始時,固件架構(gòu)會執(zhí)行下列步驟:

(1)首先,設(shè)置所有的內(nèi)部狀態(tài)變量。

(2)然后,調(diào)用用戶的初始設(shè)置函數(shù)TD_Init()。待返回后固件架構(gòu)就會設(shè)置USB接口成為未配置的狀態(tài),并且使能中斷。

(3)接下來,在1秒的間隔內(nèi)開始重新設(shè)備列舉(ReNumerate)設(shè)備,并直到設(shè)置(SETUP)封包收到端點0為止。

(4)一旦SETUP封包被檢測到,固件架構(gòu)就會啟動與PC主機合作的工作分配器。而這個工作分配器就會順序重復(fù)執(zhí)行下列的工作:

①調(diào)用用戶函數(shù)TD_Poll()。

②判斷標(biāo)準(zhǔn)設(shè)備請求是否決定。如果已決定,它將解析所收到的命令請求并加以響應(yīng)。

③判斷USB核心是否己經(jīng)報告了USB中止(suspend)事件。

用戶需要編寫TD_Poll()中的代碼完成特定的功能,判斷USB設(shè)備枚舉的狀態(tài)決定每次出發(fā)FIFO波形文件的次數(shù),數(shù)據(jù)短包的處理方式等,實現(xiàn)數(shù)據(jù)的讀取。

3.3 應(yīng)用程序的設(shè)計

應(yīng)用程序編寫的關(guān)鍵是如何實現(xiàn)從USB設(shè)備讀取指定數(shù)量的數(shù)據(jù)以及向其發(fā)送指定的數(shù)據(jù)。另外,還有向USB設(shè)備發(fā)送USB標(biāo)準(zhǔn)設(shè)備請求和特定的命令,包括廠商定義的命令和用戶自定義的命令。

大型的應(yīng)用程序大部分是很多模塊組成, 這些模塊完成相對獨立的功能,協(xié)作來完成整個軟件系統(tǒng)的工作。部分模塊的功能較為通用, 在構(gòu)造其它軟件系統(tǒng)時仍會被使用。測試系統(tǒng)的應(yīng)用程序采用VisualBasic6.0編寫,具有界面友好,操作簡單的特點。

動態(tài)鏈接庫文件的使用,需要在應(yīng)用程序的全局定義變量定義模塊中調(diào)用。dll文件, 應(yīng)用程序會在其所在目錄和系統(tǒng)目錄下查找。dll。在聲明過程中需要注意數(shù)據(jù)類型的匹配問題。

Public Declare Function

BulkRead Lib "DLL68013.dll" (ByVal pipenum As Long, ByRef rec As Integer, ByVal length As Integer) As Integer

Public Declare Function BulkWrite Lib "DLL68013.dll" (ByVal pipenum As Long, ByRef send As Byte, ByVal length As Integer) As Long

Public Declare Function OpenDevice Lib "DLL68013.dll" () As Integer

設(shè)計中結(jié)合實際需要,主要操作由動態(tài)鏈接庫文件完成,應(yīng)用程序的主要功能包括錯誤操作提示,接收由動態(tài)鏈接庫讀取的數(shù)據(jù)傳回主界面實現(xiàn)數(shù)據(jù)的格式轉(zhuǎn)換,數(shù)據(jù)的顯示、處理等。

利用Cypress公司的USB2.0專用接口芯片CY7C68013, 完成了采用GPIF模式的通用數(shù)據(jù)傳輸模塊的硬件與軟件設(shè)計。針對原有的人機界面需要,開發(fā)了動態(tài)鏈接庫,可以提供給不同語言編寫的主機端的應(yīng)用程序使用。

在系統(tǒng)測試中,利用信號發(fā)生器產(chǎn)生輸入信號為正弦波,頻率10Hz,測試系統(tǒng)的采樣頻率125Ksps,通過系統(tǒng)電路采樣,存儲,數(shù)據(jù)通過傳輸模塊傳入計算機,根據(jù)采集數(shù)據(jù)恢復(fù)的信號與原始信號比較,失真較小,噪聲水平低,采集數(shù)據(jù)的有效位數(shù)達(dá)到12位,實驗結(jié)果表明,實際的傳輸速率120Mbps,滿足了測試系統(tǒng)的數(shù)據(jù)傳輸要求。與實驗測試系統(tǒng)聯(lián)合調(diào)試,實際采樣波形如圖3所示。

芯片的可編程特性提高了系統(tǒng)工作的可靠性, 數(shù)據(jù)不會丟失,便于數(shù)據(jù)的傳輸和處理。另外,USB設(shè)備具有“熱插拔”和即插即用的特性具有較高的實用價值,設(shè)計的USB數(shù)據(jù)傳輸模塊適合于舊測試系統(tǒng)接口的改造。


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

    關(guān)注

    10

    文章

    3376

    瀏覽量

    105807
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7383

    瀏覽量

    87643
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2246

    瀏覽量

    82274
收藏 人收藏

    評論

    相關(guān)推薦

    兩路數(shù)據(jù)傳輸,CY7C68013都作為從機接收數(shù)據(jù)是否可行?

    我想使用CY7C68013A的GPIF和FIFO功能: 1. 兩路數(shù)據(jù)傳輸,CY7C68013都作為從機接收數(shù)據(jù) 2. 每一路都
    發(fā)表于 02-28 07:34

    USB2.0控制器CY7C68013芯片與FPGA芯片接口的Verilog HDL實現(xiàn)

    使用。最新的USB2.0支持3種速率:低速1.5 Mbit/s,全速12 Mbit/s,高速480 Mbit/s。這3種速率可以滿足目前大部分外設(shè)接口的需要。 本文介紹了目前使用較多的USB2.0控制器CY7C68013
    發(fā)表于 05-10 07:00

    怎么實現(xiàn)USB2.0微控制器CY7C68013GPIF接口設(shè)計?

    本文介紹的基于USB2.0控制器CY7C68013GPIF接口設(shè)計,就是充分利用了該芯片這一獨特的數(shù)據(jù)傳輸接口方式,有效地解決了在傳統(tǒng)接口方式下U
    發(fā)表于 05-26 06:47

    基于CY7C68013的高速數(shù)據(jù)傳輸系統(tǒng)該如何去設(shè)計?

    本文介紹一種基于CY7C68013的高速數(shù)據(jù)傳輸系統(tǒng)的設(shè)計方案。
    發(fā)表于 06-02 06:08

    USB2.0控制器CY7C68013特點與應(yīng)用

    介紹USB2.0 協(xié)議以及Cypress 公司推出的USB2.0 控制器CY7C68013。USB2.0 協(xié)議提供480Mb/s 的傳輸速度
    發(fā)表于 04-16 14:08 ?45次下載

    基于CY7C68013USB數(shù)據(jù)采集系統(tǒng)

    本文介紹了高速USB2.0芯片CY7C68013的特點。設(shè)計出一種主要由CY7C68013與Altera公司EP1C6芯片構(gòu)成的USB2.
    發(fā)表于 09-14 14:33 ?133次下載

    USB2.0控制器CY7C68013特點與應(yīng)用

    介紹USB2.0協(xié)議以及Cypress公司推出的USB2.0控制器CY7C68013USB2.0協(xié)議提供480Mb/s的傳輸速度,向下完全
    發(fā)表于 11-28 13:41 ?55次下載

    USB2.0接口芯片CY7C68013的固件程序開發(fā)

    USB2.0接口芯片CY7C68013的固件程序開發(fā) ?摘要:USB2.0接口技術(shù)為外設(shè)與主機之間提供了一種靈活高效的雙向數(shù)據(jù)通道。可廣泛地應(yīng)用于
    發(fā)表于 04-11 16:59 ?4761次閱讀

    USB2.0控制器CY7C68013的接口設(shè)計實現(xiàn)

    USB2.0控制器CY7C68013的接口設(shè)計實現(xiàn)   1 引言   USB (Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play)、使用安裝方便等優(yōu)點而得到
    發(fā)表于 01-21 10:00 ?1416次閱讀
    <b class='flag-5'>USB2.0</b>控制器<b class='flag-5'>CY7C68013</b>的接口設(shè)計實現(xiàn)

    基于CY7C68013的CCD圖像傳輸系統(tǒng)

    針對面陣CCD 圖像的特點,提出了一種基于CY7C68013 的圖像實時傳輸系統(tǒng)。系統(tǒng)從面陣CCD 模塊中直接獲取數(shù)字圖像信號,利用CPLD 控制圖像
    發(fā)表于 05-17 17:36 ?100次下載
    基于<b class='flag-5'>CY7C68013</b>的CCD圖像<b class='flag-5'>傳輸</b><b class='flag-5'>系統(tǒng)</b>

    基于CY7C68013A的并口轉(zhuǎn)USB數(shù)據(jù)采集系統(tǒng)設(shè)計

    設(shè)計了一個以 CY7C68013A 為接口芯片的并口轉(zhuǎn)USB口的數(shù)據(jù)采集系統(tǒng),討論了CY7C68013A的性能及
    發(fā)表于 08-29 14:26 ?0次下載
    基于<b class='flag-5'>CY7C68013</b>A的并口轉(zhuǎn)<b class='flag-5'>USB</b>口<b class='flag-5'>數(shù)據(jù)</b>采集<b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于USB2.0芯片CY7C68013的高速數(shù)據(jù)通信接口設(shè)計

    利用USB2.0接口芯片CY7C68013實現(xiàn)了語音信號處理系統(tǒng)中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結(jié)構(gòu)以及與TMS320
    發(fā)表于 09-21 11:41 ?177次下載

    USB2.0微控制器CY7C68013數(shù)據(jù)采集系統(tǒng)的設(shè)計

    USB2.0微控制器CY7C68013數(shù)據(jù)采集系統(tǒng)的設(shè)計
    發(fā)表于 01-22 14:10 ?30次下載

    基于CY7C68013USB2.0數(shù)據(jù)傳輸模塊設(shè)計

    基于CY7C68013USB2.0數(shù)據(jù)傳輸模塊設(shè)計.
    發(fā)表于 01-22 14:27 ?37次下載

    USB2.0微控制器CY7C68013GPIF接口設(shè)計資料下載

    電子發(fā)燒友網(wǎng)為你提供USB2.0微控制器CY7C68013GPIF接口設(shè)計資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們
    發(fā)表于 04-10 08:43 ?20次下載
    <b class='flag-5'>USB2.0</b>微控制器<b class='flag-5'>CY7C68013</b>的<b class='flag-5'>GPIF</b>接口設(shè)計資料下載