HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I2CI2CI2CI2C Wat kun je ermee?
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek Het concept Patent Philips Afkorting : inter-ic bus: i*i*C Seriële bus, bi-directioneel Standaard voor trage communicatie (10 kbyte/s) Twee leidingen: SDA (serial data) en SCL (Serial Clock) Master en slave principe Elke component adresseerbaar
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek Het protocol Zodra de bus vrij is, kan een master de bus in beslag nemen door een startconditie te genereren. 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 de bus aanwezig, dan reageert het met een ACK-puls. De data-uitwisseling kan daarna beginnen. Was de R/W-puls '0', dan stuurt de master data naar de slave totdat hij geen ACK-puls meer ontvangt of alle data verzonden is. Was de R/W-puls ' 1', dan genereert de master klokpulsen gedurende welke de slave zijn data kan verzenden. Na ieder ontvangen byte genereert de master (deze is nu ontvanger) een ACK-puls. Tot slot kan de master de bus weer vrij maken door een stopconditie te genereren.
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C implementatie 1. hardwarematig 2. via een microcontroller 3. simulatie
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C implementatie 1. hardwarematig i2c interface tussen 8 bits databus en i2c bus:
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C implementatie 2. microcontroller
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C implementatie 3. simulatie Public Function I2CInit() SCL=1 SDA=1 End Function Public Function I2CStart() SDA=0 SCL=0 End Function Public Function I2CStop() SCL=0 SDA=0 SCL=1 SDA=1 End Function
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C implementatie 3. simulatie Public Function I2CSchrijf(waarde As Byte) As Boolean Dim Bitwaarde, n, i As Byte I2CSchrijf = True I2CSchrijf = True Bitwaarde = 128 Bitwaarde = 128 For n = 1 To 8 For n = 1 To 8 If (waarde And Bitwaarde) = Bitwaarde Then If (waarde And Bitwaarde) = Bitwaarde Then SDA=1 Else SDA=0 End If SDA=1 Else SDA=0 End If SCL=1 SCL=1 wacht (1) ' Even wachten.. wacht (1) ' Even wachten.. SCL=0 SCL=0 'integer deling \ = div operator in pascal: 'integer deling \ = div operator in pascal: Bitwaarde = Bitwaarde \ 2 Bitwaarde = Bitwaarde \ 2 Next n Next n SDA=1 SDA=1 SCL=1 SCL=1 wacht (1) ' Even wachten.. wacht (1) ' Even wachten.. If cts = 1 Then I2CSchrijf = False If cts = 1 Then I2CSchrijf = False rts (0) ' SCL=0 rts (0) ' SCL=0 End Function
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface Voorbeeld: VBprojects\i2ctest\i2ctest.bas I2C bus via seriële poort: SDA SCL 6k8 I 2 C bus via de seriële poort Z5.1 6k8 GND CTS DTR RTS GND
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface I2C bus via USB: CY7C63001A SCL SDA I 2 C bus via USB poort P0.0 P0.1 P0.4 USB
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface Voorbeeld VBprojects\usbi2c\usbi2c1
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface Voorbeeld VBprojects\usbi2c\usbi2c1 I2C bus via USB:
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface Voorbeeld: Bascom I2C bus via de microcontroller:
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C interface PDA
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C Componenten PCFB200: spraaksynthesizer PCFB566: universele LCD-driver PCF8570: statische RAM PCF857OC: statische RAM PCF8572: EEPROM (12BxB) PCF8573: real-time-klok-kalender PCF8574 remote 8-bit IO-expander
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C Componenten PCF8579: LCD-driver voor dotmatrix PCF85B2A: EEPROM (256xB) PCF85B3: klok-kalender met RAM PCF8591: 8-bit A/D- en D/A-conv. SAAIO64: 4-digit LED-driver SAAI136: PCM-audio-interface SAAI300: tuner-schakelcircuit
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C Componenten SAA : computerbestuurd teletekst-circuit TEA6000/6100: FMtuner TEA6300(T)/10T: fader-geluidscircuit TEA6330T: regelversterker SAA9020
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C Toepassingen 1. I 2 Ckompas ( 2. Koelkast ( 3. Stappenmotor controller (
HCC PC gebruikersgroep: Practical Electronics, Maarssenbroek I 2 C Toepassingen Testbordje koelkast: