请问51单片机如何实现对于人的声音的采样,然后把这个模拟信号通过pcm编码存入flash中?
请问这个方案可行吗?需要用到哪些芯片呢?
其实51单片机资源除了存储外,是满足PCM编码输出的,就是完整音频的也基本能够满足
ADC速度>44.1kHz最好,其实普通人声ADC速度>8kHz都足够。
主要的和51单片机芯片相连的外部设备就是一个用来采集的ADC和一个用来存储的flash就好,
程序也很简单,
初设一个采样频率变量,然后启动定时器,在每个周期内读取一次ADC值,然后依据规则存储到flash中
如果flash是块存储处理,就要设置内存缓存空间,每次慢了再实际写入(这个要看写入速度是否满足,不要和ADC冲突)
之前我用C8051的单片机做过音频项目。
C8051通过IIS与WM8974芯片连接,实现PCM音频编解码。
PCM编解码是在WM8974上完成的,音频数据通过IIS进行传输
adc采集到的数据就是pcm数据,直接写入到flash就可以,用dac或者pwm还原就可以播放,
用一个带硬件adc和pwm和spi接口的单片机可以实现比如stm32f103,同时需要外部flash芯片比如spiflash比较合适存储数据