《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于USB的嵌入式CCD圖像數(shù)據(jù)采集系統(tǒng)的實現(xiàn)

基于USB的嵌入式CCD圖像數(shù)據(jù)采集系統(tǒng)的實現(xiàn)

2008-02-22
作者:王立萍, 李傳軍

摘 要:以S3C44B0X為主控制器,將高頻模擬信號經(jīng)AD8321前置放大和增益調整后通過AD7829進行模數(shù)轉換,完成CCD圖像數(shù)據(jù)采集,,并通過USB2.0接口芯片ISP1581實現(xiàn)與PC機的快速數(shù)據(jù)傳輸,。實現(xiàn)了CCD信號快速而準確的采集及實時處理。
關鍵詞:嵌入式系統(tǒng)? CCD? USB? S3C44B0X? ISP1581

?

??? CCD圖像數(shù)據(jù)的采集與普通視頻信號的采集相比,,其最大的特點是數(shù)據(jù)傳輸速率高,,傳輸通道多。目前,,通用的CCD圖像數(shù)據(jù)采集方法是在計算機中插入高速數(shù)據(jù)采集卡,,采集卡與CCD相機間通過點對點物理層接口(如RS-422,、RS-485)進行數(shù)據(jù)傳輸,高速數(shù)據(jù)采集卡接收到數(shù)據(jù)并通過PCI總線將數(shù)據(jù)寫入計算機內(nèi)存,,然后利用采集卡的存儲功能將數(shù)據(jù)通過IDE接口寫入計算機硬盤,。這種方法雖然簡單可靠,但對多通道,、高速圖像數(shù)據(jù)的采集在數(shù)據(jù)傳輸和存儲方面有一定的局限,,容易引起數(shù)據(jù)幀的丟失,并且隨著傳輸通道的增多,,引起傳輸導線數(shù)量增加,,系統(tǒng)功耗及噪聲也隨之增大。通用串行總線USB能很好地解決這些問題,,具有連接方便,、無需外接電源、即插即用,、支持熱插拔,、高帶寬、低功耗,、低成本,、動態(tài)加載驅動程序,級聯(lián)星型拓撲結構擴充外設數(shù)量等特有優(yōu)點,,在主機和數(shù)據(jù)采集系統(tǒng)" title="數(shù)據(jù)采集系統(tǒng)">數(shù)據(jù)采集系統(tǒng)之間可以實現(xiàn)簡單,、快捷、雙向,、可靠的連接和通訊,。
1 硬件設計
  系統(tǒng)設計應具有穩(wěn)定性、靈活性,、通用性等特點,。穩(wěn)定性是指不僅要保證數(shù)據(jù)的無失真?zhèn)鬏敚乙WC數(shù)據(jù)連續(xù)無丟幀存儲,。靈活性體現(xiàn)在系統(tǒng)的信號輸入路數(shù),、系統(tǒng)的存儲容量、磁盤連接方式等具有模塊化與可重組性,,系統(tǒng)稍做變通即可用于其他高速視頻圖像的采集,。通用性體現(xiàn)在系統(tǒng)能適應于多個通道,不同速率的CCD圖像數(shù)據(jù)采集,,即要求系統(tǒng)能實現(xiàn)通道合并,,并有較寬的數(shù)據(jù)傳輸頻帶。
  USB數(shù)據(jù)采集系統(tǒng)硬件結構圖如圖1所示。

?

?


  傳感器輸出的模擬信號,,經(jīng)多路開關選通接入信號放大器,,信號放大器能自動調整增益的大小,對輸入的信號在A/D" title="A/D">A/D轉換器的量程內(nèi)進行信號放大,,然后由ARM芯片控制進行A/D轉換,,再將轉換后的數(shù)字信號送入嵌入式微控制器,由USB接口電路傳遞給PC機進行數(shù)據(jù)處理,,同時將PC機端的客戶應用程序" title="應用程序">應用程序發(fā)出的控制信號通過USB接口傳送到以ARM芯片為核心的數(shù)據(jù)采集系統(tǒng),。
