《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 有害動(dòng)物智能聲防系統(tǒng)中音頻控制子系統(tǒng)的研制
有害動(dòng)物智能聲防系統(tǒng)中音頻控制子系統(tǒng)的研制
藺 通,趙 偉,黃松嶺
清華大學(xué) 電機(jī)系 電力系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京100084
摘要: 在簡(jiǎn)要介紹農(nóng)作物有害動(dòng)物智能化聲防系統(tǒng)原理基礎(chǔ)上,闡述了基于“單片機(jī)+硬件解碼”和“ARM微處理器+軟件解碼”兩種方案設(shè)計(jì)實(shí)現(xiàn)的該聲防系統(tǒng)中的音頻控制子系統(tǒng),并對(duì)實(shí)現(xiàn)方案的技術(shù)性能及研發(fā)成本等進(jìn)行了比較。
中圖分類號(hào): TP277;S44
文獻(xiàn)標(biāo)識(shí)碼: A
Development of audio control subsystem for bio-acoustic frightening system against agriculture predators
LIN Tong,ZHAO Wei,HUANG Song Ling
Department of Electrical Engineering, Tsinghua University, State Key Lab. of Power System, Beijing 100084,China
Abstract: A brief introduction was given about the bio-acoustic frightening system against agriculture predators, then the specific realization process of audio control subsystem is shown, which includes two different kinds of design, one is “SCM+hardware decode”, the other is “ARM MPU+software decode”. Technical performance and R&D costs between different designs are compared.
Key words : bio-acoustic frightening;audio;decode;MCU;ARM MPU

    農(nóng)作物除受到氣象災(zāi)害和常規(guī)病蟲(chóng)害影響外,田鼠、麻雀、野兔、野雞、野豬等動(dòng)物的危害也十分巨大。直接利用有害動(dòng)物天敵的叫聲或其受到捕捉時(shí)發(fā)出的慘叫聲對(duì)農(nóng)作物有害動(dòng)物進(jìn)行驅(qū)趕(以下簡(jiǎn)稱聲防),能避免投放化學(xué)藥物對(duì)水土環(huán)境造成污染和可能對(duì)人畜的誤傷,且相對(duì)于超聲波驅(qū)趕、噴水恐嚇等其他驅(qū)趕手段更易于實(shí)現(xiàn),驅(qū)趕效果更好。國(guó)內(nèi)現(xiàn)有的商品化聲防裝置普遍存在控制模式簡(jiǎn)單、聲防音質(zhì)不好、存儲(chǔ)器容量小、聲防音頻文件不便于升級(jí)擴(kuò)展等缺點(diǎn)。應(yīng)用嵌入式技術(shù)改進(jìn)和提高聲防裝置多方面性能已成為聲防技術(shù)發(fā)展的趨勢(shì)之一。筆者所在課題組提出一種農(nóng)業(yè)有害動(dòng)物智能聲防系統(tǒng),并為確保該系統(tǒng)設(shè)計(jì)的可靠性和性能最優(yōu),在其音頻控制子系統(tǒng)的構(gòu)建上采用兩種設(shè)計(jì)方案,實(shí)現(xiàn)了帶大容量可熱插拔存儲(chǔ)器、高保真音頻輸出和多模式播放的音頻控制,并且對(duì)基于不同硬件平臺(tái)的嵌入式解決方案的性能、實(shí)現(xiàn)難度及成本等進(jìn)行了對(duì)比。
