PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Robby als 100KHz IIC Slave vervenden



glowbrain1
28.07.2004, 16:28
Ich bin gerade von mein i2c Sklave versuch entseucht davon gekommen. Hat es jemand schon probiert?
Nach ich das Assembler geschrieben hab (und unerfolgreich getestet hab) stellte ich etwas fest. Der Mc05 ist nicht schnell genug ein 100KHz I2C Sklave zu sein.

Kann jemand das bestätigen?

Hier sind meine Berechnungen.

4MHz clock / 100KHz standard bit rate = 40 cycles per pulse. (Falling Edge to Falling Edge)

=>20 cycles SCL low.

Relevantes Assembler:



READ_ADDRESS
ldx #8 ; a bits to read
lda #0 ; set read byte to 0
L1 brset scl,bport,L1 ; wati for SCL to drop
L2 brclr scl,bport,L2 ; wati for SCL to raise again
brclr sda,bport,LOW1; dont update acc if data is zero
ora mask,x ; add relevant bitmask to acc
LOW1 decx
bne L1

“Worst Case” kommt day auf wesendlich mehr als 20 cylces? Oder hat jemand es besser lösen können.

Leider wird ich jetzt probieren den MC05 als Master einzusetzen, so das er den clock beherrschen kann, aber das ist mir nicht ganz recht.

glowbrain1
01.08.2004, 12:35
Vielleicht ist diesen thema besser in "C-Control Unit und M-Unit und C-Control" Forum. Ich probiere es einmal da

peaceman
31.10.2006, 20:25
hab auch schol mal versucht, den robby als iic slave zu programmieren. allerdings nicht in assembler, sondern einfach in basic.
leider war ich auch nciht so erfolgreich...

wenn jemand sowas hinbekommt, wäre es doch schön zu sehen wie es geht ;)