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

F28379d IDDK board上CAN通讯问题

Other Parts Discussed in Thread:ISO1050, C2000WARE

请教一下大家

问题:can的隔离芯片ISO1050输出CAN-H、CAN-L电平一直是2.26v,没有变化,即没有输出?

是将例程can_ex4_simple_transmit.c加入自己的电机程序中。与CAN相关的程序如下:

//主程序中配置CAN

configureGPIO();
// CAN CAN CAN CAN
GPIO_setPinConfig(DEVICE_GPIO_CFG_CANRXA);
GPIO_setPinConfig(DEVICE_GPIO_CFG_CANTXA);

//
// Initialize the CAN controllers
//
CAN_initModule(CANA_BASE);

//
// Set up the CAN bus bit rate to 500kHz for each module
// Refer to the Driver Library User Guide for information on how to set
// tighter timing control. Additionally, consult the device data sheet
// for more information about the CAN module clocking.
//
CAN_setBitRate(CANA_BASE, DEVICE_SYSCLK_FREQ, 500000, 16);

//
// Initialize the transmit message object used for sending CAN messages.
// Message Object Parameters:
// CAN Module: A
// Message Object ID Number: 1
// Message Identifier: 0x95555555
// Message Frame: Extended
// Message Type: Transmit
// Message ID Mask: 0x0
// Message Object Flags: None
// Message Data Length: 4 Bytes
//
CAN_setupMessageObject(CANA_BASE, TX_MSG_OBJ_ID, 0x95555555,
CAN_MSG_FRAME_EXT, CAN_MSG_OBJ_TYPE_TX, 0,
CAN_MSG_OBJ_NO_FLAGS, MSG_DATA_LENGTH);

//总中断中发送数据
// Initialize the transmit message object data buffer to be sent
//
txMsgData[0] = 0x01;
txMsgData[1] = 0x23;
txMsgData[2] = 0x45;
txMsgData[3] = 0x67;
txMsgData[4] = 0x89;
txMsgData[5] = 0xAB;
txMsgData[6] = 0xCD;
txMsgData[7] = 0xEF;

//
// Start CAN module A operations
//
CAN_startModule(CANA_BASE);

//
// Transmit messages from CAN-A
//

CAN_sendMessage(CANA_BASE, TX_MSG_OBJ_ID, MSG_DATA_LENGTH, txMsgData);

程序编译没问题,同时运行时在CCS中看寄存器CAN_IF1DATA和CAN_IF1DATB中存在相应数据

相关图如下


是否可以说明程序没问题?

检查GPIO口的设置发现,C1-CAN-TX 接到了GPIO-30

                                         C1-CAN-RX 接到了GPIO-31

 但查阅用户手册,发现GPIO30 只有 CANRXA (I)

                                      GPIO31 只有CANTXA (O)

猜测是不是can的隔离芯片ISO1050接反导致的输出电平无变化?

相关图如下:

谢谢。

Susan Yang:

若是您怀疑是隔离芯片ISO1050接反导致的输出电平无变化的话,建议您测试TI的loopback例程

C2000Ware_3_04_00_00\device_support\f2837xd\examples\cpu1\can_loopback

,

user6510059:

我将芯片的RXD和TXD换过来焊接,已经能通信了,可以接收到数据。希望TI的工作人员能改进一下IDDK R2.2.1,谢谢。

赞(0)
未经允许不得转载:TI中文支持网 » F28379d IDDK board上CAN通讯问题
分享到: 更多 (0)