📄 note_document.c
字号:
/******************* This Is A Note Document ********************/
/*------------------------------------------------------------------
1. TMS320VC5509A的时钟为12.288 X 15 = 184.32MHz。
2. WM8950采样速率为16KHz,主时钟为12.288MHz。
3. WM8950音频A/D转换芯片与TMS320VC5509A的数据接口格式
WM8950的音频数据接口连接到TMS320VC5509A的McBSP1口,采用DSP接口方
式,数据长度为word(16位),每帧接受1个word,延迟1bit。TMS320VC5509A通
过DMA通道0接受WM8950传送的采样数据,每接收80个数据(10毫秒的采样数。
10毫秒的数据为1帧,进行音频数据处理)产生1次DMA中断。采样数据交替存放
于AUDIO_DATA0[]--AUDIO_DATA3[]存储区内。
3. WM8950与TMS320VC5509A的控制接口
WM8950控制接口连接到TMS320VC5509A的I2C接口。TMS320VC5509A通过写
WM8950的控制寄存器,对WM8950进行设置。
5. 刺激脉冲编码格式
每个刺激脉冲需转换成24位脉冲编码发送。编码格式如下:
起始位: 1 bit 该位 = 1,表示脉冲编码的开始,MSB
刺激幅度:10 bits
校验位0: 1 bit 刺激幅度各位之和(不含起始位)
脉宽调整:6 bits
电极选择:5 bits
校验位1: 1 bit 脉宽调整与电极选择各位之和,LSB
编码方式:PWM波
1 -- 高电平1.6us,低电平0.8us,先高后低;
0 -- 高电平0.8us,低电平1.6us,先高后低;
先发送高位,后发送低位。
当无编码输出时,TMS320VC5509A的GPIO引脚应输出低电平。
-------------------------------------------------------------
| 23 | 22--13 | 12 | 11--6 | 5--1 | 0 |
-------------------------------------------------------------
| 起始位 | 刺激幅度 | 校验位0 | 脉宽调整 | 电极选择 | 校验位1 |
-------------------------------------------------------------
6. 刺激脉冲编码的发送
24位脉冲编码的发送速率为416.7KHz,即2.4bit/us。每个音频采样值经语
音算法处理后,得到1个刺激脉冲,按顺序刺激16个电极。每次刺激一个电极,
即一个采样值对应一个电极。因此,刺激速率即为采样速率:8KHz。每个电
极的刺激速率为0.5KHz,即TMS320VC5509A每隔1/8KHz=125us发送24位脉冲编
码。
语音处理算法处理完1帧数据(80个采样点,10ms)后,处理数据交替存放
于2个存储区:PULSE_DATA0[]--PULSE_DATA1[]。TMS320VC5509A在处理当前帧
数据时,发送的脉冲编码为上一帧的处理结果。即延时1帧(10ms)发送脉冲编码。
当产生DMA CHANNEL0中断时,启动Timer0,发送脉冲编码。Timer0根据编码位值,
定时高电平和低电平的时长(1--1.6us高定平,0.8us低电平;0--0.8us高定平,
1.6us低电平)。当24位脉冲编码发送完毕(需时57.6us)后,间隔125-57.6=67.4us
后,发送下一个24位脉冲编码,如此循环,直至一帧80个脉冲编码(共24 X 80=1920bits)
全部发送完毕,当下一个DMA CHANNEL0中断产生时,进行新一帧的脉冲编码的发送。
如此循环进行。
7. 外部中断0 void Power_Switch_Isr(void)
当按下PWR_Swi键时,引起外部中断0,使TMS320VC5509A进入或退出休眠状
态。
8. 外部中断1 void Signal_Alter_Isr(void)
当按下SGN_Alt键时,引起外部中断1,选择Microphone或Line in作为WM8950
的模拟输入信号。
9. 外部中断2 void Alert_Bat_Isr(void)
当电池电压低至设定的门限时,引起外部中断2,使TMS320VC5509A进入休眠
状态,并设置LED进行提示。
-------------------------------------------------------------------*/
/*******************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -