home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / sci / electron / 15319 < prev    next >
Encoding:
Internet Message Format  |  1992-09-08  |  1.4 KB

  1. Path: sparky!uunet!portal!cup.portal.com!dbell
  2. From: dbell@cup.portal.com (David J Bell)
  3. Newsgroups: sci.electronics
  4. Subject: Re: How does a UART do it...
  5. Message-ID: <65414@cup.portal.com>
  6. Date: Mon,  7 Sep 92 11:21:34 PDT
  7. Organization: The Portal System (TM)
  8. Distribution: world
  9. References:  <18ff9hINNa5b@grapevine.EBay.Sun.COM>
  10. Lines: 24
  11.  
  12. >Given a stream of 1s & 0s, how does a UART get the character framing
  13. >established, i.e. how is the 'start' bit differentiated from all the
  14. >others? (I want to emulate one in software)
  15.  
  16. >Steve
  17.  
  18. The 'start' bit is the first transition from the resting state. If
  19. I remember the archaic terms correctly, the line rests in the SPACE
  20. condition, and the start bit is *always* a MARK, and is the first
  21. bit transmitted (obviously :{) ). Given the baud rate, the UART
  22. counts out N/2 (N is commonly 16) clocks at N*Baud frequency, and
  23. verifies that the current state is *still* a MARK. Subsequent reads
  24. are then done at N clock intervals, and the 10'th read verifies that
  25. the 'stop' bit is a SPACE. This makes it sample in the middle of
  26. each bit cell, and checks leading and trailing framers. I believe
  27. it then *immediately* resets to the waiting-for-start state, and
  28. loops as above...
  29.  
  30. Auto Baud detection is sort of magic; it usually requires the
  31. firmware to keep trying various rates until a reasonable and 
  32. correctly framed character is received.
  33.  
  34. Dave
  35. dbell@cup.portal.com
  36.