《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于CY7C68013的USB2.0通信接口的設計
基于CY7C68013的USB2.0通信接口的設計
2015年微型機與應用第22期
趙 靜,馬尚昌
(成都信息工程大學 中國氣象局大氣探測重點實驗室,四川 成都 610225)
摘要: 介紹了一種利用USB通信協議的方法實現下位機與上位機之間的通信傳輸。該方法以滿足符合標準的USB2.0協議為基礎,以EZ-USB FX2為設計的基礎構架,以Cypress公司推出最具性價比的一種內嵌增強51單片機的芯片CY7C68013為核心,來構建下位機與上位機的數據傳輸通道。給出了系統的硬件設計方案、固件驅動程序以及計算機端的應用程序設計方法及流程。通過USB數據通信表明,USB2.0高速接口的帶寬能夠達到480 Mb/s的通信速率,能夠充分滿足普通接口數據傳輸所需速率,有效提高了傳輸效率,并且能將接收到的數據保存在計算機系統中,以備使用。因此,USB2.0通信接口的設計在數據傳輸的實際運用中有值得探索的價值。
Abstract:
Key words :

  摘  要: 介紹了一種利用USB通信協議的方法實現下位機與上位機之間的通信傳輸。該方法以滿足符合標準的USB2.0協議為基礎,以EZ-USB FX2為設計的基礎構架,以Cypress公司推出最具性價比的一種內嵌增強51單片機的芯片CY7C68013為核心,來構建下位機與上位機的數據傳輸通道。給出了系統的硬件設計方案、固件驅動程序以及計算機端的應用程序設計方法及流程。通過USB數據通信表明,USB2.0高速接口的帶寬能夠達到480 Mb/s的通信速率,能夠充分滿足普通接口數據傳輸所需速率,有效提高了傳輸效率,并且能將接收到的數據保存在計算機系統中,以備使用。因此,USB2.0通信接口的設計在數據傳輸的實際運用中有值得探索的價值。

  關鍵詞: 數據傳輸;USB2.0;高速接口;相互通信;驅動程序

0 引言

  隨著多媒體技術的發展,對外設與主機之間的數據傳輸率有了更高的要求,且傳統的計算機與外設通過串行、并行或PCI總線傳輸,要占用計算機系統資源,擴展性較差,而且傳輸速率和通信距離有限,已無法滿足計算機外設發展需求[1],對于傳統的RS232串口通信來說也很難滿足與上位機之間所需要的10 Mb/s以上的通信速率,因此,USB總線技術應運而生。目前,國內外主要采用USB1.1和USB2.0這兩種規范,USB1.1主要用于低速傳輸要求的場合,支持1.5 Mb/s和12 Mb/s傳輸速率。而USB2.0規范則能提高到480 Mb/s[2],盡管如此,在某些特定的傳輸速率與外圍設備系統中,外設與USB接口上仍存在不可忽視的瓶頸。

  但是由Cypress公司生產的USB2.0控制器CY7C68013提供了一種獨特的接口方式,即通用可編程接口(GPIF)方式,不僅很容易滿足USB通信接口的傳輸要求,并且較傳統接口方式而言有如下兩大優點[3]:(1)數據傳輸過程中不需要CPU的干涉,使得傳輸速率明顯提高,從而充分利用USB2.0的傳輸寬帶;(2)由軟件設置讀寫控制,提高傳輸穩定性。因此,本文把GPIF接口功能的優勢綜合利用在設計中并合理配置,使數據能夠快速下載并上傳到計算機上保存及顯示。

1 USB接口硬件電路設計

  1.1 系統總體設計框圖

  系統的總體設計由電源電平轉換電路、串行EEPROM電路、主芯片最小系統電路、引出口電路和PC-USB接口5部分組成,連接框圖如圖1所示。

