Skip to main content
deleted 2 characters in body
Source Link
Andy aka
  • 473.1k
  • 29
  • 383
  • 839

For a simple UART, the data speeds must be agreed upon beforehand but, to synchronize the receive clock with the data requires a clock that runs several times faster than the data rate. Synchronization takes place as follows: -

enter image description here

The "fast" clock in this example runs 12x8x faster than the databit rate and every positive edge of the clock it tests the data looking for a start bit. When that happens, the circuit waits 12 fast clock cycles and "measures" the value of the first bit. From that point, it would measure the data every 8th clock cycle. Here's a bit more detail with a UART that uses a 16x clock: -

enter image description here

I've not gone into some subtleties such as multiple symbol testing to ensure there isn't noise present.

For a simple UART, the data speeds must be agreed upon beforehand but, to synchronize the receive clock with the data requires a clock that runs several times faster than the data rate. Synchronization takes place as follows: -

enter image description here

The "fast" clock in this example runs 12x faster than the data rate and every positive edge of the clock it tests the data looking for a start bit. When that happens, the circuit waits 12 fast clock cycles and "measures" the value of the first bit. From that point, it would measure the data every 8th clock cycle. Here's a bit more detail with a UART that uses a 16x clock: -

enter image description here

I've not gone into some subtleties such as multiple symbol testing to ensure there isn't noise present.

For a simple UART, the data speeds must be agreed upon beforehand but, to synchronize the receive clock with the data requires a clock that runs several times faster than the data rate. Synchronization takes place as follows: -

enter image description here

The "fast" clock in this example runs 8x faster than the bit rate and every positive edge of the clock it tests the data looking for a start bit. When that happens, the circuit waits 12 fast clock cycles and "measures" the value of the first bit. From that point, it would measure the data every 8th clock cycle. Here's a bit more detail with a UART that uses a 16x clock: -

enter image description here

I've not gone into some subtleties such as multiple symbol testing to ensure there isn't noise present.

Source Link
Andy aka
  • 473.1k
  • 29
  • 383
  • 839

For a simple UART, the data speeds must be agreed upon beforehand but, to synchronize the receive clock with the data requires a clock that runs several times faster than the data rate. Synchronization takes place as follows: -

enter image description here

The "fast" clock in this example runs 12x faster than the data rate and every positive edge of the clock it tests the data looking for a start bit. When that happens, the circuit waits 12 fast clock cycles and "measures" the value of the first bit. From that point, it would measure the data every 8th clock cycle. Here's a bit more detail with a UART that uses a 16x clock: -

enter image description here

I've not gone into some subtleties such as multiple symbol testing to ensure there isn't noise present.