摘要:利用中國(guó)臺(tái)灣凌陽(yáng)公司新一代16 位單片機(jī)SPCE061A 的快速數(shù)據(jù)處理能力和具有語(yǔ)音功能的特點(diǎn),結(jié)合糧食的介電特性,設(shè)計(jì)出智能化的糧食水分測(cè)試儀。該測(cè)試儀采用電容測(cè)量法,對(duì)測(cè)量信號(hào)的非線性和溫度漂移進(jìn)行了數(shù)字化的修正和補(bǔ)償。并根據(jù)測(cè)試結(jié)果判斷是否與標(biāo)準(zhǔn)值一致,進(jìn)行語(yǔ)音提示。
關(guān)鍵詞:語(yǔ)音提示; 介電特性; SPCE061A 單片機(jī)
中圖分類號(hào): TP93412 文獻(xiàn)標(biāo)識(shí)碼: B 文章編號(hào): 100327241 (2004) 1120067203
The Grain Mois t ure Tes t Ap p a rat us Wit h Ph o netic Fu nctio ns
ZHENG Chang - zheng1 , WU Chuan - ju2
(1.Wuhan Polythnic University ,Wuhan 430023 ,China ; 2.Wuhan University of Science & Technology ,Wuhan 30023 ,China)
Abstract :This paper introduces the inligent grain moisture test apparatus with phonetic functions. It is based on the phonetic functions and the fast data processing ability of the SPCE061A. It works an the measuring of capacitance and digital modulation with compensation on signal non- linearity and temperature offset.
Key words :Phonetic prompt ; Electric inductivity ; SPCE061A
1 引言
糧食中的水分按物理性質(zhì)可分為結(jié)合水(結(jié)晶水) 和游離水(自由水) 。結(jié)合水是在糧粒生長(zhǎng)過程中自然形成的,存在于糧食細(xì)胞內(nèi)與糧粒內(nèi)親水物質(zhì)結(jié)合得很牢固,性質(zhì)很穩(wěn)定,難以解吸,結(jié)合水不參加導(dǎo)電;游離水是通過物理吸附作用凝聚在糧食內(nèi)部的毛細(xì)管內(nèi)和分子間隙中的水分,它具有普通水的導(dǎo)電性質(zhì),平時(shí)檢測(cè)指示的水分指的是游離水。如果不加選擇地購(gòu)進(jìn)和儲(chǔ)藏糧食,必然會(huì)影響糧食的儲(chǔ)藏周期,導(dǎo)致糧食的過早發(fā)霉、變質(zhì)、腐爛,因此必須時(shí)刻在意糧食的水分含量,本文根據(jù)糧食的介電特性,利用凌陽(yáng)科技公司的SPCE061A 單片機(jī)的快速運(yùn)算與處理數(shù)據(jù)的能力和語(yǔ)音功能的特點(diǎn),設(shè)計(jì)了完整的測(cè)試方案,它具有低功耗、便于攜帶、具有語(yǔ)音提示功能、操作方便、人機(jī)界面友好等特點(diǎn),可廣泛地應(yīng)用于糧食的調(diào)撥、征購(gòu)、儲(chǔ)藏、加工等環(huán)節(jié)中。
2 SPCE061A 單片機(jī)簡(jiǎn)介
SPCE061A 是中國(guó)臺(tái)灣凌陽(yáng)科技公司推出的一款以μ nSPTM為核心的基于SOC(System On Chip) 技術(shù)的16 位單片機(jī)。SPCE061A中包括2K字節(jié)的SRAM和32K字節(jié)的閃存ROM; 32 位可編程的多功能I/ O 端口;兩個(gè)16 位可編程定時(shí)器/ 計(jì)數(shù)器;14 個(gè)中斷源,兩級(jí)優(yōu)先級(jí),三種中斷類型;32768Hz 實(shí)時(shí)時(shí)鐘;低電壓復(fù)位/監(jiān)測(cè)功能;可編程的看門狗功能;7 通道10 位A/ D 輸入和單通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制AGC 功能的聲音A/ D 轉(zhuǎn)換器;雙通道10 位D/ A 音頻轉(zhuǎn)換器;具有ICE( In Circuit Emula2tion) 接口,能夠方便的實(shí)現(xiàn)在線仿真和程序的下載; SPCE061A在2. 6~3. 6V 工作電壓范圍內(nèi)的工作頻率范圍為0. 32~49.152MHz ,較高的數(shù)據(jù)處理速度使SPCE061A 能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號(hào), SPCE061A 能夠?qū)崿F(xiàn)用于處理數(shù)字信號(hào)的16 位3 16 位的內(nèi)積運(yùn)算,因此非常適合于數(shù)字語(yǔ)音識(shí)別和應(yīng)用領(lǐng)域。凌陽(yáng)的指令系統(tǒng)采用精簡(jiǎn)指令集,它以字為單位,從而格式緊湊、靈活;執(zhí)行時(shí)間短。由此可見,SPCE061A 是一款以單片機(jī)的價(jià)格獲得DSP 處理速度的具有高性價(jià)比的單片機(jī)。
3 系統(tǒng)軟硬件設(shè)計(jì)
3. 1 系統(tǒng)的硬件設(shè)計(jì)
系統(tǒng)的硬件結(jié)構(gòu)圖如圖1 所示:
圖1 硬件結(jié)構(gòu)圖
數(shù)字溫度傳感器采用DALLAS 公司的單總線器件DS18B20 ,用于補(bǔ)償環(huán)境溫度對(duì)糧食內(nèi)部水分的影響,環(huán)境溫度直接以“一線總線”的數(shù)字方式傳輸,省去了溫度傳感器的放大處理等環(huán)節(jié),大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量。同時(shí)它只占用單片機(jī)的一個(gè)端口,節(jié)約了系統(tǒng)的硬件資源,因此具有較高的性價(jià)比。
糧食水分的測(cè)試通常采用電阻法和電容法,由于非金屬干燥物質(zhì)的電阻很大,通常能達(dá)到幾十到幾百兆歐,要使這樣大的電阻流過電流必須在檢測(cè)電極兩端加上高電壓,即使這樣獲得的電流也只是微安級(jí)的,必須要經(jīng)過放大等處理措施,因此用電阻法檢測(cè)獲得的測(cè)量信號(hào)微弱,影響測(cè)量精度。本電路采用電容法進(jìn)行測(cè)量, 經(jīng)過實(shí)驗(yàn)的反復(fù)驗(yàn)證,水分傳感器采用圓柱形容器測(cè)量糧食的含水量比平板式容器要準(zhǔn)確些,操作也較方便,測(cè)量值受邊緣效應(yīng)影響較小。信號(hào)調(diào)理電路采用555 芯片構(gòu)成的非重復(fù)觸發(fā)的單穩(wěn)觸發(fā)電路,如圖2 所示:
圖2 信號(hào)調(diào)理電路
糧食中的水分含量越大,糧食的介電常數(shù)就越大,電容值就越大。電容與水分存在一定的函數(shù)關(guān)系,同時(shí)在單穩(wěn)觸發(fā)電路中,輸出的脈沖寬度Tpo = RCln3 ,其中C 就是要測(cè)的電容值,因此水分與脈沖寬度存在函數(shù)關(guān)系,只要測(cè)出脈沖寬度就可獲得糧食水分的含量。信號(hào)的采樣波形如圖3 所示。脈寬的測(cè)量由單片機(jī)的外中斷和定時(shí)中斷來完成,由于SPCE061A 的EXT1 和EXT2 均為負(fù)跳沿觸發(fā)中斷, 因此在555 的輸出端加一級(jí)反相器,EXT1 中斷采樣輸出信號(hào)的上跳沿,然后再經(jīng)過一級(jí)反相器,EXT2 采樣輸出信號(hào)的下跳沿。兩者采樣的時(shí)間差就是脈沖寬度。時(shí)間差的計(jì)算可由單片機(jī)的定時(shí)中斷來實(shí)現(xiàn),在EXT1 的中斷程序里開啟定時(shí)中斷,在EXT2 的中斷程序里關(guān)閉定時(shí)中斷。電路中的同步觸發(fā)信號(hào)來自單片機(jī)的輸出控制端口使采樣和計(jì)時(shí)保持同步,提高系統(tǒng)的測(cè)量精度。
圖3 信號(hào)采樣波形
為了降低功耗,系統(tǒng)采用圖形點(diǎn)陣式LCD 顯示。相應(yīng)的數(shù)據(jù)線和控制線與SPCE061A 的16 位并行A 口連接,用來顯示測(cè)量的糧食的種類、每次測(cè)量的數(shù)值、次數(shù)、平均值,以及測(cè)量的修正值。整個(gè)人機(jī)界面清晰、明確。
按鍵輸入部分由品種選擇鍵、修正值輸入鍵、保存鍵、測(cè)試鍵、平均鍵、清除鍵等組成,根據(jù)需要,可測(cè)量大米、小麥、高粱等
不同種類的糧食。
SPCE061A 的音頻輸出采用雙通道的DAC 方式,即數(shù)字信號(hào)通過10 位DAC 轉(zhuǎn)換成3mA 驅(qū)動(dòng)電流的模擬輸出,語(yǔ)音提示信號(hào)輸出經(jīng)過驅(qū)動(dòng)放大以后,通過揚(yáng)聲器輸出。
3. 2 系統(tǒng)軟件設(shè)計(jì)
糧食水分測(cè)試儀是具有區(qū)域特色的產(chǎn)品,它對(duì)不同地區(qū)的糧食作物具有不同的測(cè)量基準(zhǔn)值,因此在測(cè)試之前,需要根據(jù)不同的糧食種類,在不同的狀態(tài)下建立起標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù),這些數(shù)據(jù)可以預(yù)先存入系統(tǒng)中,也可以由用戶根據(jù)標(biāo)準(zhǔn)現(xiàn)場(chǎng)設(shè)定。這樣在測(cè)試時(shí)就與標(biāo)準(zhǔn)值進(jìn)行比較,判斷是否合乎標(biāo)準(zhǔn)。
軟件采用模塊化設(shè)計(jì),包括初始化程序、鍵盤掃描、溫度采樣、水分采樣中斷處理、測(cè)量數(shù)據(jù)線性化和溫度漂移的補(bǔ)償?shù)臄?shù)據(jù)處理、語(yǔ)音提示等模塊。主程序負(fù)責(zé)整個(gè)系統(tǒng)的協(xié)調(diào)與控制工作,通過調(diào)用不同的模塊完成相應(yīng)的工作。本測(cè)試儀以每個(gè)品種10 次隨機(jī)采樣的算術(shù)平均值作為測(cè)量結(jié)果,有效地提高了測(cè)量的準(zhǔn)確性和重復(fù)性。在測(cè)試完成后就輸出語(yǔ)音提示,判斷所測(cè)試的水分為多少并且是否合格。主程序的流程圖如圖4 所示:
4 語(yǔ)音提示系統(tǒng)工作原理
SPCE061A 的音頻輸出有兩種方式,一種是音調(diào)輸出方式,另一種是語(yǔ)音輸出方式,兩者的區(qū)別在于輸出的控制機(jī)理不同。前者是通過控制定時(shí)器溢出所產(chǎn)生的不同頻率來決定聲波振動(dòng)次數(shù)的多少,從而決定發(fā)出的聲音音調(diào)的高低;后者是用與聲音數(shù)據(jù)采樣率相同的速率將聲音數(shù)據(jù)通過數(shù)模轉(zhuǎn)換通道還原成音頻電壓或電流輸出,其中聲音數(shù)據(jù)采樣率決定了聲音音質(zhì)的好壞,并決定了聲音數(shù)據(jù)所需要占據(jù)的存儲(chǔ)空間[3 ] 。提示語(yǔ)音的輸入可以采用兩種方式:一是通過PC 機(jī)的聲卡,用麥克風(fēng)采集語(yǔ)音的3 .wav 文件;二是用SPCE061A 系統(tǒng)采集語(yǔ)音信號(hào),通過通信模塊將語(yǔ)音信號(hào)傳送到PC 機(jī)上保存。第二種方式,因?yàn)樗鼙WC語(yǔ)音特征的一致性,從而減少硬件系統(tǒng)不一致帶來的誤差。不管采用哪種方式, 3 . wav 文件占用的存儲(chǔ)空間很大,對(duì)于微控制器來說想要存儲(chǔ)大量的語(yǔ)音信息顯然是不可能的,必須將音頻文件壓縮。為了方便用戶使用, 凌陽(yáng)公司的SPCE061A 提供了各種音頻壓縮編碼的算法和API 函數(shù)庫(kù),即SACM- LIB。用戶只須了解每個(gè)模塊所要實(shí)現(xiàn)的功能及參數(shù)的內(nèi)容,然后調(diào)用該API 函數(shù)即可實(shí)現(xiàn)該功能。凌陽(yáng)科技公司提供三種不同壓縮率的語(yǔ)音提示的算法,表1 是各種壓縮算法名稱及編碼率類型。
圖4 主程序流程圖
表1 SPCE061A 的語(yǔ)音壓縮算法及編碼率類型
這三種壓縮算法的區(qū)別在于壓縮率不同、音質(zhì)也不同。SACM A2000 壓縮率相對(duì)較小,音質(zhì)較好,相應(yīng)的資源占用較多。SACM S240 的壓縮率zui大,音質(zhì)相對(duì)較差。SACM S480介于這兩者之間。本系統(tǒng)在沒有擴(kuò)展存儲(chǔ)器的情況下,采用SACM S240 方式,它可容納210 秒的語(yǔ)音數(shù)據(jù)。語(yǔ)音播放子程序包括語(yǔ)音播放程序和服務(wù)中斷程序,語(yǔ)音播放程序主要完成D/ A 轉(zhuǎn)換器、TIMERA 定時(shí)器和音量的初始化,從ROM里取出預(yù)先壓縮好的語(yǔ)音數(shù)據(jù),解壓縮后存放在播放隊(duì)列中,中斷服務(wù)程序定時(shí)地從播放隊(duì)列中讀取數(shù)據(jù),從D/ A 轉(zhuǎn)換器轉(zhuǎn)換后送揚(yáng)聲器發(fā)出聲音。播放程序如下:
Sound :_proc ;
r1 = 1 ;
call F_SACM_S240_Initial ;
r1 = 8 ;
call F_SACM_S240_Volume ;
r1 = [ Speech_1 ] ;
r2 = dac1 ;
r3 = Ramp_UpDn_On ;
call F_SACM_S240_Play ;
LOOP;
call F_SACM_S240_ServiceLoop[ syg1 ] ;
call F_SACM_S240_Status ;
test r1 ,0x0001 ;
jz Sound_End ;
jmp LOOP;
Sound_End ;
retf ;
endp ;
5 實(shí)驗(yàn)測(cè)試結(jié)果
本測(cè)試儀采用浮動(dòng)三點(diǎn)定標(biāo)法對(duì)各種不同種類的糧食預(yù)先定標(biāo),用戶在使用時(shí)可直接測(cè)量,以小麥為例,在不同的水分情況下,實(shí)測(cè)值與標(biāo)準(zhǔn)值的數(shù)據(jù)比對(duì)如表2 所示:
表2 實(shí)測(cè)值與標(biāo)準(zhǔn)值的比對(duì)
經(jīng)過非線性補(bǔ)償和誤差修正,本測(cè)試儀的測(cè)量誤差≤±0.5 % ,測(cè)量的水分范圍為3~35 % ,重復(fù)誤差≤0. 1 % ,使用的溫度范圍為0~40 ℃?;旧线_(dá)到國(guó)內(nèi)外同類*產(chǎn)品的技術(shù)指標(biāo)??蛇m用于多種種類的糧食水分測(cè)量,具有比較廣闊的市場(chǎng)前景。
6 參考文獻(xiàn)
[1 ] 薛鈞義,等. 凌陽(yáng)十六位單片機(jī)原理及應(yīng)用[M] . 北京:北京航空航天大學(xué)出版社,2003 ,2
[2 ] 張永林,等. 糧食水分在線測(cè)量技術(shù)評(píng)述[J ] . 武漢工業(yè)學(xué)院學(xué)報(bào),2003 , (12) :36 - 40
[3 ] 李晶姣. 嵌入式語(yǔ)音技術(shù)及凌陽(yáng)16 位單片機(jī)應(yīng)用[M] . 北京:北京航空航天大學(xué)出版社,2003 ,11