3047|1

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

【LPC54100使用】03 ADC初探 [复制链接]

对已示波器来说,设计两部分功能,一个是采集,一个是显示。最开始想使用SPI来连接一个显示屏,但是看来有点困难,因此后续考虑使用labview通过串口采集来显示数据,难度会稍小点,毕竟不用自己处理界面。看了下例子,发现ADC和UART都使用rom api这是啥呢?其实就算驱动SPI屏,也是使用rom api的啦。如果想用LCD,这个emwin可以参考。
http://www.lpcware.com/content/project/emwin-graphics-library


当初最吸引我的就是4.8MHz的ADC,而且是12bit下的速度,文档上说了,分辨率降低,速度还能更高,那倒的确是的,理论上说速度还能增加30%左右吧。有同步模式和异步模式两种,不过同步模式下要使用72MHz的系统时钟才能达到最高采样率。可以设定门限比较和过零检测,貌似都是做示波器很有用的特性哦。(V2的UM10850对这个数据又有改进,80M时钟下达到5M的采样率,为啥要16周期了呢?)

提供完时钟,下面就要提供模拟电压和参考电压了,一般而言,VDDA=VDD=VREFP,VSSA=VSS=VREFN=GND。最多提供12路输入,P0.29~P0.31+P1.0~P1.8,另有两个外触发引脚
通过外触发0和1引脚实现,用来触发两路采集序列。

照例先来学习一下ADC的例程。使用int中断方式adcint。其实和大部分的单片机使用一样。main的开始首先是时钟和板上硬件的初始化,然后是adc初始化和adc的配置,注册回调函数,使能中断,开启两个序列的转换。而在while死循环中就是不断的打印采集得到的adc的数值。从主函数的流程看,只发生了一次adc转换的函数调用,但实际上例程中每个seq要采集多个channel的,那是哪里实现的呢?这里的关键就在回调函数。

我们可以看到在main有一个adcrom_regcb函数,把各种事件注册了相应的函数,(start,stop,done)。其中在done的回调里面,我们看到了会继续启动adc下一个channel的转换,这样就可以连续采集了。编译下载后可以发现,首先启动的是A序列,然后按wake按钮可以启动B序列(因为B序列设定是用INT1触发的)。这种回调函数有个问题,比如序列打印时,会被序列停止的事件中断,所以看到在序列打印的最后一行前,插入了一个停止的回调输出。这个在后面向上位机发数据时可能会有影响。

然后对上述代码进行改造,每个序列只留下一个通道,每个通道还是采集32个数据。其中seqA接A0,seqB接A3,端口悬空,发现seqA有数据,seqB全为0。给A0接上GND和V3.3,可以测到对应的数据变化,但是最前面几个数是不准的。而给A3无论接什么,输出永远是000,奇了怪了,因为除了改了通道以外,都没改啥。另外,原来的例程只采集一遍,而且只有按下wake按键,才会采集seqB,可是修改以后seqB就直接不断采集,都不用硬件触发,真是觉得好奇怪啊。



此帖出自单片机论坛

最新回复

为什么是FFF不是FFF呢?手册里面低4位不要啊 Bit              Symbol                    Description Reset             3:0 -          Reserved.                  N/A 15:4         RESULT This field contains the 12-bit ADC conversion result from the last conversion performed on thischannel. This will be a binary fraction representing the voltage on the AD0[n] pin, as it falls within the range of VREFP to VREFN. Zero in the field indicates that the voltage on the input pin was less than, equal to, or close to that on VREFN, while 0xFF  详情 回复 发表于 2016-12-22 00:32
点赞 关注
 

回复
举报

10

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
为什么是FFF不是FFF呢?手册里面低4位不要啊



Bit              Symbol                    Description Reset            
3:0 -          Reserved.                  N/A
15:4         RESULT This field contains the 12-bit ADC conversion result from the last conversion performed on thischannel. This will be a binary fraction representing the voltage on the AD0[n] pin, as it falls within
the range of VREFP to VREFN. Zero in the field indicates that the voltage on the input pin was less
than, equal to, or close to that on VREFN, while 0xFF
此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表