hcc pc gebruikersgroep: practical electronics, 26-02 maarssenbroek i2ci2ci2ci2c wat kun je ermee?

19
HCC PC gebruikersgroep: Prac tical Electronics, 26-02 Maar ssenbroek I I 2 2 C C Wat kun je ermee? Wat kun je ermee?

Upload: matthias-mulder

Post on 04-Jun-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek

II22CC

Wat kun je ermee?Wat kun je ermee?

Page 2: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

Het conceptHet concept

Patent PhilipsPatent Philips Afkorting : inter-ic bus: i*i*CAfkorting : inter-ic bus: i*i*C Seriële bus, bi-directioneel Seriële bus, bi-directioneel Standaard voor trage communicatie (10 Standaard voor trage communicatie (10

kbyte/s)kbyte/s) Twee leidingen: SDA (serial data) en SCL Twee leidingen: SDA (serial data) en SCL

(Serial Clock)(Serial Clock) Master en slave principeMaster en slave principe Elke component adresseerbaarElke component adresseerbaar

Page 3: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

Het protocolHet protocol Zodra de bus vrij is, kan een master de bus in beslag Zodra de bus vrij is, kan een master de bus in beslag

nemen door een startconditie te genereren.nemen door een startconditie te genereren. Het eerste byte dat nu vérzonden wordt, bevat het 7-bits Het eerste byte dat nu vérzonden wordt, bevat het 7-bits

IC-adres samen met het R/W-bit. Is het geadresseerde IC op IC-adres samen met het R/W-bit. Is het geadresseerde IC op de bus aanwezig, dan reageert het met een ACK-puls. De de bus aanwezig, dan reageert het met een ACK-puls. De data-uitwisseling kan daarna beginnen.data-uitwisseling kan daarna beginnen.

Was de R/W-puls '0', dan stuurt de master data naar de Was de R/W-puls '0', dan stuurt de master data naar de slave totdat hij geen ACK-puls meer ontvangt of alle data slave totdat hij geen ACK-puls meer ontvangt of alle data verzonden is. Was de R/W-puls ' 1', dan genereert de verzonden is. Was de R/W-puls ' 1', dan genereert de master klokpulsen gedurende welke de slave zijn data kan master klokpulsen gedurende welke de slave zijn data kan verzenden. Na ieder ontvangen byte genereert de master verzenden. Na ieder ontvangen byte genereert de master (deze is nu ontvanger) een ACK-puls. (deze is nu ontvanger) een ACK-puls.

Tot slot kan de master de bus weer vrij maken door een Tot slot kan de master de bus weer vrij maken door een stopconditie te genereren. stopconditie te genereren.

Page 4: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C implementatie C implementatie

1. hardwarematig 1. hardwarematig

2. via een microcontroller 2. via een microcontroller

3. simulatie3. simulatie

Page 5: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C implementatieC implementatie1. hardwarematig1. hardwarematig

i2c interface tussen 8 bits databus en i2c bus:i2c interface tussen 8 bits databus en i2c bus:

Page 6: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C implementatieC implementatie2. microcontroller2. microcontroller

Page 7: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C implementatieC implementatie3. simulatie3. simulatie

Public Function I2CInit() SCL=1 SDA=1End Function

Public Function I2CStart() SDA=0 SCL=0End Function

Public Function I2CStop() SCL=0 SDA=0 SCL=1 SDA=1End Function

Page 8: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C implementatieC implementatie3. simulatie3. simulatie

Public Function I2CSchrijf(waarde As Byte) As BooleanPublic Function I2CSchrijf(waarde As Byte) As BooleanDim Bitwaarde, n, i As ByteDim Bitwaarde, n, i As Byte I2CSchrijf = TrueI2CSchrijf = True Bitwaarde = 128Bitwaarde = 128 For n = 1 To 8For n = 1 To 8 If (waarde And Bitwaarde) = Bitwaarde ThenIf (waarde And Bitwaarde) = Bitwaarde Then SDA=1SDA=1 Else Else SDA=0 End If SDA=0 End If SCL=1SCL=1 wacht (1) ' Even wachten..wacht (1) ' Even wachten.. SCL=0SCL=0 'integer deling \ = div operator in pascal:'integer deling \ = div operator in pascal: Bitwaarde = Bitwaarde \ 2Bitwaarde = Bitwaarde \ 2 Next nNext n SDA=1SDA=1 SCL=1SCL=1 wacht (1) ' Even wachten..wacht (1) ' Even wachten.. If cts = 1 Then I2CSchrijf = FalseIf cts = 1 Then I2CSchrijf = False rts (0) ' SCL=0rts (0) ' SCL=0End FunctionEnd Function

