This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教28027的AIO、GPIO相关问题,请帮忙解答,谢谢!

1、按照我的理解,AIO应该是模拟信号输入输出口,比如说比较器、ADC信号输入等, 但是看指导手册里说AIODAT,读取值为1,说明当前为高,读取值为0,说明当前为低,这不是又被当成是数字信号来操作吗?

而且AIO作为模拟信号输出的时候,能输出哪些信号呢?芯片有的DAC、斜波发生器等都是内部使用,不支持输出到IO口,比较的输出是可以到IO口,但是比较的输出是一个数字信号,而不是模拟信号,那么这样一来,AIO能输出的模拟信号到底是啥?

2、GPAQSEL1、GPAQSEL2中的"Qualification using 3 samples"怎么理解呢? 是连续三次采样为这个状态,才确定IO口为这个状态吗?

3、对于AD转换,有一个采样窗口的概念,即ACQPS,最小是7,最大是255,请问这个值的大小主要是解决什么问题,哪种情况适合大值,哪种情况适合小值?

  • 1、按照我的理解,AIO应该是模拟信号输入输出口,比如说比较器、ADC信号输入等, 但是看指导手册里说AIODAT,读取值为1,说明当前为高,读取值为0,说明当前为低,这不是又被当成是数字信号来操作吗?而且AIO作为模拟信号输出的时候,能输出哪些信号呢?芯片有的DAC、斜波发生器等都是内部使用,不支持输出到IO口,比较的输出是可以到IO口,但是比较的输出是一个数字信号,而不是模拟信号,那么这样一来,AIO能输出的模拟信号到底是啥?

    AIO实际上是ADC口的复用,复用为IO口,所以叫AIO,如果被用为AIO,那就是数字口,可以输入或者输出数字信号。只有F28075及F28377系列的DAC可以输出,其他系类是不能输出,F28377/F28075的DAC输出可能会和AIO复用,但是这个输出是模拟信号,配置为DAC输出的时候无法配置为AIO

    2、GPAQSEL1、GPAQSEL2中的"Qualification using 3 samples"怎么理解呢? 是连续三次采样为这个状态,才确定IO口为这个状态吗?

    是的,会采样三次clock的信号,如果都是同一电平才视为当前电平值。

    3、对于AD转换,有一个采样窗口的概念,即ACQPS,最小是7,最大是255,请问这个值的大小主要是解决什么问题,哪种情况适合大值,哪种情况适合小值?

    ACOPS是采样窗大小,你可以简单的理解为是ADC口上的一个电容,采样就相当于对这个电容充电,充电时间越久,电容的电压值肯定约接近实际值,但是同样你的采样速度也会变慢,值得大小设定完全取决于你的应用。要达到datasheet上标定的参数7 ADC CLOCK就可以,也就是寄存器设定为6,如果ADC CLOCK是60MHz,需要设定为7,也就是8个ADC CLK,仅针对F2802X, F2803X。 F2806X最高ADC CLK是45MHz。

  • AIO实际上是ADC口的复用,复用为IO口,所以叫AIO,如果被用为AIO,那就是数字口,可以输入或者输出数字信号。

    意思是AIO,当做IO口用的时候,就跟GPIO口一样,也是可以正常输入、输出高低电平;是这样理解的吗?

    第二点,关于引脚功能配置问题:

    如下例,规格书上说,当AIOMUX1 bits = 1,x,AIO2的ADCINA2 (I), COMP1A (I)功能被选中,但是规格书上并没有说明具体,当我想把IO口配置为COMP1A 时,到底是 AIOMUX1 bits =1,0,还是配置为 AIOMUX1 bits =1,1呢

    AIOMUX1 Register             bits              AIOMUX1 bits = 0,x                         AIOMUX1 bits = 1,x
                                               
                                                   5-4                   AIO2 (I/O)                                      ADCINA2 (I), COMP1A (I)

  • 意思是AIO,当做IO口用的时候,就跟GPIO口一样,也是可以正常输入、输出高低电平;是这样理解的吗?

    是的,但是AIO没有input qualification和内部pull up,并且不能触发外部中断。

    第二点,关于引脚功能配置问题:

    如下例,规格书上说,当AIOMUX1 bits = 1,x,AIO2的ADCINA2 (I), COMP1A (I)功能被选中,但是规格书上并没有说明具体,当我想把IO口配置为COMP1A 时,到底是 AIOMUX1 bits =1,0,还是配置为 AIOMUX1 bits =1,1呢

    AIOMUX1 Register             bits              AIOMUX1 bits = 0,x                         AIOMUX1 bits = 1,x
                                               
                                                   5-4                   AIO2 (I/O)                                      ADCINA2 (I), COMP1A (I)

    如果用作比较器输入,那应该是=0,因为这时候不是IO,而是模拟电平输入,只是接到比较器的正端或者负端而已。