1 智能聲防系統(tǒng)原理
    如圖1所示,智能聲防系統(tǒng)的結(jié)構(gòu)分為3層,底層是帶有熱釋電傳感器的探測(cè)節(jié)點(diǎn),負(fù)責(zé)探測(cè)有害動(dòng)物在農(nóng)田中出沒(méi)的位置;中間層為執(zhí)行器節(jié)點(diǎn),負(fù)責(zé)存儲(chǔ)、播放聲防音頻文件;上層是總控制器,負(fù)責(zé)監(jiān)控整個(gè)系統(tǒng)的運(yùn)行。系統(tǒng)的各層之間以無(wú)線方式進(jìn)行通信??偪刂破鞫〞r(shí)采集環(huán)境信息(如溫度、光照),結(jié)合農(nóng)田地理位置、作物種類等信息,并通過(guò)查詢內(nèi)部數(shù)據(jù)庫(kù),以當(dāng)時(shí)最有可能出沒(méi)的2種有害動(dòng)物作為聲防目標(biāo),然后定時(shí)發(fā)送給執(zhí)行器節(jié)點(diǎn)。執(zhí)行器節(jié)點(diǎn)有觸發(fā)、隨機(jī)2種工作模式。觸發(fā)模式下,探測(cè)節(jié)點(diǎn)探測(cè)到有害動(dòng)物后,向相距最近的執(zhí)行器節(jié)點(diǎn)發(fā)出命令。執(zhí)行器節(jié)點(diǎn)根據(jù)最近更新的聲防目標(biāo)播放對(duì)應(yīng)的音頻文件。隨機(jī)模式下,執(zhí)行器節(jié)點(diǎn)根據(jù)定時(shí)更新的聲防目標(biāo)自動(dòng)播放聲防音頻文件。每次播放前,都會(huì)在工作參數(shù)確定的時(shí)間范圍內(nèi)隨機(jī)產(chǎn)生一個(gè)間隔時(shí)間,并按其進(jìn)行延時(shí),以使聲防系統(tǒng)中不同執(zhí)行器節(jié)點(diǎn)在執(zhí)行聲防時(shí)具有隨機(jī)性,從而降低有害動(dòng)物對(duì)聲防系統(tǒng)的適應(yīng)性。

    執(zhí)行器節(jié)點(diǎn)由無(wú)線通信模塊、音頻控制子系統(tǒng)、揚(yáng)聲器以及供電模塊等組成。除音頻控制子系統(tǒng)外,其他功能模塊均采用成熟產(chǎn)品。
    執(zhí)行器節(jié)點(diǎn)的主要功能由音頻控制子系統(tǒng)完成,按實(shí)現(xiàn)功能考慮,其應(yīng)包括大容量高保真數(shù)字音頻信號(hào)存儲(chǔ)、解碼輸出及多種播放模式選控等。為達(dá)到高保真的音質(zhì)要求,聲防音頻信號(hào)的采樣率選為44 kHz,采樣位數(shù)確定為16 bit,其存儲(chǔ)格式采用能較好兼顧壓縮比和音質(zhì)的MP3格式;為方便聲防音頻文件的升級(jí),存儲(chǔ)器選用了方便熱插拔的SD卡或U盤(pán)。
    現(xiàn)有的音頻解碼方案有硬件解碼和軟件解碼2類。常用的硬件解碼芯片有ST公司的ST016、SANYO公司的LC82310G等,使用時(shí)常配以單片機(jī)實(shí)現(xiàn)控制功能。為方便開(kāi)發(fā),已有廠商研制出將硬件解碼器和單片機(jī)以及其他外圍器件集成在一起的SoC芯片,如ATMEL公司的AT89C51SND1。
    軟件解碼方案主要基于DSP平臺(tái)和ARM平臺(tái)構(gòu)建,其中ARM平臺(tái)可搭配嵌入式操作系統(tǒng),能較好地管理和支持底層硬件設(shè)備,且有大量開(kāi)源解碼軟件可供選擇,軟件移植比DSP平臺(tái)相對(duì)容易。
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)和開(kāi)發(fā)成本上均有較大優(yōu)勢(shì)。AT89C51SND1是MP3解碼應(yīng)用中使用最多的SoC芯片之一。它實(shí)質(zhì)上是一款集成了DSP硬件解碼器的C51單片機(jī),提供有USB DEVICE、SPI等設(shè)備接口,且有54個(gè)I/O口供用戶使用?;贏T89C51SND1構(gòu)成音頻控制子系統(tǒng)的硬件結(jié)構(gòu)見(jiàn)圖2。

    由圖2可見(jiàn),AT89C51SND1通過(guò)RS-232串口與無(wú)線通信模塊相連,采用自定義協(xié)議與其進(jìn)行通信,以實(shí)現(xiàn)執(zhí)行器節(jié)點(diǎn)與探測(cè)節(jié)點(diǎn)、總控制器之間的無(wú)線通信。因AT89C51SND1沒(méi)有集成USB HOST接口,故選擇USB接口芯片CH375讀寫(xiě)U盤(pán)。而實(shí)際測(cè)試中發(fā)現(xiàn),CH375不能識(shí)別有些廠家生產(chǎn)的U盤(pán)。故為確保存儲(chǔ)的可靠性,選用SD卡作存儲(chǔ)介質(zhì)。SD卡的讀寫(xiě)分為SD和SPI方式,而AT89C51SND1只提供MMC接口,無(wú)法兼容SD方式,故采用SPI方式讀寫(xiě)SD卡。AT89C51SND1上集成了音頻輸出接口,可將解碼后的音頻數(shù)據(jù)以PCM格式或I2S格式輸出到后級(jí)的低功耗音頻數(shù)模轉(zhuǎn)換芯片PCM1770。AT89C51SND1通過(guò)USB DEVICE接口作為USB從設(shè)備與計(jì)算機(jī)相連,用于燒寫(xiě)應(yīng)用程序。AT89C51SND1還可通過(guò)I/O口與點(diǎn)陣式LCD相連,以輸出相關(guān)信息。
