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.

PGA460: UART TXD speed accuracy

Part Number: PGA460

Hello,

Is the deviation of PGA460-Q1 UART TXD speed 4%?
In spec sheet, core frequency deviates 4%. That supposes UART also deviates 4%.
Microcontroller's typical UART receiver speed tolerance is supposed to be 1%.
I am wondering if deviation is really 4% and how MCU receiver can cover such tolerance.

Please help.

Best Regards,
Andy

  • Andy,

    There are two mechanisms used to ensure accurate UART communication with the PGA460:

    1. Sync Field Transmission:  There is a sync field that is sent as the first field in every frame that is transmitted by the microcontroller to the PGA460.  Based on the SYNC field sent by the microcontroller, the PGA460 calculates the bit width, which is defined as the number of internal oscillator clock periods that make up an entire bit of data transmitted by the microcontroller. The bit width is measured by counting the number of the PGA460 oscillator clocks in the entire length of the sync field data, and then dividing by 8.  Determining the bit width from the sync field is used to confirm the correct baud rate of the frame that is send by the master device.
    2. Checksum: A checksum field is transmitted as the last field of every UART frame.  On a microcontroller to PGA460 transmission, the checksum field must be calculated by the microcontroller and is checked by the PGA460 device. On a PGA460 to microcontroller transmission, the PGA460 device generates the checksum, which can be verified by the microcontroller.  The checksum can help detect a shift in the baud rate from the baud rate that was determined from the sync field transmission.

    Regards,

    Mekre

  • Hi Mekre, 

    Thanks for explaining PGA460 RXD speed tolerance. That's a great function.
    Although I want you to help about TXD character instead of RXD.

    As you asnwered in 1, PGA460 RXD uses autobaud to tolerate various UART speeds. Then does the MCU also needs autobaud to tolerate 4% speed deviation of PGA460?
    If so, that messes a MCU program.

    And your chapter 2, even if the checksum helped detecting received UART baud rate daviation error, it can not help PGA460 baudrate to be tuned to the MCU acceptable speed. PGA460 keeps outputting in daviated speed and error remains eternally. That can cause MCU suddenly looses communication to PGA460. I need to wipe out such fatal possibility.

    How much speed deviation is expected in PGA460 TXD output?
    MCU accepts only 1%.

    I am asking this because this unclear character can not be found out in desiging process. It can be found in wide speaded final products.
    If PGA460 really deviates 4% in TXD output speed, many failure products will appear in using place even though they had no problem in the factory inspection. Some PGA460 ran 1% deviation at factory but it would deviate 2% in using place by some temparature reason.
    My main MCU is Microchip PIC and its core clock speed is tuned to less than 1% deviation. And I got used to it. That's why I worry about PGA460 core clock 4% deviation and that supposedly affects internal UART logic speed.

    I beg you please let me understand PGA460 TXD speed accuracy.

    Best Regards,
    Andy

  • Andy,

    Just to verify, could you clarify what you mean by your MCU only accepting 1% deviation? When you mention the speed deviation, are you referring to the frequency jitter of the clock, the shift in the measured average frequency from the ideal average frequency (tolerance), or the total frequency (jitter + tolerance). 

    Regards,

    Mekre

  • Hi Mekre,

    I meant MCU accepting 1% deviation as the total frequency (jitter + tolerance).

    I am sorry. I rechecked MCU side acceptable UART speed and it was not mentioned so and I found 4% seems to be good enough.
    4/100 in 8 bits may not affect so much.

    I had a time my customer claimed me to tune UART speed 1%. That made my memory to be 1% tolerance but it was extraordinary demand.

    Thanks. I revised myself...

    Best Regards,
    Andy