Säkerhetslåda för dator-I/O?

Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

lond skrev:Kolla efter en som isolerar en parallellporten i ett CNC-systen. Borde finnas billiga på eBay och AliX.

/// Marcus
Tack för detta mycket trevliga tips!

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

Har nu läst lite i engelska Wikipedia om LPT:
1) 25 pinnar (DB25), hona på dator
2) Tre pinnar är dubbelriktade
3) Ingen matning finns
4) TTL

Att inte visa ett pulsdiagram för hur ett tecken sänds och tas emot är dåligt, tycker jag.

MVH/Roger
PS
Vissa former av LPT klarar tydligen så hög hastighet som 2,5MB/s (=20Mb/s, det är ju tio gånger snabbare än mitt bredband :D ).
Användarvisningsbild
AndLi
Inlägg: 18251
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Säkerhetslåda för dator-I/O?

Inlägg av AndLi »

Moderna, där även din dator bör räknas med, portar är väl alla pinnar dubbelriktade... I alla fall minst de 8 databitarna...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46930
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Säkerhetslåda för dator-I/O?

Inlägg av TomasL »

rogerk8 skrev:Att inte visa ett pulsdiagram för hur ett tecken sänds och tas emot är dåligt, tycker jag.
Datapinnarna på en EPP, vilket alla är i dag är dubbelriktade, måste nog vart det från allra första början också, för annars borde inte hårdvarulåsen kunnat fungera, och de kom ju på 80-talet.

När det gäller pulsdiagram, tja varför, datan läggs ut på datalinan, sedan strobas den, och printern svarar med en ACK
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

MiaM skrev:Ett sätt att förlänga VGA och få förträfflig bild är att använda vanlig 75-ohms koaxkabel. Du kan ta en kort VGA-sladd och klippa och lödskarva in dessa bättre kablar. Men se till att de blir lika långa. Jag har upptäckt den hårda vägen att om man tar tre slumpvist valda kablar ur bra-att-ha-lådan utan att de är lika långa så blir färgerna inbördes förskjutna i sidled...
Intressant tips, tack!
Vad gäller USB så är det väl extremt sällsynt att du ansluter någon labbkoppling där? Det är väl snarast andra färdigbyggda saker du ansluter där? I så fall behöver du kanske inte skydda den porten så mycket.
Bra observation!
Minsta krav på skydd är ju skyddsdioder som tar för höga spänningar. Men se upp för att sätta dioderna mot interna matningsspänningar i ditt bygge utan att göra något mer. Om du gör så så måste du också ha något skydd som hindrar matningsspänningarna att bli för höga. Antag till exempel att du har 2*15V till OP-förstärkarna för ljudet, och skyddsdioder till matningsspänningarna. Sen råkar du ansluta +40V från ett slutsteg på line in. Då kommer dioden leda dessa +40V och eftersom nätdelen till ett slutsteg ofta är rätt stark så kommer +15V-ledningen i ditt bygge lyftas till en diodsträcka under +40V och då blir det nog minst fyrverkeri av elektrolyter men troligtvis också brasa av OP-förstärkarna. Så en krets med en fläskig transistor och zenerdiod som gör att transistorn leder vid överspänning, alternativt en krets med thyristor som kortsluter matningen vid överspänning (förutsatt att nätagget tål kortis) är nog ett måste då.
Det här är faktiskt väldigt intressant speciellt för att vi har diskuterat en "craw-bar" i samband med primärswichad SMPS där vitsen var att låta en thyristor gå in och helt enkelt kortsluta utgången vid för hög utspänning.

Jag har dessutom inte tänkt lika långt som du dvs att en extern enhet/slutsteg faktiskt kan lyfta spänningen på det viset som du nu beskriver, tack!

Pga din fina insikt kommer jag införa thyristor på den interna 5V-regulatorn (som kan vara SE btw).
Om du ska använda transformatorer så kosta på dig två helt separata nätdelar som kan mata op-förstärkare på var sida av transformatorerna. Då kan du ha aktiv elektronik som ger hög inimpedans och låg utimpedans mot omvärlden oberoende av transformatorernas impedans.
Har nog bestämt mig för att skippa transformatorer rakt av, blir för dyrt.

