Monday, May 26, 2014

Notes – Serial Protocols

On one ambitious day, shortly ago, I'd found some resources in technical academia online, namely as with regards to serial "wire protocols" developed in digital electronics. I'd like to share that small part of my student notes outline, here, that I think I should wish to make reference to that outline, later on, and that this small outline could be of any interest to the arbitrary reader.

Ed. Note: I'd cut and pasted the following outline from within my own student notes, originally on a mobile tablet computer. I'd used the uxWrite app, on an iOS mobile tablet, for these notes. The uxWrite app, effectively, ensured that the text I'd copied from the uxWrite app was represented in Markdown format, when it was pasted into the 'blog entry, in the blogTouch app. A study of application cut/paste protocols would be left as an exercise to the reader, as would the reformatting of this outline into HTML format, immediately.


  - Serial Peripheral Interface (SPI)

      - “Three wire” protocol (Clock, SOMI, SIMO) \[eLinux:BBSPI\]

      - Microelectronics

  - UART, USART \[Durda\]

      - UART: Universal *Asynchronous* Receiver/Transmitter

      - USART: Universal *Synchronous-Asynchronous* Receiver/Transmitter

      - Synchronous Rx/Tx between single sender and single receiver

          - Clock signal provided by sender

          - “Strobe” signal

      - Asynchronous Rx/Tx

          - “Start bit”

      - As UART protocols \[Durda\] RS232, EIA232 \[Strangio\]

          - EIA232

              - Update of RS232

              - Conventionally, uses a modem interface

              - 22 pin (including ground) serial protocol with flow control and secondary data channel (e.g used for retransmit after parity error) using DB25 connectors

              - 9 pin (including ground) serial protocol with flow control, using DB9 connectors

  - PWM

  - I2C \[Magda\]

      - Multiple devices per I2C channel

      - “Two wire” protocol (SCL, SDA)

      - ***Compare***: TWI \[[Wikipedia](http://en.wikipedia.org/wiki/I%C2%B2C)\]

  - Serial ATA \[Lee\] (SATA)

      - 1.5 Gb/s, 3 Gb/s, 6 Gb/s

  - PCI Express \[Lee\] (PCIe)

      - PCIe 2 : 5 Gb/s

      - PCIe 3 : 8 Gb/s

Works referenced:

\[eLinux:BBSPI\] Embedded Linux Wiki. *BeagleBoard/SPI*. 2013. [Available (HTTP)](http://elinux.org/BeagleBoard/SPI). Accessed 9 May 2014

\[Durda\] Durda, Frank. *Serial and UART Tutorial*. 2014. [Available (HTTP)](https://www.freebsd.org/doc/en/articles/serial-uart/). Accessed 9 May 2014

\[Strangio\] Strangio, Christopher E. *The RS232 Standard, A Tutorial with Signal Names and Definitions*. 2012. [Available (HTTP)](http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html). Accessed 9 May 2014

\[Magda\] Magda, Yury. *Raspberry Pi Measurement Electronics: Hardware and Software*. 2014. Kindle edition.

\[Palermo\] Palermo, Samuel. *High-Speed Serial I/O Design for Channel-Limited and Power-Constrained Systems*.

\[Lee\] Lee, Edward W. *High-Speed Serial Data Link Design and Simulation.*