1.1 方案選擇
1.1.1 USB接口芯片和主控制器芯片的選擇
  USB控制器有兩類,一類是集成了USB接口的單片機,,如Cypress公司生產(chǎn)的EZ-USB(基于8051)系列芯片CY7C68013,、CY7C64613等;另一類是單獨的USB控制器,,如Philips公司的PDIUSBD12,、ISP1581,NetChip公司的NET2888,,National公司的USBN9603,、USBN9604等。前種芯片雖然編程簡單,,但需要購置專門的開發(fā)系統(tǒng),,投資較大,并且單片機性能有限,;后者的特點是價格低廉,、連接方便、可靠性高,,但其片上不帶CPU,必須選擇微處理器來進行協(xié)議處理和數(shù)據(jù)交換,。本系統(tǒng)選擇了片上不帶CPU的性價比較高的USB2.0控制芯片ISP1581,,它完全符合USB 2.0規(guī)范,速度可達480Mbps,。采用ISP1581可以快速開發(fā)出高性能的USB2.0設備,;同時為了滿足速度要求,主控器芯片選擇了高性能,、低功耗的ARM芯片S3C44B0X,。
1.1.2 信號放大電路和A/D轉換芯片的選擇
  在高速數(shù)據(jù)采集系統(tǒng)中,現(xiàn)場輸入信號是變化范圍較大的高頻模擬信號,,如果采用單一的增益放大,,則放大后的信號幅值有可能超過A/D轉換的量程,所以必須根據(jù)信號的變化來相應地調整放大器的增益。本系統(tǒng)選用了AD8321這種頻帶寬,、噪聲低,、增益可數(shù)控,且十分適合在數(shù)據(jù)采集系統(tǒng)作前置放大用的高頻模擬信號調理芯片,。高頻模擬信號放大后被送到模數(shù)轉換器中,,S3C44B0X自身雖集成有8路10位ADC,但其內(nèi)部集成的A/D轉換只能輸入0~100Hz的模擬信號,,且沒有采樣保持電路,,因此需要對其進行擴展。為了滿足8路采集,,選擇了高速A/D轉換芯片AD7829,,最大轉換速率2MSPS,轉換時間為420ns,。
1.2 硬件接口電路
  本系統(tǒng)硬件接口電路連接如圖2所示,。

?


  本系統(tǒng)利用S3C44B0X的PD口為雙向口進行擴展,將AD7829的CONVST與S3C44B0X的PD1相連,,用于產(chǎn)生轉換脈沖,;AD7829的EOC與S3C44B0X的PD0相連,用于產(chǎn)生轉換結束信號,。采集信號經(jīng)A/D轉換后,,數(shù)據(jù)先存放在S3C44B0X的寄存器里, S3C44B0X先發(fā)控制信號再發(fā)數(shù)據(jù)給ISP1581,,在此將ISP1581的緩沖區(qū)定義為8個,,分別寫入8路轉換后的數(shù)據(jù)。而PC機通過USB接口與ISP1581連接,,ISP1581負責分類和解釋PC機發(fā)來的信號,,具體操作流程如下:PC機發(fā)送給USB設備的數(shù)據(jù)以包的形式寫入ISP1581的緩存中,當緩存被寫滿或數(shù)據(jù)發(fā)送完畢后,,ISP1581就給ARM發(fā)中斷信號,,ARM響應中斷信號進入中斷服務程序執(zhí)行相應的包處理。另一方面,,USB設備不能主動向主機發(fā)送數(shù)據(jù),,只有當PC機要求USB設備發(fā)送數(shù)據(jù)時,ARM才將主機需要的數(shù)據(jù)寫入ISP1581相應端點的緩存中,。
2 軟件設計
2.1 數(shù)據(jù)采集部分
  數(shù)據(jù)采集是由S3C44B0X的PD口發(fā)出脈沖作為AD7829的轉換脈沖CONVST,,當AD7829轉換結束時,EOC輸出有效低電平,,S3C44B0X接到有效電平后,,發(fā)下一路地址,,然后讀數(shù)據(jù)。當AD7829的和信號有效時,,在數(shù)據(jù)讀入S3C44B0X的數(shù)據(jù)緩沖區(qū)的同時將下一路的地址打入,,這樣循環(huán)采集8路模擬輸入,直到數(shù)據(jù)采集結束,,本過程的流程圖如圖3所示,。

