我目前正在使用一个 atmel 微控制器 EVK1104s,其中包含UC32 数据表。我们实际上已经在定制的 PCB 上植入了这个芯片,并且正在编写更多的固件。
目前,我需要告诉微控制器单元(MCU)上的 ADC 以(8k 样本/秒)进行采样。实际上,这是用于对麦克风进行采样。无论哪种方式,文档都不清楚,我正在寻找一些澄清。
我知道要更改采样率,我需要更改所谓的模式寄存器,该寄存器用于配置 ADC 以供使用(上面链接中的第 799 页)。这是允许我更改采样/保持时间/启动时间和 ADCclock 的寄存器。
EX(from pg 799):
Sample & Hold Time = (SHTIM+3) / ADCClock
ADCClock = CLK_ADC / ( (PRESCAL+1) * 2 )
据我所知,我只需要更改 PRESCAL 以使 ADCClock 以 8Khz 运行。问题是 PRESCAL 仅限于 8 位分辨率。
例如,如果控制器设置为 12Mhz/x = 8Khz,则 x 需要为 1500。因为 x 限制为 8 位,正如我之前所说,这似乎是不可能的,因为最大值为 255。
我觉得我在这里做错了什么,或者不理解数据表想要我做什么。任何人都可以确认我刚刚谈到的内容或帮助指导我吗?