Networking and Communications


purposes
   location
   parallelism
   modularity
   interference

serial
   asynchronous
      RS-232, RS-422, RS-485
      components video
      hello.bus.45.bridge.cad board traces interior
      hello.bus.45.node.cad board traces interior
      hello.bus.45.c makefile
   I2C, TWI
      hardware master slave
      software
      hello.I2C.45.bridge.cad board traces interior
      hello.I2C.45.node.cad board traces interior
      components programming
   SPI
   USB
      hardware
         AVR LUFA
         STM32
      software
         V-USB

OSI layers
   7: application (HTTP)
   6: presentation (SSL)
   5: session (RPC)
   4: transport (TCP, UDP)
   3: network (IP)
   2: data link (MAC)
   1: physical (PHY)

physical media
   capacity
      bandwidth * log_2 (signal/noise)
   wired
      single-ended, differential, powerline
      open collector, open drain
      transmission (pass) gate, tri-state
      transmission line
      waveguide
      TIA RS232, 422, 485
      802.3 ethernet
         chip module
      SONET optical fiber
   wireless
      RF
         FCC Part 15 ISM
         802.11 Wi-Fi
         802.15 ZigBee
         6LoWPAN
         Bluetooth
      optical
         transmitter receiver
      acoustic

modulation
   PCM: Pulse-Code Modulation
   PPM: Pulse-Position Modulation
   OOK: On-Off Keying
   FSK: Frequency-Shift Keying
   BPSK: Binary Phase-Shift Keying
   QAM: Quadrature Amplitude Modulation
   OFDM: Orthogonal Frequency-Division Multiplexing
   FHSS: Frequency-Hopping Spread Spectrum
   DSSS: Direct-Sequence Spread Spectrum
   UWB:  Ultra-WideBand
   
channel sharing
   ALOHA
   Master-Slave
   Token Ring
   TDMA: Time-Division Multiple Access
   FDMA: Frequency-Divsion Multiple Access
   CSMA: Carrier-Sense Multiple Access
      CD: Collision Detection
      CA: Collision Avoidance
      1-persistent: transmit when clear
      nonpersistent: random backoff
      p-persistent: probability to transmit
   CDMA: Code-Division Multiple Access
   MIMO: Multiple-Input Multiple-Output
   "PDMA": Physical-Division Multiple Access

errors
   detection, correction
   block, convolution codes
   parity, checksum, Hamming, Reed-Solomon, Turbo

networking
   Internet protocols
      IPv4, IPv6
      DNS DHCP NAT private
      UDP, TCP
      HTTP
      BGP AODV ROLL
      sockets
         udpsnd.py udprcv.py
         udpsnd.c udprcv.c
      Wireshark
      SLIP
         slattach route
         hello.bus.45.SLIP.c makefile udp_slip.py video
      Internet 0
   asynchronous packet automata (APA)
      source routing + network coordinates + back-pressure flow-control + synchronous communication
      components video
      apa.ftdi.cad board traces interior apa.ftdi.c makefile
      apa.io.cad board traces interior apa.io.c makefile
      apa.c apa.h
      apa.py

RF
   radios
      oscillator, mixer, PA, LNA, IF, I/Q, demod, baseband, filters
   antennas
      Q, antenna gain, impedance matching
      FabFi
   single-chip
      MICRF102YM MICRF008YM
      MRF49XA-I/ST hello_radio
   modules
      ISM
      802.15.14
      Bluetooth
      Wi-Fi
   software radio

assignment
   design and build a wired &/or wireless network connecting at least two nodes