完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
近期需要进行基于声音传播测距的实验,需要临时制作一款可以发送Chirp音频信号和接收信号的电路板。要求其中的内部RAM足够大,可以采集到音频信号进行后期处理。
电路硬件设计1 1.电路原理2 原理图设计-MCU及其接口 原理图设计-电源部分 2. 电路PCB版图 PCB版图 底部的两个接口的定义:
(1)在第一版本中没有将UART3的管脚引出来。
PSPI管脚重新定义为TIME3,TIME2的PWM输出 在PIO中的IO从上到下分别是PB15,PB14,PB13,PB12。在CONTROL.H中分别定义为:IO1,IO2,IO3,IO4。 它们的输入,输出功能请在Control.C的初始化程序中进行设置。 PIO中定义的输入输出口 3. 电路软件3调试以及调用命令 安装完毕元器件之后,下载初步的开发软件,便可以设置读取AD采集的信号波形了。 安装完毕后,下载程序进行调试 采集到的信号源典型波形 对F103内部的DA、AD模块初始化的语句。 HAL_ADC_Start(&hadc1); HAL_ADC_Start(&hadc3); HAL_ADC_Start(&hadc2); //-------------------------------------------------------------------------- HAL_TIM_Base_Start_IT(&htim1); g_nTime1InterruptCount = 0; g_nADC1BufferPoint = 0; extern DAC_HandleTypeDef hdac; HAL_DAC_Start(&hdac, DAC_CHANNEL_1); HAL_DAC_Start(&hdac, DAC_CHANNEL_2); 每个10ms通过如下语句赋值DAC1,DAC2相应的输出波形: //-------------------------------------------------------------------------- if(++nShowCount >= 10) { nShowCount = 0; // printf("%drn", g_nTime1InterruptCount); DACOutput1(GetADC1()); DACOutput2(0xfff - GetADC1()); } 产生Chirp声音 1. 使用Python产生仿真Chirp波形 具体产生Chirp信号的参数和方法见下面的代码。 #------------------------------------------------------------ startf = 50 endf = 1500 data_length = 2048 samplefrequency = 5e3 deltat = 1/samplefrequency #------------------------------------------------------------ angle = 0 data_buffer = [] #------------------------------------------------------------ for i in range(data_length): data = int((sin(angle) + 1) * 0xfff) data_buffer.append(data) frequency = (endf - startf) * (i + 1) / data_length + startf angle = angle + frequency * deltat t = linspace(0, data_length * deltat, data_length, endpoint=True) plt.plot(t, data_buffer) plt.xlabel('Time (s)') plt.ylabel('Sample Value') plt.show()``` 数学产生的Chirp信号 2. F103 产生相同的Chirp信号并输出 使用单片机产生的Chirp信号在示波器上显示的波形
|
||
|
||
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1632 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1559 浏览 1 评论
985 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1605 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
652浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
522浏览 3评论
539浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
508浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 12:17 , Processed in 0.814792 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号