Connect IXXAT can-to-usb fd to STM32H757I-EVAL bootloader

I have installed all of the linux drivers on kubuntu 18.08 and can successfully talk to the IXXAT usb-to-can fd V1.0. The USB light is green. Before running any code the CAN light is off, after running code the CAN light blinks red. I have connected CAN-L, CAN-H, and ground between the IXXAT can-to-usb fd and the STM32H757I-EVAL. I have a scope connected on the receive pin of the MCP2562FD. The scope says the baud rate is 1Mbaud. From the data sheets the STM32H757I-EVAL wants a bit-rate of 0.5 Mbps, FrameFormat = FDCAN_FRAME_FD_BRS, Mode = FDCAN_MODE_NORMAL, AutoRetransmission = ENABLE, TransmitPause = DISABLE, ProtocolException = ENABLE. I have tried to set bBtReg0, bBtReg1, and sBtpSdr to 500KB, but the scope always measures 1Mbaud. How do I set the baud rate?

Hello @james.henrie,

Do you have terminating resistors on the bus? You should have two 120Ω on both ends.

Is your eval board sending any traffic itself or is just the usb to can sending messages?

Have you looked at ECI_CANINITLINE in the help for info on the bitrate? This is included with the ECI download.

ECI_cantype.h also includes the baud rates

Deryck

Deryck, thanks for the response. Got the baud rate set to 0.5 Mbps. Verified it with the scope.

I do have two 120Ω on both ends.

The eval board is suppose to send traffic.

The CAN light still blinks red.

I have captured and attached a scope trace. The usb-to-can sends a message with id=0x1 (cmd get version) with a length of 0 see AN5405 for more details. The eval board should respond with a ACK (0x79) or NACK (0x1f). The scope is connected between the stm32 and the can transceiver chip. The blue trace is transmitted by the usb-to-can. The red trace is transmitted by the stm32.

I looked over this with a colleague and he is thinking this could be an issue with the config on the SEM32H7 side or more likely the messages sent from the USB to CAN. He is thinking the usb to CAN is sending standard can frames while the STM bootloader is configured for CANFD.

As you mention the bootloader uses 500kBD but we do not know if this stays this way or not. The STM it might be using bit rate switching.

The screen shot shows the analyzer with a valid data for CAN but not CAN FD.

You most likely will need to set the ECI_CAN_FEATURE_EXTDATA flag this would imply CAN FD BRS set to 0. Whereas ECI_CAN_FEATURE_FASTDATA would imply BRS is set to 1.There are also flags for the messages. ECI_CAN_MSGFLAGS_EDL & ECI_CAN_MSGFLAGS_BRS & ECI_CAN_EXMODE_EXTDATA & ECI_CAN_EXMODE_FASTDATA that might need to be considered.

We might be able to help you better if you submitted this query to mysupport.hms.se This will more easily allow me to pull in the ixxat support team.

Deryck

Thanks! Created case # 202007-17923.