国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

基于DSP和USB的高速數據采集與處理系統設計

發布時間:2010-8-6 10:23    發布者:lavida
關鍵詞: dsp , USB , 數據采集
在圖像數據處理系統中,常常需要對高速信號進行采集與處理。例如,在光傳感技術中對光脈沖散射信號的測量,在雷達工程中對電磁脈沖信號的測量等,都需要對高速信號進行采集與運算,而且此類高速信號的測量,往往對數據采集與處理系統提出嚴格的要求。本文設計并實現一種基于DSPUSB的高速數據采集與處理系統。該系統電路簡單,可靠性好,具有一定的通用性,并且可以進行多通道擴展。  

  
  
1 原理概述  

基于DSP和USB的高速數據采集與處理系統的原理框圖如圖1所示。系統上電后,DSP、FPGA分別由各自的FLASH加載程序,采集與處理系統開始運行。在A/D變換器完成轉換后由FPGA向DSP發送中斷0申請信號,DSP從A/D FIFO RAM中讀取數據,并進行小波變換去噪處理,處理結束后DSP向USB控制器發送中斷申請信號,USB控制器將處理后的數據發送至PC機,由主機應用程序顯示數據。主機應用程序還可以對整個采集、處理系統進行控制,主要設定三個功能:接收處理后的數據,接收處理前的數據,設定A/D的采樣頻率和采樣點數。  

2 系統硬件設計  

系統硬件設計主要分為三大部分:DSP部分、FPGA部分、USB部分。  

2.1 DSP部分設計  

本系統使用的DSP芯片為TI(德州儀器)公司的TMS320VC33,它是TI公司推出的性價比極高的32位浮點型數字信號處理芯片,是目前在國內外使用最為廣泛的浮點DSP之一。  

TMS320VC33具有以下特點:哈佛結構;流水線操作;專用的硬件乘法器;特殊的DSP指令;快速的指令周期。另外,TMS320VC33還具有強大的浮點運算能力,運算速度可達150MFLOPS(每秒百萬次浮點運算),處理能力達到75MIPS(每秒百萬次指令周期)。而且,它還采用3.3V I/O電壓和1.8V處理器核電壓使功耗降低到200mW。  

DSP部分的電路設計主要是為TMS320VC33的外圍電路設計。TMS320VC33的STRB0和引腳分別連接存儲器的片選和使能引腳,實現程序/數據存儲器的擴展;引腳接到高電平,INT2引腳接到低電平,實現上電后程序自加載;由TMS、TDI、TDO、TCK、、EMU0、EMU1等引腳組成程序下載口,以方便DSP程序調試。  

2.2 FPGA部分設計  

因為本系統的邏輯比較復雜,為了有效地減少硬件的體積、提高硬件系統的可靠性,這里把所有的邏輯控制電路、各種存儲器/寄存器的地址譯碼電路都用一塊超大規模現場可編程邏輯門陣列(FPGA)XC3090來實現。邏輯控制電路包括:命令寄存器、采樣點數/采樣頻率設定寄存器、中斷申請信號發生器、將A/D結果寫入FIFO RAM的控制電路、USB及其FIFO和A/D FIFO狀態檢測電路。  

2.3 USB部分設計  

TMS320VC33與USB控制器AN2136SC之間通過雙向FIFO 交換數據,握手信號使用AN2136SC的PC口。當USB為接收緩沖器時,DSP讀,AN2136SC寫;當USB為發送緩沖器時,DSP寫,AN2136SC讀。PC(0)~(3)用作二者的讀寫通道,方向可編程確定; PC(4)用于TMS320VC33向AN2136SC申請中斷C(5)用于AN2136SC復位USB接收緩沖器C(6)用于USB接收器滿標志,若接收器已滿則禁止AN2136進一步對USB接收緩沖器寫入C(7)用于USB發送緩沖器空標志,若緩沖器已空則禁止AN2136SC進一步對USB發送緩沖器讀出。  

3 系統軟件設計  

