新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和USB接口的驗(yàn)光儀控制系統(tǒng)設(shè)計(jì)方案

基于FPGA和USB接口的驗(yàn)光儀控制系統(tǒng)設(shè)計(jì)方案

作者: 時(shí)間:2014-02-16 來(lái)源:網(wǎng)絡(luò) 收藏

1.引言

本文引用地址:http://2s4d.com/article/226546.htm

近些年來(lái),近視已經(jīng)嚴(yán)重影響了人們的健康。為了準(zhǔn)確的了解近視患者眼睛的近視程度,為近視者配出更加合適的眼鏡,驗(yàn)光儀器成為了眼鏡零售行業(yè)必不可少的設(shè)備。目前市場(chǎng)上主流電腦驗(yàn)光儀并不能完全實(shí)現(xiàn)驗(yàn)光過(guò)程的自動(dòng)化,問(wèn)題主要表現(xiàn)在以下三個(gè)方面:

①定位速度慢;②定位精度差;③自動(dòng)化水平低.

為了解決以上問(wèn)題,本設(shè)計(jì)對(duì)原有的電腦驗(yàn)光儀進(jìn)行了改進(jìn),采用運(yùn)行速率快,穩(wěn)定性高的控制步進(jìn)電機(jī)驅(qū)動(dòng)芯片,實(shí)現(xiàn)了驗(yàn)光儀的三軸聯(lián)動(dòng);運(yùn)用行程開(kāi)關(guān)實(shí)現(xiàn)了極點(diǎn)間的自動(dòng)往返。為了保護(hù)電路安全,設(shè)計(jì)了板間的光電隔離電路;并且采用先進(jìn)的USB技術(shù)使電腦和設(shè)備進(jìn)行通信,增加了數(shù)據(jù)的傳輸率,提高了設(shè)備的可控性.

2.系統(tǒng)硬件整體設(shè)計(jì)

控制系統(tǒng)是驗(yàn)光儀的控制核心,它不但要實(shí)現(xiàn)對(duì)多軸步進(jìn)電機(jī)的運(yùn)動(dòng)和光源控制,還要實(shí)現(xiàn)與上位機(jī)信息的交互和其他重要功能。驗(yàn)光儀的主控制板的設(shè)計(jì)由EP3C16Q240C8最小系統(tǒng)擴(kuò)展而成,根據(jù)功能實(shí)現(xiàn)及相關(guān)外設(shè)擴(kuò)展對(duì)插針接口進(jìn)行適當(dāng)更改,并添加了USB通信接口、步進(jìn)電機(jī)驅(qū)動(dòng)模塊和行程開(kāi)關(guān)信號(hào)輸入端的光電隔離電路。驗(yàn)光儀控制系統(tǒng)的主控制板硬件電路設(shè)計(jì)框圖如圖1所示。

 

 

主控制板中使用的是Altera公司生產(chǎn)的Cylone III系列芯片EP3C16Q240C8N,該芯片擁有15,408個(gè)邏輯單元;可以提供516,096字節(jié)的RAM;另外芯片內(nèi)部還自帶有4個(gè)鎖相環(huán),可以保證系統(tǒng)時(shí)鐘信號(hào)在高速運(yùn)行時(shí)的穩(wěn)定性。步進(jìn)電機(jī)驅(qū)動(dòng)芯片選擇使用Allergo公司生產(chǎn)兩相步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片SLA7042M,它能夠?qū)崿F(xiàn)超平滑低速驅(qū)動(dòng)。為了實(shí)現(xiàn)主芯片和外部設(shè)備通信,控制板需要將3.3V和5V的電平相互轉(zhuǎn)換,系統(tǒng)使用TI公司生產(chǎn)的16位3.3V-5V電平轉(zhuǎn)換芯片SN74ALVC164245.控制芯片采用PDIUSBD12,它集成了SIE FIFO存儲(chǔ)器、收發(fā)器以及電壓調(diào)整期,適用于許多的外部設(shè)備。

3.Verilog硬件功能實(shí)現(xiàn)

