Hoi

Ik ben bezig om een serieele poort te maken. die aangesloten kan worden op USB.

Helaas kan ik geen schakelingen vinden.
Weet iemand hoe ik dat kan doen?
Ook heb ik begrepen dat er 12V voor nodig is, klopt dit?

bvd. Jos

FTDI heeft daar devices voor http://www.ftdichip.com/. En 12V ga je echt niet nodig hebben

De chips kan je bestellen bij www.voti.nl voor een relatief lage prijs.

Op 7 maart 2007 11:49:26 schreef Jos van den Berg:
Hoi

Ik ben bezig om een serieele poort te maken. die aangesloten kan worden op USB.

Helaas kan ik geen schakelingen vinden.
Weet iemand hoe ik dat kan doen?
Ook heb ik begrepen dat er 12V voor nodig is, klopt dit?

bvd. Jos

hoe kan je er aan 'bezig' zijn als je niet weet hoe te beginnen ... . ja er is 12 volt nodig , en ook -12 volt ...

ftdi232rl met een max232 erachter en je komt al een heel eind. , 2 weerstanden , 5 condensatortjes voor de max en 3 condensatortjes voor de ftdi en tis gepiept.

www.ftdichip.com. ga de datasheet halen , ga de appnote halen tschema staat ering.

en voti ( alsook franell , digikey en nog een pak anderen ) hebben de ftdi in voorrad

Zit er niet net zo'n chip in een gewone USB-RS232 converter? Dat betekend een boel moeite voor iets dat al niks kost en maar in enkele gevallen werkt.

Een gewone seriele kaart (of PCMCIA in de laptop) is toch beter. (of mis ik iets?)

Op 7 maart 2007 15:15:59 schreef free_electron:
. ja er is 12 volt nodig , en ook -12 volt ...

Noppes. de chip werkt op 3.3V.

Overigens is de FDTI chip brol. Als je de handshakelijnen gaat gebruiken, is hij veel te traag.

Op 7 maart 2007 19:13:26 schreef GJ_:
Een gewone seriele kaart (of PCMCIA in de laptop) is toch beter. (of mis ik iets?)

Dit is het perfect antwoord. Als je ff zoekt op CO vind je genoeg daarover.

[Bericht gewijzigd door Evarist op ]

hallo,

het moet een exstern kastje worden omdat sommige pc's niet open mogen.
en ik het op meedere pc kunnen gebruiken.

Op 7 maart 2007 19:13:26 schreef GJ_:
Zit er niet net zo'n chip in een gewone USB-RS232 converter? Dat betekend een boel moeite voor iets dat al niks kost en maar in enkele gevallen werkt.

Een gewone seriele kaart (of PCMCIA in de laptop) is toch beter. (of mis ik iets?)

wat voor chip bedoel je?

bvd. Jos

Van een USB kun je nou eenmaal geen RS232 maken. Veel software werkt niet naar behoren op een USB-serieel conversie en soms is het ook de PC zelf die het niet vreet. Ik heb er heel erg slechte ervaringen mee. Ik heb er veel getest met wisselend succes maar nooit een goed resultaat. Ik moet daar wel bij zeggen dat ik hier zeker 20 softwarepakketten heb draaien die om een RS232 vragen en die werken nooit allemaal op zo'n conversie.

Op 7 maart 2007 19:16:14 schreef evarist:
[...]
Noppes. de chip werkt op 3.3V.

Overigens is de FDTI chip brol. Als je de handshakelijnen gaat gebruiken, is hij veel te traag.

Hij bedoeld dat rs232 12V en -12V nodig heeft, leek me wel duidelijk. Maar je kan wel zeggen dat die ftdi chip brol is maar er zijn niet veel anderen die ze maken(+ verkrijgbaar zijn hier) en een usb product via een 18Fxxxx pic ontwikkelen doe je ook niet zomaar even.

Zolang software netjes van de Windows-api gebruik maakt is er niks aan het handje. Dan zouden die converters prima moeten werken.

Het gaat idd mis als je gaat bit-bangen of zelfs direct de betreffende poorten (dus zonder OS) aan gaat sturen, maar daar is die poort dan ook nooit voor bedoeld. Helaas doet erg veel software een van de laatste 2 opties, omdat het gebruiken van serieele poorten onder windows toch wel erg 'lastig' is. En dan zeuren dat die converters niet werken... Laat ze eens fatsoenlijke software schrijven.

