TMS320F28034的AD设置

TMS320F28034的AD设置

此问题已被解答
All Replies
  • 举人1435分

    专家您好:

    我现在用的是picolo28034,需要用AD的以下功能:

    1.同时采样8个AD通道模式    2.SOCX触发源都是PWM2_SOCA  3.在AD转换完成后触发ADCINT1中断,即PIETABLE中INT1.1位

    我需要的是等这8个通道全部转换完成后,就只触发一个ADCINT1中断,

    以下是我的配置,请帮我审查下是否正确,同网上给出得例程看,我少了(!!!标注的两句)

    谢谢

    EALLOW;

    AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0 = 1; //SOC0/SOC1同时采样
    //SOC0
    AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC0采样窗口
    AdcRegs.ADCSOC0CTL.bit.CHSEL = 0; //soc通道选择A0 ---ADCRESULT0
    AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
    //SOC1
    AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC1采样窗口
    AdcRegs.ADCSOC1CTL.bit.CHSEL = 8; //soc通道选择B0 ---ADCRESULT1
    AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


    AdcRegs.ADCSAMPLEMODE.bit.SIMULEN2 = 1; //SOC2/SOC3同时采样
    //SOC2
    AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC2采样窗口
    AdcRegs.ADCSOC0CTL.bit.CHSEL = 1; //soc通道选择A1 ---ADCRESULT2
    AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
    //SOC3
    AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC3采样窗口
    AdcRegs.ADCSOC1CTL.bit.CHSEL = 9; //soc通道选择B1 ---ADCRESULT3
    AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


    AdcRegs.ADCSAMPLEMODE.bit.SIMULEN4 = 1; //SOC4/SOC5同时采样
    //SOC2
    AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC4采样窗口
    AdcRegs.ADCSOC0CTL.bit.CHSEL = 2; //soc通道选择A2 ---ADCRESULT4
    AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
    //SOC3
    AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC5采样窗口
    AdcRegs.ADCSOC1CTL.bit.CHSEL = 10; //soc通道选择B2 ---ADCRESULT5
    AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


    AdcRegs.ADCSAMPLEMODE.bit.SIMULEN6 = 1; //SOC6/SOC7同时采样
    //SOC2
    AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC6采样窗口
    AdcRegs.ADCSOC0CTL.bit.CHSEL = 3; //soc通道选择A3 ---ADCRESULT6
    AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
    //SOC3
    AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC7采样窗口
    AdcRegs.ADCSOC1CTL.bit.CHSEL = 11; //soc通道选择B3 ---ADCRESULT7
    AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA

    AdcRegs.ADCCTL1.bit.INTPULSEPOS  = 1;  //结果存入寄存器才产生中断  

    PieVectTable.ADCINT1 = &ADC_convered;  

    !!! AdcRegs.INTSEL1N2.bit.INT1SEL = 1;    //中断线1选择soc1--什么意思?

    !!!  AdcRegs.INTSEL1N2.bit.INT1CONT  = 0;  //什么意思?

      AdcRegs.INTSEL1N2.bit.INT1E  = 1;    //中断使能  

      PieCtrlRegs.PIEIER1.bit.INTx1 = 1;   //使能int1.1  

    EDIS;

  • 进士3089分

    您好,

    请问之前的问题是否解决?

    http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/p/31423/95960.aspx#95960

  • 举人1435分

    已经解决了。谢谢专家

  • 秀才51分

    你好

      请问在哪里能TMS320F28034的寄存器说明,在TI网站下载的DATASHEET 没有ADC相关的寄存器说明 .

  • 进士3089分

    你好!

    可以从下面的链接中找到 TMS320F28034的相关技术文档,具体的寄存器说明可以在user guide中招相应的文档:

    http://www.ti.com/product/TMS320F28034/technicaldocuments