2.2 方案1的軟件設(shè)計(jì)
    圖3是音頻控制子系統(tǒng)構(gòu)建方案1的軟件流程。上電后,音頻控制子系統(tǒng)先完成各種外圍設(shè)備(包括SD卡、DAC芯片以及LCD等)的檢測(cè)和初始化,隨后進(jìn)入工作循環(huán)。首先對(duì)工作模式變量進(jìn)行判斷,若是觸發(fā)模式,則返回重做判斷;若為隨機(jī)模式,則調(diào)用隨機(jī)數(shù)生成子程序,隨機(jī)生成一個(gè)等待時(shí)間并延時(shí)等待,然后從存儲(chǔ)器中讀取聲防目標(biāo)變量指定的音頻文件并解碼播放。在整個(gè)工作循環(huán)過(guò)程中,音頻控制子系統(tǒng)開(kāi)放串口中斷。當(dāng)串口接收到來(lái)自無(wú)線通信模塊的信息時(shí),即產(chǎn)生串口中斷。中斷處理程序?qū)邮盏降男畔⑦M(jìn)行判斷,若是來(lái)自探測(cè)節(jié)點(diǎn)的聲防命令,且當(dāng)前處于觸發(fā)工作模式,則根據(jù)最近更新的聲防目標(biāo)播放對(duì)應(yīng)的音頻文件,然后通過(guò)無(wú)線通信模塊向總控制器返回一個(gè)執(zhí)行記錄,用于統(tǒng)計(jì)該地區(qū)有害動(dòng)物的出沒(méi)規(guī)律;如果不是聲防命令,而是來(lái)自總控制器的信息,則更新對(duì)應(yīng)的控制變量,例如工作模式、間隔時(shí)間范圍、聲防目標(biāo)文件、音量大小等。

    音頻控制子系統(tǒng)構(gòu)建方案1的軟件,從功能上主要分為隨機(jī)數(shù)生成、SD卡驅(qū)動(dòng)、FAT文件管理、串口通信以及解碼控制等5部分。
    隨機(jī)數(shù)生成子程序通過(guò)調(diào)用庫(kù)函數(shù)rand(),在間隔時(shí)間變量確定的范圍內(nèi)生成一個(gè)隨機(jī)數(shù)并執(zhí)行延時(shí)。
    SD卡驅(qū)動(dòng)實(shí)現(xiàn)在SPI方式下以扇區(qū)(512 B)為單位對(duì)SD卡上數(shù)據(jù)的讀寫(xiě)。
    由于存儲(chǔ)器上一般使用FAT文件格式存放和管理文件,F(xiàn)AT文件管理子程序可實(shí)現(xiàn)對(duì)存儲(chǔ)器上文件目錄、數(shù)據(jù)存放位置的管理,以及在SD卡驅(qū)動(dòng)下讀取指定文件的數(shù)據(jù)。
    串口通信子程序?qū)崿F(xiàn)串口初始化和以字節(jié)為單位的數(shù)據(jù)收發(fā),并在此基礎(chǔ)上實(shí)現(xiàn)以幀為單位且?guī)в袛?shù)據(jù)校驗(yàn)的串口通信。在本方案的串口協(xié)議中,1幀數(shù)據(jù)包括8個(gè)字節(jié)。其中,第1字節(jié)是約定起始標(biāo)志;第2字節(jié)為發(fā)送者地址;第3字節(jié)是消息種類(如“更新聲防目標(biāo)”、“改變音量大小”等);第4~7字節(jié)是消息參數(shù);第8字節(jié)為前7個(gè)字節(jié)的和,用于校驗(yàn)數(shù)據(jù)傳輸?shù)恼_性,以保證通信的可靠性。
    解碼控制子程序是音頻控制子系統(tǒng)軟件的重要部分,由于單片機(jī)上集成了MP3硬件解碼器,用戶無(wú)需關(guān)心解碼的具體過(guò)程,只要設(shè)置好解碼器參數(shù)并及時(shí)將數(shù)據(jù)送入解碼緩沖區(qū)即可。MP3音頻文件內(nèi)容分3部分,首、尾2部分用于記錄音頻文件名稱、制作者等信息;中間部分以幀為單位存放壓縮音頻數(shù)據(jù),幀頭中包含有音頻文件的文件類型、采樣率、比特率、聲道數(shù)等信息。在播放指定的MP3音頻文件時(shí),單片機(jī)先通過(guò)FAT文件管理子程序讀取指定文件一個(gè)扇區(qū)的數(shù)據(jù),并以此設(shè)置好硬件解碼器相關(guān)參數(shù);然后,將音頻數(shù)據(jù)依次寫(xiě)入解碼器緩沖區(qū),解碼器自動(dòng)對(duì)MP3數(shù)據(jù)解碼,并將解碼后的數(shù)據(jù)送入DAC。為實(shí)現(xiàn)連續(xù)播放,解碼控制子程序需要保證在解碼數(shù)據(jù)緩沖區(qū)空閑時(shí)及時(shí)寫(xiě)入待解碼的數(shù)據(jù)。
