Difference between revisions of "Microcontroller Serial Communications Articles"

From OpenCircuits
Jump to navigation Jump to search
(mention Local Interconnect Network)
(mention bootloader, etc.)
 
(One intermediate revision by one other user not shown)
Line 25: Line 25:
  
 
* [[SPI]] is a popular protocol for many small peripheral chips
 
* [[SPI]] is a popular protocol for many small peripheral chips
 +
 +
* [[I2C]] is another popular protocol for many small peripheral chips
  
 
* [[CAN bus]] is designed to allow low-cost devices to communicate with each other within a vehicle without a host computer.
 
* [[CAN bus]] is designed to allow low-cost devices to communicate with each other within a vehicle without a host computer.
  
 
* Local Interconnect Network (LIN) is designed to be even lower-cost than CAN bus. Some large systems use many simple sensors in low-cost LIN sub-networks, then connect the single master of each LIN sub-network with CAN or some other backbone network.
 
* Local Interconnect Network (LIN) is designed to be even lower-cost than CAN bus. Some large systems use many simple sensors in low-cost LIN sub-networks, then connect the single master of each LIN sub-network with CAN or some other backbone network.
 +
 +
* The [[1-wire]] network is designed to be an even lower-cost network for small peripheral chips
 +
 +
* The [[Servo control]] system for remote-control vehicles
 +
 +
* [[JTAG]] is often used for programming and debugging.
 +
 +
Often a serial protocol is the interface between 2 programs in 2 completely different [[Programming Languages]].
 +
It makes debugging much easier if the communications protocol is human-readable and human-writable.
 +
 +
Some microcontrollers have enough resources that
 +
the "application-level" data interface, the debugging interface ("debug port"), and the programming interface
 +
can each use completely separate, dedicated pins.
 +
Sometimes the same serial interface
 +
can be used for both "application-level" data (sensor data, motor torque / speed, PID settings, etc.) as well as debugging information.
 +
Once a microcontroller has been programmed with a bootloader,
 +
sometimes the same serial interface can also be used to send new software to the microcontroller.
 +
(Preferably the application protocol, the debug protocol, and the bootloader protocol
 +
can be easily distinguished so that a little debug information can squeeze in between bursts of application data,
 +
and neither one accidentally triggers the bootloader.
 +
).
  
 
== Microcontroller Projects that Use Serial Communications ==
 
== Microcontroller Projects that Use Serial Communications ==
Line 45: Line 68:
  
 
== Other Readings ==
 
== Other Readings ==
 +
 +
* [[Projects#Audio as sensor data format]]: sending data as audio has many similarities (and some key differences) from sending data as binary Hi and Lo pulses.
 +
* [[Radio communication]] has many similarities (and some key differences) from sending data as binary Hi and Lo pulses.
 +
* Many [[Modules]] use serial communication
 +
* [[PC-Microcontroller Communications]] often use serial communication
 +
* [[Expansion bus]] discusses parallel communication, which was once far more common.
  
 
*[http://en.wikibooks.org/wiki/Serial_Programming Serial Programming -- From Wikibooks, the open-content textbooks collection]
 
*[http://en.wikibooks.org/wiki/Serial_Programming Serial Programming -- From Wikibooks, the open-content textbooks collection]

Latest revision as of 11:30, 11 April 2025

We have several related articles about Microcontroller Serial Communications on this site. These articles themselves have many links off site.

  • Microcontroller Serial Communications Articles this article, the a root for the articles on the site.
    • RS232/USB Probe an application with much of the functionality of a terminal emulator but with specialized extensions for for MicroController command response control. The basis for a series of more specialized applications. See it for information on installation of all the applications and for access to the bug and enhancement list.
    • USB Bit Whacker Brief discussion of this interesting development board with built in USB communications.


  • RS232 a discussion of some of the theory behind Microcontroller Serial Communications. The PC side of this is implemented by RS232/USB Probe and its related applications.
  • PC-Microcontroller Communications an article on some of the technology of microcontroller communications and lots of external links. List of terminal emulators and alternatives to Hyper Terminal.
  • SPI is a popular protocol for many small peripheral chips
  • I2C is another popular protocol for many small peripheral chips
  • CAN bus is designed to allow low-cost devices to communicate with each other within a vehicle without a host computer.
  • Local Interconnect Network (LIN) is designed to be even lower-cost than CAN bus. Some large systems use many simple sensors in low-cost LIN sub-networks, then connect the single master of each LIN sub-network with CAN or some other backbone network.
  • The 1-wire network is designed to be an even lower-cost network for small peripheral chips
  • JTAG is often used for programming and debugging.

Often a serial protocol is the interface between 2 programs in 2 completely different Programming Languages. It makes debugging much easier if the communications protocol is human-readable and human-writable.

Some microcontrollers have enough resources that the "application-level" data interface, the debugging interface ("debug port"), and the programming interface can each use completely separate, dedicated pins. Sometimes the same serial interface can be used for both "application-level" data (sensor data, motor torque / speed, PID settings, etc.) as well as debugging information. Once a microcontroller has been programmed with a bootloader, sometimes the same serial interface can also be used to send new software to the microcontroller. (Preferably the application protocol, the debug protocol, and the bootloader protocol can be easily distinguished so that a little debug information can squeeze in between bursts of application data, and neither one accidentally triggers the bootloader. ).

Microcontroller Projects that Use Serial Communications

Other Readings