長春工程學院 王秀艷
國家電網長春供電公司 王洪凱
雅礱江公司二灘水力發電廠 王秀梅
長春工程學院 晉漢林
基于Arduino Mega2560平臺的無線語音錄放系統的設計
長春工程學院 王秀艷
國家電網長春供電公司 王洪凱
雅礱江公司二灘水力發電廠 王秀梅
長春工程學院 晉漢林
本文論述了一種無線語音錄放系統的設計過程,包括硬件電路構成及軟件編譯。本系統依托Arduino技術平臺,以其Mega2560型號電路板作為中央處理單元,采用ISD1760芯片作為語音錄放單元,通過NRF24L01模塊電路進行無線對接,可在SPI協議下實現語音無線錄放功能。該系統信息存儲量大,接口豐富,靈活方便,快捷高效,音質好,具備良好擴展性,適用范圍廣。
語音錄放;Arduino;ISD1760芯片;串行通信協議
Key_words: Audio Record- play;Arduino;ISD 1760 chip;Series communication
語音錄放電路在電子產品中用途廣泛,生活工作中隨處可見,可應用于報警、鈴聲、復讀、人機語音應答對話等各個方面,但傳統語音電路的設計十分復雜,開發工具較為昂貴。近年來,隨著模擬存儲語音技術的ISD芯片的出現和發展,語音錄制、播放設計難度及軟件編譯的工作量降低了,同時語音音質有所提高。下面以Arduino平臺為核心設計一種方便快捷高效的語音錄放系統,主要由硬件電路搭建和軟件編譯兩部分構成。
系統主要由中央控制器、語音模塊、通信模塊等構成,系統結構框圖如圖1所示。

圖1 系統結構框圖
1.1系統中央處理單元
Arduino于2005年由一個歐洲團隊開發,它包含多種型號的電路板和Arduino IDE編譯軟件,是一款開源電子原型平臺。本設計采用Arduino Mega2560型號電路板作為該語音錄放系統中央處理單元,其核心器件是Atmega2560芯片。它具有256KB存儲容量,多達54路數字輸入輸出端口,包括 PWM輸出、UART、ICSP header、USB、電源等接口,以及16MHz晶體振蕩器,并具備過流保護功能。豐富的接口和強大的功能特別適合需要大量IO接口的設計,采用該電路板利于本語音錄放系統外擴應用于其它電路中,實現更多功能,如報警電路等。
1.2語音錄放單元部分
采用ISD1760芯片作為語音錄放芯片。ISD1760是Winbond推出的單片優質語音錄放電路,音質好,電壓范圍寬,應用靈活,可錄、放音十萬次,存儲內容可以斷電保留一百年。芯片內部包含有麥克風前置擴大器、揚聲器驅動線路、自動增益控制、振蕩器與內存等的多方位整合系統功能及內置多信息管理系統,并可以根據需求定制信息操作指示音效。ISD1760芯片具備獨立及嵌入式雙運作模式,多種采樣頻率對應多種錄放時間,可處理多達255 段以上信息,功能強大。
1.3無線傳輸單元
采用NRF24L01芯片作為傳輸模塊,建立主控制器和語音模塊之間無線通信。NRF24L01是一款工作在2.4GHz-2.5GHz的ISM 頻段的單片無線收發器芯片。無線收發器包括:晶體振蕩器、調制器和解調器、頻率發生器、SchockBurst增強型模式控制器及功率放大器。NRF24L01可以連接到大多數型號單片機芯片上,并完成無線數據傳送工作,通過其SPI 接口進行輸出功率頻道選擇和通信協議的設置,電流消耗極低。
Arduino是開源的,它的燒錄程序可從官網或其他參考資料中獲得幫助,但就本系統而言,依據具體硬件電路結構及端口配置下要實現語無線音錄放功能,仍需制定通訊協議并自行編譯軟件。ATmega2560芯片內已經預置了bootloader程序,本系統通過ICSP header接口將軟件編譯程序直接下載到Arduino Mega2560電路板中。
2.1通信協議
SPI(Serial Peripheral Interface) 是由美國摩托羅拉公司推出的一種同步串行傳輸規范。SPI 可以用全雙工通信方式同時發送和接收 8/16位數據,在芯片的管腳上只占用四根線,節約了資源,同時為PCB的布局上節省空間。該語音錄放系統核心主要部件都集成了這種協議或具備相應接口, 這為采用SPI串行通信傳輸協議了提供便利條件,簡單易行。

