上次提到的采用声音、光线、毫米波雷达多位一体的健康监测电路板,今天开始编写并调试程序。
首先是声音检测及其监测算法。
MIC的输入检测电路如附图,MIC由1.8KΩ的电阻R9提供偏置电压,MIC输入的信号经过单电源供电的运放LM224放大51倍,再经过由R11和C18组成的低通滤波之后,送入到MCU进行ADC采样。
MIC的灵敏度定义为:
在单位声压激励下输出电压与输入声压的比值,即给MIC 1Pa(94dB SPL声压级)的声压时,麦克风输出的电压(dBV);
如果MIC的灵敏度为-38dBV,表明当声压为1Pa时,输出电压为10^(-38/20)(V)=12.59mV;
而声压级与声压的关系为:
SPL移动大流量卡=20*lg(P/Pr),其中Pr=2*10^(-5)Pa,
当声压为1Pa时,声压级为94dB;
以打鼾的声响程度划分,六十分贝以下是轻中度鼾症,超过六十分贝的话就是严重鼾症。
60dB对应的声压为0.02Pa,灵敏度为-38dBV的MIC的输出电压为:
0.02*12.59mV=251.8uV;
经过51倍放大之后,其电压为12.8mV,对应基准电压为3.3V,12位ADC的采样数值为16。
C15,R10, R8,C12组成的带通滤波器的-3dB的通带为140Hz-6.8KHz;
而R11,C18构成的低通滤波器的-3dB的截止频率为3.1kHz;
+3.3V电压经过R13,R12的分压得到1.65V接移动大流量卡到运放的同相输入端提供运放的直流偏置电压;
当没有声音输入时,MCU的ADC输入电压为1.65V的直流电平,
而当有声音输入时,ADC输入电压为叠加在1.65V直流电平上的交流信号,如图3;
在程序方面,主要包括:
1) 使用了ADC的外部触发采样,使用TIM3作为触发源,TIM3的时钟设置为2MHz,而周期设置为250,从而ADC的采样率达到8KHz;
2) 使用DMA自动把ADC采样的数值搬移到数组缓存;
3) 实时检测DMA的半完成中断标志,一旦检测到标志位,则从数组缓存中取出一半的数据,以50ms为一个周期动态计算有效值和平均值。
用于触发ADC采样的定时器TIM3的设置;
RCC->APBENR1 移动大流量卡|= RCC_APBENR1_TIM3EN;
ADC_TIMER->CR1 = TIM_CR1_ARPE;//????
// TIM4->ARR = BS_BIT_PERIOD – 1;//205*0.5=102.5us
ADC_TIMER->PSC = (SYSCLK_SYS_FREQ /2000000 – 1);//fck_psc/(PSC[15:0] + 1)=2MHz
ADC_TIMER->EGR = 0x0001;//Reload immediate
ADC_TIMER->ARR = 250;//8kHz
ADC_TIMER->CCR4 = 125;
ADC_TIMER->EGR = 0x0001移动大流量卡;//Reload immediate
ADC_TIMER->CR1 |= 0x0001;
DMA初始化设置代码:
U32 tmpreg, value;
RCC->AHBENR |= RCC_AHBENR_DMA1EN;
AD_DMACHANNEL->CCR &= ~DMA_CCR_EN;
AD_DMACHANNEL->CCR = 0;
AD_DMACHANNEL->CNDTR = 0;
AD_DMACHANNEL->CPAR = 0;
AD_DMACHANNEL->CMAR = 0;
DMA1->IFCR |= DMA_Channel1_IT_Mask;
tmpreg = AD_DMACHANNEL->CCR;
t移动大流量卡mpreg &= DMA_CCR_CLEAR_Mask;
tmpreg |= (DMA_DIR_PeripheralSRC | DMA_Mode_Circular
| DMA_PeripheralInc_Disable | DMA_MemoryInc_Enable
| DMA_PeripheralDataSize_HalfWord| DMA_MemoryDataSize_HalfWord
| DMA_Priority_High | DMA_M2M_Disable);
AD_DMACHANNEL->CCR = tmpreg;
AD_DMACHANNEL->CNDTR = ADC_DMA_BUFF_SIZE;移动大流量卡
AD_DMACHANNEL->CPAR = (U32)&ADC1->DR;
AD_DMACHANNEL->CMAR = (U32)adc_dma_buff;
AD_DMACHANNEL->CCR |= DMA_CCR_EN;
DMAMUX1_Channel0->CCR = 5;
友情提醒: 请添加客服微信进行免费领取流量卡!
QQ交流群:226333560 站长微信:qgzmt2
原创文章,作者:sunyaqun,如若转载,请注明出处:https://www.dallk.cn/56865.html