《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 有害動物智能聲防系統中音頻控制子系統的研制
有害動物智能聲防系統中音頻控制子系統的研制
藺 通,趙 偉,黃松嶺
清華大學 電機系 電力系統國家重點實驗室,北京100084
摘要: 在簡要介紹農作物有害動物智能化聲防系統原理基礎上,闡述了基于“單片機+硬件解碼”和“ARM微處理器+軟件解碼”兩種方案設計實現的該聲防系統中的音頻控制子系統,并對實現方案的技術性能及研發成本等進行了比較。
中圖分類號: TP277;S44
文獻標識碼: 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

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

    執行器節點由無線通信模塊、音頻控制子系統、揚聲器以及供電模塊等組成。除音頻控制子系統外,其他功能模塊均采用成熟產品。
    執行器節點的主要功能由音頻控制子系統完成,按實現功能考慮,其應包括大容量高保真數字音頻信號存儲、解碼輸出及多種播放模式選控等。為達到高保真的音質要求,聲防音頻信號的采樣率選為44 kHz,采樣位數確定為16 bit,其存儲格式采用能較好兼顧壓縮比和音質的MP3格式;為方便聲防音頻文件的升級,存儲器選用了方便熱插拔的SD卡或U盤。
    現有的音頻解碼方案有硬件解碼和軟件解碼2類。常用的硬件解碼芯片有ST公司的ST016、SANYO公司的LC82310G等,使用時常配以單片機實現控制功能。為方便開發,已有廠商研制出將硬件解碼器和單片機以及其他外圍器件集成在一起的SoC芯片,如ATMEL公司的AT89C51SND1。
    軟件解碼方案主要基于DSP平臺和ARM平臺構建,其中ARM平臺可搭配嵌入式操作系統,能較好地管理和支持底層硬件設備,且有大量開源解碼軟件可供選擇,軟件移植比DSP平臺相對容易。
2 方案1的構建及實現
2.1 方案1的硬件構成及實現

    音頻控制子系統的“單片機+硬件解碼”構建與使用單獨的硬件解碼芯片配合其他控制芯片相比,SoC芯片在電路結構和開發成本上均有較大優勢。AT89C51SND1是MP3解碼應用中使用最多的SoC芯片之一。它實質上是一款集成了DSP硬件解碼器的C51單片機,提供有USB DEVICE、SPI等設備接口,且有54個I/O口供用戶使用。基于AT89C51SND1構成音頻控制子系統的硬件結構見圖2。

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

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

    方案2為音頻控制子系統的“ARM微處理器+軟件解碼”構建,該方案的硬件結構如圖4所示。ARM微處理器選用了三星公司生產的S3C2440芯片,并擴展了64 MB FLASH,用于存儲引導程序和操作系統內核等,同時,還擴展了64 MB SDRAM作為程序的運行空間。S3C2440基于ARM920T內核,工作頻率達400 MHz,集成有SD、USB Host、LCD、音頻、視頻等豐富的外設接口,并提供有130個I/O口,是一款高性能、低功耗微處理器芯片[3]。無線通信模塊通過RS-232串口與微處理器相連。由于S3C2440上的USB HOST接口只支持USB1.1協議,考慮到兼容性,該方案中仍選擇SD卡作為存儲器,并以SD方式對其進行讀寫。S3C2440集成有LCD和觸摸屏控制器,可根據需要選擇相應的人機交互設備,例如點陣式LCD。S3C2440通過I2S音頻接口與具有A/D和D/A功能的低功耗音頻處理芯片UDA1341相連,實現音頻信號的采集和輸出。該系統經以太網控制芯片DM9000A接入以太網,用于與微機相連進行開發調試。為提高系統硬件的電磁兼容性能及可擴展性,硬件設計上采用了核心板+擴展板的模塊化結構。核心板上包括S3C2440、FLASH和SDRAM芯片,其借助插針與擴展板相連。擴展板集成了各種外圍芯片和接口,可據實際需求更改設計方案,方便系統硬件的擴展升級。

3.2 方案2的軟件設計
    方案2的軟件結構分為3層,見圖5。軟件開發平臺采用了嵌入式Linux操作系統。Linux是一種穩定、高效、免費的開源操作系統,不僅支持多種體系結構和大量硬件設備,而且其內核可據實際需求裁剪。

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠色先锋资源网| 两个小姨子完整版| 欧美黑人乱大交ⅹxxxxx| 国产对白精品刺激一区二区| xxxxwwww中国| 日韩毛片无码永久免费看| 免费大片黄国产在线观看| 精品久久久久久蜜臂a∨| 国语自产精品视频在线区| 久久久无码精品午夜| 欧美激情综合网| 又大又粗又爽a级毛片免费看| 天堂俺去俺来也www久久婷婷 | 催眠医生动漫在线观看| 天天拍天天干天天操| 好男人社区视频在线观看| 亚洲av日韩aⅴ无码色老头| 男生和女生一起差差差很痛的视频 | 亚洲av无码片区一区二区三区| 男生女生一起差差很痛| 啊好深好硬快点用力视频| 日本三级视频网站| 天天在线天天看成人免费视频| 久久久亚洲欧洲日产国码农村| 欧美换爱交换乱理伦片不卡片| 午夜免费1000部| 91精品欧美产品免费观看| 国产精品videossex国产高清| 亚洲av成人一区二区三区| 亚洲Av无码一区二区二三区| 久久精品无码一区二区日韩av| 一本色道久久88综合日韩精品| 杨晨晨被老师掀裙子露内内| 亚洲情综合五月天| 污污视频网站免费在线观看| 含羞草影院视频播放| 色综合合久久天天给综看| 国产福利拍拍拍| 老司机久久精品| 在线观看成人网站| 中文字幕丰满乱码|