This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Peripherals Connected on EMIFA at 25mhz

Other Parts Discussed in Thread: OMAP-L138, TL16C754C

Hi,

We are using OMAP-L138.

We have interfaced a CPLD and 4-Channel External UART Controller (TL16C754C from TI) on EMIFA.

At every 31.25uS rate GPIO will be toggled to inform EDMA to perform read from a register.

When we enable reading from CPLD at the above rate and reading from UART (Baudrate 9600) we are seeing data bytes being dropped on UART.

The read from UART is a CPU read.

I am in the coarse of finding what is causing this issue and does the bandwidth of EMIFA running at 25MHz will allow this kind of configuration or not.

Please let me know if you have any ideas.

Regards,

GSR

  • GSR,

    I didn't understand the architecture 100%. But what I assume is that you are reading the UART FIFO every 31.25us using DMA. Before that, I have few basic questions about your interface. 

    1. Is transmit working properly for you?

    2. Which is the operating system that you are using for this?

    3. Are you seeing corruption is random bytes? Or are you not even able to see one byte properly?

    4. Have you explored increasing the GPIO toggling frequency from 31.25 us to 1000us(1ms)?

  • Hi Renjith,

    Thank You for the reply and your time.

    We have interfaced two peripheral via EMIFA using different chip selects.

    CPLD is interfaced via CS2 and 4-Channel External UART Controller is interfaced on CS5.

    From CPLD the data will be available at a rate of 31.25uS (MAX). So, we have configured EDMA to read from CPLD. CPLD will toggle one of the L138 GPIO as a Event.

    UART is set to 9600 baudrate but ideally we need to support upto 115200 baud rate. 

    Answers to your points

    1. Transmit we are currently sending less than 64 bytes, so this issue not seen
    2. Windows CE 6.0 OS
    3. I guess it's not corruption but bytes being dropped
    4. No, I will give a try on this
    Regards,
    GSR
  • Have you brought in CPLD to mux the interrupt lines INTA, INTB, INTC and INTD from UART controller?

    What is the relation between the CPLD and UART controller?

    Why do you need CPLD's help if you have four hardware interrupts available from UART controller?

  • Hi,

    I need to provide that information because as it appears for me as a System Level Issue.

    When we operate one of the channel from UART and Read from CPLD we are seeing bytes being dropped from UART.

    Regards,

    GSR

  • GSR,

    Is it possible to share the portion of the schematics where you connect CPLD and UART controller with the host? It will give a better idea. You can send it to renjith.thomas@pathpartnertech.com if you not okay posting it.