Verilog HDL是一種硬件描述語(yǔ)言,主要用于從算法級(jí)、門級(jí)到開(kāi)關(guān)級(jí)的多種抽象設(shè)計(jì)層次的數(shù)字系統(tǒng)建模.FPGA芯片是驗(yàn)光儀主控制板的核心部件,本設(shè)計(jì)方案中使用Verilog HDL在FPGA上實(shí)現(xiàn)下位機(jī)與上位機(jī)的信息交互、多軸聯(lián)動(dòng)步進(jìn)電機(jī)運(yùn)動(dòng)平臺(tái)的控制、對(duì)光源的控制等功能,F(xiàn)PGA內(nèi)部功能模塊如圖2所示。

 

 

1)控制模塊:FPGA內(nèi)部USB固件程序,實(shí)現(xiàn)FPGA與上位機(jī)通信。

2)時(shí)鐘模塊:對(duì)外部的16MHz時(shí)鐘進(jìn)行分頻、倍頻處理,產(chǎn)生FPGA工作所需各種頻率的時(shí)鐘信號(hào)。

3)指令分析模塊:分析收到的上位機(jī)指令,根據(jù)規(guī)定的指令協(xié)議,產(chǎn)生執(zhí)行命令并將執(zhí)行指令發(fā)送到各個(gè)執(zhí)行模塊。

4)步進(jìn)電機(jī)控制模塊:執(zhí)行FPGA送達(dá)的三軸步進(jìn)電機(jī)控制指令,對(duì)各軸的電機(jī)進(jìn)行細(xì)分、變速控制,最終通過(guò)給步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片發(fā)送不同的命令實(shí)現(xiàn)電機(jī)的三軸聯(lián)動(dòng)。

5)光源控制模塊:控制光學(xué)系統(tǒng)的5個(gè)LED紅外光源和3個(gè)視覺(jué)輔助光源3個(gè)視覺(jué)輔助光源引導(dǎo)人眼注視方向,5個(gè)LED紅外光源輔助系統(tǒng)的對(duì)焦功能。

4.上位機(jī)應(yīng)用程序及驅(qū)動(dòng)程序的實(shí)現(xiàn)

本電腦驗(yàn)光儀控制系統(tǒng)上位機(jī)軟件主要負(fù)責(zé)完成視頻圖像采集和處理的功能,在預(yù)處理的基礎(chǔ)上完成形態(tài)學(xué)的處理、目標(biāo)識(shí)別和光斑參數(shù)計(jì)算輸出等一系列指令,并將指令通過(guò)USB接口傳輸給下位機(jī)。由于該設(shè)備不是一個(gè)類設(shè)備,說(shuō)以要使設(shè)備正常工作,還需要編寫專門的驅(qū)動(dòng)程序和軟件。

4.1 驅(qū)動(dòng)程序的編寫

驅(qū)動(dòng)程序的編寫使用一些驅(qū)動(dòng)開(kāi)發(fā)的專用工具,例如Driver Studio、WinDriver等。

Driver Studio3.2進(jìn)行開(kāi)發(fā),開(kāi)發(fā)步驟這里就不一一列舉,應(yīng)該注意的是要在USB Vendor ID和USB Product ID中輸入和固件中設(shè)備描述一致的信息。由于選用的是Philips的PDIUSBD12芯片,所以設(shè)備的Vendor ID固定為0×0471.

使用Driver Studio的Driver Wizard生成驅(qū)動(dòng)框架后,可以根據(jù)需要使用Visual C++6.0對(duì)Driver Wizard生成的工程文件中的函數(shù)進(jìn)行修改,還有就是對(duì)自定義的IO控制接口函數(shù)進(jìn)行處理和廠商請(qǐng)求的編寫。完成這些后,就可以對(duì)驅(qū)動(dòng)程序進(jìn)行編譯了,成功編譯驅(qū)動(dòng)程序后,將它和Driver Studio自動(dòng)生成的。inf文件放在同一目錄下,在查找驅(qū)動(dòng)的時(shí)候指定這個(gè)目錄就可以了。

4.2 上位機(jī)應(yīng)用程序的編寫

