<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于USB2.0的高速圖像傳輸系統(tǒng)設計

          基于USB2.0的高速圖像傳輸系統(tǒng)設計

          作者: 時間:2010-03-15 來源:網(wǎng)絡 收藏

          USB接口器件采用Cypress公司的CY7C68033,其內(nèi)部集成有.0收發(fā)器、串行接口引擎(SIE)、增強型的8051內(nèi)核和可編程控制的外圍接口(GPIF),可提供高速數(shù)據(jù)傳輸有效、方便的解決方案。CY7C68033的固件程序位于內(nèi)部RAM中,由uSB或電子可擦寫可編程只讀存儲器(EEP-ROM)下載;具有4個可以自由編程分配控制的端點;8位或16位外部數(shù)據(jù)接口:內(nèi)部具有4個集成的FIFO,對外有兩種接口模式,Master模式使用GPIF接口,Slave FIFO模式使用集成的FIFO供外部設備讀寫,很容易與外部的專用集成電路或DSP器件連接;內(nèi)置增強型的8051內(nèi)核時鐘最高可達48 MHz,其指令周期只需4個時鐘周期;具有2個通用異步收發(fā)器(UART)、3個定時計數(shù)器、擴展的中斷系統(tǒng);內(nèi)置2個I2C總線控制模塊。
          2.2 USB接口設計
          圖2是該高速圖像采集系統(tǒng)的USB接口電路連接圖。

          本文引用地址:http://www.ex-cimer.com/article/202556.htm


          圖2中,CY7C68033的PA3~PA2引腳作為地址線與TMS320DM6437 DSP的HCNTL[1:0]相連,用于選擇HPI的寄存器與工作模式;FD[15:0]作為16位數(shù)據(jù)總線與HPl的數(shù)據(jù)總線HD[15:0]相連,用于交換數(shù)據(jù);CTLx引腳為GPIF的輸出控制信號,RDYO引腳為GPIF的輸入控制信號。由于訪問HPI寄存器需兩次半字傳輸,因此使用CY7C68033的CTL0引腳進行控制。TMS320DM6437的HR/W接至CTL1,用來作為讀/寫選擇標志;HDS1與CTL2相連,作為數(shù)據(jù)選通信號。HRDY與輸入信號線RDYO相連,用于查詢HPI接口狀態(tài),GPIF通過監(jiān)測該信號以控制內(nèi)部存取操作。TMS320DM6437的HINT與CY7C68033的INT0引腳相連,DSP復位時HINT引腳啟用,該引腳也用于DSP向CY7C68033發(fā)送外部中斷請求。另外,TMS320DM6437的HCS3引腳接地表示可對HPI進行連續(xù)存取操作。

          3 圖像采集系統(tǒng)軟件設計
          當USB設備插入計算機時,計算機和USB設備之間產(chǎn)生一個枚舉過程。計算機檢測到有設備插入。自動發(fā)出查詢請求;USB設備回應該請求,發(fā)送出該設備的Vendor ID和Product ID;計算機根據(jù)這兩個ID裝載相應設備驅動程序,完成枚舉過程。然后就可以傳輸數(shù)據(jù),接收數(shù)據(jù),即TMS320DM6437 DSP向PC機傳輸數(shù)據(jù)時,首先向CY7C68033發(fā)送一硬件中斷信號,CY7C68033接收該中斷,并啟動接收程序,通過HPI接口設置DSP的HPIC寄存器的HINT標志位,使DSP下一次仍通過該位發(fā)出中斷:然后通過端口6將固定長度(512字節(jié))的數(shù)據(jù)讀人FIFO:端口6讀取數(shù)據(jù)時,為了保證較高的傳輸速度,CY7C68033中的CPU不能干預數(shù)據(jù)傳輸,當FIFO中的數(shù)據(jù)達到一定數(shù)量后,CY7C68033自動將數(shù)據(jù)打包傳送給USB總線;發(fā)送數(shù)據(jù)時,它將數(shù)據(jù)包直接傳輸給CY7C68033,CY7C68033接收到數(shù)據(jù)后,按指定字節(jié)長度將數(shù)據(jù)讀到發(fā)送端口2的FIFO中,然后自動啟動GPIF,將數(shù)據(jù)傳送給DSP,接下來CY7C68033通過HPI接口設置DSP的HPIC寄存器中的DSPINT位(將其置1),向DSP發(fā)送請求中斷,通知DSP有數(shù)據(jù)包。
          USB設備的軟件開發(fā)包括設備固件、設備驅動程序以及應用程序3方面設計。
          3.1 設備固件
          設備固件設計是由主程序和中斷處理程序2部分組成,其中,主程序負責系統(tǒng)外設器件的互聯(lián)以及初始化設置USB端口等。系統(tǒng)上電時,通過USB電纜將固件程序下載到CY7C68033的內(nèi)部RAM,為了傳輸可靠,固件程序下載采用批量傳輸方式。由于系統(tǒng)要求快速持續(xù)傳輸大量數(shù)據(jù),因此采用同步傳輸方式。
          3.2 USB設備驅動程序
          USB設備驅動程序設計一般采用Windows DDK(devicedriver kil)設計,但由于DDK的復雜性和調(diào)試難度,難以開發(fā)穩(wěn)定完善的USB驅動程序。因此,這里選用NuMega公司的開發(fā)軟件DriverWorks,它是以面向對象的思想完全封裝DDK的所有庫函數(shù)。
          通過DriverWorks提供的類,編寫大部分驅動程序。最重要的是DriverWorks提供對USB總線的封裝,這樣大大簡化對USB總線的操作接口。DriverWorks通過向導生成USB驅動程序的框架,并利用KDriver、KPnpDevice、KpnpLowerDe-vice等類簡化WDM(Win32 driver module)驅動程序編程,它們分別對應的封裝是WDM中的PD0、FD0、FiD0。每一個WDM驅動程序都有一個入口函數(shù)AddDevice,當PC機監(jiān)測到USB接口中接入新設備時.立刻調(diào)用入口函數(shù)AddDevice并且創(chuàng)建設備的PD0,接著將其保存到函數(shù)參數(shù)指針中。成員函數(shù)AddDevice同時創(chuàng)建另外一個設備對象FD0.它被KPnpDevice封裝。對WDM總線驅動程序的上層接口通過KpnpLowerDevice類實現(xiàn)FD0和PD0之間的連接,同時它也提供對PD0的操作接口。對USB客戶驅動程序從KLow-erDevice類派生出的KusbLowerDevice類封裝USB的底層設備對象,通過其接口操作USB總線的驅動程序。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();