A9101 一鍵呼叫 語音通話 功能

SamYang2024-03-13A9101/A8101127
  • 本篇介紹使用A9101 1鍵呼叫對方進入語音模式,當雙方都不說話時自動斷開語音模式,恢復到數據模式等待下次再度進入語音模式的命令,或是其中1方傳送結束語音命令時恢復到數據模式

此應用多半是運用在室內/屋內 門鈴對講機或是辦公室通話

類似產品:


代碼:

<

A9101_A40_ Full Duplex  DR=512Kbps_SR8K8bit_2CH  & DR102K RF - 13 - 20231220.zip

>

代碼說明:

1. 已完成Slave 端FIFO mode WOR 低功耗 功能

2. 已完成Master 端P3_7 拉LOW 话筒挂上 主动通知Slave 退出Audio

3. 已完成Master & Slave DAC 都要不出声 才会双方都退出Audio

4 已完成Slave 端P3_7 拉LOW 话筒挂上 主动通知Master 退出Audio

  • P3_2=0==>Master

  • P3_2=1==>Slave

  • FIFOModeFlag=1 ==> Data Link mode

  • FIFOModeFlag=0 ==> Audio Link mode

p.s.当Master端拿起话筒时(P3_7=1),会在每包TX的音频封包后面加入0x01的自定义data通知Slave端,当话筒挂上时(P3_7=0),会在TX的音频封包后面加入0x00的自定义data通知Slave端

p.s.Slave会在每包TX的音频封包后面加入0x03或0x00的自定义data通知Master端DAC是否过小,发0x02则是slave的P3_7为Low,通知Master要关闭音频,Master会在发送0x00回复Slave也需要退出Audio回到DR102 Link

1. 先将P3_2GND选择使用Master 开机后Master会先进DR102K_Link( ) ,但会先使用P3_7卡住不进Tx mode

image.png

2. P3_2High选择使用Slave,开机后Slave会先进DR102K_Link( ),会执行WOR功能

image.png


WORSleep时间 & Action时间可以参考一下Reg微调

========================================================================

WOR_SL[7:0]RCOSC1_REG寄存器的[7:0]

WOR_SL[9:8]RCOSC2_REG寄存器的[7:6]

WOR_AC[5:0]RCOSC2_REG寄存器的[5:0]

WOR_AC[8:6]TCODE_REG寄存器的[7:5]

========================================================================

圖片1.png

3.MasterP3_7 LOW再拉High后,执行打Tx动作,唤醒Slave端的WOR TX打完200次封包后,就会自动离开FIFO mode,进入Audio mode

image.png

退出FIFO mode

image.png

4. Slave收到Master端传来的封包且解读无误后,退出Data Link,进入Audio mode

image.png

5.Audio mode Master会再ADC采样后,判断DAC音量是否过小,DAC 长时间音量过小(可以调Volsec数值来延长判断的时间),会先将MasterLowVolFlag=1

image.png

6.Slave端会在释放完DAC Buffer后去判断DAC音量是否过小,DAC 长时间音量过小(可以调Volsec数值来延长判断的时间),会将SlaveLowVolFlag=1

image.png

7.Master Slave会同时去判断自己的DAC &对方的DAC都没有声音时,也就是MasterLowVolFlag & SlaveLowVolFlag都要为”1”,才会离开Audio回到Data Link

另外当P3_7LOW(挂话筒时),也会通知对方退出Audio回到Data Link

line304:0x00可以自行定义成其他数值ex:0x55(表示通知Slave退出Audio)

line309:0x01可以自行定义成其他数值ex:0xAA(表示通知Slave继续保持在Audio)

image.png

Master会在进入RX后判断Slave端传来的第97 Byte自定义数据,也就是SlaveDAC是否有过小的Flag

image.png

8. Slave端可以在line610 & line614自行定义SlaveLowVolFlag=”1 “or “0”要传送到Master端的CMD


image.png

9.Slave端收到Master端发来的0x00 CMD(表示Master端话筒已挂上),需离开Audio回到Data Link

image.png

10. Slave按下p3_7=LOW(表示挂上话筒), 会在音频的第97 Byte自定义数据传送0x02通知Master退出Audio Mode回到DR102 Link,并且当Master收到0x02 CMD后会在发送0x00Slave告知需跳出Audio mode回到DR102 Link WOR等待下次TX触发

image.png

Master端收到Slave端发来的0x02后会将AudioFlag=0

image.png


11.Master端回传0x00 CMD通知Slave也退出Audio 模式回到DR102 Link (WOR)功能,等待下次Master TX FIFO的触发

image.png

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。