@floatsd
2016-06-09T18:24:24.000000Z
字数 2505
阅读 935
note_DSP
1、了解DSP实验系统中A/D转换电路的工作原理;
2、熟悉A/D转换模块的配置方式;
3、掌握A/D转换模块的编程和数据处理方法。
在ADC中断中读取ADC转换结果,软件启动下一次ADC中断。
AdcRegs.ADCTRL1.bit.SUSMOD=0; //模式0,仿真挂起被忽略。
AdcRegs.ADCTRL1.bit.ACQ_PS=0; //设置脉冲宽度
AdcRegs.ADCTRL1.bit.CPS=0; //内核时钟频率. Fclk = CLK/1.
AdcRegs.ADCTRL1.bit.CONT_RUN=0; //开始-停止模式,产生EOS 信号后,排序器停止,除非排序器复位,否则排序器从停止后的状态开始。
AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //双排序器模式,SEQ1 和SEQ2 作为两个独立的排序器工作。
AdcRegs.ADCTRL3.bit.ADCBGRFDN=3; //带隙和参考电路上电
AdcRegs.ADCTRL3.bit.ADCPWDN=1; //除带隙和参考电路外其他模拟电路上电
AdcRegs.ADCTRL3.bit.ADCCLKPS=10; //内核时钟分频器,ADCCLK=75/20
AdcRegs.ADCTRL3.bit.SMODE_SEL=0; //选择顺序采样模式.
AdcRegs.MAX_CONV.bit.MAX_CONV=1; //选择转换通道ADCINA6 & ADCINA7
AdcRegs.CHSELSEQ1.bit.CONV00=6; //ADCINA6—等于对功放板电源电压24V衰减至约十分之一,即2.4V.
AdcRegs.CHSELSEQ1.bit.CONV01=7; //ADCINA7—参考输入,电压幅值可调.
AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; //清除中断标志位
AdcRegs.ADCTRL2.bit.RST_SEQ1=0; //复位排序器到0 状态
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; //使能SEQ1 中断 (every EOS)
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0; //每个序列转换结束,INT SEQ1置位
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=0; //禁止 EVA SOC 启动SEQ1
AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0; //外部信号无操作
思考题1:如果F2812 的片内ADC 无法满足要求,如何扩展ADC 芯片。提示:可以通过SPI接口或外部扩展接口(XINTF)扩展串行或并口接口的ADC芯片。
思考题2:试针对某一数字信号处理或数字控制系统,简述A/D 转换器的功能?