Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afOscar Ravn Redigeret for ca. et år siden
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.