powerpc_012_ADC功能实现与测试

       ADC的驱动实现,其实最麻烦的不在于硬件原理,而在于管脚与通道的映射关系。几种模式的ADC我觉得都是如此。即使是背后有一个再复杂的硬件实现,也基本不会妨碍我们进行功能代码的实现。

       我用到的开发板上做了两路输入可调的AD,我暂且只用其中的一路。相应的硬件资源使用的是PIN2,AN17。进行ADC功能配置的第一步,可以先检查并把pin脚功能配置出来。尤其是在管脚功能出现复用的情况下,这部分更应该先做一下核查。比如说,管脚116如果用作ADC的功能,这个就需要在软件层面上配置。但是,相比之下的PIN2是一个功能相对独立的管脚,就是ADC。这部分工作其实就可以省略掉了。

       以下是主要的配置:

powerpc_012_ADC功能实现与测试

powerpc_012_ADC功能实现与测试

powerpc_012_ADC功能实现与测试

       参考芯片手册,采用了FIFO的时候,最大数值应该是0x3FFC。

powerpc_012_ADC功能实现与测试

       程序读取结果的设计如下:

powerpc_012_ADC功能实现与测试

       程序编译烧写测试:

powerpc_012_ADC功能实现与测试

powerpc_012_ADC功能实现与测试

powerpc_012_ADC功能实现与测试

       以上是在可调范围内的最高、中间部分、最小的ADC采集结果,跟预期基本是一致的。