Help us improve the Power & Sensing Selection Guide. Share feedback

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Level 1
Level 1

I am trying to run the ASC BSL example program, but after sending a 0 byte, I never receive a 0xD5 byte.

I have connected a MAX 232 driver to the ASC_RXD and ASC_TXD lines (ports P1.4 and P1.5). I have made a project using the UART001 App and I can communicate in both directions with the board from a TeraTerm window in a PC. So I am sure my hardware setup is ok.

After calling the UART_Init function of my project, I can see in the oscilloscope that both RX and TX lines go to high state. Then I can see the data being sent with an SOF 0 bit at the beginning.

When I set the BSL switch to ON position and reset the card, I can see the RX line going to high state. But the TX line remains at 0 volts. I can see in the RX line the 0 value sent from the XMCLoad program in the PC, but the TX line always remains at 0 volts.

The XMCLoad program returns the message: "ERROR: ASC BSL initialization failed - quitting".

Is it normal that the TXD line is at 0 volts after switching ON the board with the BSL switch at ON position? What can be the reason of this problem?

Thank you very much in advance.
José Luis.
2 Replies
Not applicable
Hi José,

Are you connect directly to the pin or through the COM interface?
The P1.4 and P1.5 will go though a switch (U301 and U306) before go to the COM interface.
It is normal to see the TXD signal at 0V but the host should pull it up.
Perhaps you can check the signal at the pin directly after you connect with the Host?

By the way, what device on your Hexagon kit? Is it a AB device or AA13 device?
For AA13 device, the supported baud rate range from 19200 to 115000 bps.
Level 1
Level 1
Hi Jackson. Thank you very much for your answer.

I am using the CPU_45A-V2 board and the UNI_EXT01-V2 extension. I connect form the extension board to an external MAX232 driver. Only 4 wrappings are connected: +5V from pin 46, GND from pin 1, RXD from pin 27 and TXD from pin 29. I think this is enough.

The COM board is not connected at all. The DriveMonitor2 is not connected, so I think switches U301 and U306 are closed. As I told you, I can communicate properly with an Hyperterminal window in a PC, so I think all the hardware is ok.

As you say, "the host should pull the TXD signal up". I suppose you mean the XMC4500 is the host. As I said, my application pulls it up after calling the Init function. When starting the XMC in BSL mode, I can have no control over the TXD line. Can I? I was expecting that the XMC detects the BSL mode and pulls the TXD up. This should be done in order to be able to send a byte afterwords. Am I right?

Is it possible that the PC or the MAX232 have any influence in the TXD state? I don't think so.

Relating the speed, I am using your sample XMCLoad program in the PC, and I am initializing the serial port at 19200. I am not sure if my device is AB or AA13. How can I know?

I do not really know the reason of this problem. Any other clue will be appreciate.

Thank you again in advance.
José Luis.