Board logo

标题: DSP2812的AD问题 [打印本页]

作者: zhengyuyong    时间: 2008-1-14 15:03     标题: DSP2812的AD问题

最近在看DSP2812 现在对DSP2812的AD部分有如下问题,请各位大侠指导。

我对ADC模块进行如下设置(示意)
ADCTRL3.SMOD_SEL=1 //同时采样模式
ADCTRL1.SEQ_CASE=1 //双排序器模式
ADCMAXCONV.ALL=0x0033
ADCCHELSEQ1.CONV00=0X04
ADCCHELSEQ1.CONV01=0X03
ADCCHELSEQ1.CONV02=0X02
ADCCHELSEQ1.CONV03=0X05
ADCCHELSEQ3.CONV08=0X01
ADCCHELSEQ3.CONV09=0X07
ADCCHELSEQ3.CONV10=0X06
ADCCHELSEQ3.CONV11=0X00
现在的问题1是:
如果
ADCTRL1.CONT_RUN=1 //连续运行模式
这时候如果ADCTRL2.EVA_SOC=1
ADCTRL2.INT_MOD_SEQ1=0//每次EOC OF SEQ1产生一次中断
ADCTRL2.EVB_SOC=1
ADCTRL2.INT_MOD_SEQ2=0//每次EOC OF SEQ2产生一次中断
那么,当EVA事件到来后,ADC启动转换,转换完毕,在中断程序中我读得的结果:
ADCRESULT0<-ADCINA4
ADCRESULT1<-ADCINB4
ADCRESULT2<-ADCINA3
ADCRESULT3<-ADCINB3
ADCRESULT4<-ADCINA2
ADCRESULT5<-ADCINB2
ADCRESULT6<-ADCINA5
ADCRESULT7<-ADCINB5
EVB到来时,ADC也启动转换,转换完毕后,在中断程序中我读得的结果:
ADCRESULT8<-ADCINA1
ADCRESULT9<-ADCINB1
ADCRESULT10<-ADCINA7
ADCRESULT11<-ADCINB7
ADCRESULT12<-ADCINA6
ADCRESULT13<-ADCINB6
ADCRESULT14<-ADCINA0
ADCRESULT15<-ADCINB0
我以上的理解是否正确?这是问题1,各位指点。
问题2:
在中断完毕后,SEQ1和SEQ2的状态是怎么样的?是分别指向CONV04和CONV01吗?接下来ADC是直接启动下一次转换,还是等待下一个EVA和EVB事件到来后启动转换?(因为这里ADCTRL1.CONT_RUN=1,我不太理解,ADC接下来的动作我不太理解)
问题3:
如果我这样设置
ADCTRL2.INT_MOD_SEQ1=1
ADCTRL2.INT_MOD_SEQ2=1,是不是有一次转换结构被覆盖了?(因为每隔一次产生一次中断且ADCMAXCONV.ALL=0X0033)
问题4:
如果我这样设置ADCTRL1.CONT_RUN=0 //启动停止模式
那么当EVA,EVB事件到来,ADC启动转换,我读完了结构后,SEQ1,SEQ2的状态是什么?是分别指向CONV03和CONV11吗?这时候如果要进行下一次转换,需要手动复位SEQ1和SEQ2,是不是这样?
以上问题我看SPRU060看了好长时间,还是不太理解。各位 大侠给与指导。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0