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