Latchup i 1wirekrets?
Postat: 9 oktober 2018, 15:21:18
Jag har något som liknar CMOS latchup i en av mina 1wirekretsar. I samband med spänningstillslag hamnar två av opendrain-utgångarna oftast i semiledande tillstånd (de övriga sex utgångarna är ok).
Det är en DS2408 med 8 parallella in/ut portar. Utgången är en opendraintransistor med cirka 100 ohm i ledande tillstånd. Denna hamnar alltså i ett halvledande tillstånd där jag mäter cirka 1.5V vid ca 0.3mA belastning mot plus (blå lysdiod via 3.6kohm). Det har ingen betydelse om registret anger att porten ska vara öppen eller sluten.
DS2408 kan antingen parasitmatas via 1wire eller med extern 5V. Jag matar den med samma externa 5V som pullup motståndet till de utgångar som strejkar. Därmed tycker jag att kretsen borde matas i samma stund som utgången och det borde inte kunna bli någon latchup. Ledarna på själva in/ut portarna är kortare än 1 decimeter.
Edit: När man parasitmatar så sker det tydligen via 1kohm (internt på chippet) och chippets kapacitans på matningsspänningen är 800pF. Det ger en fördröjning på någon mikrosekund. Det kan inte uteslutas att samma seriemotstånd passeras även när kretsen matas med extern spänning. Frågan är om denna mikrosekund räcker för att tända en latchuptyristor.
1wire är omkring 50 meter från mastern till den anslutna punkten, medan den externa spänningen endast har 10 meter att vandra. Löptidsskillnaden rör sig om några hundra nanonsekunder alltså.
Edit: Allt som allt handlar det nog snarare om någon till några mikrosekunder att rampa upp parasitvägen.
Kortsluter jag den ena av de två felande utgångarna till jord så startar kretsen alltid korrekt.
Jag har totalt 12 kretsar anslutna på 0-75 meters avstånd från mastern ordnat i en linjär topologi. Jag har 0 bussfel och nästan inga retries och det är endast en krets som spökar.
Någon som upplevt något liknande? Kan det vara latchup? Varför bara på två av sex utgångar?
Det är en DS2408 med 8 parallella in/ut portar. Utgången är en opendraintransistor med cirka 100 ohm i ledande tillstånd. Denna hamnar alltså i ett halvledande tillstånd där jag mäter cirka 1.5V vid ca 0.3mA belastning mot plus (blå lysdiod via 3.6kohm). Det har ingen betydelse om registret anger att porten ska vara öppen eller sluten.
DS2408 kan antingen parasitmatas via 1wire eller med extern 5V. Jag matar den med samma externa 5V som pullup motståndet till de utgångar som strejkar. Därmed tycker jag att kretsen borde matas i samma stund som utgången och det borde inte kunna bli någon latchup. Ledarna på själva in/ut portarna är kortare än 1 decimeter.
Edit: När man parasitmatar så sker det tydligen via 1kohm (internt på chippet) och chippets kapacitans på matningsspänningen är 800pF. Det ger en fördröjning på någon mikrosekund. Det kan inte uteslutas att samma seriemotstånd passeras även när kretsen matas med extern spänning. Frågan är om denna mikrosekund räcker för att tända en latchuptyristor.
1wire är omkring 50 meter från mastern till den anslutna punkten, medan den externa spänningen endast har 10 meter att vandra. Löptidsskillnaden rör sig om några hundra nanonsekunder alltså.
Edit: Allt som allt handlar det nog snarare om någon till några mikrosekunder att rampa upp parasitvägen.
Kortsluter jag den ena av de två felande utgångarna till jord så startar kretsen alltid korrekt.
Jag har totalt 12 kretsar anslutna på 0-75 meters avstånd från mastern ordnat i en linjär topologi. Jag har 0 bussfel och nästan inga retries och det är endast en krets som spökar.
Någon som upplevt något liknande? Kan det vara latchup? Varför bara på två av sex utgångar?