free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 27 januari 2009 11:23:06 schreef Teuniz:
Iedereen bedankt voor de reacties.
De FTDI VCI drivers gaan tot 300 KByte/sec. Dat is 2.4 Mbit/sec. Dat zou
dus moeten werken. De vraag is alleen hoe groot de FIFO buffer moet worden.
dat is burst rate. je hebt 1.2 milliseconden interpacket delay. gene idee hoe de ftdi dat afhaspelt maar je gaat serieus handshaking moeten doen met de FTDI. ik zou zeker naar de 245 kijken en absoluut niet naar de 232 ... de seriele kant is 300Ksec maar tussen 2 karakters zit 1.2 milliseconde delay ( usb latency) ... ( eigenlijk zit tussne 2 paketten zoveel delay ). CDC gebruikt normaal een endpoint wat maar 64 karakters per pakket kan overduwen.
pak die 2232H versie die loop usb2.0 en kan 1024 karakters in ene pakket duwen. en die heeft een bus emulation mode
waar vind ik een ARM in een DIP behuizing?
in het stenen tijdperk ... DIP is over en out. Der zijn er toch die dat nog niet snappen zenne ...
Voor de FIFO heb ik een IDT7208 in gedachten, die is verkrijgbaar in een DIP behuizing.
Haast je maar. straks is ook die obsolete ...
der zijn vele straffere fifos dan dat in omloop.
Dat snap ik niet, waarom kun je een parallelle bus niet via optocouplers verbinden?
16 A/Ds ... elke met 16 data lijnen.. 256 optocouplers. man dat owrdt ene kleerkast van ene apparaat.
das toch allemaal nergens voor nodig ? je hebt gene galvanische scheiding tussen kanalen nodig. doe ganbs je preprocessing in 1 domein. serialiseer de stream. stuur door een 4 tal optocouplers ( sync , clk , dout en din )
en ene kleine postprocessor doet het werk om dat op usb door te vlammen.
Voor sommigen misschien wel, maar ik vind het solderen van een LQFP behuizing met 52
wie zegt dat in lqfp moet ? so8 en so16 , soj32 zijn allemaal op 1.27 mm pitch. zonder problemen met de hand te solderen. 0805 en 1206 componentne is ook geen enkel probleem. der is materiaal zat op 1.27mm pitch.
Daarnaast wil ik de moeilijkheidsgraad van dit zelfbouw project zo laag mogelijk houden
zodat ook minder begaafde personen dit kunnen nabouwen.
16 bit a/d .. medische toepassing .. 1000 volt isolatie en 10uA lekstroom zelfbouw door een minder begaafde
-euuuuurt- (onomatopee voor een luide zoemer die afgaat, zo een van het type dat gebruikt wordt in tv spelprogrammas aan te geven dat je ene fout antwoord gegeven hebt) i think not my dear watson.... en jij blijkbaar ook niet.
Als je vergeet de soldeerhars af te kuisen van je print zit je al over je 10uA ....
En om 16 bit te halen kijk je minstens tegen ene dubbelzijdige print (nog beter ene multilayer met split analoog digitaal power en groundplanes + de nodige interkanaal filtering) je layout zal verrekt goed moeten zijn om geen crosstalk te hebben. Als er een vlieg over passeert dansen die convertoren al ...
ik wil hem gebruiken voor (medisch) onderzoek.
whoa. keep that stuff away from me ! ik ben men leven nog niet moe !
Je eisen zijn onrealistisch. zet jezelf niet klem door 'DIL' en 'gene programmerbare componeten' gedoe. Tverwondert me dat je nog gene eis stelt dat het allemaal met componenten uit afbraak moet kunnen gemaakt worden... of met wat de locale electroboer heeft liggen... of je print zelf etsen enkelzijdig....als je wat te kort etst heb je overal lekpaden van enkele megaohm... en de doos is een oude koeketrommel die dichtgehouden wordt met twee rekkers en wat duct-tape...
Komaan zeg ...
en nu even serieus :
je kan dit ding mooi op een eurokaart bouwen. pak een mooie snelle seriele A/D zoals een LTC1865 of TLC4545 of ADS8320/8321 of desnoods ene PCM1801
zet er 16 nast elkaar. elke zijn eigen ontkoppelcondensatoren + ferrite bead op de voeding. elke een apart groundvlak. een lokale lineaire regulator per a/d ( 3 potertje in fruitvlieg verpakking : SOT23 die van 5 volt 3.3 volt maakt) Ts3333 van TI bijvoorbeeld, Microchip heeft er ook en nog vele andere fabrikanten.
knoop de digitale pinnen vast aan een CPLD. klein cpldtje in PLCC 84 verpakking bijvoorbeels. je gaat geen poten genoeg hebben maar je kan er 2 naast elkaar zetten. of je pakt er ene in tqfp 144. 4 lijnen per A/D 16 A/D is 64 signalen ( begin vooral niet met je clock van de ene naar de andere te ritsen. je gaat zoveel rotzooi overal rondstralen en een load van 16 is veel te groot ook voor 1 driverstage. mooi seriegetermineerd vanuit de cpld. korte verbindinkjes boven een digitale groundplane.
de cpld verzameld informatie van 8 kanalen bijvoorbeeld en duwt die als ene byte naar buiten. dit landt in ene fifo langs de andere kant. TI heeft mooi ein de 74 familie. IDT ook. der zitten knallers tussen met veel geheugen. cypress heeft ook mooie : CY7C4251 bijvoorbeeld.
2 van die dingetjes naast elkaar. een derde cpldtje ( of ene tweede als je voor de eerst twee gebruikt hebt )
leest de fifo en doet een serialise van de stream. duwt dat langs de andere kant als bytes naar buiten via 4 optocouplers. achter de optocouplers staat nog ene cpld die de deserialise doet en dat in een 2232 duwt.
____
-[filter]-[ad]--| | WR _____
-[filter]-[ad]--| |-----| |
-[filter]-[ad]--| | | | _____
-[filter]-[ad]--| | 8 |fifo |-/--| |
|CPLD|--/--|_____| 8 | |
-[filter]-[ad]--| | | |
-[filter]-[ad]--| | | |
-[filter]-[ad]--| | | |
-[filter]-[ad]--|____| | |
| |
____ | |
-[filter]-[ad]--| | WR _____ | |
-[filter]-[ad]--| |-----| | | |
-[filter]-[ad]--| | | |-/--| |
-[filter]-[ad]--| | 8 |fifo | 8 |_____|
|CPLD|--/--|_____| |
-[filter]-[ad]--| | |
-[filter]-[ad]--| | [opto]
-[filter]-[ad]--| | __|__ ________
-[filter]-[ad]--|____| |CPLd |___|FTDI2232|
|_____| |________|
ik zou gans die digitale worst in MAX II duwen. met 1 kom je toe. of ene kleine FPGA. je duwt er meteen je fifo's mee in.... EP1C3 bijvoorbeeld. TQFP100 behuizing. alles kan erin. knoop er je a/d aan en vort met de geit.
voordele is dat je mooi je printlayout kan maken. dat uitgeven. al je componenten erop zet en dan de fpga code bouwt. die dingen zijn zo flexibel dat je tot op de laatste seconden kan sleutelen eraan zonder je print te moeten verbouwen.
als je de FPGA code als source meegeeft kan iedereen er aan klooien. de devtools zijn toch gratis. en met ene printerpoort en 4 weerstanden kan je die dingen programmeren....
maak voor de serdes een simpel protocol met 4 wires.
dout x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x=x
sclk n_n_n_n_n_n_n_n_n_n_n_n_n_n_n_n
sync n_______________n______________
din x===============x==============
de sync haalt een byte op van de andere kant ( dit kan een controlewoord zijn om bijvoorbeeld de sample snelheid aan te passen. wanneer er nisk te melden valt is dit controle woord FF. je hebt 8 byte tijd om te verwerken.
je kan de digitizer compleet in 1 doos bouwen. je hebt dan een simpele kabel die power + ground ( reeds geisoleerde power en ground ) plus de signalen die uit de opotocouplers komen vervoert. 6 draden.. en de kabel zelf is al 'medical class'. alleen het grondstation is 'dirty'
dit houdt ook de rotzooi weg uit je gevoelig spul.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Well said FE! Perfecte architectuur, behalve dan dat ik voor een enkele FPGA aan de "medische" kant zou gaan, maar jij geeft ook al meteen aan dat dat een mogelijkheid is.
Ik wil iedereen bedanken voor de reacties, er zitten zeer nuttige tips tussen.
Ik ga nu verder met het uitzoek werk. Ik laat het weten zodra ik vorderingen
te melden heb.