Vraag


Acties:
  • 0 Henk 'm!

  • Robbiedobbie
  • Registratie: Augustus 2009
  • Laatst online: 30-09 16:39
Momenteel ben ik bezig met een pcb te ontwerpen waarbij ik IO outputs nodig heb die ik kan besturen via een onewire bus. Hiervoor heb ik de ds2408 momenteel op het oog.

Volgens de datasheet (hier te vinden) is na een stroomonderbreking geen zekerheid over de staat van de outputs, waarbij deze dus aan of uit kunnen staan. Om die outputs allemaal in een bekende staat te krijgen bij starten kan de chip gekoppeld worden met bijv een DS1811.

De datasheet vermeld "When configured as RST , a LOW input sets all PIO outputs to the "off" state by setting all bits in the PIO Output Latch State Register.". Aangezien de outputs allemaal open-drain zijn, twijfel ik dus wat de "off" state is. Is dit wanneer de outputs high impedance zijn (En de lijn daardoor dus hoog is via pull-ups), of wanneer de outputs juist als drain functioneren, en de lijn dus laag getrokken wordt.

Ik moet namelijk zekerheid hebben dat bij inschakelen van de chip de outputs allemaal laag zijn, omdat deze mosfets gaan schakelen die op hun beurt solenoids bedienen. Deze mogen echter niet te lang aanstaan.

Iemand die dit zou kunnen ophelderen? Ik heb namelijk het idee dat die info toch echt ergens in die datasheet moet staan (Lijkt me vrij cruciale info), maar dat ik hem mis omdat ik nog niet heel veel ervaring heb met dit soort documenten.

Beste antwoord (via Robbiedobbie op 22-10-2019 09:05)


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 29-09 11:59

SA007

Moderator Tweaking
Als je dus een stukje reset circuit hebt die de RST 'even' laag houdt tot de spanning stabiel is (met bijv een DS1811) dan is de chip na poweron altijd met alle pinnen 'off' ofwel hoog-ohmig.

De 'PIO output latch' uitlezing is geinverteerd aan of de mosfet aan of uit staat.
Vanuit een logica oogpunt is dat zinnig, als je 'm uitleest en je krijgt een 0 staat er 0V op je pin (want mosfet trekt 'm naar 0V), als je een 1 leest staat hij vaak op je logic high (pull-up naar 3.3 of 5v oid).

An-sich is dat logischer dan een '1' uitlezen als er 0V te meten is, maar maar het beschrijven van de outputs er niet makkelijker op.

Dus in principe:
- Met de RST 'hoog' bij het aanzetten zijn je output ongedefinieerd,
- Met de RST (kortstondig) 'laag' zijn ze altijd hoogohmig.

Wel een onhandige chip, hoeveel kost het nou om die DS1811 functie gewoon in die chip erbij te prutsen en gewoon een goed gedefinieerde 'power-on' staat te hebben.
Zou me niks verbazen als dat ongeveer evenduur is als het hele resetcircuit wat er toch al in zit.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Flake
  • Registratie: Februari 2001
  • Laatst online: 01-11-2024
Robbiedobbie schreef op maandag 21 oktober 2019 @ 12:50:
De datasheet vermeld "When configured as RST , a LOW input sets all PIO outputs to the "off" state by setting all bits in the PIO Output Latch State Register.". Aangezien de outputs allemaal open-drain zijn, twijfel ik dus wat de "off" state is. Is dit wanneer de outputs high impedance zijn (En de lijn daardoor dus hoog is via pull-ups), of wanneer de outputs juist als drain functioneren, en de lijn dus laag getrokken wordt.
Het type output driver van een IC heeft geen invloed op de definitie van aan of uit. Als de datasheet spreekt van een off-state, en de pin is niet geïnverteerd (dan wordt het pas verwarrend), dan is de off gewoon op GND-niveau. Ook bij open drain.

Acties:
  • 0 Henk 'm!

  • jomas
  • Registratie: Mei 2011
  • Laatst online: 30-09 14:03
Op figuur-6 in de datasheet is te zien dat de Q van de flipflop die aan de fet zit geset wordt (hoog) bij een reset.
Aangezien de Q-not (die is dan laag) aan de gate van de fet zit zal de fet dus in de 'hoogomige stand' komen en niet aan de ground.

[ Voor 7% gewijzigd door jomas op 21-10-2019 16:27 ]


