有害動(dòng)物智能聲防系統(tǒng)中音頻控制子系統(tǒng)的兩種方案
在農(nóng)作物除害方面直接利用有害動(dòng)物天敵的叫聲或其受到捕捉時(shí)發(fā)出的慘叫聲對農(nóng)作物有害動(dòng)物進(jìn)行驅(qū)趕(以下簡稱聲防),能避免投放化學(xué)藥物對水土環(huán)境造成污染和可能對人畜的誤傷,且相對于超聲波驅(qū)趕、噴水恐嚇等其他驅(qū)趕手段更易于實(shí)現(xiàn),驅(qū)趕效果更好。國內(nèi)現(xiàn)有的商品化聲防裝置普遍存在控制模式簡單、聲防音質(zhì)不好、存儲(chǔ)器容量小、聲防音頻文件不便于升級擴(kuò)展等缺點(diǎn)。應(yīng)用嵌入式技術(shù)改進(jìn)和提高聲防裝置多方面性能已成為聲防技術(shù)發(fā)展的趨勢之一?,F(xiàn)提出一種農(nóng)業(yè)有害動(dòng)物智能聲防系統(tǒng),在其音頻控制子系統(tǒng)的構(gòu)建上采用兩種設(shè)計(jì)方案。
嵌入式是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。嵌入式技術(shù)執(zhí)行專用功能并被內(nèi)部計(jì)算機(jī)控制的設(shè)備或者系統(tǒng)。嵌入式系統(tǒng)不能使用通用型計(jì)算機(jī),而且運(yùn)行的是固化的軟件,用術(shù)語表示就是固件(firmware),終端用戶很難或者不可能改變固件。
1 智能聲防系統(tǒng)原理
如圖1所示,智能聲防系統(tǒng)的結(jié)構(gòu)分為3層,底層是帶有熱釋電傳感器的探測節(jié)點(diǎn),負(fù)責(zé)探測有害動(dòng)物在農(nóng)田中出沒的位置;中間層為執(zhí)行器節(jié)點(diǎn),負(fù)責(zé)存儲(chǔ)、播放聲防音頻文件;上層是總控制器,負(fù)責(zé)監(jiān)控整個(gè)系統(tǒng)的運(yùn)行。系統(tǒng)的各層之間以無線方式進(jìn)行通信??偪刂破鞫〞r(shí)采集環(huán)境信息(如溫度、光照),結(jié)合農(nóng)田地理位置、作物種類等信息,并通過查詢內(nèi)部數(shù)據(jù)庫,以當(dāng)時(shí)最有可能出沒的2種有害動(dòng)物作為聲防目標(biāo),然后定時(shí)發(fā)送給執(zhí)行器節(jié)點(diǎn)。執(zhí)行器節(jié)點(diǎn)有觸發(fā)、隨機(jī)2種工作模式。觸發(fā)模式下,探測節(jié)點(diǎn)探測到有害動(dòng)物后,向相距最近的執(zhí)行器節(jié)點(diǎn)發(fā)出命令。執(zhí)行器節(jié)點(diǎn)根據(jù)最近更新的聲防目標(biāo)播放對應(yīng)的音頻文件。
揚(yáng)聲器以及供電模塊等組成。除音頻控制子系統(tǒng)外,其他功能模塊均采用成熟產(chǎn)品。
執(zhí)行器節(jié)點(diǎn)的主要功能由音頻控制子系統(tǒng)完成,按實(shí)現(xiàn)功能考慮,其應(yīng)包括大容量高保真數(shù)字音頻信號存儲(chǔ)、解碼輸出及多種播放模式選控等。為達(dá)到高保真的音質(zhì)要求,聲防音頻信號的采樣率選為44 kHz,采樣位數(shù)確定為16 bit,其存儲(chǔ)格式采用能較好兼顧壓縮比和音質(zhì)的MP3格式;為方便聲防音頻文件的升級,存儲(chǔ)器選用了方便熱插拔的SD卡或U盤。
2 方案1的構(gòu)建及實(shí)現(xiàn)
2.1 方案1的硬件構(gòu)成及實(shí)現(xiàn)
音頻控制子系統(tǒng)的"單片機(jī)+硬件解碼"構(gòu)建與使用單獨(dú)的硬件解碼芯片配合其他控制芯片相比,SoC芯片在電路結(jié)構(gòu)和開發(fā)成本上均有較大優(yōu)勢。AT89C51SND1是MP3解碼應(yīng)用中使用最多的SoC芯片之一。它實(shí)質(zhì)上是一款集成了DSP硬件解碼器的C51單片機(jī),提供有USB DEVICE、SPI等設(shè)備接口,且有54個(gè)I/O口供用戶使用。基于AT89C51SND1構(gòu)成音頻控制子系統(tǒng)的硬件結(jié)構(gòu)見圖2.
RS-232串口與無線通信模塊相連,采用自定義協(xié)議與其進(jìn)行通信,以實(shí)現(xiàn)執(zhí)行器節(jié)點(diǎn)與探測節(jié)點(diǎn)、總控制器之間的無線通信。因AT89C51SND1沒有集成USB HOST接口,故選擇USB接口芯片CH375讀寫U盤。而實(shí)際測試中發(fā)現(xiàn),CH375不能識別有些廠家生產(chǎn)的U盤。故為確保存儲(chǔ)的可靠性,選用SD卡作存儲(chǔ)介質(zhì)。SD卡的讀寫分為SD和SPI方式,而AT89C51SND1只提供MMC接口,無法兼容SD方式,故采用SPI方式讀寫SD卡。AT89C51SND1上集成了音頻輸出接口,可將解碼后的音頻數(shù)據(jù)以PCM格式或I2S格式輸出到后級的低功耗音頻數(shù)模轉(zhuǎn)換芯片PCM1770.AT89C51SND1通過USB DEVICE接口作為USB從設(shè)備與計(jì)算機(jī)相連,用于燒寫應(yīng)用程序。AT89C51SND1還可通過I/O口與點(diǎn)陣式LCD相連,以輸出相關(guān)信息。
2.2 方案1的軟件設(shè)計(jì)
圖3是音頻控制子系統(tǒng)構(gòu)建方案1的軟件流程。上電后,音頻控制子系統(tǒng)先完成各種外圍設(shè)備(包括SD卡、DAC芯片以及LCD等)的檢測和初始化,隨后進(jìn)入工作循環(huán)。首先對工作模式變量進(jìn)行判斷,若是觸發(fā)模式,則返回重做判斷;若為隨機(jī)模式,則調(diào)用隨機(jī)數(shù)生成子程序,隨機(jī)生成一個(gè)等待時(shí)間并延時(shí)等待,然后從存儲(chǔ)器中讀取聲防目標(biāo)變量指定的音頻文件并解碼播放。在整個(gè)工作循環(huán)過程中,音頻控制子系統(tǒng)開放串口中斷。當(dāng)串口接收到來自無線通信模塊的信息時(shí),即產(chǎn)生串口中斷。
S3C2440芯片,并擴(kuò)展了64 MB FLASH,用于存儲(chǔ)引導(dǎo)程序和操作系統(tǒng)內(nèi)核等,同時(shí),還擴(kuò)展了64 MB SDRAM作為程序的運(yùn)行空間。S3C2440基于ARM920T內(nèi)核,工作頻率達(dá)400 MHz,集成有SD、USB Host、LCD、音頻、視頻等豐富的外設(shè)接口,并提供有130個(gè)I/O口,是一款高性能、低功耗微處理器芯片[3].無線通信模塊通過RS-232串口與微處理器相連。由于S3C2440上的USB HOST接口只支持USB1.1協(xié)議,考慮到兼容性,該方案中仍選擇SD卡作為存儲(chǔ)器,并以SD方式對其進(jìn)行讀寫。S3C2440集成有LCD和觸摸屏控制器,可根據(jù)需要選擇相應(yīng)的人機(jī)交互設(shè)備,例如點(diǎn)陣式LCD.S3C2440通過I2S音頻接口與具有A/D和D/A功能的低功耗音頻處理芯片UDA1341相連,實(shí)現(xiàn)音頻信號的采集和輸出。該系統(tǒng)經(jīng)以太網(wǎng)控制芯片DM9000A接入以太網(wǎng),用于與微機(jī)相連進(jìn)行開發(fā)調(diào)試。為提高系統(tǒng)硬件的電磁兼容性能及可擴(kuò)展性,硬件設(shè)計(jì)上采用了核心板+擴(kuò)展板的模塊化結(jié)構(gòu)。
。
3.2 方案2的軟件設(shè)計(jì)
方案2的軟件結(jié)構(gòu)分為3層,見圖5.軟件開發(fā)平臺采用了嵌入式Linux操作系統(tǒng)。Linux是一種穩(wěn)定、高效、免費(fèi)的開源操作系統(tǒng),不僅支持多種體系結(jié)構(gòu)和大量硬件設(shè)備,而且其內(nèi)核可據(jù)實(shí)際需求裁剪。
admin