3 方案2的構(gòu)建及實(shí)現(xiàn)
3.1 方案二的硬件結(jié)構(gòu)及實(shí)現(xiàn)

    方案2為音頻控制子系統(tǒng)的“ARM微處理器+軟件解碼”構(gòu)建,該方案的硬件結(jié)構(gòu)如圖4所示。ARM微處理器選用了三星公司生產(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]。無(wú)線通信模塊通過(guò)RS-232串口與微處理器相連。由于S3C2440上的USB HOST接口只支持USB1.1協(xié)議,考慮到兼容性,該方案中仍選擇SD卡作為存儲(chǔ)器,并以SD方式對(duì)其進(jìn)行讀寫(xiě)。S3C2440集成有LCD和觸摸屏控制器,可根據(jù)需要選擇相應(yīng)的人機(jī)交互設(shè)備,例如點(diǎn)陣式LCD。S3C2440通過(guò)I2S音頻接口與具有A/D和D/A功能的低功耗音頻處理芯片UDA1341相連,實(shí)現(xiàn)音頻信號(hào)的采集和輸出。該系統(tǒng)經(jīng)以太網(wǎng)控制芯片DM9000A接入以太網(wǎng),用于與微機(jī)相連進(jìn)行開(kāi)發(fā)調(diào)試。為提高系統(tǒng)硬件的電磁兼容性能及可擴(kuò)展性,硬件設(shè)計(jì)上采用了核心板+擴(kuò)展板的模塊化結(jié)構(gòu)。核心板上包括S3C2440、FLASH和SDRAM芯片,其借助插針與擴(kuò)展板相連。擴(kuò)展板集成了各種外圍芯片和接口,可據(jù)實(shí)際需求更改設(shè)計(jì)方案,方便系統(tǒng)硬件的擴(kuò)展升級(jí)。

