基于USB的嵌入式CCD圖像數據采集系統的實(shí)現
2 軟件設計
本文引用地址:http://dyxdggzs.com/article/83477.htm2.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.
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論