首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

高手们来讨论下ATD的MULT使用(更新了程序) [已解决][此贴置顶已久麻烦版主取消置顶]

第一个问题:第一通道采集完成后,是如何进入下一个通道的(通过CC,CB,CA重新设置)?
当MULT=1时,进入多通道采样模式。第一个进行采样的通道由CD、CC、CB和CA的值设定。而下一个通道则是顺序递增的那个通道。比如,第一个采样的通道是AN5,转换完成后则对AN6进行采样。CD~CA位只要设定一次就可以了,除非你需要改变初次采样通道。
1

评分次数

  • yumuzi

海纳百川  有容乃大
第二个问题:在多通道的情况下是每个通道都进行S8C,S4C,S2C,S1C设置的转换次数吗?
不是。在多通道采样模式下,每个通道只进行一次采样和转换,S8C~S1C决定每次要对多少个通道进行转换。
我们把这称为一个序列。一个序列可以指对一个通道进行多少次转换(MULT=0时),也可以指一次对多少个通道进行转换(MULT=1时)。一个序列完成后是否继续重复进行,由ATDCLT5的SCAN位决定。
海纳百川  有容乃大
第三个问题:如果我使用单一通道模式进行采集,但是我要在多个通道之间进行切换,请问这个通道切换是否要考虑硬件延迟(即要几个机器指令周期之后才进入下一个通道的转换)?
这时最好检测ATDSTAT0的SCF标志位,当上一个序列转换完成后再切换到下一个通道。
海纳百川  有容乃大
第四个问题:在ATDCTL0里面的WARPx选择环绕通道(在多通道的情况下)是什么概念呢?
WRAP AROUND(环绕)的概念是指当MULT=1时,在一个检测序列中,当WARPx位所指定的通道转换完成后,下一个检测通道会变为AN0。举例说明:如果WRAP3~WRAP0的值为11(AN11),S8C~S1C的值为5,即一个序列进行5次转换;而CD~CA的值为9,即从通道AN9开始进行检测,那么第二个进行检测的通道是AN10,第三个是AN11;AN11转换完成后,则第四个采样通道变为AN0,第五个则是AN1。这样一个转换序列就完成了。如果SCAN=1,那么第二次转换序列又从AN9开始采样,其后的顺序与上一次完全相同。
海纳百川  有容乃大
关于这个问题,版主的列子是连续的通道,假如不是连续的通道是否可行?如第一个通道是AN5,第二是个AN7,第三个是AN11,是否可以进行?还是一定要在单一通道模式下自己切换?
回答:不连续的通道不能自动进行切换,需要用户程序来进行切换。一般来说,在单片机的设计中,我们会将需要进行连续采样的通道连接到相邻的通道上。另外,即使有些通道的数据暂时是不需要的,也可以进行采样,只是将其转换结果忽略就是了。
海纳百川  有容乃大
本帖最后由 strongchen 于 2010-2-25 09:31 编辑

如果我设置的序列比实际的转换通道要大会有什么问题吗?
回答:每个序列的转换数最大为16,而AD的通道数也是16个。不管在实际的硬件设计中你是否用到了所有的通道,但MCU本身的AD通道数是确定的,最多不过是将所有的通道都采样并转换一遍。当然还有另外一种情况。比如你通过WRAPx和CD~CA的设置将转换通道设置为AN0~AN5,而将每个序列的转换数设置为8,这样在每个序列的转换中,AN0和AN1将被转换2次(假设AN0是首次转换通道)。这在有些应用中是很好的功能,因为有些应用需要在一次转换中对某些通道进行多次采样。
海纳百川  有容乃大
但是是否要考虑通道切换硬件操作的时间,还是切换通道后就直接可以开始转换了?
回答:当SCF标志置位后,表示上一次的转换已经完成了。切换通道后可以立即开始下一次采样和转换。
海纳百川  有容乃大
返回列表