圖2 程序流程圖
2.2程序編譯
程序的編譯主要包括無線通信和語音錄放部分。用兩塊NRF24L01無線通信模塊分別作為信號的發送和接收端,連接在主機中央管理單元和從機語音錄放電路中。確定好各部件之間連接及端口對應關系后,NRF24L01芯片分別設置為發送模式和接收模式。語音錄放部分是將Arduino Mega2560的指令發送到ISD1760芯片,控制其工作狀態,并將語音電路信息反饋回控制單元盡行處理,這部分主要通過鍵盤掃描的處理和當前狀態的判斷來實現。系統通過鍵盤掃描按鍵操作過程,檢測按下去的什么鍵值來判斷當前狀態, 并就錄音、放音、停止、刪除等狀態進行實時判斷和控制,其程序流程圖如圖2所示。
系統設計和實施流程為:制定總體方案-用Altium Designer軟件設計PCB圖-印制電路板制作-焊接-軟件編譯-系統統調。Arduino Mega2560通過SPI串行總線與ISD1760通信,傳輸SPI指令,配置其內部寄存器,實現語音錄放。ISD1760作為SPI從機,幾乎所有的按鍵操作都可以通過這些SPI指令來實現。但在設計、調試中仍有可能會遇到問題需要注意。
(1)語音地址長度推算
以ISD1760語音芯片采樣率為8K時為例,一共可播放60S的語音。
算法一:開始地址為:S0-S10,結束地址為:E0-E10,這樣算下來地址就是:0X7FF=2047,從0-2047為2048個字節,采樣頻率為8K,即每個字節就是125mS,125mS*2048=256S,但實際的錄音時長為60S,所以這是錯誤的。
算法二:最大地址為0X1EF,錄音實際地址為0X10-0X1EF,則最大地址為:0X1EF-0X10=0X1DF=479。479+1=480個字節,480*125mS=60S,即采樣率為8K時,每1個地址的最小語音長度為125mS。故此知道單個語音的長度,可自行推斷出每個語音所占的地址長度,此為正確算法。
(2)硬件電路部分
首先Arduino Mega2560電路板絲印層上并沒有注明SPI接口,其引腳接口對應關系為:50引腳-MISO,51引腳-MOSI,52引腳-SCK,53引腳-SS。其次板載ICSP接口也是串行通信接口,它是兼容SPI的,也可用此接口,但要注意線序。再次,Arduino Mega2560提供了自動復位設計,可以通過主機復位,不需要復位按鈕的話,可在Altium Designer設計PCB圖時,將印制板上絲印“RESET EN”處可使能或禁止該功能。此外,ISD1760的參考資料手冊中,設計上復位腳直接了個0.1uF到地,沒有上拉電阻構成阻容復位,同時容易受到干擾意外復位。為了防止單片機IO口狀態不穩定,可在主控單元與ISD芯片間加一個反向器74HC04,這樣可起到隔離作用。
(3)音源輸入方式
語音音源可以通過麥克錄入,也可以是事先錄制好的一段語音或者歌曲等數字信號。ISD1760芯片錄入的是模擬信號時,用按鍵方式或SPI指令啟動錄音后,通過MIC管腳和LIN管腳輸入語音。如果不用麥錄,而是MP3等格式數字信號文件做音源,通過電腦或其他方式播放出來,輸出端不要接喇叭,而是要通過一個104電容,再連接到第9腳-LIN管腳上。
(4)SPI模式下播放問題
如果語音電路在獨立模式下可以播放,但在SPI模式下不能正常播放,一般來說芯片應該沒什么問題,此時檢查下揚聲器連接的是SP+/-還是AUD/AUX+功放輸出。ISD1760芯片內部的APC寄存器的默認值是0X0440,即表示PWM和AUD輸出是使能的。如果功放電路只有在AUX輸出時才是正常的,則必須把APC的設置為0X04C0以打開AUX輸出,避免主控單元的單片機正常,而ISD1760的復位鍵關閉了AUX。
[1]谷樹忠,耿曉中,王秀艷編著.Altium Designer實用教程—原理圖、PCB設計與信號完整性分析[M].電子工業出版社,2015,10.
[2]林海波,王秀艷主編.電子工藝實訓基礎[M].中國電力出版社,2009,7.
[3]艾學忠主編.單片機原理及接口技術[M].機械工業出版社,2012,8.
[4]陳呂洲編著.Arduino程序設計基礎[M].北京航空航天大學出版社,2015.
The design process of a wireless Audio record-pay system is introduced in this paper. This system includes hardware circuit and software compiling. Arduino is its techniqneplatform,Mega2560 is its CPU.ISD1760 is its record-pay unit. It can implement sound’s wireless record-play function with SPI proscal through NRF240L01.IT is detected that this system have such advatages an much information storage, multi-interface, fexibility, effciency and good quality.
吉林省教育廳“十二五”科學技術研究項目,項目編號:吉教科合字(2014)第539號國家級“大學生創新創業訓練計劃”項目,項目編號:201611437040。
王秀艷(1972—),女,碩士,實驗師,出版教材3部。