AND buss mellan PICar
Postat: 14 juli 2011, 18:31:56
Jag håller på med en databuss mellan två PICar och har tänkt ut ett protokoll som påminner om I2C.
Protokollet har en Master som styr klocka och en/flera slavar klockas av denna.
För att minimera antalet pinnar vill jag bara använda en datapinne och ha dubbelriktad data på denna.
För att undvika att PICarna börjar driva mot varann hade jag tänkt följande:
0 = PIC har data I/O som utgång och satt till 0
1 = PIC har data I/O som ingång och en pullup till matningsspänning drar signalen hög
Detta kommer då bli en AND bus där 0 vinner över 1
Hastigheten på bussen ska vara ca 10-20 us per bit.
När jag kopplar upp detta mellan 2 PIC med 1,8k pull-up till 5V får jag inte databussen att fungera. Det verkar som att övergången mellan 1 och 0 inte hinns med. Jag ändrar endast TRIS registret så utsignalen på data bussen är alltid 0 men ändras mellan utgång och ingång.
Klockpulserna ser bra ut.
Jag tycker att detta borde fungera och undrar om jag missat något?
Det borde väl gå att skifta mellan ingång och utgång på någon 1us i en PIC?
Protokollet har en Master som styr klocka och en/flera slavar klockas av denna.
För att minimera antalet pinnar vill jag bara använda en datapinne och ha dubbelriktad data på denna.
För att undvika att PICarna börjar driva mot varann hade jag tänkt följande:
0 = PIC har data I/O som utgång och satt till 0
1 = PIC har data I/O som ingång och en pullup till matningsspänning drar signalen hög
Detta kommer då bli en AND bus där 0 vinner över 1
Hastigheten på bussen ska vara ca 10-20 us per bit.
När jag kopplar upp detta mellan 2 PIC med 1,8k pull-up till 5V får jag inte databussen att fungera. Det verkar som att övergången mellan 1 och 0 inte hinns med. Jag ändrar endast TRIS registret så utsignalen på data bussen är alltid 0 men ändras mellan utgång och ingång.
Klockpulserna ser bra ut.
Jag tycker att detta borde fungera och undrar om jag missat något?
Det borde väl gå att skifta mellan ingång och utgång på någon 1us i en PIC?