CP316, SPI, and I 2 C Communication Wilfrid Laurier University February 12, 2013
QwikFlash modules
QwikFlash modules ramifications???
QwikFlash modules ramifications??? interrupts; transmit and receive
QwikFlash modules ramifications??? interrupts; transmit and receive Sections 6.4.5 to 6.4.7
QwikFlash modules ramifications??? interrupts; transmit and receive Sections 6.4.5 to 6.4.7 Section 8.2
2 wires, one-to-one
2 wires, one-to-one EIA232 (RS232)
2 wires, one-to-one EIA232 (RS232) Section 9.3
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1 asynchronous mode
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1 asynchronous mode Section 9.4.2
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1 asynchronous mode Section 9.4.2 asynchronous mode to EIA232
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1 asynchronous mode Section 9.4.2 asynchronous mode to EIA232 Section 9.4.5
2 wires, one-to-one EIA232 (RS232) Section 9.3 registers Section 9.4.1 asynchronous mode Section 9.4.2 asynchronous mode to EIA232 Section 9.4.5 Section 16.0
EIA232 summary
EIA232 summary 2 wires (+ ground), one-to-one
EIA232 summary 2 wires (+ ground), one-to-one TX
EIA232 summary 2 wires (+ ground), one-to-one TX RX
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices At least one start bit
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices At least one start bit At least one stop bit
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices At least one start bit At least one stop bit voltage levels not TTL; inverted (normally)
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices At least one start bit At least one stop bit voltage levels not TTL; inverted (normally) (except TTL serial devices)
EIA232 summary 2 wires (+ ground), one-to-one TX RX Fixed baud rate, common to both devices At least one start bit At least one stop bit voltage levels not TTL; inverted (normally) (except TTL serial devices) packets are single characters
Qwikflash UART connections
Qwikflash UART connections
2 modes; SPI and I 2 C
2 modes; SPI and I 2 C Section 15.0-15.2
SPI
SPI 3 wires +chip select, master-slave
SPI 3 wires +chip select, master-slave overview
SPI 3 wires +chip select, master-slave overview Section 10.2
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers Section 10.3.1
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers Section 10.3.1 operation
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers Section 10.3.1 operation Sections 10.3.2 to 10.3.5
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers Section 10.3.1 operation Sections 10.3.2 to 10.3.5 Section 15.3
SPI 3 wires +chip select, master-slave overview Section 10.2 SPI registers Section 10.3.1 operation Sections 10.3.2 to 10.3.5 Section 15.3 QwikFlash MAX522 DAC
SPI summary
SPI summary 3 wires (+ ground), one-to-many
SPI summary 3 wires (+ ground), one-to-many SCLK (from master)
SPI summary 3 wires (+ ground), one-to-many SCLK (from master) SDO (serial data out)
SPI summary 3 wires (+ ground), one-to-many SCLK (from master) SDO (serial data out) SDI (serial data in)
SPI summary 3 wires (+ ground), one-to-many SCLK (from master) SDO (serial data out) SDI (serial data in) CS for each device, generated by master
SPI summary 3 wires (+ ground), one-to-many SCLK (from master) SDO (serial data out) SDI (serial data in) CS for each device, generated by master data transmission rate set by SCLK
SPI summary 3 wires (+ ground), one-to-many SCLK (from master) SDO (serial data out) SDI (serial data in) CS for each device, generated by master data transmission rate set by SCLK packets are single characters
Qwikflash SPI connections
Qwikflash SPI connections
I 2 C
I 2 C 2 wires, master-multiple slave
I 2 C 2 wires, master-multiple slave overview
I 2 C 2 wires, master-multiple slave overview Section 11.2
I 2 C 2 wires, master-multiple slave overview Section 11.2 I 2 C module
I 2 C 2 wires, master-multiple slave overview Section 11.2 I 2 C module Sections 11.3 to 11.6
I 2 C 2 wires, master-multiple slave overview Section 11.2 I 2 C module Sections 11.3 to 11.6 Section 15.4
I 2 C summary
I 2 C summary 2 wires (+ ground), one-to-many
I 2 C summary 2 wires (+ ground), one-to-many SCL (from master)
I 2 C summary 2 wires (+ ground), one-to-many SCL (from master) SDA (serial data)
I 2 C summary 2 wires (+ ground), one-to-many SCL (from master) SDA (serial data) data transmission rate set by SCL
I 2 C summary 2 wires (+ ground), one-to-many SCL (from master) SDA (serial data) data transmission rate set by SCL address for each device, preset (but possibly programmable)
I 2 C summary 2 wires (+ ground), one-to-many SCL (from master) SDA (serial data) data transmission rate set by SCL address for each device, preset (but possibly programmable) packets are complex; address of recipient, read or write, data (variable number of bytes)
Qwikflash I 2 C connections
Qwikflash I 2 C connections
overview
overview reasons
overview reasons NIB
PORT configuration
PORT configuration macro or subroutine?
PORT configuration macro or subroutine? Initiallization
PORT configuration macro or subroutine? Initiallization macro or subroutine?
PORT configuration macro or subroutine? Initiallization macro or subroutine? Write to device
PORT configuration macro or subroutine? Initiallization macro or subroutine? Write to device macro or subroutine?
PORT configuration macro or subroutine? Initiallization macro or subroutine? Write to device macro or subroutine? Read from device
PORT configuration macro or subroutine? Initiallization macro or subroutine? Write to device macro or subroutine? Read from device macro or subroutine?