Toon posts:

Uitgangen bufferen ft-mod-4232hub

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn nieuwste speeltje is de ft-mod-4232hub.
Ik gebruik 2 channels voor seriele doeleinden,
de andere 2 channels wil ik 3-state bufferen.

De 2 seriele channels wil ik bufferen met een HEF4050,
Dit om TIL111 optocouplers aan te sturen. De Vcc voor
de HEF4050 haal ik uit een 3.3V regelaar.

Zijn er nog meer elegantere manieren om te bufferen
en galvanisch te scheiden? Bv. andere ic's?

Kom ik gelijk op de volgende vraag.
De 2 andere channels wil ik 3-state gebufferd uitvoeren
op een SUB-D connector (om later eventueel aan te
sluiten op de ATmega 2560).

Hoe los ik dit op en met welk IC?

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 16:24

SA007

Moderator Tweaking
Ik vraag me af wat de toegevoegde waarde is van 3-state bufferen van serieel, gezien het geen tristate signalen zijn en optocouplers ook niet.

Optocouplers zou ik zelf direct aan het device hangen, zie niet de waarde van daar een extra buffer tussen hangen, een opto werkt prima op een mA oid om een signaal door te geven naar de output.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het bufferen van de seriele uitgangen channel C en D doe ik al met de HEF4050en de CD4069 (om de tr/rx te inverteren, jawel, hardwarematig en met optocouplers. Dit i.v.m 12V RS232 (is voor 'speciale' apparatuur). Het tristate bufferen, wat ik bedoel ik voor de channels A en B die gebruik ik als bi-drectionele parallele poort. De uit- en ingangen zijn namelijk 3.3V. En waar ik het op aan wil sluiten is 5V (zoals de Arduino 2560) of 12V. Dus in principe een level-shift maar dan bi-directioneel. Dit doe ik al met de HEF4050, maar deze is niet bi-directioneel. Daarom vraag ik welke IC ik het beste kan gebruiken zodat ik bi-directioneel de signalen kan overzenden. Eigenlijk is tristate verwarrend, daarom noem ik het nu ff bi-drectioneel. Owja, ik moet het
stroomverbruik van de 4232 wel zo laag mogenlijk houden want ik gebruik al zijn 4 channels. De 4232 kan
namelijk aan alle de poorten een maximale totaalstroom leveren van 150mA. Per channel kun je de Imax instellen voor 4,8,12 of 16mA. En voor een goede werking van een optocoupler heb je 10mA nodig. Met
6 optocouplers zou ik dus al 60mA verbruiken. Maar nu blijft het maar bij 24mA. Dan heb ik nog 12 datalijnen nodig (12x4=48mA). Dan leert de rekensom: 48+60=108mA. Met het bufferen gebruik ik maar: 48+24=72mA

[ Voor 31% gewijzigd door Verwijderd op 18-08-2012 00:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, na lang zoekwerk en datasheets ben ik eruit.

Voor level shifters heb je de volgende opties:

ADA-395, adafruit. Met ic txb0108 (6,49 euro)
ADA-757, adafruit. Met BSS 138 mosfet (3,20 euro)
BOB-08745, sparkfun. Met Bss 138 mosfet (1,48 euro)
BOB-10403, sparkfun. Met IC pca9306 (5,63 euro)

De met BSS 138 breakoutboards zijn voltage afhankelijk ten opzichte van elkaar.
Met het verschil dat de ADA-757 en de BOB-08745 niet echt bi-directioneel is,
maar meer voor tx/rx werk. Seriele poort dus. I2C kan ook gebruikt worden
maar je moet rekening houden met je pull-up weerstanden. Je hebt hier 4 channels.
Dus dat betekent dat je 2 inputs en 2 outputs hebt.

De txb0108 IC breakoutboard heeft 8 channels, bi-directioneel. En auto-detecting.
Het ziet zelf van welke kant de data komt. Nadeel is dat als je je 8 lijnen zowel
voor zenden als ontvangen gaat gebruiken er kans is op een collision omdat
je niet hardwarematig kunt aangeven van welke richting de data komt. Het is
het kleinere broertje van de 74xx245. Geschikt voor bitbang maar niet voor I2C.

Als laatste is er de PCA9306 IC breakoutboard. Deze heeft 2 channels en is
speciaal voor I2C.

Ik hoop dat ik met deze informatie niet alleen mijzelf maar
ook andere kan helpen met het gebruik van de juiste level-shifter.

De testbank:

Omdat ik niet aan het orderbedrag kwam had ik maar de BOB-08745 erbij besteld.
Heb deze vanavond aangesloten op een uitgang van de Arduino. Daarna heb ik hem
aangesloten tussen de Arduino en de FT4232HUB. Omdat het schakel gedeelte bestaat
uit een transistor en een weerstandsnetwerk was mij vermoeden juist. Met 5V ingangspanning
was de uitgangspanning +/- 0.77 lager dan de verwachte 3.3V. De gemeten spanning was 2,52V.
Leuk voor het laten branden van een ledje maar niet goed genoeg om je ARM-processor (o.i.d) aan te
sturen. Ok, het werkt wel. Maar als het op specificaties en nauwkeurigheid aankomt zou ik dit board
niet nemen.

Afbeeldingslocatie: http://www.roelfje.nl/testopstelling1klein.jpg

[ Voor 42% gewijzigd door Verwijderd op 18-08-2012 00:01 ]