1引言
光標閱讀機是一種光學標記信息卡錄入設備,廣泛應用于考試、人口普查、彩票投注、選舉等領域。目前在國內(nèi)外有多種光標閱讀機,結構復雜、生產(chǎn)成本高等。本文介紹一種新型的基于DSP TMS32OF2812的光標閱讀機系統(tǒng),該系統(tǒng)具有結構簡單、成本低廉的特點,有很強的實用價值。
2硬件結構
光標閱讀機硬件一般由LED傳感器、ADC、數(shù)據(jù)處理控制單元、PC機接口、饋紙控制等部分組成,目前常用的光學標記閱讀機硬件結構有兩種:數(shù)據(jù)處理控制單元采用工控板方式和數(shù)據(jù)處理控制單元采用DSP+FlaGA方式。這兩種電路比較復雜,生產(chǎn)成本較高。
本文介紹的是數(shù)據(jù)處理控制單元采用基于TMS320F2812的硬件結構.TMS320F2812是美國TI公司研制的2000系列數(shù)字信號處理器,是面向電機控制、工業(yè)自動化領域的第一款具有片內(nèi)Flash、工作頻率高達150 MHz的32位DSP。TMS320 F2812采用經(jīng)典哈佛總線結構,利用多總線在存儲器、外圍模塊和CPU之間轉(zhuǎn)換數(shù)據(jù),這種多總線結構使其可以在一個周期內(nèi)并行完成取指令、讀數(shù)據(jù)和寫數(shù)據(jù),同時它采用了指令流水線技術,保證信號處理的快速性和實時性。TMS320F2812的內(nèi)部存儲器包括14 K的RAM和128 K×16 bit的Flash:片內(nèi)集成了16通道12 bit的ADC模塊、16通道PWM輸出、多達56個獨立的可編程GPIO、3個帶有6種模式的通用目的定時器、3個可配置死區(qū)的比較器、3個單端比較單元、4個捕捉單元。同時還集成有多種串行接口[1]。
系統(tǒng)基本結構如圖l所示,用帶有內(nèi)部A/D轉(zhuǎn)換的。TMS320F2812作為核心,數(shù)據(jù)傳輸采用USB接口。該系統(tǒng)具有電氣結構簡單、成本低、采集處理速度快、數(shù)據(jù)傳輸快等優(yōu)點。
3 數(shù)據(jù)采集
光學標記閱讀機是一種光學標記信息數(shù)據(jù)采集設備,采集速度和精度是兩個非常重要的方面。本系統(tǒng)采集模塊采用TMS320F2812內(nèi)部A/D模塊,此模塊是一個12位、具有流水線結構的模數(shù)轉(zhuǎn)換器,內(nèi)置雙采樣保持器(S/H),可多路選擇16通道輸入,快速轉(zhuǎn)換時間運行在25 MHz或12.5 MHz。輸入電壓范圍0 V~3 V,單次轉(zhuǎn)換時間200 ns,流水線轉(zhuǎn)換方式轉(zhuǎn)換時間60ns,ADC模塊有兩個獨立的排序器,可以工作在雙排序器模式和級聯(lián)排序模式[2].可以提供很高的采集速度。
TMS320F2812內(nèi)部ADC存在增益誤差和失調(diào)誤差,需要進行校正,否則會影響信號精度,其轉(zhuǎn)換方程可以表示為y=x×ma±b,式中ma為實際增益.b為失調(diào)誤差。通過對TMS320F2812的ADC信號采集進行測量,發(fā)現(xiàn)ADC增益誤差一般在5%以內(nèi),可以采用以下方法對其進行校正:選用ADC的任意兩個通道作為參考輸入通道,并分別提供給它們已知直流參考電壓作為輸入(兩個電壓不能相同),通過讀取相應的結果寄存器獲取轉(zhuǎn)換值,利用兩組輸入輸出值求得ADC模塊的校正增益和校正失調(diào),然后利用這兩個值對其他通道的轉(zhuǎn)換數(shù)據(jù)進行補償,從而提高ADC模塊轉(zhuǎn)換的準確度。具體計算過程如下:
① 獲取已知輸入?yún)⒖茧妷盒盘柕霓D(zhuǎn)換值yL和yH。
?、?利用方程y=x×ma+b及已知的參考值(xL,yL)和(xH,yH)計算實際增益及失調(diào)誤差:實際增益ma=(yH-yL)/(xH-XL);失調(diào)誤差b=yL-xL×ma。
?、?定義輸入x=y×CalGain-CalOffset,則由方程y=x×ma+b得校正增益CalGain=1/ma=(xH-xL)/(yH-yL),校正失調(diào)CalOffset=b/ma=yL/ma-xl。
?、?將所求的校正增益及校正失調(diào)應用于其他測量通道,對ADC轉(zhuǎn)換結果進行校正。
TMS320F2812 ADC轉(zhuǎn)換模塊通道間的增益及失調(diào)誤差均在0.2%以內(nèi).所以可以采用上述方法對其進行校正[3]。實驗結果表明校正后ADC的誤差被控制在0.5%以內(nèi),大大提高了采集精度。
本系統(tǒng)設計信號輸入為40路,DSP本身的ADC輸入通道是16路,所以要外接多路轉(zhuǎn)換器進行擴展。在電路設計中,采用5條DSP ADC輸入通道ADCINAO~ADCINA4,每一通道掛接一片8路輸入1路輸出多路模擬轉(zhuǎn)換器4051。擴展為40路模擬信號輸入。圖2是TMS320F2812的ADC與信號之間的接口。
4數(shù)據(jù)通訊
光標閱讀機是一種快速設備,一秒鐘可識別幾張信息卡,與PC之間需要進行快速數(shù)據(jù)傳輸,本系統(tǒng)采用USB通訊方式,采用一款性價比很高的USB器件PDIUSBDl2,它通常用在微控制器系統(tǒng)中實現(xiàn)與微控制器之間的高速通信,完全符合USBl.1規(guī)范。PDIUSBD12與TMS320F2812都工作在3 V電壓下,它們之間通過并口連接,給PDIUSBD12分配一個片選,TMS320F2812可以通過讀寫地址對其進行操作,PDIUSBDl2的并口接口速率是2 MHz.相對于TMS320F2812來說屬于低速設備,需要在軟件中進行設置,插入等待周期。圖3是TMS320F2812與PDILISBI)12的硬件連接圖。
5 電機驅(qū)動
本系統(tǒng)電機驅(qū)動部分采用1298雙路驅(qū)動器,可以驅(qū)動兩個電機,為了提高其驅(qū)動能力,采用雙路結合的辦法驅(qū)動一個電機。電機驅(qū)動部分與DSP之間不能直接進行電氣連接,否則電機運轉(zhuǎn)時會嚴重干擾DSP,它們之間需要用光電耦合器進行隔離。圖4是TMS320F2812與電機驅(qū)動之間的接口連接圖。
6固件設計
系統(tǒng)固件設計主要由初始化程序、USB固件程序、A/D采集控制、數(shù)據(jù)采集處理以及電機控制部分組成。
初始化程序主要對片上資源進行配置,如CLOCK、ADC、EVI/O、Flash等的配置;USB固件程序主要由硬件提取層、PDIUSBDl2命令接口、中斷服務程序、標準請求處理程序、廠商請求處理程序等部分組成,主要實現(xiàn)USB協(xié)議處理與數(shù)據(jù)傳輸;A/D采集控制程序處理信號的采集速度、精度、結果等:數(shù)據(jù)采集處理程序?qū)Σ杉降臄?shù)據(jù)進行識別等處理;電機控制程序控制電機驅(qū)動和饋紙等。
7結束語
本系統(tǒng)完成后可實現(xiàn)以下功能:40路高速數(shù)據(jù)采集;USBl.1接口;多個信息卡可連續(xù)采集等,具有良好的應用前景。