朱瑩
摘 要:隨著計算機技術和電子信息技術的飛速發(fā)展,數(shù)據(jù)采集系統(tǒng)在航空航天、監(jiān)測偵察、通信等眾多領域中得到廣泛應用,對數(shù)據(jù)采集系統(tǒng)的速度、精度、易操作性以及實時性的要求也在不斷地提高。該文設計了基于FPGA與USB 2.0技術相結合的數(shù)據(jù)采集系統(tǒng)。并通過對系統(tǒng)性能的測試,驗證了該系統(tǒng)的預期目標,即不僅能實現(xiàn)一般用途的數(shù)據(jù)釆集并且還實現(xiàn)了系統(tǒng)的高速化、高集成化和低功耗等工作。
關鍵詞:FPGA 圖像傳感器 SDRAM存儲器 USB2.0
中圖分類號:TP27 文獻標識碼:A 文章編號:1672-3791(2015)08(a)-0017-03
隨著科學技術的發(fā)展尤其是計算機技術的發(fā)展與普及,數(shù)據(jù)采集系統(tǒng)已被廣泛應用于國民經濟和國防建設的各個領域,人們對數(shù)據(jù)采集系統(tǒng)的速度、精度、易操作性以及實時性的要求不斷提高。USB作為一種新型串口通信標準,具有傳輸速率高、可靠性高、成本低、支持即插即用使用靈活等特點;FPGA結構靈活、開發(fā)周期短、對實時信號處理非常的適用,已經廣泛應用于數(shù)據(jù)采集、圖像處理等諸多領域。該系統(tǒng)設計基于FPGA與USB 2.0的數(shù)據(jù)釆集系統(tǒng),具有可靠性高、抗干擾能力強、便于數(shù)據(jù)的傳輸?shù)葍?yōu)點,具有良好的實用價值和廣泛應用前景。
1 系統(tǒng)總體設計思想
該系統(tǒng)設計以FPGA為控制器,以實現(xiàn)對數(shù)據(jù)采集的控制,并預期目標。FPGA控制電路主要用于實現(xiàn)對圖像傳感器、SDRAM芯片對數(shù)據(jù)的緩存以及對USB芯片的控制以及對接收數(shù)據(jù)的緩存處理。SDRAM存儲電路主要完成采集到的數(shù)據(jù)存儲,上電時將程序加載到FPGA中,USB數(shù)據(jù)傳輸電路完成數(shù)據(jù)和控制信息的傳輸,完成與上位機的正常通信,即將采集到的數(shù)據(jù)上傳到上位機中。
2 系統(tǒng)硬件電路設計
2.1 總體框圖
2.2 芯片的選擇
該系統(tǒng)采用 Cyclone II 的 EP2C8Q208C8 這款 FPGA 芯片,該芯片選用了 208 管腳的 PQFP 封裝,它內部具有 8256個邏輯單元,18個乘法器,2個鎖相環(huán),總引腳 208個,用戶可用引腳達到了 182個。該芯片內部帶有乘法器可用于完成高速乘法操作,使得數(shù)字信號處理能力得到了增強[1]。
USB 2.0采用Cypress公司生產的CY7C68103芯片。CY7C68013A 內部繼承了一個增強的 8051 內核,它既與標準的 8051 兼容,又有諸多的改進,最高工作頻率達到了48MHz,一個指令只需 4個時鐘周期,比標準的 8051平均提高了2.5倍可實現(xiàn)與高速外圍設備的邏輯連接和高速數(shù)據(jù)傳輸并具有接口設計簡單、價格低等特點滿足設計需求[2]。
CMOS圖像傳感器的光電轉換效率和靈敏度比CCD效果好,在消耗的功耗相同的情況下CMOS攝像頭得到的增益大,CMOS攝像頭的電路集成度高、控制簡單、并且處理速度快,CMOS攝像頭使得系統(tǒng)微型化、耗電量是CCD攝像頭的1/8等優(yōu)點,因此該系統(tǒng)采用的是Omni Vision公司的CMOS圖像傳感器OV7620芯片。
2.3 硬件框圖
FPGA驅動OV7620的框圖,其驅動包括兩部分,第一部分是使用Verilog語言建立I2C總線模塊對OV7620初始化,第二部分是建立采集模塊按照行、場同步信號,像素時鐘信號的時序對OV7620攝像頭進行圖像采集。
該設計利用 FPGA 作為外部主控制器實現(xiàn)對USB 2.0 接口芯片 CY7C68013 的 Slave FIFO 模式下,對USB 內部的 FIFO 進行控制,以實現(xiàn)數(shù)據(jù)的高速傳輸。該模塊可普遍適用于基于 USB 2. 0 接口的高速數(shù)據(jù)傳輸[3]。
3 系統(tǒng)軟件設計
3.1 USB 固件程序設計
固件程序就是指固化在單片機中且能夠運行的程序,系統(tǒng)中的單片機是指USB芯片,該設計的固件程序主要功能就是輔助硬件系統(tǒng)工作,完成對設備的初始化工作,處理應用程序和驅動程序發(fā)送的各種命令和數(shù)據(jù)交換。
固件的初始化功能:硬件系統(tǒng)上電后,所有的寄存器配置都恢復到出廠時的狀態(tài),為了完成實際設備系統(tǒng)所需要的功能,必須對各種寄存器的初始值和設備所需要的設備屬性進行初始化設置。
該設計采用Slave FIFO模式下進行數(shù)據(jù)高速傳輸,配置數(shù)據(jù)接收端點為Slave FIFO模式,CPU不再參與數(shù)據(jù)的傳輸,端點FIFO接收到FPGA控制器傳輸數(shù)字信號后,等待PC讀取,USB芯片只作為一個數(shù)據(jù)傳輸通道。
3.2 WDM驅動程序設計
WDM(Windows Driver Mode Windows驅動程序模型)驅動程序屬于Windows操作系統(tǒng)的內核模式,遵循Win32驅動程序模型,在主機應用程序和物理設備之間采用靈活的分層驅動方式,支持更多特性,如即插即用,電源管理。
WDM驅動程序的功能是通過特定的例程來實現(xiàn)的,不是通過任意例程都能夠實現(xiàn)的。面對不同的情況,主機程序或操作系統(tǒng)只是根據(jù)相對應的例程進行觸發(fā),從而對不同的操作進行完成,實現(xiàn)功能要求。典型WDM驅動程序的構成框架如圖4所示。
(1)入口例程:它是所有驅動程序進入的入口,而且實現(xiàn)設備的驅動功能在加載時對操作系統(tǒng)I/O管理器進行調用,其主要作用是對WDM驅動程序進行初始化,這是驅動程序所必須的。
(2)分發(fā)例程:主要有Creat()函數(shù)、Read()函數(shù)以及IOCTL()函數(shù)等,主要功能是對用戶發(fā)出的各種I/O請求進行處理。
(3)即插即用例程:設備與PC機連接時,PC機的操作系統(tǒng)會自動進行處理,如識別、選擇以及加載合適的驅動程序;設備從PC拔出時,PC機的操作系統(tǒng)也會進行相應的處理,如清除工作。
(4)卸載例程:主要是針對驅動程序卸載的處理。
(5)電源管理例程:主要是針對電源管理請求的處理。
3.3 應用程序設計
應用程序是用戶與系統(tǒng)的接口,外接硬件設備的控制和通信主要就是通過它來實現(xiàn)的,所以應用程序首先要建立與外設的連接,然后才能實施數(shù)據(jù)的傳輸。
4 結語
該文設計了基于FPGA和USB 2.0兩種技術相結合的數(shù)據(jù)釆集系統(tǒng),系統(tǒng)的總體設計方案不僅具有 FPGA技術的易擴展性、低功耗、低成本等特點,還具有 USB技術即插即用的特性,系統(tǒng)運行穩(wěn)定可靠,具有一定的實用性。
參考文獻
[1] 唐玉蓉.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)[D].北京:北京郵電大學,2012.
[2] 闕濱城.基丁-USB接口的高速信號采集系統(tǒng)設計[D].成都:電子科技大學,2011.
[3] 劉巍.基于USB接口和FPGA的多通道數(shù)據(jù)釆集系統(tǒng)的研究[D].北京:中國科學院研究生院(空間科學與應用研究中心),2011.