Acties:
  • 0 Henk 'm!

  • Robbiedobbie
  • Registratie: Augustus 2009
  • Laatst online: 30-09 16:39
jomas schreef op maandag 21 oktober 2019 @ 16:24:
Op figuur-6 in de datasheet is te zien dat de Q van de flipflop die aan de fet zit geset wordt (hoog) bij een reset.
Aangezien de Q-not (die is dan laag) aan de gate van de fet zit zal de fet dus in de 'hoogomige stand' komen en niet aan de ground.
Wat ik hierbij echter niet begrijp is dat het SET signaal volgens dat figuur komt uit een NAND van de ROS bit en de RSTZ pin. Om tijdens powerup de RSTZ pin te gebruiken om alle outputs in 1 staat te krijgen moet je volgens de documentatie ervoor zorgen dat de ROS bit altijd 0 is (Welke ook default tijdens eerste power zo is). Kijk ik echter naar een truthtable voor een NAND gate zou dit betekenen dat de staat van RSTZ niet uitmaakt, aangezien de NAND gate alleen 0 geeft op het moment dat beide inputs 1 zijn, welke nooit kan zijn met ROS=0.
Als ik dit schema in combinatie met mijn gedachtegang gebruik, dan zouden de outputs dus altijd moeten starten als hoogomig ipv alleen als je de RSTZ laag trekt met een chip zoals de DS1811 :?

EDIT:
Dit stukje tekst lijkt wel jouw antwoord te supporten.
If RSTZ is configured as RST
input (default), the RSTZ pin needs to be tied high (to VCC or VPUP) for the Channel-Access Write to
function properly. Leaving the pin unconnected will force the output transistors of the PIO channels to the
"off" state and the PIO output latches will all read "1". See Figure 6 for a schematic of the logic.
In dit geval ontkom ik er denk ik niet aan om dan een inverter te gebruiken voor de MOSFETS om alsnog de schakeling default uit te laten?

[ Voor 20% gewijzigd door Robbiedobbie op 21-10-2019 18:26 ]


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 29-09 11:59

SA007

Moderator Tweaking
Als je dus een stukje reset circuit hebt die de RST 'even' laag houdt tot de spanning stabiel is (met bijv een DS1811) dan is de chip na poweron altijd met alle pinnen 'off' ofwel hoog-ohmig.

De 'PIO output latch' uitlezing is geinverteerd aan of de mosfet aan of uit staat.
Vanuit een logica oogpunt is dat zinnig, als je 'm uitleest en je krijgt een 0 staat er 0V op je pin (want mosfet trekt 'm naar 0V), als je een 1 leest staat hij vaak op je logic high (pull-up naar 3.3 of 5v oid).

An-sich is dat logischer dan een '1' uitlezen als er 0V te meten is, maar maar het beschrijven van de outputs er niet makkelijker op.

Dus in principe:
- Met de RST 'hoog' bij het aanzetten zijn je output ongedefinieerd,
- Met de RST (kortstondig) 'laag' zijn ze altijd hoogohmig.

Wel een onhandige chip, hoeveel kost het nou om die DS1811 functie gewoon in die chip erbij te prutsen en gewoon een goed gedefinieerde 'power-on' staat te hebben.
Zou me niks verbazen als dat ongeveer evenduur is als het hele resetcircuit wat er toch al in zit.

Acties:
  • 0 Henk 'm!

  • Robbiedobbie
  • Registratie: Augustus 2009
  • Laatst online: 30-09 16:39
Bedankt voor de duidelijke uitleg! Ik ga ervoor zorgen dat de mosfets standaard laag zijn door er een inverter tussen te gooien, die dingen kosten toch vrijwel niets.

Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 29-09 11:59

SA007

Moderator Tweaking
Wat bedoel je met de 'mosfets standaard laag zijn'.
De mosfets staan uit (dat is de default als je de chip een reset geeft)
De mosfets staan aan (waardoor ze de spanning omlaag trekken)

Acties:
  • 0 Henk 'm!

  • Robbiedobbie
  • Registratie: Augustus 2009
  • Laatst online: 30-09 16:39
Sorry, beetje onduidelijk. De mosfets die ik moet aansturen met de chip, die op hun beurt solenoids aansturen. Aangezien ik niet wil dat default de solenoids stroom krijgen moet ik de boel zo in elkaar sleutelen dat deze standaard 0v op de gate hebben, tenzij ik bewust omschakel.
Pagina: 1