Soms moet je wel eens wat doen om je doel te bereiken dexter :) Ik gebruik bijv de rts en cts lijn om mijn micro softwarematig te kunnen resetten en in config mode kan plaatsen. Misschien niet netjes maar er zijn weinig oplossingen die even duur of even makkelijk zijn.

Op 7 maart 2007 19:16:14 schreef evarist:
Overigens is de FDTI chip brol. Als je de handshakelijnen gaat gebruiken, is hij veel te traag.

Je bedoelt waarschijnlijk als je de handshakelijnen gaat misbruiken. Handshakelijnen zijn bij normale communicatie juist nodig om hoge snelheden te halen. En het feit dat veel seriele hardware geen handshake gebruikt, of juist misbruikt zorgt voor het probleem dat ze over USB niet meer werken.

[Bericht gewijzigd door madwizard op ]

hoi

Het word nu wel een beetje verwarrend voor mij.
Zou iemand zo goed willen zijn om een schematje te tekenen?
voor de duidelijkheid het gaat om een 9 pins poort.

bvd.
Jos

Hier is de datasheet van de bl versie:

http://www.ftdichip.com/Documents/DataSheets/DS_FT232BL.pdf

kijk die maar eens door.

Datasheet van de max232 is ook heel makkelijk te vinden.

Op 8 maart 2007 00:14:40 schreef madwizard:
[...]
Je bedoelt waarschijnlijk als je de handshakelijnen gaat misbruiken. Handshakelijnen zijn bij normale communicatie juist nodig om hoge snelheden te halen. En het feit dat veel seriele hardware geen handshake gebruikt, of juist misbruikt zorgt voor het probleem dat ze over USB niet meer werken.

juist.

die FTDI werkt perfect en correct als je hem als een ECHTE seriele poort gat gebruiken. als je zelf gaat kllloien met achterbakse protocollen die je emuleert ; eigen schuld dikke bult.

en als je ECHT wilt bitbangen : die chips hebben een bitbang mode speciaal daarvoor gemaakt , maar je moet dan wel je software aanpassen dattie in Dxxx mode draait en niet in VCP mode.

madwizard ( en ik ook trouwnes) gebruikt die ftdis om te bitbangen. raaaaazend snel die dingen.

Op 7 maart 2007 23:23:00 schreef dexter:...En dan zeuren dat die converters niet werken... Laat ze eens fatsoenlijke software schrijven.

Onzin!!
Veel software wil een RS232 en geen USB. En in vroeger tijden had je DOS en als je het luxe wou zat daar nog W3.11 overheen. En toen was die RS232 heel bereikbaar. Dus ik "zeur" niet maar heb nog heel veel software uit de DOS en W3.11 tijd die nooit meer vervangen kan worden. Meneer Microsoft is gewoon een vreselijk onbetrouwbare partner gebleken. Ik moet nu verplicht drie laptops meesjouwen. Want er is ook al software die perse XPpro eist. En dat is ook onnodig en onfatsoenlijk.

Op 8 maart 2007 14:18:44 schreef free_electron:

die FTDI werkt perfect en correct als je hem als een ECHTE seriele poort gat gebruiken. als je zelf gaat kllloien met achterbakse protocollen die je emuleert ; eigen schuld dikke bult.

En dus is die opmerking ook absolute onzin.
Jarenlang is de RS232 en de besturing zo gemaakt dat ie op verschillende manieren bruikbaar was. Nu dus niet meer. Om dan de programmeurs van software van 10 jaar geleden de schuld te geven omdat er nu plotseling allerlei beperkingen zijn opgelegd is erg onterecht.

Uiteindelijk zijn de betalende gebruikers de dupe van een hard- en software industrie die zich niet houdt aan eerder gemaakte afspraken en dat is schandalig.

[Bericht gewijzigd door GJ_ op ]

Blame it on Gates..
Je hebt gelijk GJ, maar kijk eens naar het mac OS. Daar gebeurt hetzelfde hoor..
Het grote probleem met software, het gaat over z'n houdbaarheidsdatum heen..

@GJ
Ik ben het volledig eens met free_electron. Daarnaast is de ontwikkeling op het gebied van hardware/software echt enorm hard gegaan. 10 jaar is erg lang in de computerwereld. Al hadden ze toen wel al Windows (95 en 3.1), wat iig een verbetering was tov DOS.

In die 'goede-oude' DOS-tijd moest iedereen maar zelf z'n eigen drivers schrijven. Een ware hel voor geluidskaarten en met name videokaarten. Veel software moest dus direkt naar de juiste poortadressen schrijven. Geen enkele vorm van abstraktie laag dus, zodat veel software alleen met een zeer beperkte hoeveelheid hardware werkte.

Dat heeft er toen ook voor gezorgd dat er een berg legacy devices zijn ontstaan waar fabrikanten vandaag de dag nog steeds last van hebben.

Er bestond toen trouwens ook al een 'nette' oplossing om de serieele poort aan te sturen, die ook nu geen probleem zou moeten geven met die USB naar serieel converters. Namelijk via het OS (COM1:, COM2: etc). Het probleem daarbij was echter dat dat niet harder dan 9600 baud ging en dat je verder niet heel erg veel controle over de datatransfer had. Daarom benaderde veel software uit die tijd dus direct de poort. Dat dat nu problemen geeft is logisch en eerder een fout gemaakt in die tijd.

Het is zo lekker makkelijk om Billie weer de schuld te geven of de fabrikanten van de USB-naar-serieel converters, maar naar mijn idee echt volledig onterecht. Als je Windows software gebruikt die netjes API-calls doen en geen bitbang-hacks doen, zouden die dingen gewoon prima moeten werken.

Enige waar ik je wel een beetje in tegmoet wil komen is dat de levelconverters (afgeleide van MAX232) in die USB-naar-serieel converters vaak erg weinig power leveren en devices op hardwarematig niveau nog weleens problemen geven. Maar ook daarbij: als er in de hardware netjes een MAX232 zit, zou dat geen probleem moeten geven.

@Jos van den Berg
Gezien je eerdere posts en daarmee je huidige kennis denk ik dat het erg verstandig is om een convertertje te kopen ipv zelf te maken. Zo'n ding is nl een heel stuk ingewikkelder dan een simpele level-converter die je met wat weerstandjes en transistoren kunt bouwen. Kant-en-klaar kopen is daarnaast ook nog eens goedkoper. Aan losse onderdelen ben je al meer kwijt.

Op 8 maart 2007 16:11:46 schreef dexter:..Al hadden ze toen wel al Windows (95 en 3.1), wat iig een verbetering was tov DOS.

waarom???

Dat dat nu problemen geeft is logisch en eerder een fout gemaakt in die tijd.

Weer onzin!
--edit-- Ik lees dit nog eens na en zie dat het zo wat cru gebracht wordt door mij en dat is niet de bedoeling. Hou er echter rekening mee dat ik in dit geval slachtoffer ben van het niet naleven van afspraken. En dat is tamelijk zuur als je duizenden euro per jaar moet ophoesten voor je software.

Als je Windows software gebruikt die netjes API-calls doen en geen bitbang-hacks doen, zouden die dingen gewoon prima moeten werken.

Er is nog genoeg oude software. En dat is een reuzeprobleem waar niemand rekening mee heeft gehouden. En voor al die software is toch heel erg veel geld betaald.

De beste oplossing is nog steeds een echte RS232 en een PC met 2 besturingssystemen, bv WIN98 en XPpro

[Bericht gewijzigd door GJ_ op ]

Op 8 maart 2007 16:20:14 schreef GJ_:
Weer onzin!
--edit-- Ik lees dit nog eens na en zie dat het zo wat cru gebracht wordt door mij en dat is niet de bedoeling. Hou er echter rekening mee dat ik in dit geval slachtoffer ben van het niet naleven van afspraken. En dat is tamelijk zuur als je duizenden euro per jaar moet ophoesten voor je software.

Daar kan ik inkomen en dat is idd zuur. Ik vrees echter dat het een niet op-te-lossen probleem is, met name omdat hardware dus direkt wordt aangestuurd vanuit DOS-applicaties ipv door het OS. Dat is ook precies de verbetering die met Windows toen is ingevoerd: een extra (generieke) laag (=drivers) toevoegen tussen software en hardware, zodat je applicatie niet meer afhankelijk is van specifieke hardware (met name een probleem indertijd met geluidskaarten en videokaarten).