Samtidigt ser jag inte problemet du beskriver, jag har ju i min senaste skiss transformator enbart ut mot dator och i ena fallet ser således datorn i princip OP'ns utgångsimpedans i andra fallet ser datorn OP'ns ingångsmotstånd.
För parallellporten så är det egentligen bara överspänningsskydd som du kan använda som skydd. Det är också den känsligaste porten.
Jag har precis studerat den lite via Wikiedia, den är TTL och tre portar är dubbelriktade, min plan är motstånd+Zener och iom att jag inte kan galvaniskt isolera den så fyller dom andra trafosarna ingen funktion.
Serieportar är rätt stryktåliga och det är sällan du har högre spänningar än typ +/- 15V i ett bygge som använder serieportar så risken för överspänning är inte så stor. Å andra sidan är det bra med galvanisk isolering, så därför kan du med fördel göra nån optokopplarbaserad koppling. Även här går det givetvis åt fler nätdelar.
Intressant men iom att LPT inte går att galvaniskt isolera så skippar jag detta även för COM, även om optokopplare inte är så dyra.
När du ändå micklar med serieport så gör gärna så att du också kan köra 5V-nivåer och kanske 3,3V-nivåer rakt av, så slipper du använda ytterligare en omvandlare om du labbar med mikrokontrollers eller liknande. Använd en annan typ av kontaktdon för 3,3/5V-nivåerna så att ingen kopplar fel av misstag.
Men det är väl det jag gör?

Jag seriekopplar ju två RS232-kretsar och i mitten plockar jag ut UART.

Fast i nuläget är UART på 5V...
Jag skulle föreslå att du caddar kort så att du kan ha en hel driva små nättransformatorer för att driva ungefär varje ports "omvärld"-sida separat om du så vill, och om du inte från början vill ha mängder av trafos så kan du mata flera delar från samma trafo. På så sätt så kan du i framtiden få line in isolerad från line out.
Intressant!

MEN, om alla datorns I/O som jag vill nyttja alltid är inkopplade till lådan då räcker det ju med att en enda I/O inte har galvanisk isolering för att allt ska bli "ogalvaniskt" isolerat, eller?
Tänk också på vilka portar du verkligen behöver. Att datorn har en viss uppsättning portar innebär inte att det är just den uppsättningen du behöver. Jag hade nog skippat mikrofoningången och om du ändå vill mäta med mikrofonnivå eller allmänt svaga signaler så ordna reglerbar/valbar förstärkning på ingångssteget till line-ingången. Mikrofoningången på en dator är dessutom ibland i mono, med matningsspänning för elektretmikrofoner på "höger kanal" och själva signalen på "vänster kanal".
Det här var bra att veta, tack!

Jag tänkte tidigt att två signalingångar var onödigt men tänkte då mest att jag bara nyttjar MIC och dämpar ner LINE men iom det som du nu så trevligt säger borde jag göra tvärtom dvs nyttja LINE som den är och förstärka MIC.

Fast i nån slags helgardering (utan att egentligen veta min dators konfiguration ljudkortsmässigt) så har jag preliminärt nyttjat dom tre typer av AF-ingångar jag kan komma på.

MVH/Roger
PS
Vi får se hur jag gör men nu har jag lite kött på benen. Helt klart är att jag vill ha en låda, det ska liksom inte hänga en massa kablar på väggen och jag funderar tom på att skruva fast lådan i labbänken så att den står stadigt, sen är det mycket skönt och smidigt att ha alla signaler tillgängliga på ovansidan labbänken så man slipper gå ner på knä och krypa under labbänken bara för att koppla in nåt. Och när man ändå bygger en låda, varför inte försöka säkra upp den så mycket det går utan att det kostar skjortan?
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

AndLi skrev:Moderna, där även din dator bör räknas med, portar är väl alla pinnar dubbelriktade... I alla fall minst de 8 databitarna...
När det gäller datapinnarna, absolut :doh:

MVH/Roger
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

TomasL skrev: När det gäller pulsdiagram, tja varför, datan läggs ut på datalinan, sedan strobas den, och printern svarar med en ACK
Lätt för dig att säga.

MVH/Roger
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46930
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Säkerhetslåda för dator-I/O?

Inlägg av TomasL »

Tja, det är ju en parallellport, och då förutsätts ju att data skickas parallellt, hur skulle man göra annars?
Den enda timingen att tänka på är väl stroben som skall gå låg i mellan 500ns och 2000ns enligt Centronix, medans IBM-kompatibla kan sänka den i upp till 100ms
BUSY skall svara inom 500ns efter stroben är satt.

Kod: Markera allt

Sample Printer Transmission Timing 
	                 :<-----2.75usec min--------->:
		--------\ /----------/ /-------------\ /----------------
DATA LINES     |       DATA VALID           |
		--------/ \----------/ /-------------/ \----------------
	              ::                  --->::<---  0usec min. (G)
	          --->::<---  0usec min. (A)  :
		------------+   +----/ /------------------------------
