Buffra datastring?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
pesa006
Inlägg: 29
Blev medlem: 24 november 2007, 13:04:44
Ort: trollhättan

Buffra datastring?

Inlägg av pesa006 »

Jag har ett litet problem som jag hoppas någon kan ge mig idéer på.

Jag har en källa som skickar iväg digitala datastringar, olika storlekar men störst på max 500 byte!
Skickas till en dators comport och allt fungerar!

MEN nu vill jag har två källor som ska skicka till samma comport. Och problemet är att jag vet inte exakt när datastringarna kommer och de kan komma samtidigt därför funderar jag hur man ska göra!
Kan man på något enkelt sett lagra(buffra) datan i någon IC för att sedan skicka vidare utan att krocka med den andra kanalen!

/Per

jag har bra kunskaper om elektronik men tycker det är svårt att hitta rätt komponenter..
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Buffra datastring?

Inlägg av Icecap »

Nej.

Men vad du KAN göra är att ha en µC med (minst) två UART och minne nog som kan fungera som buffer.

RS232 är INTE multi-drop så hela konceptet är fel från grunden. Antingen behöver du två serieporta på PC'n eller bygga en "sammanlänkare" som beskrivit ovan.
Användarvisningsbild
MiaM
Inlägg: 12974
Blev medlem: 6 maj 2009, 22:19:19

Re: Buffra datastring?

Inlägg av MiaM »

Om du kan öka hastigheten på PC'ns serieport mer än en dubblering, så kan du låta en mikrokontroller mux'a ihop datat så att den inte behöver ha några större mängder minne.

Men allmänt så borde vilken mikrokontroller som helst med två serieportar (mottagning på två av dem från dina sändare, sändning på en till din pc) och tillräckligt med minne kunna fixa uppgiften.

Jag har tyvärr inget råd om vilken mikrokontroller som är lämplig. Har du någon erfarenhet av programmering av nån mikrokontroller?
pesa006
Inlägg: 29
Blev medlem: 24 november 2007, 13:04:44
Ort: trollhättan

Re: Buffra datastring?

Inlägg av pesa006 »

Tack för svaren!

Misstänkte att det kanske bara gick med en mikrokontroller.
Har bara ytligt berört det så jag kanske får fundera ut någon annan lösning!
Datorn som används är en laptop med endast en com port på, och usb-rs232 lösning fungerar inte...

Om någon har fler idéer eller annat, skriv gärna!!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Buffra datastring?

Inlägg av sodjan »

Två laptop.
Användarvisningsbild
adent
Inlägg: 4247
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Buffra datastring?

Inlägg av adent »

Varför fungerar inte två usb-rs232-adaptrar?

MVH: Mikael
pesa006
Inlägg: 29
Blev medlem: 24 november 2007, 13:04:44
Ort: trollhättan

Re: Buffra datastring?

Inlägg av pesa006 »

pc-programmet använder inte standard pinnarna på db9kontakten därav går inte usb-rs232 adapter!

Visst går det med två laptop men erkänn att det vore roligare och smidigare med en och sedan någon teknisk lösning.........
Användarvisningsbild
Jan Almqvist
Inlägg: 1655
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: Buffra datastring?

Inlägg av Jan Almqvist »

pesa006 skrev:pc-programmet använder inte standard pinnarna på db9kontakten därav går inte usb-rs232 adapter!
Är det verkligen skillnad på pinnarna på COM1 på datorn (9-polig D-SUB) och en USB-adapter, det undrar jag. Ett program för Win32 som körs på Windows NT4 eller senare märker nog ingen större skillnad på "riktig" COM1 eller via USB-adapter.

Jag köper att det kan vara problem i DOS och Windows 3.1 om man jobbar rakt mot hårdvaran.

Förslag på lösningar:

- Gör om PC-programmet så att du kan använda TCP/IP och portservrar.

- Ändra hela upplägget att din datakälla inte skickar på eget bevåg utan bara svarar på order från PC:n. Då kan du ansluta flera enheter till samma serieport med t.ex. RS-485.

- Kör flera instanser av samma program i en dator som använder var sin serieport.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Buffra datastring?

