This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

baud rate setting.

while calculating the value to be loaded in TH1 for baud rate setting we are dividing a no 28800 with 32.what is the reason for dividing with 32.

please clear my doubt

Parents
  • Sounds like homework, but anyway...
    Some UART's I've seen sample incoming data at 16 times the baud rate. Then they apply some kind of simple noise filtering to derive the received data bit. You also need higher sampling frequency to accurately detect the edge of the start bit.
    This requires that the UART is clocked at 16 times the baud rate or a multiple of that frequency. The 8051 UART is clocked at 32 times the baud rate, or 2 times the sampling clock. Why the factor of 2? I don't have an answer to that question, but there can be many plausible explanations. You'd have to study an actual implementation of an UART to see which one applies.

Reply
  • Sounds like homework, but anyway...
    Some UART's I've seen sample incoming data at 16 times the baud rate. Then they apply some kind of simple noise filtering to derive the received data bit. You also need higher sampling frequency to accurately detect the edge of the start bit.
    This requires that the UART is clocked at 16 times the baud rate or a multiple of that frequency. The 8051 UART is clocked at 32 times the baud rate, or 2 times the sampling clock. Why the factor of 2? I don't have an answer to that question, but there can be many plausible explanations. You'd have to study an actual implementation of an UART to see which one applies.

Children