STROBE*		 --->|   |<---              :	1.5usec +/- 500nsec (B)
		  	       +---+                  :
	           --->::<---           :  :  :	500nsec max. (C)
			          +-------/ /--------+  :
	BUSY		      |		         :  |  :
		-------------+		         :  +----------------------
	                                :  :  :
					                   --->:  :<--- 5usec max. (F)
			                      --->:  :<---	 5usec max. (E)
	  ---------------------/ /-----+     +-------------------
	ACK*				           --->| 	 |<--- 5usec min. (D)
					                   +-----+
	                               :     :
 
	Timing Event Order

	(A)	DATA must be valid prior to STROBE going LOW.

	(B)	STROBE* must go LOW for 1.5usec +/- 500nsec, then go HIGH.

	(C)	BUSY must go HIGH within 500nsec of STROBE going LOW.

	(D)	When the printer is ready to acknowledge the data,
		ACK* must go LOW for at least 5usec before going HIGH.

	(E)	BUSY must go LOW within 5usec of ACK* going LOW.

	(F)	ACK* must go HIGH within 5usec of BUSY going LOW.

	(G)	DATA may go invalid after ACK goes HIGH.
Senast redigerad av TomasL 16 december 2016, 20:21:21, redigerad totalt 1 gång.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

Det var inte det jag menade, jag menar att du ju kan sånt medans jag inte kan sånt.

Jag vill således hellre se pulsdiagrammet modell hur man skriver till ett minne dvs DAV (Data AVailable) osv.

Jag menar, vad betyder strobe?

Hur länge efter det man lagt ut byten måste man vänta innan man kan latcha in data (latch=strobe?) och hur pass mycket senare accepteras ett ACK?

Vilka tider gäller, liksom?

Och hur går det till (även om du nu grovt förklarat det för mig) vilket borde stå i Wikipedia menar jag bestämt.

Det finns mycket mer att önska av Wikipedia, jag älskar konceptet och dom engelska sidorna är ofta mycket bra men slå t.ex upp USB och du får en jävla massa dravel om versioner hit och dit men i princip inget om protokollet, så du kan inte använda informationen.

MVH/Roger
PS
Du hann tydligen svara med vad jag eftersökte medans jag skrev detta inlägg, tack.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46930
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Säkerhetslåda för dator-I/O?

Inlägg av TomasL »

Stroben sätts när data är valida, dvs spänningsnivåerna på datalinorna är stabila, tidsmässigt, tja det beror på elektroniken, och varierar mellan olika konstruktioner.

Om du har en valfri processor, och sätter samtliga 8 pinnar på en IO-port, så kommer det pga av impedanser, kapacitanser mm att ta en viss tid innan alla pinnar fått sina slutgiltiga värden. Du får alltid ringningar på en portpinne, och innan dessa ringningar ebbat ut, så kan du inte sätta stroben, eftersom data är felaktigt innan ringningarna tagit slut.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

Klockren förklaring, tack!

Lite osäker på ditt fina timing-diagram dock.

Är det möjligtvis som så att när en port (alla 8 bitar) sätts så tar det en liten stund innan porten är giltig (DAV), /STROBE disablar att data läses vid fel tidpunkt (dvs under tiden ringningarna pågår, typ) och vid dess positiva flank har vi DAV som då kan läsas?

/STROBE antar jag källan sänder ut som en slags latch-puls dvs den talar om att nu kan du läsa (dvs DAV).

BUSY tycks vara en signal som källan sänder ut och som säger att under den här tiden är jag upptagen med att sända (typ reserverar en tid för sändning då /STROBE redan talat om DAV, BUSY verkar således lite onödig).

/ACK måste komma från target modell "nu har jag tagit emot datat, nästa data tack". Men om /ACK kommer från target, hur kan då timing-diagrammet stämma för den kommer ju före det att BUSY går låg?

Eller är det som så att /ACK kan komma lite när den vill så länge den kommer före det att BUSY är klar?

Nej, den här delen är diffus i ditt fina timing-diagram.

MVH/Roger
PS
Knåpade du ihop det helt själv?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46930
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Säkerhetslåda för dator-I/O?

Inlägg av TomasL »

/STROBE antar jag källan sänder ut som en slags latch-puls dvs den talar om att nu kan du läsa (dvs DAV).
Ja.
BUSY tycks vara en signal som källan sänder ut och som säger att under den här tiden är jag upptagen med att sända (typ reserverar en tid för sändning då /STROBE redan talat om DAV, BUSY verkar således lite onödig).
Nej, det är mottagaren som talar om att den är upptagen (med att behandla data osv).
Inga nya data skickas förrän BUSY går låg
/ACK måste komma från target modell "nu har jag tagit emot datat, nästa data tack". Men om /ACK kommer från target, hur kan då timing-diagrammet stämma för den kommer ju före det att BUSY går låg?
Det är mottagaren som talar om att den tagit emot data, och klar för nästa uppsättning.
Kommer ingen ACK, så tyder det på att mottagaren inte fick några data, dvs skicka om.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

Jag tror jag fattar nu, tack Tomas!

Datorteknik på den här nivån gillar jag :)

MVH/Roger
PS
ACK=Acknowledge har jag ju teoretisk koll på vad det innebär, lite besviken på mig själv dock att jag inte fattade BUSY :doh:

Samtidigt känns det fortfarande som så att BUSY inte behövs för det är först när när sändaren fått en /ACK som sändaren kan sända nästa data så varför ska mottagaren både tala om att den är inte-BUSY och skicka /ACK?
cjonash
Inlägg: 613
Blev medlem: 20 maj 2011, 08:53:58
Ort: Göteborg

Re: Säkerhetslåda för dator-I/O?

Inlägg av cjonash »

ACK skickar den för att bekräfta att den fått data (att linjen är ok, typ). Men sedan kanske det behövs tid att utföra vad den nu skall, innan den är redo att ta emot mera data. ACK bör ju skickas tillbaka relativt snabbt, för att sändaren inte skall försöka igen... Dessutom kan ju enheten initialt vara BUSY, alltså innan första byten skickas...

Angående att inte isolera USB därför att det sannolikt kopplas in "färdiga" prylar där, håller inte riktigt. Inte om dessa prylar är kopplade till annat i ditt labb, t.ex en Arduino. Då är det fortfarande fullt möjligt att förstöra saker genom att koppla fel.

Dvs, vilken nivå på skydd du behöver, beror helt på vad du har tänkt att använda portarna till.
Användarvisningsbild
Spisblinkaren
EF Sponsor
Inlägg: 12990
Blev medlem: 13 december 2012, 21:41:43

Re: Säkerhetslåda för dator-I/O?

Inlägg av Spisblinkaren »

cjonash skrev: Angående att inte isolera USB därför att det sannolikt kopplas in "färdiga" prylar där, håller inte riktigt. Inte om dessa prylar är kopplade till annat i ditt labb, t.ex en Arduino. Då är det fortfarande fullt möjligt att förstöra saker genom att koppla fel.

Dvs, vilken nivå på skydd du behöver, beror helt på vad du har tänkt att använda portarna till.
Hej cjonash, min vän!

Jo, jag tycker det håller speciellt för att matningen av Arduino kommer via en väggvårta som är galvaniskt isolerad.

Nu har jag valt att ha all labbutrustning flytande (och utan inbördes ihopkoppling annat än FG+skåp pga External Trigger, mycket smidigt på låga eller varierande signalnivåer) så att jag t.ex kan mäta på mina rörförstärkare utan att behöva ta till differentiell mätning (och därmed båda proberna).

Den mest intressanta frågan i sammanhanget: vad blir vitsen med transformatorer/optokoppare på alla I/O utom parallellporten?

Har jag fel om jag säger att om inte precis alla I/O har galvanisk isolereing så är vitsen noll?

För alla kontakter ska alltid sitta i lådan.

Eller finns det nån vits ändå med galvanisk isolering av dom andra kanalerna typ att det kommer en spänningsspik från labbet in på LINE_OUT, den går igenom OP och genererar en puls på trafon (som sitter närmast datorn) samtidigt som den är skyddat mot överspänning så ut till datorn kommer max Vz, säger vi.

Källan bredvid är en LINE_IN, säger vi, den enda spänning som kan komma in på dess trafo är via en fyrdubbel OP (som jag preliminärt och korkat nog använder).

Det enda jag således ser för en katastrofsignal utifrån är via nåt gemensamt och om jag kör singel-OP så finns inget annat gemensamt än datorns jord.

Men samma gäller egentligen utan trafo (om inte alla I/O har typ trafo, alltså).

Nej, jag har nog bestämt mig för en bra och billig variant dvs Zener-skydd av alla I/O och thyristor-skydd på regulatorn (MiaM tipsar).

Iom thyristor-skyddet kan det sedan vara bra med lite kraftigare dioder (upp till matningen), 1N4007 får duga.

MiaM gav mig sen tipset att MIC-ingången inte går att använda som stereo-ingång så det kommer bli reglerbar förstärkare för LINE_IN istället

LINE_OUT blir som ritad, dock utan trafo.

COM blir också som ritat även om jag lurar lite på vad MiaM sa om 3,3V/5V-kontakter på TTL-sidan, när det gäller UART idag är ju processorerna på 3V3 typ så en 3V3-UART och en 5V-UART vore bra att ha, när man ändå håller på liksom :)

Med USB kommer jag mer eller mindre göra som MiaM tipsar dvs skippa trafo och bara differentiellt Zener-skydda för maxspänning (min ide').

LPT kommer jag överdriva med Zener+motstånd på typiskt 24 ben (även om många faktiskt var GND, vänta lite jag ska kolla på Wikipedia hur många ben jag verkligen behöver avsäkra...17st).

Eftersom dioder är billigare än transformatorer så blir det nog att jag gör så här, bättre med lite skydd än inget alls (även om nog många vill hävda att jag gör det halvdant).

MVH/Roger
Skriv svar