分析用EZ-USB實現TMS320C6X與主機的數據傳輸
3.2 上位機流程
主機應用程序與操作系統相互作用,利用PC豐富的資源,實現顯示驗證,提高系統的可操作性,當操作系統認為有新設備接入時,就會自動調用相應的設備驅動。另外,該軟件需要一個圖形用戶界面來控制所用的函數,這里采用VC++6.0來編制應用程序,首先調用CreateFile()打開USB接口設備,獲得設備的句柄hDevice,然后計算機通過調用DeviceIoControl()函數向外設發出。部分程序如下:
![]() |
---|
myRequest的8個成員變量對應固件配置SETUPBUF緩沖區中8字節的(SETUPDAT)數據,其中value的值表示了主機向DSP發送的命令類型(00/01/10),使DSP配合完成接收,處理及上傳的系統過程。
![]() |
---|
每次調用DeviceIoControl函數傳輸的數據量僅為1KB。為了滿足大數據量或者整幀圖像數據傳輸的要求,需要循環調用DeviceIoControl()函數,以下載數據流的過程為例,循環體中的代碼如下:
![]() |
---|
buffer是主機發出數據塊的頭指針;pBy為每次下傳數據塊的首地址,是隨著循環變量i遞增的值。同樣,上傳數據的過程中也有類似的存儲操作。
4 系統測試
利用圖像序列對此主從式聯機系統進行測試。
觸發PC機上的界面控件(PA(0:1)=00),下載10幅經不同程序噪聲污染的同一內容的圖像,DSP檢測到通用外部中斷口EXT_INT6的信號(對應USB芯片的PA3)讀入數據讀取命令類型,將10幀圖像數據存入SDRAM空間,之后,上位機繼續發出處理命令,DSP檢測到PA[0:1]=10對存儲的多幀圖像數據進行累加平均,從而提高圖像的信噪比,在收到上傳命令(PA[0:1]=01)時,DSP將處理完成的圖像回送至PC機顯示。
5 結語
本文詳細介紹了通過TMS32C6713的EMIF擴展USB接口的硬件連接、USB2.0固件程序和應用程序的開發以及基于這種通信模式的小型聯機系統的構成。經實際驗證,系統運行可靠,是一種比較好的高速數據傳輸與處理的解決方案。
評論