[关闭]
@floatsd 2016-06-09T18:24:24.000000Z 字数 2505 阅读 935

实验六 A/D转换实验

note_DSP


1 实验目的

1、了解DSP实验系统中A/D转换电路的工作原理;
2、熟悉A/D转换模块的配置方式;
3、掌握A/D转换模块的编程和数据处理方法。

2 实验原理

2.1 A/D模块的特点

2.2 ADC模块的引脚信号

2.3 ADC转换模块的编程和程序流程

  1. 初始化DSP系统;
  2. 设置PIE中断矢量表;
  3. 初始化ADC模块;
  4. 将ADC中断的入口地址装入PIE中断向量表,开中断;
  5. 软件启动ADC转换;
  6. 等待ADC中断;
  7. 在ADC中断中读取ADC转换结果,软件启动下一次ADC中断。

    • 作例程如下:
  1. AdcRegs.ADCTRL1.bit.SUSMOD=0; //模式0,仿真挂起被忽略。
  2. AdcRegs.ADCTRL1.bit.ACQ_PS=0; //设置脉冲宽度
  3. AdcRegs.ADCTRL1.bit.CPS=0; //内核时钟频率. Fclk = CLK/1.
  4. AdcRegs.ADCTRL1.bit.CONT_RUN=0; //开始-停止模式,产生EOS 信号后,排序器停止,除非排序器复位,否则排序器从停止后的状态开始。
  5. AdcRegs.ADCTRL1.bit.SEQ_CASC=0; //双排序器模式,SEQ1 和SEQ2 作为两个独立的排序器工作。
  6. AdcRegs.ADCTRL3.bit.ADCBGRFDN=3; //带隙和参考电路上电
  7. AdcRegs.ADCTRL3.bit.ADCPWDN=1; //除带隙和参考电路外其他模拟电路上电
  8. AdcRegs.ADCTRL3.bit.ADCCLKPS=10; //内核时钟分频器,ADCCLK=75/20
  9. AdcRegs.ADCTRL3.bit.SMODE_SEL=0; //选择顺序采样模式.
  10. AdcRegs.MAX_CONV.bit.MAX_CONV=1; //选择转换通道ADCINA6 & ADCINA7
  11. AdcRegs.CHSELSEQ1.bit.CONV00=6; //ADCINA6—等于对功放板电源电压24V衰减至约十分之一,即2.4V.
  12. AdcRegs.CHSELSEQ1.bit.CONV01=7; //ADCINA7—参考输入,电压幅值可调.
  13. AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1; //清除中断标志位
  14. AdcRegs.ADCTRL2.bit.RST_SEQ1=0; //复位排序器到0 状态
  15. AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; //使能SEQ1 中断 (every EOS)
  16. AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0; //每个序列转换结束,INT SEQ1置位
  17. AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=0; //禁止 EVA SOC 启动SEQ1
  18. AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0; //外部信号无操作

3实验内容

3.1 实验准备及观察结果

4 思考题

思考题1:如果F2812 的片内ADC 无法满足要求,如何扩展ADC 芯片。提示:可以通过SPI接口或外部扩展接口(XINTF)扩展串行或并口接口的ADC芯片。

思考题2:试针对某一数字信号处理或数字控制系统,简述A/D 转换器的功能?

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注