基于USB的嵌入式CCD圖像數據采集系統的實(shí)現
摘 要:以S3C44B0X為主控制器,將高頻模擬信號經(jīng)AD8321前置放大和增益調整后通過(guò)AD7829進(jìn)行模數轉換,完成CCD圖像數據采集,并通過(guò)USB2.0接口芯片ISP1581實(shí)現與PC機的快速數據傳輸。實(shí)現了CCD信號快速而準確的采集及實(shí)時(shí)處理。
本文引用地址:http://dyxdggzs.com/article/89684.htm關(guān)鍵詞:嵌入式系統 CCD USB S3C44B0X ISP1581
CCD圖像數據的采集與普通視頻信號的采集相比,其最大的特點(diǎn)是數據傳輸速率高,傳輸通道多。目前,通用的CCD圖像數據采集方法是在計算機中插入高速數據采集卡,采集卡與CCD相機間通過(guò)點(diǎn)對點(diǎn)物理層接口(如RS-422、RS-485)進(jìn)行數據傳輸,高速數據采集卡接收到數據并通過(guò)PCI總線(xiàn)將數據寫(xiě)入計算機內存,然后利用采集卡的存儲功能將數據通過(guò)IDE接口寫(xiě)入計算機硬盤(pán)。這種方法雖然簡(jiǎn)單可靠,但對多通道、高速圖像數據的采集在數據傳輸和存儲方面有一定的局限,容易引起數據幀的丟失,并且隨著(zhù)傳輸通道的增多,引起傳輸導線(xiàn)數量增加,系統功耗及噪聲也隨之增大。通用串行總線(xiàn)USB能很好地解決這些問(wèn)題,具有連接方便、無(wú)需外接電源、即插即用、支持熱插拔、高帶寬、低功耗、低成本、動(dòng)態(tài)加載驅動(dòng)程序,級聯(lián)星型拓撲結構擴充外設數量等特有優(yōu)點(diǎn),在主機和數據采集系統之間可以實(shí)現簡(jiǎn)單、快捷、雙向、可靠的連接和通訊。
1 硬件設計
系統設計應具有穩定性、靈活性、通用性等特點(diǎn)。穩定性是指不僅要保證數據的無(wú)失真傳輸,而且要保證數據連續無(wú)丟幀存儲。靈活性體現在系統的信號輸入路數、系統的存儲容量、磁盤(pán)連接方式等具有模塊化與可重組性,系統稍做變通即可用于其他高速視頻圖像的采集。通用性體現在系統能適應于多個(gè)通道,不同速率的CCD圖像數據采集,即要求系統能實(shí)現通道合并,并有較寬的數據傳輸頻帶。
USB數據采集系統硬件結構圖如圖1所示。
傳感器輸出的模擬信號,經(jīng)多路開(kāi)關(guān)選通接入信號放大器,信號放大器能自動(dòng)調整增益的大小,對輸入的信號在A(yíng)/D轉換器的量程內進(jìn)行信號放大,然后由ARM芯片控制進(jìn)行A/D轉換,再將轉換后的數字信號送入嵌入式微控制器,由USB接口電路傳遞給PC機進(jìn)行數據處理,同時(shí)將PC機端的客戶(hù)應用程序發(fā)出的控制信號通過(guò)USB接口傳送到以ARM芯片為核心的數據采集系統。
1.1 方案選擇
1.1.1 USB接口芯片和主控制器芯片的選擇
USB控制器有兩類(lèi),一類(lèi)是集成了USB接口的單片機,如Cypress公司生產(chǎn)的EZ-USB(基于8051)系列芯片CY7C68013、CY7C64613等;另一類(lèi)是單獨的USB控制器,如Philips公司的PDIUSBD12、ISP1581,NetChip公司的NET2888,National公司的USBN9603、USBN9604等。前種芯片雖然編程簡(jiǎn)單,但需要購置專(zhuān)門(mén)的開(kāi)發(fā)系統,投資較大,并且單片機性能有限;后者的特點(diǎn)是價(jià)格低廉、連接方便、可靠性高,但其片上不帶CPU,必須選擇微處理器來(lái)進(jìn)行協(xié)議處理和數據交換。本系統選擇了片上不帶CPU的性?xún)r(jià)比較高的USB2.0控制芯片ISP1581,它完全符合USB 2.0規范,速度可達480Mbps。采用ISP1581可以快速開(kāi)發(fā)出高性能的USB2.0設備;同時(shí)為了滿(mǎn)足速度要求,主控器芯片選擇了高性能、低功耗的ARM芯片S3C44B0X。
1.1.2 信號放大電路和A/D轉換芯片的選擇
在高速數據采集系統中,現場(chǎng)輸入信號是變化范圍較大的高頻模擬信號,如果采用單一的增益放大,則放大后的信號幅值有可能超過(guò)A/D轉換的量程,所以必須根據信號的變化來(lái)相應地調整放大器的增益。本系統選用了AD8321這種頻帶寬、噪聲低、增益可數控,且十分適合在數據采集系統作前置放大用的高頻模擬信號調理芯片。高頻模擬信號放大后被送到模數轉換器中,S3C44B0X自身雖集成有8路10位ADC,但其內部集成的A/D轉換只能輸入0~100Hz的模擬信號,且沒(méi)有采樣保持電路,因此需要對其進(jìn)行擴展。為了滿(mǎn)足8路采集,選擇了高速A/D轉換芯片AD7829,最大轉換速率2MSPS,轉換時(shí)間為420ns。
1.2 硬件接口電路
本系統硬件接口電路連接如圖2所示。
本系統利用S3C44B0X的PD口為雙向口進(jìn)行擴展,將AD7829的CONVST與S3C44B0X的PD1相連,用于產(chǎn)生轉換脈沖;AD7829的EOC與S3C44B0X的PD0相連,用于產(chǎn)生轉換結束信號。采集信號經(jīng)A/D轉換后,數據先存放在S3C44B0X的寄存器里, S3C44B0X先發(fā)控制信號再發(fā)數據給ISP1581,在此將ISP1581的緩沖區定義為8個(gè),分別寫(xiě)入8路轉換后的數據。而PC機通過(guò)USB接口與ISP1581連接,ISP1581負責分類(lèi)和解釋PC機發(fā)來(lái)的信號,具體操作流程如下:PC機發(fā)送給USB設備的數據以包的形式寫(xiě)入ISP1581的緩存中,當緩存被寫(xiě)滿(mǎn)或數據發(fā)送完畢后,ISP1581就給ARM發(fā)中斷信號,ARM響應中斷信號進(jìn)入中斷服務(wù)程序執行相應的包處理。另一方面,USB設備不能主動(dòng)向主機發(fā)送數據,只有當PC機要求USB設備發(fā)送數據時(shí),ARM才將主機需要的數據寫(xiě)入ISP1581相應端點(diǎn)的緩存中。
2 軟件設計
2.1 數據采集部分
數據采集是由S3C44B0X的PD口發(fā)出脈沖作為AD7829的轉換脈沖CONVST,當AD7829轉換結束時(shí),EOC輸出有效低電平,S3C44B0X接到有效電平后,發(fā)下一路地址,然后讀數據。當AD7829的和信號有效時(shí),在數據讀入S3C44B0X的數據緩沖區的同時(shí)將下一路的地址打入,這樣循環(huán)采集8路模擬輸入,直到數據采集結束,本過(guò)程的流程圖如圖3所示。
2.2 USB部分軟件設計
USB系統軟件由固件程序、USB系統驅動(dòng)程序和應用程序三部分構成。
2.2.1 固件程序的開(kāi)發(fā)
固件程序實(shí)際上是置于微控制器內部的程序文件,用來(lái)輔助硬件完成通信任務(wù)。通過(guò)ISP1581的INT中斷信號與微控制器S3C44B0X的EINT0中斷口相連,當接收數據或發(fā)送數據成功時(shí)就會(huì )產(chǎn)生中斷,固件程序的任務(wù)就是對這些中斷進(jìn)行響應,完成設備的配置,讓USB驅動(dòng)程序知道設備的能力,接收USB主控制器發(fā)來(lái)的數據和向主機發(fā)送數據。設備固件程序是設備運行的核心,本系統采用Keil C進(jìn)行編寫(xiě)。SP1581的固件程序采用模塊化設計,包括主循環(huán)程序、中斷服務(wù)程序、USB標準請求處理和批量數據傳送請求處理四部分。固件模塊結構見(jiàn)圖4。
2.2.2 應用程序
應用程序包括Win32DLL程序和用戶(hù)應用程序。Win32動(dòng)態(tài)連接庫包含共享函數庫的二進(jìn)制文件,可以被多個(gè)應用程序同時(shí)使用??蛻?hù)應用程序則是實(shí)現數據采集系統功能的軟件程序,在本系統中采用Visual C++進(jìn)行編寫(xiě)。
2.2.3 USB系統驅動(dòng)程序
USB系統驅動(dòng)程序采用分層結構模型(WDM),該模型定義了分層的驅動(dòng)程序, USB設備驅動(dòng)程序不直接與硬件對話(huà),而是通過(guò)USB驅動(dòng)程序接口將USB請求塊提交到總線(xiàn)驅動(dòng)程序進(jìn)而完成硬件操作。從系統的角度來(lái)說(shuō),在USB設備插入主機后,主機檢測到USB設備,讀取設備描述符,然后主機根據設備描述符中提供的廠(chǎng)商ID和產(chǎn)品ID等,啟用相應USB設備驅動(dòng)程序,讀取USB設備中的配置描述符、接口描述符和端點(diǎn)描述符,根據需要選擇恰當的配置、接口和端點(diǎn),確定傳輸方式。這一過(guò)程完成后,PC機與USB設備之間就能夠進(jìn)行數據傳輸了。
USB總線(xiàn)的特點(diǎn)使其非常適合用作小型儀器與主機之間的通訊接口,實(shí)現主機與便攜式儀器之間的簡(jiǎn)單、快速和可靠的連接。將USB接口應用到數據采集系統中,提高了數據采集系統的速度,增強了系統的抗干擾能力和數據傳輸的可靠性。本文詳細介紹了基于A(yíng)RM芯片S3C44B0X和USB2.0接口控制芯片ISP1581的數據采集系統的軟硬件設計開(kāi)發(fā)方案,設計開(kāi)發(fā)過(guò)程較為繁雜,涉及到多方面的軟件程序與硬件電路的聯(lián)合使用,通過(guò)實(shí)驗測試,效果良好。
參考文獻
[1] 羅浩,楊曉非.脫機式數據采集系統的設計[J]. 微計算機信息,2006,22(4):93-95.
[2] 高美珍,洪家平. 基于USB接口和嵌入式芯片總線(xiàn)的數據采集系統[J]. 儀表技術(shù)與傳感器,2005,(8):51-53.
[3] 邢微,劉開(kāi)華.數據采集系統USB2.0接口設計[J].電子測量技術(shù),2006,29(1):12-13.
[4] 夏益民,王廣君. 基于USB總線(xiàn)的高速數據采集系統[J]. 國外電子元器件,2003,(10):20-23.
評論