3.2 方案2的軟件設(shè)計(jì)
    方案2的軟件結(jié)構(gòu)分為3層,見(jiàn)圖5。軟件開(kāi)發(fā)平臺(tái)采用了嵌入式Linux操作系統(tǒng)。Linux是一種穩(wěn)定、高效、免費(fèi)的開(kāi)源操作系統(tǒng),不僅支持多種體系結(jié)構(gòu)和大量硬件設(shè)備,而且其內(nèi)核可據(jù)實(shí)際需求裁剪。

    Linux環(huán)境下,應(yīng)用程序?qū)τ布O(shè)備的訪問(wèn),需依靠運(yùn)行在內(nèi)核中的驅(qū)動(dòng)程序作橋梁——軟件底層的驅(qū)動(dòng)層提供了系統(tǒng)中所有硬件設(shè)備的操作接口,包括RS-232串口驅(qū)動(dòng)、SD方式的SD卡驅(qū)動(dòng)、兼容UDA1341音頻芯片的OSS(Open Sound System)音頻驅(qū)動(dòng)及LCD驅(qū)動(dòng)等;且?guī)缀跛序?qū)動(dòng)程序均由Linux直接提供,無(wú)需研發(fā)者自己編寫(xiě)。
    軟件的中間層是應(yīng)用程序?qū)樱ㄒ纛l解碼子程序、串口通信子程序、隨機(jī)數(shù)生成子程序等。在嵌入式Linux環(huán)境下,有更豐富的系統(tǒng)函數(shù)和開(kāi)源軟件作支持,使應(yīng)用程序的實(shí)現(xiàn)更容易。例如,其中的MP3解碼子程序采用音頻解碼庫(kù)libmad提供的高級(jí)API編寫(xiě)。libmad是一個(gè)開(kāi)源的高精度MPEG音頻解碼庫(kù),它支持MPEG-1標(biāo)準(zhǔn)中Layer I、Layer II和LayerIII(即MP3)格式的音頻解碼,且解碼過(guò)程使用定點(diǎn)計(jì)算,非常適合沒(méi)有浮點(diǎn)運(yùn)算支持的平臺(tái)(如ARM平臺(tái))。使用libmad提供的高級(jí)API,很容易實(shí)現(xiàn)MP3數(shù)據(jù)的解碼,其過(guò)程只需打開(kāi)對(duì)應(yīng)的音頻設(shè)備文件,并將SD卡上待解碼的音頻文件映射到內(nèi)存中,然后調(diào)用libmad的解碼函數(shù)即可。在方案1的實(shí)現(xiàn)上,研發(fā)者需自己編程實(shí)現(xiàn)的FAT文件格式處理、音頻參數(shù)提取和設(shè)置、解碼數(shù)據(jù)讀寫(xiě)控制等功能,在本方案中均是由操作系統(tǒng)驅(qū)動(dòng)程序以及l(fā)ibmad解碼庫(kù)中的庫(kù)函數(shù)自動(dòng)完成的。另外,在OSS音頻驅(qū)動(dòng)和SD卡驅(qū)動(dòng)的支持下,可方便地實(shí)現(xiàn)對(duì)WAV音頻文件播放子程序的編制。WAV音頻文件由于直接存儲(chǔ)了PCM編碼的音頻數(shù)據(jù),雖文件較大,但沒(méi)有壓縮失真,其音質(zhì)也優(yōu)于MP3。
    軟件的上層是流程控制層。由于方案2與方案1所實(shí)現(xiàn)的功能基本相同,故其軟件的流程并無(wú)本質(zhì)差異,具體功能仍可參見(jiàn)圖3。嵌入式Linux具備多任務(wù)管理功能,即能以分時(shí)復(fù)用方式“同時(shí)”處理多個(gè)進(jìn)程,并提供有多種進(jìn)程間的通信協(xié)調(diào)機(jī)制,例如信號(hào)機(jī)制等。信號(hào)機(jī)制用于多任務(wù)間的通信,其實(shí)質(zhì)是在軟件層次上對(duì)中斷機(jī)制的一種模擬。與方案1不同的是,在嵌入式Linux環(huán)境中,使用信號(hào)機(jī)制能方便地實(shí)現(xiàn)中斷控制。在程序中設(shè)置為當(dāng)串口收到數(shù)據(jù)時(shí),向系統(tǒng)進(jìn)程發(fā)出信號(hào),系統(tǒng)進(jìn)程收到信號(hào)后轉(zhuǎn)向執(zhí)行事先指定的處理程序,從而實(shí)現(xiàn)中斷控制。
