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.

TL16C450: External Oscillator Selection

Part Number: TL16C450

Hi TI Team,

For TL16C450, we have requirements for UART Baud rates of 9.6kbps, 38.4kbps, 115.2kbps.

Please let us know if we are good to go with an oscillator part (SG-8018CG 3.0720M-TJHSA0) of 3.072 MHz with +/- 50ppm for our application to support all these baud rates.

Also, if you have some better OSC/XTAL parts, please suggest them to us.

Thanks in Advance.

  • Hi Arijeet,

    That oscillator should be fine, the main requirement is your clock needs to be 16x faster than your fastest baud rate you need to support. the 115.2kbps means you need a 1.8432M clock input or larger. You'll just need to modify the DLL/DLH register accordingly.

    -Bobby

  • Hi Bobby, 
    Thanks for the reply.

    Got it. If we are going with a 1.8432MHz oscillator we will have divisor=1 for the desired frequency=115200.

    Please help me in clearing this doubt; If we are going with a 3.072MHz oscillator, we will have divisor=1.667 (considering it as 2 )for the desired frequency=115200 which is a divisor in the range between 1 and (2^16 - 1). But the error % is coming to 19.97%, is this good to proceed with this config.?

    Please correct me if I am wrong, also please suggest to us the stability factor, load capacitance for the Oscillator/XTAL part to be selected, or any specific part no. / oscillator frequency you want to suggest us for our application.

    Thanks in advance.

  • Artijeet,

    I believe the mismatch/error would be calculated by doing (115200-96000)/115200 = 16.7%
    96000 = 3.072MHz/(16x2)   // 2 from the DLL divisor and 16x from the device's sampling rate

    I believe if you have a larger data packet, this could cause a sampling error, this doesn't take into account differences between the other UART device's baud rate mismatch....

    I think your concern is valid, we should probably try to target an error of less than 5% atleast.... to assume the other device is also at 5%
    This article discusses margin but assumes a data byte packet of 9 bits: https://www.robotroom.com/Asynchronous-Serial-Communication-2.html

    Maybe something that is 10x of the max baudrate would be better instead like a 18.432MHz oscillator would be better: Digikey link of choices here (click me)

    This would give us integer values of the divisors for 9.6k = 120, 38.4k = 30, and 115.2k = 10 so in theory we could have 0% error. 

    " stability factor, load capacitance for the Oscillator/XTAL part to be selected"

    The oscillator you selected shouldn't require a load capacitor since you aren't using a crystal.  I recall Stability factor is something you calculate when you are trying to create you're own oscillator circuit, this isn't something you would do since its incorporated in your oscillator already. Load cap for the oscillator would be the suspected capacitive loading between the output and the input of XTAL1 of our device, some oscillator datasheet may spec drive strengths related to this load cap value.

    -Bobby

  • Hi Bobby,
    Thanks for the suggestion.

    We have selected an XO. Spec: Osc, XO, 18.432MHz, +/- 20ppm, 3.3V, CMOS, 15pF, SMD; 
    Hope this will work for us.