Inlägg av sodjan »

> pc-programmet använder inte standard pinnarna på db9kontakten därav går inte usb-rs232 adapter!

Hur menar du? Läser den data via t.ex pinnarna för modemkontroll eller liknande?
Ja, *det* var ju en underlig lösning i så fall! Det betyder att du har något
specialprogram på PC'n för att läsa det. Och har du program som läser
direkt från modem pinnarna så kanske inte USB/RS232 drivers stöder det.

Förr fanns det COM portar på PC-Card som ofta hade bättre kompatibilitet i
hårdvaran, förrutom då PC-Card uttaget internt var anslutet till USB-bussen...

> Jag har en källa...

Vad är det mer specifikt?

Är detta i något slags professionallt sammanhang? I så fall tycker jag
att du ska leta efter en professionell lösning, inget hemmabygge.

> MEN nu vill jag har två källor som ska skicka till samma comport.

*Måste* det vara till samma COM port?
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Buffra datastring?

Inlägg av Icecap »

Jag har gjort ett antal program som använder serieporten på en PC. Då mina program enbart använder vanliga API-kall för hanteringen av serieporten fungerar det lika bra med "riktig" COM-port som med USB-dongel.

Men jag kan förstå att om inte programmet fungerar med USB-dongeln är det tvunget att köra Win98 eller äldre.

Det problem som oftast finns med USB-dongeln är att portnumret blir så högt att programmet inte hittar det - men det kan enkelt ställas rätt i enhetshanteraren.
pesa006
Inlägg: 29
Blev medlem: 24 november 2007, 13:04:44
Ort: trollhättan

Re: Buffra datastring?

Inlägg av pesa006 »

Nu har jag pillat mer!

Anledningen att det är specialpinnar på db9kontakten är att datan är synkroniserad. kommer data hela tiden fast när det kommer en startbit så vaknar programmet och tar emot!
så jag behöver göra om det till asynkron signal så klarar en rs232-usb ta emot..
men där känner jag att mina kunskaper är begränsade i mikrokontroller och programmering.

tackar för att ni fick mig att inse detta, nu har jag mer på fötterna men vad hjälper det.... :shock:
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Buffra datastring?

Inlägg av Icecap »

Nu blandar du nog ihop det hela lite.

Synkron transmission sker vid att det finns en klock-signal vid sidan om datasignalen. Det har alltså inte ett enda skvatt med om det sker en aktivering via en handskakningssignal!

Asynkron kommunikation använder tiden som synkronisering.

Om dina signaler ÄVEN behöver att aktivera med handskakningen kan även det enkelt lösas med en µC - men då måste du ju programmera lite.
pesa006
Inlägg: 29
Blev medlem: 24 november 2007, 13:04:44
Ort: trollhättan

Re: Buffra datastring?

Inlägg av pesa006 »

:oops: :oops: så är det givetvis
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Buffra datastring?

Inlägg av sodjan »

Och startbitar kommer det vid varje tecken.

Hur som helst, det skulle underlätta en hel del om vi
visste vad det hela handlar om för utrustning.
Användarvisningsbild
Icecap
Inlägg: 26652
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Buffra datastring?

Inlägg av Icecap »

pesa006:
* Kommer aktiveringen via handskakningen varje gång ett block börjar?
* Slutar aktiveringen när ett block har skickats?
* Hur ofta kommer blocken?
* Vilken baudrate gäller det?

Jag ser inget problem med att lösa detta med t.ex. en PIC och då ha ett externt RAM-minne som buffer, då kan man dubbelbuffra "allt" man vill. Det kräver bara pinnar nog på µC'n så att den kan styra data- och adress-bus samt handskakningen.

En 40-pinnars PIC skulle lätt klara jobbet, kanske en PIC18F26K22-I/SP?
Den har 3896 bytes RAM, intern 32MHz oscillator och 28 pinnar samt 2 st UART samt DIL-kapsel.
Alltså allt du kan behöva för detta - i processorväg, självklart behövs lite RS232-interfacekretsar osv. småkrafs.

Kostar 24,50 + moms hos Farnell.
Skriv svar