?


2.2 USB部分軟件設計
  USB系統(tǒng)軟件由固件程序" title="固件程序">固件程序、USB系統(tǒng)驅動程序和應用程序三部分構成,。
2.2.1 固件程序的開發(fā)
  固件程序實際上是置于微控制器內(nèi)部的程序文件,,用來輔助硬件完成通信任務。通過ISP1581的INT中斷信號與微控制器S3C44B0X的EINT0中斷口相連,,當接收數(shù)據(jù)或發(fā)送數(shù)據(jù)成功時就會產(chǎn)生中斷,,固件程序的任務就是對這些中斷進行響應,完成設備的配置,,讓USB驅動程序知道設備的能力,,接收USB主控制器發(fā)來的數(shù)據(jù)和向主機發(fā)送數(shù)據(jù)。設備固件程序是設備運行的核心,,本系統(tǒng)采用Keil C進行編寫,。SP1581的固件程序采用模塊化設計,包括主循環(huán)程序,、中斷服務程序,、USB標準請求處理和批量數(shù)據(jù)傳送請求處理四部分。固件模塊結構見圖4,。

?


2.2.2 應用程序
??? 應用程序包括Win32DLL程序和用戶應用程序,。Win32動態(tài)連接庫包含共享函數(shù)庫的二進制文件,可以被多個應用程序同時使用,??蛻魬贸绦騽t是實現(xiàn)數(shù)據(jù)采集系統(tǒng)功能的軟件程序,在本系統(tǒng)中采用Visual C++進行編寫,。
2.2.3 USB系統(tǒng)驅動程序
  USB系統(tǒng)驅動程序采用分層結構模型(WDM),,該模型定義了分層的驅動程序, USB設備驅動程序不直接與硬件對話,,而是通過USB驅動程序接口將USB請求塊提交到總線驅動程序進而完成硬件操作。從系統(tǒng)的角度來說,,在USB設備插入主機后,,主機檢測到USB設備,讀取設備描述符" title="描述符">描述符,,然后主機根據(jù)設備描述符中提供的廠商ID和產(chǎn)品ID等,,啟用相應USB設備驅動程序,讀取USB設備中的配置描述符、接口描述符和端點描述符,,根據(jù)需要選擇恰當?shù)呐渲?、接口和端點,確定傳輸方式,。這一過程完成后,,PC機與USB設備之間就能夠進行數(shù)據(jù)傳輸了。
??? USB總線的特點使其非常適合用作小型儀器與主機之間的通訊接口,,實現(xiàn)主機與便攜式儀器之間的簡單,、快速和可靠的連接。將USB接口應用到數(shù)據(jù)采集系統(tǒng)中,,提高了數(shù)據(jù)采集系統(tǒng)的速度,,增強了系統(tǒng)的抗干擾能力和數(shù)據(jù)傳輸?shù)目煽啃浴1疚脑敿毥榻B了基于ARM芯片S3C44B0X和USB2.0接口控制芯片ISP1581的數(shù)據(jù)采集系統(tǒng)的軟硬件設計開發(fā)方案,,設計開發(fā)過程較為繁雜,,涉及到多方面的軟件程序與硬件電路的聯(lián)合使用,通過實驗測試,,效果良好,。

參考文獻
[1]? 羅浩,楊曉非.脫機式數(shù)據(jù)采集系統(tǒng)的設計[J]. 微計算機信息,,2006,22(4):93-95.
[2] ?高美珍,,洪家平. 基于USB接口和嵌入式芯片總線的數(shù)據(jù)采集系統(tǒng)[J]. 儀表技術與傳感器,2005,(8):51-53.
[3] ?邢微,,劉開華.數(shù)據(jù)采集系統(tǒng)USB2.0接口設計[J].電子測量技術,,2006,29(1):12-13.
[4] ?夏益民,王廣君. 基于USB總線的高速數(shù)據(jù)采集系統(tǒng)[J]. 國外電子元器件,,2003,(10):20-23.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:aet@chinaaet.com,。