當前位置:首頁 > 公眾號精選 > 程序員小哈
[導讀]學習目標 學習ISD1820語音芯片的使用方法 學習STM32 GPIO的輸入輸出 按鍵掃描功能實現(xiàn) 芯片特點 工作電壓3~5V; 單段錄放控制簡單; 帶話筒放大直通功能——可用作喊話器模塊; 邊沿/電平觸發(fā)放音; 內置8Ω喇叭驅動放大電路,即可直接驅動8歐0.5W小喇叭;

學習目標

  • 學習ISD1820語音芯片的使用方法

  • 學習STM32 GPIO的輸入輸出

  • 按鍵掃描功能實現(xiàn)


芯片特點

  1. 工作電壓3~5V;

  2. 單段錄放控制簡單;

  3. 帶話筒放大直通功能——可用作喊話器模塊;

  4. 邊沿/電平觸發(fā)放音;

  5. 內置8Ω喇叭驅動放大電路,即可直接驅動8歐0.5W小喇叭;

  6. 無需單片機參與即可實現(xiàn)錄放音功能;

  7. 取樣率和錄放音時間可以由外部振蕩電阻調節(jié)。外接電阻調整錄音時間,可以實現(xiàn)8~20秒語音錄放。錄入的時間越短音質越好,錄入的時間越長音質越差;

振蕩電阻(ROSC): 此端接振蕩電阻至VSS,由振蕩電阻的阻值決定錄放音的時間。


推薦應用電路


應用場景

  • 錄音喊話器

  • 錄音門鈴

  • 留言

  • 播放固定歡迎語


封裝及引腳功能

  • 1腳為錄音端(REC),高電平有效。只要REC變高電平(不管芯片處在節(jié)電狀態(tài)還是正在放音),芯片即開始錄音。錄音期間,REC必須保持為高電平。REC變低電平或內存錄滿后,錄音周期結束,芯片自動寫入一個信息結束標志(EOM),使以后的重放操作可以及時停止。

如果用戶只需要電路做放音用,可以在芯片錄好音測試無誤后,將芯片的REC端長期接地,取消REC按鍵,這樣可以防止意外抹音。

  • 2腳為邊沿觸發(fā)放音端(PLAYE),此端出現(xiàn)上升沿時,芯片開始放音。放音持續(xù)到EOM標志或內存結束。開始放音后,可以釋放PLAYE。

  • 3腳為電平觸發(fā)放音端(PLAYL),此端從低電平變高電平時,芯片開始放音。放音持續(xù)至此端回到低電平,或遇到EOM標志,或內存結束。

  • 4腳為話筒輸入端(MIC)。

  • 5腳為話筒參考端(MICREF)。

  • 6腳為自動增益控制端(AGC)。通常4.7μF的電容器在多數(shù)場合下可獲得滿意的效果。

  • 7腳、9腳為喇叭輸出端(SP+、SP-),這對輸出端可直接驅動8Ω以上的喇叭。

ISD1820能夠直接推動喇叭,但音量不是很大。如果用戶需要更大音量的輸出,可以外加集成功率放大器。

  • 8腳、14腳為地線(VSSA,VSSD),芯片內部的模擬和數(shù)字電路的不同地線匯合在這兩個引腳。

  • 10腳為振蕩電阻端(ROSC),此端接振蕩電阻至VSS,由振蕩電阻的阻值決定錄放音的時間。

  • 11腳為電源端(VCC),芯片內部的模擬和數(shù)字電路使用的不同電源總線在此引腳匯合,這樣使得噪聲最小。去耦電容應盡量靠近芯片。

  • 12腳為直通模式端(FT),此端允許接在MIC輸入端的外部語音信號經(jīng)過芯片內部的AGC電路、濾波器和喇叭驅動器而直接到達喇叭輸出端,形成話筒擴音機功能。平時FT端為低電平,要實現(xiàn)直通功能,需將FT端接高電平,同時REC、PLAYE和PLAYL保持低電平。

  • 13腳為錄音指示端(/RECLED),處于錄音狀態(tài)時,此端為低電平,可驅動LED。此外,放音遇到EOM標志時,此端輸出一個低電平脈沖。此脈沖可用來觸發(fā)PLAYE,實現(xiàn)循環(huán)放音。


