新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CY7C68013的高速數據傳輸系統的設計

        基于CY7C68013的高速數據傳輸系統的設計

        作者: 時間:2010-09-15 來源:網絡 收藏

          在設備枚舉的過程中,可采用調試工具BusHound軟件來抓取它和主機的通信進行分析,以檢查硬件和固件程序的工作是否正確。

          3 驅動程序設計

          為了配合CY7C68013的工作,需要有驅動程序以使上位機程序能正常訪問芯片。以Cypress公司提供的參考程序為基礎,增加自定義控制請求即可。

          由于驅動程序必須和系統的總線驅動進行通信,系統總線驅動為WDM(Win32 Driver Model)驅動。因此,USB驅動程序采用WDM設備驅動程序[8]。由于USB總線驅動程序(USBD)一般由操作系統提供,負責與實際的硬件打交道,因此,重點是開發USB設備驅動程序(USB Device Driver)。USB設備的WDM驅動程序是通過創建URB(USB請求塊),并向USB總線驅動程序發送包含URB的IRP來實現對USB設備信息的發送和接收。此外,USB設備驅動程序除負責處理應用程序的I/O請求外,還要處理PnP請求。

          CY7C68013的驅動程序包括2部分:usbfft.sys,專用于下載芯片的固件程序;loaderfft.sys,上位機和CY7-

          C68013進行通訊的部分,用于實現收發功能。這2個部分都存放在上位機上,當系統上電或USB連接時,固件部分將自動下載到芯片的RAM中供8051執行。

          4 應用程序設計

          上位機是人機交互的平臺,需要良好的操作界面。

          應用程序是完成發送與接收并且對系統進行有效控制的平臺,不僅需要向CY7C68013發送數據,還需要將接收的數據顯示出來并保存。此外為了系統測試的方便,增加了誤碼率和速率測試模塊,以測試系統的整體性能。

          本系統上位機的主要功能有:(1)文件的發送;(2)文件的接收;(3)速率測試;(4)誤碼率測試;(5)系統控制,用來獲取CY7C68013描述符以及其內部寄存器的情況,并對整個系統進行控制,如使能CY7C68013的數據輸出功能及片內數據轉移功能等。

          系統中定義了6個時間控件來完成數據的發送與接收,timer1、timer3和timer4分別完成文件、誤碼率及速率測試的發送,Timer2、timer6和timer8分別完成文件、誤碼率及速率測試的接收。另外定義了一個時間控件來控制開啟哪一個接收數據時間控件。為了保證有效判斷所接收到的數據是文件、速率測試還是誤碼率測試數據,在timer1、timer3和timer4發送前都先發送一個512 B的前導包。全為1時表示下一個數據包包含著速率測試數據,全為2時表示下一個數據包包含著誤碼率測試數據,全為3時表示下一個數據包包含著文件數據。這樣就能判斷出應該開啟哪一個接收時鐘。

          具體的文件數據處理方法是:文件打開后,先將文件緩沖,定義一個二維數組:行512 B,列由文件大小決定。數組的第一個512 B前20 B記錄所發送文件的大小,并且在最開始的5 B以0xAA填充,表明這個數據包是全部文件的開始,當文件大小不足填滿最后的512 B時,數據補0,但數組結尾為0xAA。

          采用CY7C68013設計的高速數據傳輸系統,經過測試,達到了設計要求,實現了數據的高速傳輸,為下一步開展數據編碼/譯碼、調制/解調研究打下了良好的基礎。


        上一頁 1 2 3 4 下一頁

        關鍵詞: USB 數據

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 珠海市| 聊城市| 临泽县| 克什克腾旗| 锡林浩特市| 江陵县| 滦南县| 崇仁县| 政和县| 澄城县| 霸州市| 徐汇区| 苏州市| 夏河县| 扶沟县| 新密市| 延吉市| 长子县| 定安县| 清苑县| 南雄市| 彭阳县| 宜兴市| 麻阳| 济宁市| 湖南省| 南部县| 武隆县| 丘北县| 榆林市| 于田县| 呼图壁县| 平遥县| 博客| 岳池县| 长沙市| 绥芬河市| 阿克苏市| 若尔盖县| 通城县| 新乐市|