Serielle Schnittstellen
Kapitel 1: Einleitung
1.1. I2C
111.2. SPI
121.3. One-Wire
14
Kapitel 2: Demo-Boards
2.1. DemoBoard2015
2.1.1 Hardware
2.1.1.1 Die Einspeisung
192.1.1.2 Die Tastatur
192.1.1.3 Das Display
202.1.1.4 I2C-Bus
202.1.1.5 SPI-Bus
222.1.1.6 OneWire-Bus
222.1.1.7 Custom Port
23
2.1.2 Firmware
2.1.2.1 Die Initialisierung
252.1.2.2 Menü I2C
252.1.2.3 Menü SPI
262.1.2.4 Menü OneWire
262.1.2.5 Menü Setup
27
2.2. EasyMaster2016
2.2.1 Hardware
282.2.2 Firmware
312.2.3 Programmierung des EasyMaster2016
31
2.3. Die Mechanik
32
Kapitel 3: Der I2C-Bus
3.1 I2C-Grundlagen
3.1.1. I2C-Hardware
353.1.2. I2C-Kommunikation
353.3.1. I2C-Steuerregister
39
3.3.1.1. SSPxCON1
393.3.1.2. SSPxCON2
403.3.2. I2C-Initialisierung mit PIC18LF26K22
413.3.3. I2C-Initialisierung mit PIC16F1829
413.4. Daten senden und empfangen
3.4.1. Kommunikation in der Monarchie
3.4.1.1. i2c_start
453.4.1.2. i2c_stop
453.4.1.3. i2c_send
463.4.1.4. i2c_receive
473.4.1.5. i2c_ack
483.4.1.6. i2c_not_ack
483.4.1.7. i2c_restart
49
3.4.2. Regelkonforme Kommunikation
3.4.2.1. Testen des Trigger-Bits
503.4.2.2. Testen des Interrupt-Flags
53
3.5. Die I2C-Routinen
563.6. GPIO
3.6.1. Drei Gruppen
3.6.1.2. Gruppe A - quasi bidirektionale GPIOs
573.6.1.3. Gruppe B - Push-Pull-GPIO
583.6.1.4. Gruppe C - Led Drivers
60
3.6.2. Überblick
613.6.3. Die Gruppe A
3.6.3.1 PCF8574 als Ausgang verwenden
653.6.3.2 PCF8574 als Eingang verwenden
663.6.3.3 PCF8574 mit Interrupt verwenden
683.6.3.4. PCF8574 und DemoBoard2015
703.6.3.5. PCF8574 und EasyMaster2016
723.6.3.6 PCF8575
733.6.3.7. PCF8575 und DemoBoard2015
77
3.6.3.7. PCF8575 und EasyMaster2016
773.6.4. Die Gruppe B
3.6.4.1. Texas Instruments ICs der Gruppe B
793.6.4.2. PCA6107 und DemoBoard2015
853.6.4.4. PCA6107 und EasyMaster2016
863.6.4.5. PCF8574 mit PCA6107 und EasyMaster2016
893.6.4.6. Andere Mitglieder der Familie
913.6.4.7. Microchip ICs der Gruppe B
933.6.4.8. MCP23008
943.6.4.9. MCP23009
973.6.4.10. MCP23016, MCP23017 und MCP23018
99
3.6.5. Die Gruppe C
3.6.5.1. Bedienung des Chips PCA953x / 955x
1073.6.5.2. PCA95x3 und DemoBoard2015
110
3.7. LED Display Driver - MAX6959
3.7.1. MAX6959 mit dem EasyMaster2016
115
3.8. RTC
3.8.1. DS1307
3.8.1.1. Schreiben in den DS1307
1203.8.1.2. Lesen aus dem DS1307
1223.8.1.3. Verwenden des RAM-Speichers
124
3.8.2. M41T00CAP
1243.8.3. MCP7940N
1253.8.4. ISL12022M
3.8.4.1. Schreiben in der ISL12022
1303.8.4.2. Lesen aus dem ISL12022
134
3.8.5. RTC und DemoBoard2015
1363.8.6. RTC und EasyMaster2016
137
3.9. Temperatursensoren
3.9.1. TMP100
1433.9.2. AT30TSE754
148
3.9.3. LM76
1493.9.4. DS1624
1513.9.5. Temperatursensoren und DemoBoard2015
1543.10. I2C-Speicher
3.10.1. I2C EEPROM
1593.10.2. Einen I2C EEPROM an den Bus anschlieen
1613.10.3. Die Adressierung
1623.10.4. Lesen aus der I2C EEPROM
1643.10.5. In die I2C EEPROM schreiben
1663.10.6. I2C EEPROM und DemoBoard2105
1683.10.7. I2C EEPROM Beispiel fr EasyMaster2016
1703.10.8. Temperatursensoren mit integriertem I2C EEPROM
3.10.8.1. AT30TSE754
1723.10.8.2. DS1624
172
3.10.9. I2C SRAM
1733.10.10. I2C FRAM
174
Kapitel 4: Der SPI-Bus
4.1 SPI-Grundlagen
1774.2. SPI-Transfer-Modi
1794.3. Das Chip-Select-Signal
1894.4. SPI-Einstellungen fr das DemoBoard2015
1914.5. SPI-Initialisierung des MSSP
4.5.1. Initialisierung des SPI-Masters mit dem PIC18LF26K22
1934.5.2. Initialisierung des SPI-Masters mit dem PIC16F1829
195
4.5. Daten senden und empfangen
1974.6. Der SPI-Editor fr das DemoBoard2015
1974.6. GPIO
4.6.1. XRA1402/XRA1404
4.6.1.1. GPIOs des XRA1402/XRA1404 als Ausgang verwenden
2064.6.1.2. GPIOs des XRA1402/XRA1404 als Eingang verwenden
210
4.6.2. XRA1403/XRA1405
213
4.6.3. MCP23S08/MCP23S09
4.6.3.1. GPIOs des MCP23S08 / MCP23S09 als Ausgang verwenden
2244.6.3.2. GPIOs des MCP23S08/MCP23S09 als Eingang verwenden
227
4.6.4. MCP23S17/MCP23S18
2304.7. Real Time Clock
4.7.1. DS1306 - die Schaltung
2334.7.2. DS1306 - die Bedienung
4.7.2.1. Lesen aus dem DS1306
2394.7.2.2. Schreiben in den DS1306
241
4.7.3. DS1306 und DemoBoard2015
2424.7.4. DS1306 und EasyMaster2016
243
4.8. AMS-LED-Display-Treiber
4.8.1. Die Schaltung
2484.8.2. Die Programmierung
2504.8.4. Verwendung mit den DemoBoard2015
2514.8.5. Demo mit dem EasyMaster2016
252
4.9. EEPROM und Flash
4.9.1. Die typische Pinbelegung
2584.9.2. Das Status-Register
2594.9.3. Typische Befehle
2594.9.4. Die Speicherorganisation
2604.9.5. Die wichtigsten Befehle im Detail
4.9.5.1. Lesezugriff
2604.9.5.2. Schreibzugriffe
2614.9.5.3. Lschbefehle
262
4.9.6. SPI-Flash und DemoBoard2015
4.9.6.1. Der SST25VF080B
2644.9.6.2. BR25G256-3
2684.9.6.3. AT25DF041B
270
Kapitel 5: One-Wire
5.1. berblick
273
5.2. Protokoll-Konventionen
5.2.1. ROM-Code
2765.2.2. Technische Ebene
2775.2.3. Kommunikationsschritte
2785.2.3. Nicht zu vergessen - CRC
279
5.3. I2C-zu-One-Wire-Brcke - der Dolmetscher
5.3.1. Warum berhaupt einen Dolmetscher?
2825.3.2. DS2484
2835.3.3. DS2482-100
2875.3.4. DS2482-800
2885.3.5. Dolmetscher - Zusammenfassung
291
5.4. One-Wire-Chips
5.4.1. Temperatur messen mit dem DS18S20
2915.4.2. Zugang mit dem DS2401 kontrollieren
3065.4.3. Etwas mit DS2406 schalten
3075.4.4. Ein wenig mehr zum Schalten mit dem DS2408
313
5.5. Die Adressierung auf dem 1-Wire Bus
3145.6. Mehrere Slaves auf einem Bus
3165.7. One-Wire-Suche: Der Algorithmus
3185.8. One-Wire-Suche: Die Implementierung
5.8.1. One-Wire Triplet
3275.8.2. Bedienung des One-Wire Search in DemoBoard2015
3295.8.3. Die Implementierung in Assembler
329
5.9. One-Wire-Suche: Die Beispielschaltung
5.9.1. Version 1 - ROM-Code-Leser mit PIC16F1828
3485.9.2. Version 2 - ROM-Code-Leser mit PIC18F13K22
3505.9.3. Version 3 - ROM-Code-Suche mit PIC18F13K22
351
Index
354