001.jpg

  該USB高速接口模塊是作為與上位機通信傳輸的一個重要橋梁,所以PC-USB接口必不可少,用USB線連接完成該電路與計算機的傳輸總線,采用CY7C68013芯片的GPIF接口模式來完成控制信號的發送與數據的讀取。因此,該模塊的電源也由USB總線提供。由于USB接口提供的是5 V/500 mA的電源,而由CY7C68013A芯片資料得知工作電壓為3.3 V,即需要將5 V電壓轉換成3.3 V的電平轉換模塊。串行EEPROM采用24C64(8 KB)來存放PID/VID程序,引出口電路將芯片主要管腳引出,使得與其他外設連接提供方便。

  1.2 主芯片最小系統

  采用的CY7C68013A芯片,較100和128引腳封裝,其56引腳封裝的缺少部分管腳功能,雖然不能在線仿真,但可進行簡單調試,通過廠商的請求可以完成。具體設計如圖2所示。

002.jpg

  其最小系統中包含24 MHz晶振振蕩電路,晶振兩邊的電容大小范圍可取22 pF~30 pF和復位電路,復位電路1 k/0.1 F的RC電路,系統能夠正常上電復位。SCL是漏極開路輸出,SDA引腳是漏極遲滯輸入,在與EEPROM的SCL和SDA連接時,必須外接1.5 k~10 k的上拉電阻。PB0-PB7、PD0-PD7均為雙向I/O口引腳,也是復用引腳,可分別作為GPIF數據總線的低8位和高8位。CLKOUT引腳時鐘輸出可為12/24/48 MHz,作為其他外設的時鐘。端點2配置為寫設備地址,端點6配置為讀設備地址,每個端點都設置為4個緩沖區[4]。IFCLK為接口時鐘,作為同步時鐘數據的輸入輸出。

  1.3 硬件部分工作過程

  數據傳輸通信的主要控制芯片為CY7C68013,主要完成信號處理和單片機控制功能。系統的數據傳輸模塊通過USB連接到計算機,按下復位鍵后上電復位,功能設備將被識別并枚舉[1]。在設計中將程序下載到串行E2PROM中,主控芯片首先檢測FX2的啟動模式,若檢測到E2PROM存在且首字節是0xC2,則按C2加載。下載固件,根據USB描述符配置信息上電復位完成重枚舉[5]。再轉移到片內8.5 KB的RAM存放數據和程序進行軟配置,配置特定端點緩沖區來進行數據的高速傳輸與讀取。其中采用GPIF可編程接口方式利用FX2的GPIF方式構建USB數據傳輸通道,由軟件編程輸出讀寫控制波形讀取FIFO標識,控制FIFO的選通,可對外部通用總線接口進行訪問。

2 USB接口軟件程序設計

  2.1 固件程序設計

  固件程序是指用于控制硬件系統、完成芯片的初始化的代碼,存儲在USB接口芯片或微控器中,所以FX2要先下載固件再使用,處理各種設備的請求,完善對芯片的配置,對主機與外部設備間的數據傳輸作出相應處理,達到主機與外設通信的目的。Cypress公司為了降低用戶對固件編程的難度,提供了一套配套的固件程序開發框架,可直接在Keil C51環境中進行編譯,并可在固件庫里調用一些函數、常量或數據結構來修改自己的程序。

  固件框架的源文件包括由Keil提供的8051頭文件,庫函數聲明以及變量、宏和數據類型定義,FX2寄存器頭文件,固件框架源文件,用戶可修改的鉤子函數,用戶可修改的USB描述符列表,EZ-USB庫文件和中斷跳轉目標文件[6]。在上電復位程序起始時,固件程序首先會自動初始化所有的內部變量,接著調用初始化函數TD_Init(),固件就會把USB接口設置為未配置狀態并開啟中斷使能,循環延時間隔1 s后開始設備重枚舉直到端點0接收到Setup包為止退出循環。只要檢測到了Setup包,固件構架就會啟動與PC主機合作的分配器,執行任務調度。固件程序框架如圖3所示。

