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.

AM5728: SDK包CAN例程的疑问咨询

Part Number: AM5728


你好:

    在使用AM5728的SDK包里面的CAN总线例程时,出现如下疑问,请大家指导一下,主要是关于IO初始化的过程的问题,

在TI的CAN总线例程中使用的是AM5728的G20引脚作为DCAN1的TX引脚,使用AD17作为DCAN1的RX引脚。

/*-- pin mux for dcan1 :引脚复用功能模式 -需要查看数据手册-涉及 L4_CFG Memory Map :
* 手册400页可以找到地址的一个分区,但是找不到具体的寄存器说明。需要进一步的查找---*/
//--4226页声明了基地址--涉及到GPMC,需要深入了解处理一下--在4893 有具体的寄存器说明--
//--这里在在DCAN的例程里面设置19..16 位数值为0E所以配置为:
//-- 1:设置为快速模式 2:设置接收中断使能 3:设置为上拉模式 4:使能弱上拉下拉模式
//--使用应硬件引脚是G20--
HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_DCAN1_TX,0x000E0000);
//--寄存器在TRM-4231也声明:在4910页有具体的寄存器说明:
//--设置不需要弱上拉下拉--设置为DCAN1_RX模式--
//--使用引脚为AD17
HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_WAKEUP0,0x00010001);

上面红色字体部分为SDK内的引脚初始化说明,和我在手册中查看写的备注说明,所以第一个疑问是,上面引脚的初始化是否使用的是G20和AD17 引脚?

我在实际上的硬件电路上是使用的G20作为TX,G19作为RX,但是例程可以跑通,发送接收都是没问题的,这个问题就非常奇怪,麻烦帮忙确认一下,TI的SDK包的CAN总线例程,是否是使用的G20和AD17 两个引脚?

非常感谢!

  • HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_WAKEUP0,0x00010001);

    修改为下面一行代码之后,两个程序竟然都可以运行,这就很奇怪了,相当于不管我使用G19还是AD17 均可以完成CAN的通信工作。

    HW_WR_REG32(CSL_MPU_CORE_PAD_IO_REGISTERS_REGS+CSL_CONTROL_CORE_PAD_IO_PAD_DCAN1_RX ,0x00070000);

  • 所以第一个疑问是,上面引脚的初始化是否使用的是G20和AD17 引脚?

    查一下程序中配置的是哪个寄存器。参考TRM中给出的寄存器。

    Table 18-28. CTRL_MODULE_CORE Registers Mapping Summary