3208|0

215

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【TI C2000的使用经验】同步采样&差分AD输入 [复制链接]

首先呢。还是以我用的2806X系列为例子。AD口分为两组。A和B。这两组就可以用来做差分AD的两个双入端了。2806X只有一个AD内核。但是有两个S/H模块,于是乎他的对策就是同步采样+分时转换来处理。我们首先来看看手册中8.1.6Simultaneous Sampling Mode。部分截取下来方便大家看。



大意就是说。有些时候两个通道之间的采样时间延迟要求比较严格的时候就会需要同步采样的方法,选取了偶数的SOC和之后的奇数SOC(如SOC0&SOC1)偶合在一起并且由SIMULEN位来决定进行同步采样。他们有如下特点:

任何一个SOC的触发信号都能触发这一对的转换

一对转换包含了相应的A通道和B通道的转换。他们有对应的通道选择和触发选择选项。例如选择了CHSEL=2,则表示选中了A2/B2通道

同步采样

A通道先转换

每个SOC转换完之后都会触发相应的EOC信号。但让如果是想让两个通道都转换完了再来处理这两个数据,就可以选取后一个EOC信号。

A通道的转换结果保存在偶RESULT寄存器中,B通道的信号存放在奇RESULT寄存器中。

如果看不懂再看看下面的时序图就很明了了。



A/B SAMPLE&HOLD后CHANNEL A先转换,然后B转换,每个转换完后都会提起对应的EOC信号。当然如果要用CLA的提前产生中断信号,也可以看手册中的另一个时序图。

附上一小段我的初始化代码供参考

  1. AdcRegs.ADCCTL1.bit.INTPULSEPOS        = 1;//INT pulse generation occurs 1 cycle prior to ADC result latching into its result register
  2.         AdcRegs.ADCSOC0CTL.bit.CHSEL   = ChSel[0];
  3.         AdcRegs.ADCSOC0CTL.bit.TRIGSEL = Trigsel[0];
  4.         AdcRegs.ADCSOC0CTL.bit.ACQPS   = ACQPS[0];

  5.         AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0 = 1; // simultaneous sampling
复制代码
然后呢中断信号上我选择的是

  1. AdcRegs.INTSEL1N2.bit.INT2SEL = IntChSel;                // IntChSel causes ADCInterrupt 2
复制代码
其中IntChsel值为1,代表EOC1也就是后一个数据转换完的结束信号。

本人英文能力有限,如果有误欢迎指正谢谢~~
 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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