基于DSP的USB技術在圖像傳輸中的應用
1.3 DSP內存空間的訪問
DSP內存空間的正確訪問是實現(xiàn)USB接口功能最關鍵的部分。USB接口芯片是通過運用其GPIF口來訪問DM642的HPI接口,來達到間接訪問DM642的內存空間,DM642的HPI接口各個寄存器的讀寫時序詳見參考文獻[2]。然后再通過芯片內部的USB2.oh3議模塊完成與主機(PC)之間的數(shù)據(jù)交換,從而實現(xiàn)DSP與主機之間的數(shù)據(jù)傳輸。因此,通過GPIF波形描述符的編寫來匹配DM642的HPI接口的讀寫時序成為了驅動程序中最重要的部分。
在該項目中,主機從DSP內存空間中讀取的主要是圖像數(shù)據(jù),而圖像數(shù)據(jù)往往存放在連續(xù)的地址空間中, 因此這里采用的是以地址白增方式讀IIPI數(shù)據(jù)寄存器。讀HPID的過程為: 先向控制寄存器HPIC寫入操作控制字;再向地址寄存器HPIA寫入欲操作的DM642的內存空間地址: 然后等待DM642以EDMA的方式完成內部操作,并將數(shù)據(jù)準備好:然后從數(shù)據(jù)寄存器HPID處根據(jù)HPIC中控制字的要求以地址自增方式連續(xù)讀取DM642內存空間的數(shù)據(jù)。
同時由于主機向DSP內存空間中寫入的是少量控制數(shù)據(jù),故以固定地址方式寫HPI數(shù)據(jù)寄存器。寫HPID的過程為:先向控制寄存器HPIC寫入操作控制字:再向地址寄存器HPIA寫入欲操作的DM642的內存空間地址;然后以固定地址方式根據(jù)HPIC中控制字的要求向HPID中寫入數(shù)據(jù);最后DM642以EDMA的方式完成內部操作,將HPID中的數(shù)據(jù)寫入HPIA中的內存地址空間。
2 固件的設計
固件是在USB接口芯片加電后, 由其它設備加載~CY7C68013中并在其中運行完成接口數(shù)據(jù)傳送功能的一段程序。在本接口中采用的是由Pc機通過USB接口加載固件的方式。
固件程序的編寫主要分為4個大的模塊:設備描述模塊,該模塊唯一的功能就是提供主機啟動在重新枚舉設備時所需要的VID和PID以及其它一些必要的設備描述符。主模塊,主要完成設備的初始化、固件運行后的“重新枚舉”、進入循環(huán)不斷接收Pc機發(fā)送的一些命令并等待數(shù)據(jù)的傳送。數(shù)據(jù)收發(fā)模塊,主要完成初始化數(shù)據(jù)傳送端口, 并且處理主機發(fā)出的命令。
GPIF模塊,主要是完成對DM642的tIPI接口的時序進行編程,這種時序的編程具體來說就是設定一個個波形描述符,GPIF波形描述符的編程一般使用CYP RESS公司提供的GPIF TOOL具進行配置。在固件的編寫中關鍵的是GPIF波形描述符的編寫。波形描述符的編寫首先必須弄清楚DM642的HPI接口的讀寫時序,然后設置好相應的控制信號的波形。
3 結束語
通過上述方式設計的USB接口,主機與DSP之間的數(shù)據(jù)傳輸速度可達lObfops以上,能夠實時地將DSP采集并做了適當處理的RAW圖像數(shù)據(jù)傳輸?shù)絇C上,完全滿足PC端的顯示及計算需求,提高了糧食質量檢測的精度,完全能夠達到系統(tǒng)設計的需求。限于篇幅,本文沒有詳細介紹主機端驅動和應用程序的設計, 該方案可進一步擴展,借助TMS320DM642強大的處理能力,應用于視頻壓縮、圖像處理等多個領域。
評論