Ik vind het anderzijds nog een wonder dat ze de ondersteuning voor DOS nog zo relatief goed voor elkaar hebben, mede als je je realiseert hoe veel low-level calls door DOS software worden gedaan. T/m windows 98 konden DOS-applicaties nog heel direct bij (hardware) resources. Vanaf Windows 2000 wordt alles geemuleerd, zodat DOS echt in een volledig afgeschermde eigen 'omgeving' kan draaien. Crashen van een DOS-applicatie kan daardoor de PC niet meer zo makkelijk neerhalen.

Op 8 maart 2007 16:20:14 schreef GJ_:
[...]Er is nog genoeg oude software. En dat is een reuzeprobleem waar niemand rekening mee heeft gehouden. En voor al die software is toch heel erg veel geld betaald.

De beste oplossing is nog steeds een echte RS232 en een PC met 2 besturingssystemen, bv WIN98 en XPpro

Of zoals ik onlangs gedaan heb: het protocol reverse-engineeren. Je kunt dan vanuit elke applicatie of OS (dus ook linux) je hardware aansturen.

Op 8 maart 2007 17:28:03 schreef dexter:
Of zoals ik onlangs gedaan heb: het protocol reverse-engineeren. Je kunt dan vanuit elke applicatie of OS (dus ook linux) je hardware aansturen.

Dat is geen reele mogelijkheid. Het gaat om vele softwarepakketten. En een aantal daarvan communiceerd met verschillende protocollen naar verschillende types van apparaten.

Jos Vanden Berg.Ik heb zo'n ding van Belkin te koop, interesse? Mail me dan.

ik heb hier oude vt52 terminals staan vanuit de jaren stillekes ( 1974) met een seriele poort op ( 9600,n,8,1 en RS232 signalling level.)
ftdi eraan : werkt VLEKKELOOS.

de miserie is dat er veel oude programmas zijn die de seriele poort NIEt als UART gebruiken ( niet op de manier waarvoor die gemaakt is. ) hetzelfde heb je met een printerpoort. een printerpoort dient om een PRINTER aan te hangen. NIET om allerhande dingen mee te gaan emuleren

als je vandaag , onder windows XP daar een straatoude line printer ( ik spreek nog voor de matrixprinters , van die IBM dingen met zo een bal ) aanhangt dan werkt dat nog steeds correct ! ook vanonder een dos applicatie.

Als je 'zelfgebreide' rommel die alleen met zijn eigen compliant is niet werkt onder een andere versie van het OS is het tijd om jezelf een dreun van jewelste te geven. EIGEN F-ing schuld. Je moet maar de dingen gebruiken waarvoor ze gemaakt zijn.

En ja er is veel oude softwar die op allerhande bizarre manieren met de poorten omstringt ( der is niks verschrikkeler dan een programmeur die een 'trukje' gevonden heeft. Dat is miserie zoeken. ) maar kat het OS niet af . zoek die kerel op die dat misbaksel in elkaar gezet heeft en geef hem de volle lading.

Als je bidirectioneel wilt sturen met een printerpoort : schakel de poort in ECP of EPP mode en GO. daar is dat voor gemaakt.

Der zijn veel van die externe eprom programmers die niet werken omdat ze een undocumented feature van de poort chips gebruiken. Sorry jongens, maar dit kan dus niet in een commercieel product.

