Showing posts with label SPI. Show all posts
Showing posts with label SPI. Show all posts

Monday, June 30, 2014

Resource Note - Digital Serial Bus Technologies - I2C

In a context of digital electronics, a brief couple of resources bout the I2C serial bus protocol:
  • Blozis, Steve and Jean-Marc Irazaba. I2C Logic Family Overview . Philips. 2004
    • Extensive presentation, even in its "slide format"
    • Provides a thorough technical overview about I2C as a serial bus protocol
    • Contains some useful "Best practice" advice, e.g. with a reference to the NXP P82B96 Dual bidirectional bus buffer
  
  •  Blozis, Steve and Jean-Marc Irazaba. I2C Manual. Philips. 2003
    • Provides an overview and comparison onto other serial bus protocols
      • UART
      • SPI
      • CAN
      • USB
      • IEEE-1394 Firewire
      • SMBUS
    • A survey of individual connectors for cables in circuits using those protocols is available from Western Digital: WD Interface Guide (HTML)  (PDF)
    •  Thorough explanation of theory and technology represented in the I2C serial bus protocol
    • Observe that the I2C serial bus, in bidirectional bus operation, may be operated at one of three individual rates of clock timing -- maximum clock rates:
      • 100 kbit/s (Standard-mode / Sm)
      • 400 kbit/s (Fast-mode / Fm)
      • 1 Mbit/s (Fast-mode Plus / Fm+
      • 3.4 Mbit/s (High-speed mode / Hs-mode)
    • In unidirectional bus operation, the bus may be operated in Ultra Fast-mode (UFm) at a maximum clock rate of 5 Mbit/s
    • A multi-master I2C  protocol, effectively, would require a bidirectional mode of I2C bus operation

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.*