COM serieport utgang

G

gvanto

Guest
Jeg vil, ved hjelp av C (Dev-cpp men noe er fin), output et digitalt tall (ikke sikker på hvor mange biter) til min PC's seriell port (eller USB om mulig?) Og deretter bruke en digital til analog konverter å konvertere signalet til analog form.

Dens for et lite forskningsprosjekt.

Jeg vet basic C programmering, men har aldri output ting til seriell COM-porten (eller lese i for den saks skyld).Siden seriell utgang vil prob må skifte registrere den inn i et register, så DAC det ut til analoge.Jeg er sikker på det er alle slags timing problemer.

Noen råd vil bli satt stor pris på!
gvanto

 
Jeg vil bruke en tradisjonell RS-232 mottaker, for eksempel MAX232 for eksempel (husk, signalene er /-12V) og mater dataene til en mikrokontroller, som vil tolke den og produksjon de nødvendige kommando / data til det faktiske DAC.
Alt dette er nødvendig fordi DAC ikke "forstå" det samme serienummeret protokollen serieporten bruker.Så du bruker en mikro som oversetter.
Avhengig av hvordan du skriver mikro-koden, vil du kunne bruke dette med ulike programmer (siden kan du for eksempel produksjon / motta alt bare som ASCII koder, uten å bekymre deg om DAC, dataformat osv. mikro tar seg av det).Det blir alt bare en ting koblet til din PC (akkurat som en gammel skriver, for eksempel).Du kan også bruke den med HyperTerminal.

 
Hvis du har knowlage på programmeringsspråk mikrokontrollere da muligheten til å bruke en mikrokontroller (ekstra scene, styrt via COM-port) til å kontrollere AD konverter er OK.
Men, hva (ved hjelp av C ferdigheter) hvis du får direkte kontroll over AD-omformer via parallellporten?
Der har du D0 - D7 linjer (pluss noen ACK linjer) og de kan kobles direkte til alle AD konverter uten ekstra scener ..
Vurdere dette alternativet ..
Hilsen,
IanP

 
Egentlig var denne ideen om at jeg hadde først i tankene IanP, men var ikke sikker på om det et levedyktig alternativ.Det gjør mer fornuftig om å sende ut data parallelt siden data produksjon og oppkjøp vil være raskere (og nei skift registrerer involvert for å få data inn i parallell).

Noen ide hva rate data utgang på parallellporten (kan den brukes til andre ting enn skrivere?) Dersom for eksempel Im benytter en PC med 800 MHz prosessor hastighet.(Beklager men min kjennskap til C er veldig grunnleggende og ikke helt strekker til nettverksbygging og porter I / O, ennå!)

Im litt bekymret for at DAC jeg vil kreve må ganske høyt spec (ie. ka-ching $ $) for å møte par-port utgang krav, men Im gjette utgangen hastigheten kan stilles (?).

Enhver form for eksempler på bruk av parallellporten for I / O i C / C vil være en stor hjelp.

Mange takk,
gvanto

 
Her er noen eksempler i C på lesing og skriving av data over SPP (standard parallell port):
http://www.phanderson.com/printer/ds1620/ds1620.html
http://www.phanderson.com/printer/ltc1392/ltc1392.html
og:
http://www.doc.ic.ac.uk/ ~ ih / doc / par /

Quote:

Speed

Spørsmål: Hvordan kan Parallellport ISA-kort støtte sitert priser for dataoverføring over 1MB/sec?
Så vidt jeg vet en hver inn / ut kommandoen for en ISA bus adresse tar minst 1 mikrosekund å utføre UAVHENGIG av prosessorhastighet?A: En enkel parallell-port lese eller skrive tar en ISA-buss syklus, og på de fleste systemer er busshastighet rundt 1,3 Mhz, så en syklus er litt under 1 mikrosekund.
En fullstendig dataoverføring på den opprinnelige parallellporten tar vanligvis minst 4 sykluser, men: sjekk Opptatt status, skriver data, bringe Strobe lav, så høy.
På porter som støtter EPP og ECP-modus, i disse modusene porten maskinvare gjør håndtrykk, og en fullstendig overdragelse kan finne sted i 1 buss syklus.Det er minst to måter å komme raskere dataoverføringer: Noen porter støtter en «rask modus som bruker ISA bus's nows (nei vent tilstand) signal å føre CPU hoppe 3 Vent stater.
Denne modusen er dobbelt så raskt, eller rundt 2,7 Mhz.
ECPs også maskinvarestøtte for data decompressing (og noen ganger komprimere, men det er ofte igjen for programvare), slik at effektiv hastighet på dataoverføringen kan være mye raskere enn antall bytes skrevet eller lest per sekund.
Det kan også hende ECPs kunne overføre data mellom verten og perifere's ECP bufferne ved hastigheter høyere enn 1 MHz, men bufferne er vanligvis kun 8 byte.

 

Welcome to EDABoard.com

Sponsor

Back
Top