Sommige printerpoorten die alleen klassieke printerpoort zijn ( dus geen ECP of EPP ) kan je toch bidirectioneel switchen door met een van de reserved bits te spelen.
Blijkbaar had IBM in zijn onmetelijke wijsheid dat in de ORIGINELE PC ( model 5100 ) voorzien. de 'kloon' fabrikanten hadden dit NIET geimplementeerd omdat het nergens vermeld stond in de documentatie van IBM. Later heeft er dan een of andere slimmerik uitgevlooid dat dit wel kon... je kon een ISA kaartje wat met TTL chippies in elkaar gezet was ( al die isa printerkaartjes waren toen nog met 7 of 8 losse ttl chippies in elkaar gezet ) zelf modden om het te doen. was ergens bit 5 van base+1 0 wat je moest OR-en met de /r/d
en op de 74373 ( de output driver kleeft je een 74254 ondersteboven waarvan de OE gekoppeld werdt naar die uitgang van die OR poort.

en wonder boven wonder : er was nog ergens een ongebruikte OR poort beschikbaar in die kaartjes. met andere woorden : 3 draadjes solderen en een 74245 was alles wat je nodig had.

Sommige io chips hadden dit feature ook ( niet allemaal ) en dan begon de miserie ....

Vandaar dat men met ECP en EPP op de pinnen gekomen is. Die dingen zijn een STANDAARD ( IEEE1284 ) en dat wordt perfect en correct ondersteund door eendert welk operating systeem. en als je zelf weer soep begint te koken : eigen schuld als het op een ander machien niet werkt.

Ik ben absoluut een Apple -hater ( puur om die idioot die daar aan het roer staat. Woz heeft al het werk gedaan en het grote 'iCon' is met de pluimen gaan lopen. hij kent geneens het verschil tussen een weerstand een het achterste van een zieke koe ), maar als er 1 ding is waar apple een pluim verdient is het hun hardware . Ze houden de boel gesloten en clean. Die hardware designs zijn 'AF'. je gaat daar geen 'made in crap-wan' 99.9% compatible , soms werkt-het-en-soms-werkt-het-niet , kan-elk-moment-ontploffen-condensatoren of Ic's met kromme poten in tegenkomen.

Dat maakt ook dat ze alleen hun eigen spul moeten ondersteunen en ze vele minder miserie hebben met 'rogue' programmeurs...

M$ moet een systeem onderhouden wat met allerhande in elkaar gefrutseld spul moet blijven draaien ...

Met XP en zeker nu met Vista is het grote kuis. Al wat afwijkt van de norm : gedaan ermee. Je kan die baggage niet eeuwig blijven meeslepen. Iedereen zeurt dat windows 'bloatware' is. Smijt er eens al die backward compatibiliteit zever uit. je houdt amper 10 % over....

Al eens de 'footprint' van windows mobile gezien ?
Je kan een windows mobile 5 installatie maken inclusief graphics driver en gans de reutemeteut in minder dan 7 megabyte. Das echt winXP wat daar staat te draaien.

maar dan werkt het ALLEEN op de hardware waarvoor het gemakt is. al de drivers zijn hard meegecompileerd en niet uitwisselbaar. als je hardware ook maar iets afwijkt van diegene waarvoor het gemaakt is : sorry ...

Wij hebben het hier lopen op een MIPS processor geclockt aan 400 MHz. de response van dat ding is even snel als een 2 GHz PC. puur omdat de versie op die arme pc maar moet zien bij elke boot of er geen nieuwe hardware is is , al zijn drivers moet dynamisch laden en dergelijke.

Als je me niet gelooft : Zet uw machiene in hibernate. ( das eigenlijk een image-boot die je dan doet. je neemt gans de zwik zoals je pc die nodig heeft (alles wat op DIT moment geladen is), en pleurt dat in 1 file.
de computer gaat echt in powerdown ( niet in sleep mode )
om de test eerlijk te doen : schakel je 500 tray-helpers en icoontjes allemaal uit , veel van de delay komt door al de rottigheid die op de achtergrond draait.
als je machiene clena windows loopt : Start- Shutdown .op het shutdown scherm houg je de SHIFT toets in ( de linker , ik ben niet zeker dat het werkt met de rechter ). je zulkt het eerste icoontje ( normaal standby ) zien veranderen , en er komt Hibernate onder te staan.
klik daar.

windows gaat nu een hibernate file aanmaken op je harde schijf ( de eerste keer duurt dat een tijdje omdat hij soms files moet moeven. de hibernate file is een gedefragmenteerde file ).
in die File komt een 100% memory copy te staan van de ram van je PC. alles wat op dat moment dus draait( en nodig is voor je machiene, al de rest heb je ge-elimineerd ) wordt ge-imaged in die file.

schakel de computer terug in: je gaat nog nooit ene pc gezien hebben die zo snel opboot. binnen de 5 seconden issie klaar om gebruikt te worden.

al wat de bootloader doet is die file lezen en terug in de ram pleuren waar het de laatste keer stond. er wordt niet gezocht naar nieuw hardware ,drivers of andere zever. het enige wat gedaan wordt is de network connecties restoren en dat kan 2 seconden duren ( er moet opnieuw contact gelegd worden met de dhcp server en de mappings moeten gemaakt worden )

damn , ik stond weer op de preekstoel blijkbaar...

Ah zo leert een mens nog eens iets ;-)