Communication:
I2C(Inter-Integrated Circuit)
SPI(Serial Peripheral Interface):
UART(Universal Asynchronous Receiver/Transmitter)
USART(Universal Synchronous/Asynchronous Receiver/Transmitter)
PWM(Pulse Width Modulation)
ADC(Analog to Digital Conversion)
DAC(Digital to Analog Conversion)
Term:
- baud rate: speed of data transfer, often in bits per second (bps)
- data bus: vehicle to move data
- start bit: as described below, start bit often HIGH for Idle mode and switch to LOW for Transmitting
- parity bit: to check if number of 1 is even or odd
- stop bit: a bit to acknowledge the packet is sent
- Packet: a combination of data and conditional bits.
- PCI: Peripheral Component Interconnect, we use this controller to connect other devices to our computer.
SPI:
Synchronous
Using 4 wires
MOSI - master out slave in
MISO - master in slave out
SCLK - synchronous clock
SS/CS -
Advantage: transfer without interruption
UART and I2C transmit data using packets
(source: intel.com)
I2C:
SDA (Serial Data): wire to send and receive data
SCL (Serial Clock): carry clock signal
So I2C using address data block to select the slave
The tutorial on Circuit Basics explain very well