4 兩種實(shí)現(xiàn)方案的實(shí)驗(yàn)測(cè)試和對(duì)比
    按上述兩方案構(gòu)建了實(shí)現(xiàn)農(nóng)作物有害動(dòng)物智能化聲防系統(tǒng)用的音頻控制子系統(tǒng)。實(shí)驗(yàn)測(cè)試結(jié)果表明,以兩種方案研發(fā)的音頻控制子系統(tǒng)均達(dá)到了預(yù)期目標(biāo),能準(zhǔn)確、可靠地與無(wú)線通信模塊通信,在總控制器控制下實(shí)時(shí)調(diào)整各種工作參數(shù)。音頻控制子系統(tǒng)在觸發(fā)、隨機(jī)2種工作模式下,均能準(zhǔn)確、清晰地播放當(dāng)前聲防目標(biāo)對(duì)應(yīng)的音頻文件。采用可熱插拔的SD卡確保了聲防音頻文件更新方便。而且基于所采用的FAT16文件格式,該子系統(tǒng)能支持最高容量為2 GB的SD卡,實(shí)現(xiàn)了大容量音頻文件的可靠存儲(chǔ)。
    由于采用不同的硬件平臺(tái)而構(gòu)建,2種音頻控制子系統(tǒng)實(shí)現(xiàn)方案在功能、開(kāi)發(fā)難度以及構(gòu)建成本等方面有所不同。
    在功能方面,方案1能對(duì)比特率在192 kb/s及以下的MP3文件做流暢的解碼播放,但播放更高比特率的文件時(shí),受AT89C51SND1處理速度以及現(xiàn)有程序的數(shù)據(jù)讀寫(xiě)效率限制,不能保證寫(xiě)入解碼緩沖區(qū)數(shù)據(jù)的連續(xù)性,從而導(dǎo)致輸出聲音有間斷。而且由于硬件解碼的限制,不能對(duì)其他格式的音頻文件進(jìn)行解碼播放。方案2由于采用軟件解碼,且所選用微處理器S3C2440的主頻達(dá)400 MHz,理論上只要移植對(duì)應(yīng)的解碼子程序,便可對(duì)任何格式的音頻文件進(jìn)行解碼播放。對(duì)方案2的測(cè)試發(fā)現(xiàn),其確實(shí)能對(duì)任意比特率的MP3、WAV格式的音頻文件進(jìn)行解碼播放。而且方案2中,系統(tǒng)完全有能力在完成音頻解碼任務(wù)之同時(shí),還處理更多復(fù)雜的任務(wù)(MP3解碼程序只占用了S3C2440處理能力的7%左右),具有很強(qiáng)的擴(kuò)展性。例如,音頻控制子系統(tǒng)可在探測(cè)器節(jié)點(diǎn)發(fā)現(xiàn)有害動(dòng)物后進(jìn)行聲音采集或視頻采集,并運(yùn)行語(yǔ)音識(shí)別子程序或經(jīng)視覺(jué)檢測(cè)對(duì)探測(cè)到的有害動(dòng)物種類進(jìn)行判斷,從而使整個(gè)聲防系統(tǒng)的聲防目標(biāo)更準(zhǔn)確,達(dá)到更好的聲防效果。另外,由于嵌入式操作系統(tǒng)對(duì)硬件的屏蔽性,實(shí)現(xiàn)方案2的軟件很容易在其他硬件平臺(tái)上移植。
    在軟件開(kāi)發(fā)過(guò)程中,方案1需要關(guān)注每個(gè)硬件設(shè)備的操作細(xì)節(jié),其軟件的編程量較大。而方案2由于所選用的Linux操作系統(tǒng)直接提供硬件驅(qū)動(dòng)程序,且也有大量開(kāi)源軟件資源可供應(yīng)用程序編程所利用,故其軟件的開(kāi)發(fā)相對(duì)容易。但方案2需移植嵌入式操作系統(tǒng)作為軟件開(kāi)發(fā)平臺(tái),包括建立BootLoader引導(dǎo)程序,配置、編譯并移植操作系統(tǒng)內(nèi)核和文件系統(tǒng)等,這與采用向單片機(jī)直接燒寫(xiě)程序的方案1相比,開(kāi)發(fā)難度稍大。在軟件調(diào)試方面,方案1中單片機(jī)程序的每次變更都需重新寫(xiě)入ROM。而方案2可利用Linux的網(wǎng)絡(luò)功能,將微機(jī)上的編程目錄以NFS方式掛載在嵌入式Linux文件系統(tǒng)中,從而實(shí)現(xiàn)在微機(jī)端編寫(xiě)、修改程序,在嵌入式Linux系統(tǒng)上直接“遠(yuǎn)程”運(yùn)行修改后的程序,調(diào)試較為方便。
    從構(gòu)建成本上比較,方案1的硬件成本更低一些。但隨著制造工藝的不斷進(jìn)步,32 bit微處理器的成本會(huì)進(jìn)一步降低,再考慮外圍器件的成本,以方案2構(gòu)建音頻控制子系統(tǒng)的性價(jià)比,與基于方案1構(gòu)建的相比已有優(yōu)勢(shì)。
    數(shù)字化、智能化是農(nóng)業(yè)現(xiàn)代化發(fā)展的必然趨勢(shì)。為確??煽啃院托阅茏顑?yōu),本文利用嵌入式技術(shù)、采用兩種技術(shù)方案研發(fā)實(shí)現(xiàn)了農(nóng)作物有害動(dòng)物智能化聲防系統(tǒng)中起重要作用的音頻控制子系統(tǒng)。實(shí)驗(yàn)測(cè)試發(fā)現(xiàn),“單片機(jī)+硬件解碼”構(gòu)建方案能基本滿足功能需求,但其系統(tǒng)性能和升級(jí)擴(kuò)展能力受到硬件限制;而“ARM微處理器+軟件解碼”構(gòu)建方案能完全滿足功能需求,而且具有很強(qiáng)的擴(kuò)展性和可移植性。
參考文獻(xiàn)
[1] 楊水清,張劍,施云飛,等.ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2008.
[2] 楊心懷,周潔.便攜式MP3播放器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2003(2):55-57.
[3] Samsung Electronics.S3C2440A 32 Bit CMOS Microcontroller User′s Manual[Z].2004.
[4] Atmel Co.Ltd.AT8XC51SND1C Datasheet[Z].2005.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。