Page 9: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interfaceVoorbeeld: VBprojects\i2ctest\i2ctest.basVoorbeeld: VBprojects\i2ctest\i2ctest.bas

I2C bus via I2C bus via seriële poort: seriële poort:

SDA

SCL

6k8

I2C bus via de seriële poort

Z5.1 Z5.1

6k8

GND

CTS

DTR

RTS

GND

Page 10: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interface

I2C bus via I2C bus via USB:USB:

CY7C63001A

SCL

SDA

I2C bus via USB poort

P0.0 P0.1 P0.4

USB

Page 11: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interfaceVoorbeeld VBprojects\usbi2c\usbi2c1Voorbeeld VBprojects\usbi2c\usbi2c1

Page 12: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interfaceVoorbeeld VBprojects\usbi2c\usbi2c1Voorbeeld VBprojects\usbi2c\usbi2c1

I2C bus via I2C bus via USB:USB:

Page 13: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interfaceVoorbeeld: BascomVoorbeeld: Bascom

I2C bus via I2C bus via de microcontroller:de microcontroller:

Page 14: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C interfaceC interfacePDAPDA

Page 15: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C ComponentenC Componenten

PCFB200: spraaksynthesizerPCFB200: spraaksynthesizer PCFB566: universele LCD-driverPCFB566: universele LCD-driver PCF8570: statische RAM PCF8570: statische RAM PCF857OC: statische RAM PCF857OC: statische RAM PCF8572: EEPROM (12BxB) PCF8572: EEPROM (12BxB) PCF8573: real-time-klok-kalenderPCF8573: real-time-klok-kalender PCF8574 remote 8-bit IO-expander PCF8574 remote 8-bit IO-expander

Page 16: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C ComponentenC Componenten

PCF8579: LCD-driver voor dotmatrix PCF8579: LCD-driver voor dotmatrix PCF85B2A: EEPROM (256xB)PCF85B2A: EEPROM (256xB) PCF85B3: klok-kalender met RAM PCF85B3: klok-kalender met RAM PCF8591: 8-bit A/D- en D/A-conv.PCF8591: 8-bit A/D- en D/A-conv. SAAIO64: 4-digit LED-driver SAAIO64: 4-digit LED-driver SAAI136: PCM-audio-interface SAAI136: PCM-audio-interface SAAI300: tuner-schakelcircuit SAAI300: tuner-schakelcircuit

Page 17: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C ComponentenC Componenten

SAA5243145: computerbestuurd teletekst-SAA5243145: computerbestuurd teletekst-circuit circuit

TEA6000/6100: FMtuner TEA6000/6100: FMtuner TEA6300(T)/10T: fader-geluidscircuit TEA6300(T)/10T: fader-geluidscircuit TEA6330T: regelversterker SAA9020TEA6330T: regelversterker SAA9020

Page 18: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C ToepassingenC Toepassingen

1. I1. I22Ckompas (www.zenot.nl) Ckompas (www.zenot.nl)

2. Koelkast (www.zenot.nl) 2. Koelkast (www.zenot.nl)

3. Stappenmotor controller 3. Stappenmotor controller (www.zenot.nl)(www.zenot.nl)

Page 19: HCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?

HCC PC gebruikersgroep: PracticalHCC PC gebruikersgroep: Practical Electronics, 26-02 Maarssenbroek Electronics, 26-02 Maarssenbroek

II22C ToepassingenC Toepassingen

Testbordje koelkast: Testbordje koelkast: