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.

CC2642R: 关于CC2642将LNA/PA映射到IO上的相关问题

Part Number: CC2642R


关于CC2642将LNA/PA映射到IO上的相关问题
1、我通过【

IOCPortConfigureSet(IOID_6, IOC_PORT_RFC_GPO0,IOC_IOMODE_NORMAL);
IOCPortConfigureSet(IOID_7, IOC_PORT_RFC_GPO3,IOC_IOMODE_NORMAL);
】方法将LNA以及TX相关映射到MCU的IO上,此时该设备作为主机(central)。并连接一个从机,进行蓝牙通信
2、此时我用示波器可以在对应的IO上可以看到蓝牙通信的连接间隔,如下图所示,其中峰值代表的是主从机进行数据通信的时刻

3、我想进行以下操作:因为每个峰值代表一个连接事件,我想使用类似上升沿/下降沿中断的方式,每一个峰值到来时触发中断。但是因为这个IO已经被重映射了,所以原本的IO功能已经丧失,请问将LNA/PA映射到IO上之后当连接事件到来时(峰值)怎么触发中断??
4、我查阅手册,如下图所示,将LNA/PA映射到IO上之后,要想使能的话需要将对应电平设置为高电平,此时IO管脚的功能已经被覆盖,该怎么把管脚电平拉高呢?

  • 还想再补充一个问题
    关于

    PINCC26XX_setMux(ledPinHandle, Board_DIO0, PINCC26XX_MUX_RFC_GPI0);
    IOCPortConfigureSet(IOID_6, IOC_PORT_RFC_GPO0, IOC_IOMODE_NORMAL);
    这两个函数的区别,这两个函数都是把外设的端口映射到普通的IO上,请问有什么区别,被映射后的IO是不是就丧失原本的功能只具有外设的功能了

    加入被映射后的IO的电平发生变化,是否可以用定时器去捕捉该IO的跳变沿?

  • Hi Zexu, 

    是的,如果port ID映射到射频核上,实际上这个PIN已经RF core 控制了。 不是应用处理控制。这样才能保证实时性,LNA/PA的enable关键参数。

    不知你要什么样的中断,最简单的,你可以从芯片外面连一根线回到芯片内部,你就可以设置另外一个IO 的GPIO/edge 中断了。

    BR. Albin

  • 谢谢回复
    1、上面提到的两个函数的区别还想请您详细解释一下,具体的区别是什么?您并没有提到
    2、Port ID被映射到射频核上后,这个PIN失效,那如何enableLNA/PA呢?手册提到这里需要高电平enable

  • 麻烦你方便的时候帮忙解答一下,谢谢!

  • Hi Zexu,

    1. PINCC26XX_setMux()和IOCPortConfigureSet()是基本等效的,唯一区别是IOCPortConfigureSet同时设置了引脚的输入输出状态,即第三个参数,而PINCC26XX_setMux不会设置此状态。

    2. 映射过去以后这个PIN是由RF内核控制的,用户无需手动操作。

    Best regards,

    Shuyang

  • 谢谢您的回复
    但是我在使用 PINCC26XX_setMux()的时候,发现将RF的LNA映射到PIN后,这个PIN仍然可以使用IO自带的中断检测,比如上升沿和下降沿触发,而使用IOCPortConfigureSet()后,这个PIN就无法使用IO自带的上升沿和下降沿触发了
    IOCPortConfigureSet()的第三个参数我设置的是IOC_IOMODE_NORMAL,好像也具备输入模式,为什么会无法进行跳变沿中断触发了呢

  • 中断是M4的,你一旦吧port ID映射给M0 (RF),当然就没中断啦。

    BR. Albin

  • 但是上面那位TI工程师说两个函数的功效是差不多的,而我在实际使用的时候PINCC26XX_setMux()将IO映射到M0核上,IO仍然可以检测跳变沿中断,但是使用IOCPortConfigureSet()后,就无法使用IO自带的跳变沿中断检测了
    我上面已经说明这个情况了,您可以看清楚再回复

  • 所以,我想了解这两个函数的区别是什么,前面那位工程师提到IOCPortConfigureSet()会增加引脚的输入输出状态,我设置的参数在上面的图片中已经提到了,是Normal Input/Output ,为什么使用这个API接口会使得IO中断检测失效,而使用PINCC26XX_setMux()这个接口则不会使得IO中断检测失效?

  • Normal Input/Output是不带中断功能的,所以设置成这个模式以后中断就无效啦。而PINCC26XX_setMux是不改变IO Mode的,如果您原来把这个引脚设置成中断,那么还是保持原来设置的。

    但为了输出LNA信号,正常的逻辑是要把这个引脚当作输出引脚来用,如果想要利用LNA信号来触发中断的话,可以考虑把另一个引脚和这个输出引脚接到一起,利用这个引脚做输入中断。

  • 好嘞,明白啦,谢谢您的回复