TI中文支持网
TI专业的中文技术问题搜集分享网站

关于28035的AIOMUX1的应用

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

user3900194:

向28035的80个引脚的第16个引脚ADCINA2/COMP1A/AIO2外加1v的模拟量,经过AdcResult.ADCRESULT0数字量为1240,所以说是正确的,

AdcRegs.ADCSOC0CTL.bit.CHSEL = 2; //set SOC0 channel select to ADCINA4AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;

我疑问是无论GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;还是GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;采样结果都正确呢,

我配置成GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;即将AIOMUX1配置成IO口功能了,此口应该不能采样了啊,结果为何还能采样正确?这是我的疑问,请帮我解惑!谢谢

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

Eric Ma:

回复 user3900194:

刚在system control user guide 中确认了一下,当AIO功能使能的时候,并不会禁止输入到ADC的通过,只不过AIO模块能够去控制这个IO口。

Eric

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

user3900194:

回复 Eric Ma:

多谢指点啊,搞明白了。我现在准备调试CLA,但是对其如何调试现在不明白。

我下载的28035例程,DSP2803x_examples\cla_adc,我在中断函数中cla1_isr2()打断点,为何进不了呢,硬件设置也正确,采样有结果。

我想问下如何进入到CLA.ASM函数中进行单步调试呢,请大侠们指点迷津。我应用的ccs3.3升级版。

这个例程中:

// This interrupt occurs when CLA Task 2 completesinterrupt void cla1_isr2(){AdcRegs.ADCINTFLGCLR.bit.ADCINT2 = 1; // Clear ADCINT2 flag reinitialize for next SOCPieCtrlRegs.PIEACK.all = 0xFFFF;}

是不是在ADCIN2中断发生时就会进入CLA.asm程序?

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

Eric Ma:

回复 user3900194:

1. 你应该先仔细看一下CLA 的user guide, 看完之后再调试例程。

2. CLA是一个协处理核,也可以看成是一个中断处理的内核。ADC产生一个中断信号,可以触发CLA执行一个任务,CLA执行完任务后,可以产生一个中断给CPU,也即使cla1_isr2.

3. 要调试CLA,需要connect CLA, 然后load symbol 到CLA中, 要单步调试的话,CLA需要设置软件断点,如下程序

interrupt void Cla1Task1 ( void ){ //Local Variables //Code __mdebugstop();//断点 yn = xn*S1_B[0] + W2[1]; W2[0] = xn*S1_B[1] + yn*S1_A[1] + W1[1]; W2[1] = W2[0]; W1[0] = xn*S1_B[2] + yn*S1_A[2]; W1[1] = W1[0];// __mnop();// __mnop();// __mnop();}

Eric

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

user3900194:

回复 Eric Ma:

CLA也可以用C语言编写吗,Mdebugstop和Mstop功能是否一样的,您能否给一个CLA文档,我在ti网站上找不到,具体怎么cla的文档。谢谢

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

user3900194:

回复 Eric Ma:

能否给推荐一个关于cla汇编指令的文档啊,例程中比如,这些真的搞不懂MSTOP , MDEBUGSTOP , MBCNDD, MCCNDD  or MRCNDD 

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation
    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

Eric Ma:

回复 Eric Ma:

Piccolo Multi-Day Workshop Student Guide (pdf file)

里面有CLA的培训资料:
http://processors.wiki.ti.com/index.php/C2000_Archived_Workshops#C2000_Piccolo_Multi-Day_Workshop_-_Revision_2.1_December_2010_.28ExpKit_F28035.3B_CCSv4.2.3B_DSP.2FBIOS_5.41.29

赞(0)
未经允许不得转载:TI中文支持网 » 关于28035的AIOMUX1的应用
分享到: 更多 (0)