Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

I2C --- øee OZ1DUG I2C ”Lokalnet på printet”.. Mange ledninger  Nogle gange løber man ”tør” for ben på microprocessoren  Mellem print er ”mange” ledninger.

Lignende præsentationer


Præsentationer af emnet: "I2C --- øee OZ1DUG I2C ”Lokalnet på printet”.. Mange ledninger  Nogle gange løber man ”tør” for ben på microprocessoren  Mellem print er ”mange” ledninger."— Præsentationens transcript:

1 I2C --- øee OZ1DUG I2C ”Lokalnet på printet”.

2 Mange ledninger  Nogle gange løber man ”tør” for ben på microprocessoren  Mellem print er ”mange” ledninger noget L...  LCD Display bruger 7 ben  Knapper bruger 1 ben per stk.  Hvordan får man en variabel spænding ud

3 HW Moduler  At kunne koble forskellige konstruktioner og delkonstruktioner sammen  DDS, Display, Knapper, Filter styring,.....  Uden at antallet af ben på processoren er limit  At kunne test og opgradere uden udskiftning af ”alt”  At kunne bruge standard enheder  Digitale potmetre, Switche og output  At kunne definere vores egne enheder  Og dele dem med andre – min DDS, Dit Filter....  Og kunne opdatere dem ensartet

4 Er det ikke lavet før ?  Absolut  HPSDR Atlas backplane  Icom CI-V  HP GPIB  …  Og den ene ende er næsten altid en PC

5 ”De kendte”  RS232  God hvis vi vil tale med en ”terminal” (PC)  Kræver i dag et USB interface og V convert  Punkt til punkt  Enighed om hastighed  SPI  Ses ofte på de kredse vi bruger  Punkt til Punkt  V convert  Parallel  Ses på display og andet  Kræver mange ben på mikroprocessoren  Punkt til Punkt

6 Interne protokoller Name Multi d Max node Electrical typeCable typeMax bitrate [] / Length Max length [m] / bitrate ( based)Y2561000 kbit/s1330 m / 64 kbit/s Y820000 kbit/s / 3 m6 m / 5 Mbit/s/ch Y1640000 kbit/s / 12 m Y1619.2 kbit/s / 40 m Y6219.2 kbit/s Y1284 wire3400 kbit/s7.6 m Y128100 kbit/s Y128400 kbit/s Y3010000 kbit/s / 185 m Y1281000 kbit/s / 40 m1000 m / 40 kbit/s Y32 120 Ω250 kbit/s / 100 m150 m / 250 kbit/s Y1275 kbit/s N128 kbit/s / ~1.5 m15 m / 19.6 kbit/s Y189 kbit/s12 m (approx) Y2 48 Single conductor, with ground 16.3 kbit/s 20000 kbit/s

7 I2C  4 Ledninger er alt der behøves.. 100 Kbit/s  Og her er bit protokollen  Clock er ikke Fast men i protokollen

8 Elektriske koblinger  Open Collector med fælles Pull up.  Læs om ledningen er høj eller lav  Skriv ved at lægge til stel  … Clock Stretching  … Acknowledge

9 Start, Stop og ReStart Hvis SDA og SCL er høje er bussen ”idle” indtil - Der er en Start. Så kan der følge data og ”ReStarts” og det slutter med STOP Restart/Repeated start

10 NXP

11 Og lidt mere information  Bruges som ”bund” for andre protokoller  Acknowledge på byte niveau

12 Ack og Stretching  Efter hver ”byte” svarer slaven med ACK ved at pulle SDA ned for den 9 Bit.  Set på et scoop er det ofte synligt hvem (hvor mange) der trækker signalet ned.

13 Adressering  7 eller 10 Bit ”I2C” device adress  Begge kan være på samme bus samtidigt  For IC'er er en del af adressen bestemt  Og nogle bits styrbare eller ”suffix” bestemte  For ”komplekse” funktioner er der også interne addresser.

14 Komando'er  Efter adresse kommer typisk komandoer  Skriv og læs registre komandoer

15 Trace  Skrivning  Addresse-W-Control-Data...... - S  Læsning  Addresse-W-Control ! Adresse-R-Data..... - S  ! = Restart/Repeated start  Den der modtager data trækker Ack bit

16 ”Mit” modul Stik baseret på dsPIC33FJ16GS504 1.MCLRLokal Pull up (Active Low) 2.+5V 3.GND 4.SCLCentral Pull up 5.SDACentral Pull up 6.INTR Central Pull up

17 Digitalt potentiometer  Digital potentiometer  MCP4651  Forskellige R værdier,  MCP4xxx  Forskellige konfigurationer  MCP4Sxx - SPI

18  MCP23017. 16 Bit I/O expander

19 I2C Slave i PIC kode  Slaven skal være hurtig på I2C, ellers ”holder” den resten af enhederne og master.  Skriv I2C slaven som en interrupt service  Lav kun det der er nødvendigt til opgaven  DDS  HF Filter  DSP

20 Om programmering  KISS – Keep It Simple - Stupid  Master.  Er kun master  Taler med 7 og 10 bit adresse slaver  Et interrupt per I2C bus  Slaver er kun slaver  Hardware slaver er typisk 7 Bit  ”software” slaver bør være 10 bit  Slave I2C bør kodes med interrupt  Performance  Hvis du er i tvivl om det kan gå hurtigt nok – brug SPI  Hellere flere små PIC dimser en en Stor  Lettere at finde fejl  Lettere at rette  Del opgaven med andre

21 Referencer  I2C beskrivelse http://www.i2c-bus.org/http://www.i2c-bus.org/  I2C Standard http://www.nxp.com/documents/user_manual/UM10204.pdf http://www.nxp.com/documents/user_manual/UM10204.pdf  Wikipedia http://en.wikipedia.org/wiki/I2Chttp://en.wikipedia.org/wiki/I2C  http://www.best-microcontroller-projects.com/i2c-tutorial.html http://www.best-microcontroller-projects.com/i2c-tutorial.html  LCD med I2C http://www.spikenzielabs.com/SpikenzieLabs/I2C- SPI_LCD.htmlhttp://www.spikenzielabs.com/SpikenzieLabs/I2C- SPI_LCD.html


Download ppt "I2C --- øee OZ1DUG I2C ”Lokalnet på printet”.. Mange ledninger  Nogle gange løber man ”tør” for ben på microprocessoren  Mellem print er ”mange” ledninger."

Lignende præsentationer


Annoncer fra Google