系統軟件主要包括五大部分:DSP程序(用于A/D采樣控制、數據處理、DSP與USB總線之間的信息交換)、USB總線驅動程序、USB固件程序(用于PC機與DSP之間的數據交換與處理)、主機應用程序、FPGA中對地址的譯碼程序和各個寄存器的實現程序。  

3.1 DSP程序  

DSP程序首先對DSP進行初始化(中斷初始化、片外選通信號初始化、設定系統默認的采樣點數/采樣頻率等),然后等待中斷(中斷0的程序主要用于對A/D數據的讀取和處理,并向主機發送處理后的數據;中斷1的程序主要用于分析主機的命令,針對主機的命令設定系統的采樣點數/采樣頻率,并發送主機需要的數據)。程序框圖如圖2所示。  

  

3.2 USB固件程序  

固件程序代碼由USB芯片集成的加強型8051單片機處理。當EZ-USB設備連接到USB口時,主機進行總線枚舉,首先根據設備ID使用系統程序將固件下載到芯片內部,然后進行重枚舉,固件作為用戶的功能設備開始執行。CYPRESS公司提供的固件程序框架,用來完成控制傳輸工作和大部分的數據傳輸工作。本接口電路的固件程序就是基于此固件框架開發的,并使用Keil C進行編譯。USB接收的DSP中斷程序如下:

void ISR_IDT(void) interrupt INT0_VECT  
{FASTXFR = 0x40; 使能快速傳模式   
AUTOPTRL=LSB((WORD)&IN4BUF); 將自動指針指向端點4緩沖器  
AUTOPTRH=MSB((WORD)&IN4BUF);  
for(i=0;i  
{AUTODATA=ACC};  接收數據  
FASTXFR=0x0;  
IN4BC=64;發送數據大小  
EZUSB_IRQ_CLEAR();  
IN07IRQ=bmEP4; 使能端點4}  

3.3 主機應用程序  

為了實現與驅動程序的通信,應用程序首先創建一個事件和一個線程,然后將事件句柄傳遞給WDM,用線程等待WDM發送的事件消息,接收到事件消息后,就讀取驅動程序的數據,顯示數據。  

在Windows中,Win32應用程序調用的API函數有五個:CreateFile()、ReadFile()、WriteFile()、DeviceIoControl()和CloseHandle()。  

應用程序為打開一個WDM設備驅動程序,使用CreateFile()函數。它的第一個參數是一個符號鏈接名。如果用DriverWorks創建一個WDM驅動程序,通常會用類KUnitizedName生成一個設備符號鏈接名。這個名字的后面有一個數字,一般是一個0。例如,若符號鏈接名為L“USBDevice”,則傳遞給CreateFile()的是“.USBDevice0”。  

一旦應用程序獲得設備的有效句柄,它就能夠調用Win32函數,這將產生對應于此設備對象的相應的IRP,發送給驅動程序,完成相應功能。  

有關代碼如下:  

HANDLE hDevice hDevice= CreateFile(“.USBDe-vice0”,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,OPEN_EXISTING,  
FILE_ATTRIBUTE_NORMAL,NULL);//打開設備句柄  
ReadFile(hDevice,buf,n,&nRead,NULL);//讀操作  

4 試驗結果  

本系統軟硬件調試均已成功,圖3為CCD在半遮擋情況下原始信號的波形。本系統還可以采集和處理圖像信號(例如CCD面陣信號)。
  
本文提出了一種基于DSP和USB的高速數據采集與處理系統,詳細地介紹了系統的硬件和軟件設計方法。經使用驗證,系統很好地實現了對CCD信號的采集和處理。利用一塊超大規模現場可編程邏輯門陣列,減小了PCB板的制作空間并且大大地增加了系統的可靠性;使用DSP處理器,提高了數據的傳輸速度和處理速度,進而保證了系統的實時性;由USB主控制器完成與PC機的通信,具有熱插拔、易于使用、傳輸速率高等特點;而且整個系統構成合理、實現方法簡單、具有實用價值。
本文地址:http://m.4huy16.com/thread-19658-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Microchip第22屆中國技術精英年會——采訪篇
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • 電動兩輪車設計生態系統
  • Microchip第22屆中國技術精英年會上海首站開幕
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表