錄放音控制方式

按鍵控制或者單片機IO控制;


實例分析

實現(xiàn)的功能
  • 按下松開按鍵PLAYE可以邊沿觸發(fā)播放語音;

  • 持續(xù)按下按鍵PLAYL可以電平觸發(fā)播放語音;

  • 持續(xù)按下按鍵REC實現(xiàn)錄音;

以上功能實現(xiàn)不需要單片機參與。

  • 按下松開按鍵REC,LED1點亮,相當于指示有錄音留言;

  • 按下松開按鍵PLAYE,LED1熄滅,相當于指示留言已讀。



原理圖


代碼實現(xiàn)
  • 按鍵BTN_PLAYE和BTN_REC初始化

//按鍵初始化函數(shù)//PB12 設置成輸入void KEY_Init(void){         GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; GPIO_Init(GPIOC, &GPIO_InitStructure);}


  • 按鍵聲明


#define BTN_PLAYE GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_11)#define BTN_REC GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_10)
#define BTN_PLAYE_PRES 1#define BTN_REC_PRES 2


  • 實現(xiàn)按鍵掃描函數(shù)

//按鍵處理函數(shù)//返回按鍵值//mode:0,不支持連續(xù)按;1,支持連續(xù)按;//返回值://0,沒有任何按鍵按下//BTN_PLAYE_PRES,BTN_PLAYE按下//BTN_REC_PRES,BTN_REC按下//注意此函數(shù)有響應優(yōu)先級,PLAYE>REC!!u8 KEY_Scan(u8 mode){ static u8 key_up=1;//按鍵按松開標志 if(mode) key_up=1; //支持連按
if(key_up&&(BTN_PLAYE==1||BTN_REC==1)) { delay_ms(10);//去抖動 key_up=0;
if(BTN_PLAYE==1)return BTN_PLAYE_PRES; else if(BTN_REC==1)return BTN_REC_PRES; } else if(BTN_PLAYE==0&&BTN_REC==0) { key_up=1; }
return 0;// 無按鍵按下}


  • LED1聲明

#define LED1 PAout(15) // PA15


  • LED1初始化,根據(jù)原理圖設計,LED1為低電平的時候,LED1亮。

//LED IO初始化void LED_Init(void){
GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_15);}


  • 主函數(shù)實現(xiàn),實現(xiàn)按鍵掃描,當?shù)玫紹TN_PLAYE按鍵按下后,LED1熄滅;當?shù)玫紹TN_REC按鍵按下后,LED1點亮。

#include "sys.h"#include "delay.h"#include "usart.h" #include "led.h" #include "key.h"
int main(void){ u8 key=0XFF; uart_init(115200);
delay_init(); LED_Init(); KEY_Init();
//主循環(huán) while(1) { key = KEY_Scan(0);
if(key) { switch(key) { case BTN_PLAYE_PRES: { LED1 = 1; printf("BTN_PLAYE_PRES \r\n"); } break; case BTN_REC_PRES: { LED1 = 0; printf("BTN_REC_PRES \r\n"); } break; } }
delay_ms(10); }
}


推薦閱讀:

STM32單片機最小系統(tǒng)詳解

STM32F103 串口的使用方法

STM32中精確延時函數(shù)的實現(xiàn)

DHT11及DHT21溫濕度傳感器時序圖解析(STM32)

LD3320語音識別模塊:LDV7模塊使用詳解

基于STM32固件庫的MDK5工程建立

修改Keil工程名稱并添加其他模塊文件

Keil環(huán)境下STM32工程加入cJSON

常用電路板制作方法

讓步進電機動起來







喜歡請關注微信公眾號:程序員小哈

公眾號內容面向在校大學生、電子愛好者、嵌入式工程師;

涉及電子制作、模塊使用、單片機技術、物聯(lián)網(wǎng)相關知識分享;

玩模塊,學硬件,帶你從0走到1


若覺得本次分享的文章對您有幫助,隨手點[在看]并轉發(fā)分享,也是對我的支持。

?

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