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

學(xué)習(xí)目標(biāo)

  • 學(xué)習(xí)ISD1820語(yǔ)音芯片的使用方法

  • 學(xué)習(xí)STM32 GPIO的輸入輸出

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


芯片特點(diǎn)

  1. 工作電壓3~5V;

  2. 單段錄放控制簡(jiǎn)單;

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

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

  5. 內(nèi)置8Ω喇叭驅(qū)動(dòng)放大電路,即可直接驅(qū)動(dòng)8歐0.5W小喇叭;

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

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

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


推薦應(yīng)用電路


應(yīng)用場(chǎng)景

  • 錄音喊話器

  • 錄音門鈴

  • 留言

  • 播放固定歡迎語(yǔ)


封裝及引腳功能

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

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

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

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

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

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

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

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

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

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

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

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

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

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


錄放音控制方式

按鍵控制或者單片機(jī)IO控制;


實(shí)例分析

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

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

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

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

  • 按下松開按鍵REC,LED1點(diǎn)亮,相當(dāng)于指示有錄音留言;

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



原理圖


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

//按鍵初始化函數(shù)//PB12 設(shè)置成輸入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


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

//按鍵處理函數(shù)//返回按鍵值//mode:0,不支持連續(xù)按;1,支持連續(xù)按;//返回值://0,沒有任何按鍵按下//BTN_PLAYE_PRES,BTN_PLAYE按下//BTN_REC_PRES,BTN_REC按下//注意此函數(shù)有響應(yīng)優(yōu)先級(jí),PLAYE>REC!!u8 KEY_Scan(u8 mode){ static u8 key_up=1;//按鍵按松開標(biāo)志 if(mode) key_up=1; //支持連按
if(key_up&&(BTN_PLAYE==1||BTN_REC==1)) { delay_ms(10);//去抖動(dòng) 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;// 無(wú)按鍵按下}


  • LED1聲明

#define LED1 PAout(15) // PA15


  • LED1初始化,根據(jù)原理圖設(shè)計(jì),LED1為低電平的時(shí)候,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ù)實(shí)現(xiàn),實(shí)現(xiàn)按鍵掃描,當(dāng)?shù)玫紹TN_PLAYE按鍵按下后,LED1熄滅;當(dāng)?shù)玫紹TN_REC按鍵按下后,LED1點(diǎn)亮。

#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單片機(jī)最小系統(tǒng)詳解

STM32F103 串口的使用方法

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

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

LD3320語(yǔ)音識(shí)別模塊:LDV7模塊使用詳解

基于STM32固件庫(kù)的MDK5工程建立

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

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

常用電路板制作方法

讓步進(jìn)電機(jī)動(dòng)起來







喜歡請(qǐng)關(guān)注微信公眾號(hào):程序員小哈

公眾號(hào)內(nèi)容面向在校大學(xué)生、電子愛好者、嵌入式工程師;

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

玩模塊,學(xué)硬件,帶你從0走到1


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

?

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

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