基于CY7C68013的USB2.0數據傳輸模塊設計

發(fā)布時(shí)間:2010-11-18 11:31    發(fā)布者:eetech
關(guān)鍵詞: CY7C68013 , USB , 傳輸模塊 , 設計 , 數據
1 引 言

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

2 硬件連接設計

2.1系統連接框圖及硬件各部分功能

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

硬件各部分功能:

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

電平轉換:?jiǎn)纹瑱C的輸出和工作電壓為3.3V的電壓值,而設備的電壓是3.3~5V之間,電平轉換器件實(shí)現電壓值的匹配;

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

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





2.2硬件部分工作過(guò)程

硬件工作過(guò)程:

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

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

3 系統軟件設計

3.1GPIF接口模式

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

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

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





3.2固件程序設計

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

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

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

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

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

①調用用戶(hù)函數TD_Poll()。

②判斷標準設備請求是否決定。如果已決定,它將解析所收到的命令請求并加以響應。

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

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



3.3 應用程序的設計

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

大型的應用程序大部分是很多模塊組成, 這些模塊完成相對獨立的功能,協(xié)作來(lái)完成整個(gè)軟件系統的工作。部分模塊的功能較為通用, 在構造其它軟件系統時(shí)仍會(huì )被使用。測試系統的應用程序采用VisualBasic6.0編寫(xiě),具有界面友好,操作簡(jiǎn)單的特點(diǎn)。

動(dòng)態(tài)鏈接庫文件的使用,需要在應用程序的全局定義變量定義模塊中調用.dll文件, 應用程序會(huì )在其所在目錄和系統目錄下查找.dll。在聲明過(guò)程中需要注意數據類(lèi)型的匹配問(wèn)題。

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í)際需要,主要操作由動(dòng)態(tài)鏈接庫文件完成,應用程序的主要功能包括錯誤操作提示,接收由動(dòng)態(tài)鏈接庫讀取的數據傳回主界面實(shí)現數據的格式轉換,數據的顯示、處理等。

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





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

芯片的可編程特性提高了系統工作的可靠性, 數據不會(huì )丟失,便于數據的傳輸和處理。另外,USB設備具有“熱插拔”和即插即用的特性具有較高的實(shí)用價(jià)值,設計的USB數據傳輸模塊適合于舊測試系統接口的改造。
本文地址:http://selenalain.com/thread-40462-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页