cancel
Showing results for 
Search instead for 
Did you mean: 

X-NUCLEO-PLM01A1: ST7580 TX/RX not continuous, no data reception, TX_ON/RX_ON LEDs not blinking

Midhul_Pk
Associate II

Hello,

I am working with two X-NUCLEO-PLM01A1 PLC expansion boards, each connected to a different STM32 MCU board.

Hardware setup:

  • Transmitter MCU: STM32C092CBT6

  • Receiver MCU: STM32G070CBT6

  • PLC modem: ST7580 on both X-NUCLEO-PLM01A1 boards

  • Both boards are connected over the same power line

Problem description:

  • I am trying both DL mode and physical data transmission.

  • Data transmission is not continuous.

  • The receiver board does not receive correct data (data is corrupted or not received).

  • The TX_ON and RX_ON LEDs on both X-NUCLEO-PLM01A1 boards remain LOW and do not blink during transmission or reception.

  • The ST7580 IC replies on SPI/UART, but no proper PLC data transfer occurs.

Additional observation:

  • I also tried using the ST-provided API / middleware available on the ST website, but the transmission gets stuck with a transmission error and does not complete successfully.

Observations:

  • SPI/UART communication between MCU and ST7580 is working.

  • T_REQ behavior has been checked.

  • Despite transmission attempts, TX_ON and RX_ON LEDs never indicate activity.

Questions:

  1. What are the possible reasons for TX_ON and RX_ON LEDs staying LOW?

  2. Are there any mandatory ST7580 configuration registers that must be set for continuous transmission?

  3. Are there known issues or differences when using different MCU families (STM32C0 vs STM32G0) with X-NUCLEO-PLM01A1?

  4. Is there any recommended initialization or timing sequence required before starting DL or physical data transmission?

  5. Could this be related to line coupling, impedance, or hardware configuration on the X-NUCLEO-PLM01A1?

  6. Are there any known limitations or required adaptations when using the ST7580 API on non-reference MCU boards?

Any guidance, reference designs, or example configurations would be very helpful.

Thank you in advance.

6 REPLIES 6
Andrew Neil
Super User

It's not clear what "UART communication" you're talking about here?

Is it:

  • between the two STM32 boards? 
  • between the STM32 boards and something else? 
  • Over the PLC link?

 

A diagram would provide a much clearer description...

 

PS:

Also, what boards are your STM32s on, etc?

 

How to write your question to maximize your chances to find a solution

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Let me clarify the issue more precisely.

I am using two identical setups, each consisting of:

  • One STM32 board

  • One X-NUCLEO-PLM01A1 (ST7580 PLC modem)

  • On the transmitting side, UART communication between the STM32 and the ST7580 works initially, but data transmission is not continuous. After some packets, transmission stops.

  • On the receiving side, the STM32 does not receive any data at all from its local ST7580 modem.


@Midhul_Pk wrote:

Let me clarify the issue more precisely.


Again, a diagram would be more helpful!

 

You still didn't say what STM32 boards you are using.

 


@Midhul_Pk wrote:
  • On the transmitting side, UART communication between the STM32 and the ST7580 works initially, but data transmission is not continuous. After some packets, transmission stops.

How do you determine that?

 

Before adding the complications of PLC, did you test plain wired comms direct between the STM32 UARTs?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
TDK
Super User

The UART capabilities of the STM32C092 are functional. If your project is experiencing issues, it is likely due to the code on the chip.

I recommend following some working example projects to understand how UART communication works.

If execution is stopping, debug your project using a debug configuration. Pause the code when it encounters an error and examine the state of the chip to see the reason for stopping.

 

A common bug with user code and UART is overflow. Check for the OVR flag. A band aid solution would be to clear the flag but the proper solution is to ensure overflow never happens in the first place by improving your code or following example projects.

If you feel a post has answered your question, please click "Accept as Solution".

The transmission board MCU is STM32C092, and the reception board MCU is STM32G072.

 

The PLM board is responding and detecting two boards, but data transmission (DL and PHY) to the reception board is not working properly.

 

The reception board is not receiving any data.


@Midhul_Pk wrote:

The transmission board MCU is STM32C092, and the reception board MCU is STM32G072.

 

 Those aren't even full MCU part numbers, and that still doesn't tell us anything about the boards.

Again, please read How to write your question to maximize your chances to find a solution - if they are ST Boards, state what they are (eg, full Nucleo name); if they are 3rd party, give a link to full details; if they are custom, post the schematics.

 

See here for some tips on debugging UART comms.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.