003.jpg

  2.2 應用程序設計

  應用程序編寫最主要的問題是實現上位機向外部設備發送指定命令數據包,設備能夠接收到上位機傳遞的指定數量的數據以及在通過執行命令后能夠向其返送數據,達到上位機與設備能夠相互通信的效果。主機應用程序通過驅動程序來完成對設備的控制和通信,采用具有友好界面的VC++6.0軟件編寫測試系統的應用程序,充分利用VC++的MFC框架的豐富資源,在與設備通信時首先通過Win32函數CreateFile()來取得訪問設備驅動程序的句柄[7]。得到句柄后向設備提交相應的IOCTL控制碼,進行讀寫和控制操作完成相應操作后,通過Win32函數DeviceIoControl()關閉設備結束一次數據傳輸操作。在用戶編寫的TD_Poll()函數中,檢測到有命令數據包傳送,單片機將讀取EP2端點的數據,直到EP2端點的數據為空,獲得上位機發送來的命令數據包。根據命令字的定義來執行相應操作,并向命令EP6端點寫數據發送給主機。

3 測試結果

  在系統測試中,單片機與上位機的通信由用戶自己編譯的執行軟件BulkLoop.exe來體現。

004.jpg

  由軟件編程向單片機發送數據,由控制按鈕點擊實現特定指令發送,在沒有獲取設備信息時顯示的是運用軟件界面信息,如圖4(a)所示,單片機在接收到數據處理后接口電路中LED燈亮暗顯示,同時獲取設備信息。單片機通過模擬按鍵向上位機發送特定數據,上位機接收數據,顯示的是設備信息,如圖4(b)所示。

4 結論

  利用Cypress公司提供的USB2.0高速接口芯片CY7C68013A芯片,完成了硬件設計與軟件程序的設計,使之達到了單片機與上位機通信的效果。在以后各個領域上的數據傳輸通信存在著必不可少的使用價值。

  芯片所具有的可編程特性大大提高了系統工作的準確性與可靠性,數據穩定性高,不易丟失,便于數據的傳輸和處理。再加上USB接口設備具有熱插拔和即插即用的特性,使模塊更具有較高的實用價值,是值得推廣的優良設計。

參考文獻

  [1] 劉吉名,裴東興.基于CY7C68013的USB2_0數據傳輸模塊設計[J].電子測量實驗室,2008,31(3):94-96.

  [2] 張晶.基于USB2.0接口的數字圖像通信模塊設計[D].南京:南京理工大學,2008.

  [3] 李英偉,王成儒,練秋生,等.USB2.0原理與工程開發(第二版)[M].北京:國防工業出版社,2007.

  [4] 趙林,孟令軍,于磊,等.基于CY7C68013A的USB2.0高速接口設計[J].電子技術應用,2014,40(1):131-133.

  [5] 陳玉輝,鐘洪聲,李廷軍.基于CY7C68013a的USB2.0接口設計[J].大眾科技,2010,134(10):23-24.

  [6] 趙志勇.USB2.0通信接口設計[J].兵工自動化,2005,24(3):56-57.

  [7] 胡文靜,陳松.基于EZ-USB芯片CY7C68013的驅動程序設計[Z].岳陽:華東師范大學,2005.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧洲成人免费高清视频 | 亚洲精品国自产拍在线观看 | 中文字幕99在线精品视频免费看 | 欧美久在线观看在线观看 | 国产精品青草久久 | 18在线网站| 亚洲欧美国产精品 | 日本久久香蕉一本一道 | 黄色片三级网站 | 欧美色欧美亚洲高清在线视频 | 亚洲一区二区三区精品影院 | 亚洲国产精品久久久天堂 | 国产第四页 | 古代级a毛片可以免费看 | 超级碰碰碰在线观看 | 日本午夜精品 | 国产一区精品在线观看 | 国产精品免费视频一区一 | 国产网曝手机视频在线观看 | 99久久免费国产香蕉麻豆 | 日韩精品一区二区三区中文字幕 | 免费a视频在线观看 | 免费一级特黄特色黄大任片 | 欧美成人午夜免费完成 | 午夜无遮挡怕怕怕免费视频 | 久久黄色影片 | 一区二区三区免费视频网站 | 成人 在线欧美亚洲 | 国产女厕偷窥系列在线视频 | 一区二区三区视频在线 | 欧美日本韩国一区 | 成人男女网18免费91 | 日本三级网站 | 在线精品视频在线观看高清 | 久久亚洲精品中文字幕二区 | 黄色国产网站 | 欧美在线一区视频 | 久久99热精品免费观看欧美 | 亚洲一区在线观看视频 | 狠色狠狠色狠狠狠色综合久久 | 精品视频在线播放 |