基于TMS320F2812的光標(biāo)閱讀機系統(tǒng)
1引言
本文引用地址:http://butianyuan.cn/article/150306.htm 光標(biāo)閱讀機是一種光學(xué)標(biāo)記信息卡錄入設(shè)備,廣泛應(yīng)用于考試、人口普查、彩票投注、選舉等領(lǐng)域。目前在國內(nèi)外有多種光標(biāo)閱讀機,結(jié)構(gòu)復(fù)雜、生產(chǎn)成本高等。本文介紹一種新型的基于DSP TMS32OF2812的光標(biāo)閱讀機系統(tǒng),該系統(tǒng)具有結(jié)構(gòu)簡單、成本低廉的特點,有很強的實用價值。
2硬件結(jié)構(gòu)
光標(biāo)閱讀機硬件一般由LED傳感器、ADC、數(shù)據(jù)處理控制單元、PC機接口、饋紙控制等部分組成,目前常用的光學(xué)標(biāo)記閱讀機硬件結(jié)構(gòu)有兩種:數(shù)據(jù)處理控制單元采用工控板方式和數(shù)據(jù)處理控制單元采用DSP+FlaGA方式。這兩種電路比較復(fù)雜,生產(chǎn)成本較高。
本文介紹的是數(shù)據(jù)處理控制單元采用基于TMS320F2812的硬件結(jié)構(gòu).TMS320F2812是美國TI公司研制的2000系列數(shù)字信號處理器,是面向電機控制、工業(yè)自動化領(lǐng)域的第一款具有片內(nèi)Flash、工作頻率高達(dá)150 MHz的32位DSP。TMS320 F2812采用經(jīng)典哈佛總線結(jié)構(gòu),利用多總線在存儲器、外圍模塊和CPU之間轉(zhuǎn)換數(shù)據(jù),這種多總線結(jié)構(gòu)使其可以在一個周期內(nèi)并行完成取指令、讀數(shù)據(jù)和寫數(shù)據(jù),同時它采用了指令流水線技術(shù),保證信號處理的快速性和實時性。TMS320F2812的內(nèi)部存儲器包括14 K的RAM和128 K×16 bit的Flash:片內(nèi)集成了16通道12 bit的ADC模塊、16通道PWM輸出、多達(dá)56個獨立的可編程GPIO、3個帶有6種模式的通用目的定時器、3個可配置死區(qū)的比較器、3個單端比較單元、4個捕捉單元。同時還集成有多種串行接口[1]。
系統(tǒng)基本結(jié)構(gòu)如圖l所示,用帶有內(nèi)部A/D轉(zhuǎn)換的。TMS320F2812作為核心,數(shù)據(jù)傳輸采用USB接口。該系統(tǒng)具有電氣結(jié)構(gòu)簡單、成本低、采集處理速度快、數(shù)據(jù)傳輸快等優(yōu)點。
3 數(shù)據(jù)采集
光學(xué)標(biāo)記閱讀機是一種光學(xué)標(biāo)記信息數(shù)據(jù)采集設(shè)備,采集速度和精度是兩個非常重要的方面。本系統(tǒng)采集模塊采用TMS320F2812內(nèi)部A/D模塊,此模塊是一個12位、具有流水線結(jié)構(gòu)的模數(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)誤差,需要進(jìn)行校正,否則會影響信號精度,其轉(zhuǎn)換方程可以表示為y=x×ma±b,式中ma為實際增益.b為失調(diào)誤差。通過對TMS320F2812的ADC信號采集進(jìn)行測量,發(fā)現(xiàn)ADC增益誤差一般在5%以內(nèi),可以采用以下方法對其進(jìn)行校正:選用ADC的任意兩個通道作為參考輸入通道,并分別提供給它們已知直流參考電壓作為輸入(兩個電壓不能相同),通過讀取相應(yīng)的結(jié)果寄存器獲取轉(zhuǎn)換值,利用兩組輸入輸出值求得ADC模塊的校正增益和校正失調(diào),然后利用這兩個值對其他通道的轉(zhuǎn)換數(shù)據(jù)進(jìn)行補償,從而提高ADC模塊轉(zhuǎn)換的準(zhǔ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)應(yīng)用于其他測量通道,對ADC轉(zhuǎn)換結(jié)果進(jìn)行校正。
TMS320F2812 ADC轉(zhuǎn)換模塊通道間的增益及失調(diào)誤差均在0.2%以內(nèi).所以可以采用上述方法對其進(jìn)行校正[3]。實驗結(jié)果表明校正后ADC的誤差被控制在0.5%以內(nèi),大大提高了采集精度。
本系統(tǒng)設(shè)計信號輸入為40路,DSP本身的ADC輸入通道是16路,所以要外接多路轉(zhuǎn)換器進(jìn)行擴(kuò)展。在電路設(shè)計中,采用5條DSP ADC輸入通道ADCINAO~ADCINA4,每一通道掛接一片8路輸入1路輸出多路模擬轉(zhuǎn)換器4051。擴(kuò)展為40路模擬信號輸入。圖2是TMS320F2812的ADC與信號之間的接口。
4數(shù)據(jù)通訊
光標(biāo)閱讀機是一種快速設(shè)備,一秒鐘可識別幾張信息卡,與PC之間需要進(jìn)行快速數(shù)據(jù)傳輸,本系統(tǒng)采用USB通訊方式,采用一款性價比很高的USB器件PDIUSBDl2,它通常用在微控制器系統(tǒng)中實現(xiàn)與微控制器之間的高速通信,完全符合USBl.1規(guī)范。PDIUSBD12與TMS320F2812都工作在3 V電壓下,它們之間通過并口連接,給PDIUSBD12分配一個片選,TMS320F2812可以通過讀寫地址對其進(jìn)行操作,PDIUSBDl2的并口接口速率是2 MHz.相對于TMS320F2812來說屬于低速設(shè)備,需要在軟件中進(jìn)行設(shè)置,插入等待周期。圖3是TMS320F2812與PDILISBI)12的硬件連接圖。
評論