Other Parts Discussed in Thread: PROFIBUS
Hello,
we are using AM3359 MPU with PRU-ICSS block.
There we implemented the PROFIBUS protocol which is using PRU-UART peripheral.
The PRU-UART is configured to use no FIFO's and no interrupts.
For handling of receive part we are using LSR register and we are facing following issue there:
1. On first run of PRU everything is working, then we just disable the PRU.
2. For some time PRU is disabled (but communication on PROFIBUS line is still on-going).
3. SOFT-RESET of PRU
4. Loading of PRU-Code, clearing of DRAMs, SharedRAM and L3OCMC
5. Enabling of PRU
6. From PRU-Code, clearing of PRU internal registers (R0-R30)
6. From PRU-Code, reset of RX and TX parts on UART via PWREMU_MGMT register (just writing 0)
7. From PRU-Code, configuring of UART
8. From PRU-Code, unreset of UART via PWREMU_MGMT (just writting 0x6001)
Now we see, that LSR = 0xE1. This means, that RXFIFOE is set, but no other error register is set, which doesn't take sence (because PE, FE or BI is not set).
Also read of RBR is not helpful and we need to reset UART again.
First of all I want to ask, what does it mean that RXFIFOE is set, but no other errors are signalized, because this situation is not described in reference manual.
What is a reason of such a behaviour and how it can be fixed, that already first UART reset starts to work.
With best regards
Jiri