由于設(shè)備使用USB接口進(jìn)行上位機(jī)與設(shè)備進(jìn)行通信,所以上位機(jī)應(yīng)用程序要通過(guò)USB驅(qū)動(dòng)實(shí)現(xiàn)對(duì)設(shè)備的訪問(wèn),編寫上位機(jī)的應(yīng)用程序必須符合USB驅(qū)動(dòng)定義的接口規(guī)范。一般來(lái)說(shuō),使用Driver Wizard生成一個(gè)驅(qū)動(dòng)工程后,會(huì)同時(shí)生成一個(gè)ioctl.h的文件,這個(gè)文件就是建立應(yīng)用程序和驅(qū)動(dòng)之間的橋梁,它定義了驅(qū)動(dòng)程序的接口,在編寫應(yīng)用程序的時(shí)候需要將它引用進(jìn)去。

上位機(jī)應(yīng)用程序整體劃分6個(gè)區(qū)域,視頻顯示區(qū)域、(直接控制)操作區(qū)域、MOTOR控制區(qū)域、LED控制區(qū)域、實(shí)時(shí)處理(數(shù)據(jù))顯示區(qū)域、狀態(tài)反饋數(shù)據(jù)顯示區(qū)域。

本系統(tǒng)人機(jī)交互功能在windows平臺(tái)上使用VC++6.0編譯環(huán)境設(shè)計(jì)完成,可以直觀顯示跟蹤對(duì)焦過(guò)程,并進(jìn)行簡(jiǎn)單控制的可視化人眼跟蹤控制程序,通過(guò)人機(jī)界面實(shí)現(xiàn)對(duì)人眼跟蹤系統(tǒng)的完全控制。完成的人機(jī)交互界面(上位機(jī)應(yīng)用程序),具體實(shí)現(xiàn)代碼不再敖述。

5.系統(tǒng)的搭建及測(cè)試

全自動(dòng)電腦驗(yàn)光儀控制系統(tǒng)整體分為上位機(jī)和下位機(jī)兩部分,通過(guò)USB總線進(jìn)行連接通信,配合完成整個(gè)系統(tǒng)功能。通過(guò)VC6.0++開(kāi)發(fā)環(huán)境編程實(shí)現(xiàn)windows平臺(tái)的上位機(jī)軟件,可通過(guò)其人機(jī)交互界面對(duì)設(shè)備進(jìn)行控制。上位機(jī)軟件實(shí)現(xiàn)了對(duì)電腦驗(yàn)光儀機(jī)頭內(nèi)CCD攝像頭的控制、對(duì)視頻數(shù)據(jù)的實(shí)時(shí)采集處理、下發(fā)各種控制指令、顯示數(shù)據(jù)信息等功能。

在搭建好的工作平臺(tái)上進(jìn)行完整的系統(tǒng)測(cè)試,結(jié)果如圖3所示,在人機(jī)交互界面可以清晰完整的觀察到已完成跟蹤后采集的圖像。

 

 

通過(guò)對(duì)測(cè)試結(jié)果分析,本控制系統(tǒng)可以很好的完成跟蹤任務(wù),識(shí)別準(zhǔn)確、跟蹤迅速、對(duì)焦精確,充分驗(yàn)證了本系統(tǒng)的可行性,基本達(dá)到了設(shè)計(jì)預(yù)期。

6.結(jié)束語(yǔ)

本方案利用PC和FPGA配合設(shè)計(jì)出了一套完整的控制系統(tǒng),充分發(fā)揮了PC機(jī)在圖像處理、人機(jī)交互方面的特長(zhǎng)以及FPGA硬件資源多、可重構(gòu)性強(qiáng)的特點(diǎn),極大的提高了系統(tǒng)的實(shí)時(shí)處理能力,縮短了跟蹤時(shí)間,提高了跟蹤效率。經(jīng)系統(tǒng)的測(cè)試表明本方案設(shè)計(jì)的電腦驗(yàn)光儀控制系統(tǒng)將會(huì)是整個(gè)驗(yàn)光儀系統(tǒng)中不可缺少的一部分。

行程開(kāi)關(guān)相關(guān)文章:行程開(kāi)關(guān)原理


關(guān)鍵詞: FPGA USB接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