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 两个引脚?
非常感谢!
xiaolin shen:
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);
,
Nancy Wang:
xiaolin shen 说:所以第一个疑问是,上面引脚的初始化是否使用的是G20和AD17 引脚?
查一下程序中配置的是哪个寄存器。参考TRM中给出的寄存器。
Table 18-28. CTRL_MODULE_CORE Registers Mapping Summary