IDE-Schnittstelle 2

to stream or not to stream
Liontamer
Klöppelliese
Beiträge: 1644
Registriert: Donnerstag 8. August 2002, 12:51

Ergebnisse aus altem Projekt

Beitrag von Liontamer »

Wem soll ich denn die Ergebnisse des ersten IDE Projektes zukommen lassen?
Ich denke da jetzt an dboxbaer, gurgel oder chkbox.

Ich werde das auf einem Server uppen, dessen link ich nicht öffentlich rausgeben möchte.
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Re: Ergebnisse aus altem Projekt

Beitrag von mash4077 »

Liontamer hat geschrieben:Ich werde das auf einem Server uppen, dessen link ich nicht öffentlich rausgeben möchte.
Liontamer hat geschrieben:Wir werden, wie wir einstimmig beschlossen haben, vorraussichtlich im November unsere Ergebnisse veröffentlichen, weil von uns keiner mehr die Zeit hat, die noch vorhandenen Bugs zu beheben und es deswegen nie zu einer verkaufsfähigen Version kommen kann.
Warum warten wir noch so lange? Weil wir es einfach nicht früher schaffen :D
Ist eure Sache und ich brauche/will die Unterlagen sicher auch nicht, aber für mich ist das "merkwürdig".

Gruß
mash
Zuletzt geändert von mash4077 am Donnerstag 16. Februar 2006, 11:06, insgesamt 1-mal geändert.
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Re: Ergebnisse aus altem Projekt

Beitrag von gurgel »

Liontamer hat geschrieben:Wem soll ich denn die Ergebnisse des ersten IDE Projektes zukommen lassen?
Ich denke da jetzt an dboxbaer, gurgel oder chkbox.
tuxbox at hallenberg.com :wink:
Test
Liontamer
Klöppelliese
Beiträge: 1644
Registriert: Donnerstag 8. August 2002, 12:51

Beitrag von Liontamer »

@gurgel
Hab den link per PN geschickt
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Kann sich diese Daten dann auf Hallenberg die Allgemeinheit ansehen ?
Oder muessen wir eine Top Secret ACt unterschreiben ? :lol: :lol:
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

gurgel hat geschrieben:Warum hast du eigentlich die Masse-Polygone so fürchterlich umständlich gesetzt? Die gehen ja alle um 10000 Ecken rum. Einmal um die Platine reicht völlig...
Habe ich zum ersten mal eingesetzt und zu spät bemerkt, dass das geht und dann keine Lust zum Ändern gehabt.
gurgel hat geschrieben:Mein Vorschlag für das Sagemdesign wäre, für den IDE-Conenctor SMD-Technik zu nehmen, und ihn quasi hinter den CPLD zu setzen. Es wäre nämlich toll, wenn die Platine nicht höher wie 33mm würde.
Gute Idee! Mal sehen was ich machen kann. Hast du zufällig eine Lib mit sowas?
gurgel hat geschrieben:Im Schaltplan ist mir dann noch aufgefallen, dass du CPU-Datenleitungen mit dem Erweiterungsport und IDE-Port gemischt hast: das wird vermutlich Probleme geben, genau deswegen musste ich auch mein Design komplett ändern (dafür ist es jetzt aber kleiner, die Leitungen kürzer und kommt mit viel weniger Durchkontaktierungen aus als vorher :D ).
Verstehe ich nicht ganz :gruebel: Beim IDE habe ich eigentlich nur 3 Pins getauscht.
saruman
Erleuchteter
Erleuchteter
Beiträge: 682
Registriert: Samstag 13. Juli 2002, 10:05

Beitrag von saruman »

DBoxBaer hat geschrieben:PS:
Wenn allerdings jemand ein paar Kabel-Boxen übrig hat: meine Eltern
hätten gerne eine und durch das Rumbasteln daran sind meine beiden
auch nicht mehr normal nutzbar (im Moment, geschrottet habe ich
zum Glück noch keine...).
Und ich könnte ne FritzBox7170 gut gebrauchen :-)
Ich würd mir 'ne Wunschliste bei Amazon oder so einrichten. ;)
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

chkbox hat geschrieben:Gute Idee! Mal sehen was ich machen kann. Hast du zufällig eine Lib mit sowas?
Nein.
Habe gerade mal zwei Kataloge gewälst: leider konnte ich für SMD-Bestsückung nur Wannenstecker im 2mm Rastermaß finden. Bin mir also nicht sicher, ob es sowas für 2,54mm überhaupt gibt...
Test
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Also ich habe dazu mal eben http://www.rm-computertechnik.de/Shop/1 ... L_40G.html gefunden. Müsste ich aber mal nachfragen, weil das Bild kein SMD ist.

Bei http://narwan-electronic.de/Narwan%20El ... 202006.pdf gibt es welche, aber wenn keine Preise dabei stehen, kann man es für Hobby Projekte eigentlich gleich vergessen (vgl. Nokia)
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

gurgel hat geschrieben:
chkbox hat geschrieben:Gute Idee! Mal sehen was ich machen kann. Hast du zufällig eine Lib mit sowas?
Nein.
Habe gerade mal zwei Kataloge gewälst: leider konnte ich für SMD-Bestsückung nur Wannenstecker im 2mm Rastermaß finden. Bin mir also nicht sicher, ob es sowas für 2,54mm überhaupt gibt...
Meinst Du solche: ?Bild (im Foto sind die 2mm)

Ich habe eben auch gesucht aber nur die "normalen" (zum einlöten) gefunden stand aber auch SMD drann. Klick

Gruß Gorcon
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Die in 2,54mm wären richtig.

Ich könnte natürlich auch mal nachdenken, ob ich 44pol für 2,5" Platten nehme. Persönlich hätte ich aber lieber 2,54mm und halte das auch für sinnvoller. :roll:
just_me
Einsteiger
Einsteiger
Beiträge: 123
Registriert: Montag 28. November 2005, 11:31

Beitrag von just_me »

gurgel hat geschrieben:Habe gerade mal zwei Kataloge gewälst: leider konnte ich für SMD-Bestsückung nur Wannenstecker im 2mm Rastermaß finden. Bin mir also nicht sicher, ob es sowas für 2,54mm überhaupt gibt...
Reicht nicht ein einfacher Pfostenfeldstecker aus (Through hole Stecker ohne Wanne?)

Verpolungssicher wird dieser dadurch, dass der nicht belegte Pin ausgespart wird und ein modernes IDE Kabel verwendet wird. Kleiner gehts kaum.
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Wenn die mit Wanne gehen dann hier:
Bild

Gruß Gorcon
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

Gorcon hat geschrieben:Meinst Du solche: ?Bild
genau sowas mein ich.
Ohne Wanne tuts natürlich auch.
Test
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

so, bin bei Reichelt doch fündig geworden:
Bild
Test
Liontamer
Klöppelliese
Beiträge: 1644
Registriert: Donnerstag 8. August 2002, 12:51

Beitrag von Liontamer »

Lasst das lieber sein, und nehmt keine SMD Stecker dafür!
Es reicht, einmal beim Kabel abziehen den Stecker leicht zu verkanten, und die Pads reissen von der Platine!

Nehmt lieber Stecker mit Durchkontaktierungen.
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Gut dann gehe ich noch mal ein bischen quetschen :wink:

Außerdem habe ich eine neue Version des Scripts. Ist noch schlimmer aber immerhin ist es jetzt fast automatisch. Es verwendet eine Beispiel UCF mit passender Netlist als Referenz

Ergebnis sieht dann so aus

Code: Alles auswählen

NET "AddrHi<0>" LOC = "P35" ;
#NET "A<11>" LOC = "P27" ;
#NET "A<12>" LOC = "P31" ;
#NET "A<13>" LOC = "P25" ;
#NET "A<14>" LOC = "P26" ;
#NET "A<15>" LOC = "P21" ;
#NET "A<17>" LOC = "P14" ;
#NET "A<18>" LOC = "P19" ;
#NET "A<19>" LOC = "P20" ;
NET "Addr<9>" LOC = "P10" ;
NET "Addr<8>" LOC = "P12" ;
NET "Addr<7>" LOC = "P17" ;
NET "Addr<6>" LOC = "P15" ;
NET "Addr<5>" LOC = "P7" ;
NET "Addr<4>" LOC = "P13" ;
NET "Addr<3>" LOC = "P11" ;
NET "Addr<2>" LOC = "P9" ;
NET "Addr<1>" LOC = "P142" ;
NET "Addr<0>" LOC = "P4" ;
NET "AddrHi<1>" LOC = "P28" ;
NET "GPLA3" LOC = "P23" ;
#NET "CKE<1>" LOC = "P24" ;
#NET "CLK<1>" LOC = "P30" ;
NET "CLK2" LOC = "P32" ;
#NET "CLK<3>" LOC = "P38" ;
NET "CS" LOC = "P34" ;
NET "Data3<0>" LOC = "P134" ;
NET "Data3<1>" LOC = "P133" ;
NET "Data2<2>" LOC = "P137" ;
NET "Data2<3>" LOC = "P136" ;
NET "Data2<4>" LOC = "P124" ;
NET "Data2<5>" LOC = "P125" ;
NET "Data2<6>" LOC = "P126" ;
NET "Data2<7>" LOC = "P121" ;
NET "Data1<0>" LOC = "P60" ;
NET "Data1<1>" LOC = "P61" ;
NET "Data1<2>" LOC = "P58" ;
NET "Data1<3>" LOC = "P56" ;
NET "Data3<2>" LOC = "P132" ;
NET "Data1<4>" LOC = "P50" ;
NET "Data1<5>" LOC = "P49" ;
NET "Data1<6>" LOC = "P41" ;
NET "Data1<7>" LOC = "P40" ;
NET "Data0<0>" LOC = "P54" ;
NET "Data0<1>" LOC = "P53" ;
NET "Data0<2>" LOC = "P52" ;
NET "Data0<3>" LOC = "P51" ;
NET "Data0<4>" LOC = "P46" ;
NET "Data0<5>" LOC = "P45" ;
NET "Data3<3>" LOC = "P131" ;
NET "Data0<6>" LOC = "P43" ;
NET "Data0<7>" LOC = "P48" ;
NET "Data3<4>" LOC = "P128" ;
NET "Data3<5>" LOC = "P130" ;
NET "Data3<6>" LOC = "P129" ;
NET "Data3<7>" LOC = "P120" ;
NET "Data2<0>" LOC = "P139" ;
NET "Data2<1>" LOC = "P138" ;
#NET "GND" LOC = "P62" ;
#NET "GND" LOC = "P18" ;
#NET "GND" LOC = "P114" ;
#NET "GND" LOC = "P72" ;
#NET "GND" LOC = "P89" ;
#NET "GND" LOC = "P108" ;
#NET "GND" LOC = "P99" ;
#NET "GND" LOC = "P123" ;
#NET "GND" LOC = "P144" ;
#NET "GND" LOC = "P29" ;
#NET "GND" LOC = "P47" ;
#NET "GND" LOC = "P90" ;
#NET "GND" LOC = "P36" ;
#NET "GSR" LOC = "P143" ;
NET "IDEAddr<0>" LOC = "P79" | SLEW = SLOW ;
NET "IDEAddr<1>" LOC = "P80" | SLEW = SLOW ;
NET "IDEAddr<2>" LOC = "P78" | SLEW = SLOW ;
NET "IDECS0" LOC = "P77" | SLEW = SLOW ;
NET "IDECS1" LOC = "P76" | SLEW = SLOW ;
NET "IDELow<0>" LOC = "P91" | SLEW = SLOW ;
NET "IDELow<1>" LOC = "P93" | SLEW = SLOW ;
NET "IDEHigh<2>" LOC = "P101" | SLEW = SLOW ;
NET "IDEHigh<3>" LOC = "P98" | SLEW = SLOW ;
NET "IDEHigh<4>" LOC = "P96" | SLEW = SLOW ;
NET "IDEHigh<5>" LOC = "P94" | SLEW = SLOW ;
NET "IDEHigh<6>" LOC = "P92" | SLEW = SLOW ;
NET "IDEHigh<7>" LOC = "P86" | SLEW = SLOW ;
NET "IDELow<2>" LOC = "P95" | SLEW = SLOW ;
NET "IDELow<3>" LOC = "P97" | SLEW = SLOW ;
NET "IDELow<4>" LOC = "P100" | SLEW = SLOW ;
NET "IDELow<5>" LOC = "P102" | SLEW = SLOW ;
NET "IDELow<6>" LOC = "P104" | SLEW = SLOW ;
NET "IDELow<7>" LOC = "P106" | SLEW = SLOW ;
NET "IDEHigh<0>" LOC = "P105" | SLEW = SLOW ;
NET "IDEHigh<1>" LOC = "P103" | SLEW = SLOW ;
#NET "IDEDASP" LOC = "P75" ;
NET "IDEDMACK" LOC = "P82" | SLEW = SLOW ;
NET "IDEDMARQ" LOC = "P87" ;
NET "IDEINTRQ" LOC = "P81" ;
NET "IDEIOR" LOC = "P88" | SLEW = SLOW ;
NET "IDEIORDY" LOC = "P83" ;
NET "IDEIOW" LOC = "P85" | SLEW = SLOW ;
NET "IDERESET" LOC = "P107" | SLEW = SLOW ;
NET "WE1" LOC = "P140" ;
NET "WE3" LOC = "P44" ;
#NET "PA<0>" LOC = "P111" ;
#NET "PA<1>" LOC = "P112" ;
#NET "PA<2>" LOC = "P113" ;
#NET "PA<3>" LOC = "P115" ;
NET "PB<0>" LOC = "P116" | SLEW = SLOW ;
NET "PB<1>" LOC = "P117" | SLEW = SLOW ;
NET "PB<2>" LOC = "P118" | SLEW = SLOW ;
NET "PB<3>" LOC = "P119" | SLEW = SLOW ;
#NET "PC<0>" LOC = "P66" ;
#NET "PC<1>" LOC = "P68" ;
#NET "PC<2>" LOC = "P70" ;
#NET "PC<3>" LOC = "P57" ;
NET "PD<0>" LOC = "P59" | SLEW = SLOW ;
NET "PE<0>" LOC = "P71" | SLEW = SLOW ;
NET "PE<1>" LOC = "P74" | SLEW = SLOW ;
NET "PE<2>" LOC = "P64" | SLEW = SLOW ;
NET "PE<3>" LOC = "P69" | SLEW = SLOW ;
NET "GPLA2" LOC = "P22" ;
#NET "TCK" LOC = "P67" ;
#NET "TDI" LOC = "P63" ;
#NET "TDO" LOC = "P122" ;
NET "Testpin" LOC = "P110" ;
#NET "TMS" LOC = "P65" ;
#NET "TS<1>" LOC = "P5" ;
#NET "TS<2>" LOC = "P6" ;
#NET "TS<3>" LOC = "P2" ;
#NET "TS<4>" LOC = "P3" ;
NET "WE0" LOC = "P135" ;
NET "WE2" LOC = "P39" ;
#NET "VCC" LOC = "P42" ;
#NET "VCC" LOC = "P127" ;
#NET "VCC" LOC = "P109" ;
#NET "VCC" LOC = "P73" ;
#NET "VCC" LOC = "P1" ;
#NET "VCC" LOC = "P141" ;
#NET "VCC" LOC = "P84" ;
#NET "VCC" LOC = "P37" ;
#NET "VCC" LOC = "P55" ;
#NET "VCC" LOC = "P8" ;
#NET "WE" LOC = "P33" ;
#NET "X<0>" LOC = "P16" ;

Code: Alles auswählen

if(-e "net.sample" and -e "ucf.sample") {
	$sample = get_eagle("net.sample");
	
	open(IN, "ucf.sample");
	for(<IN>) {
		if(/^NET \"[^\"]+\" LOC = \"P(\d+)\"/) {
			$sample{$sample->{$1}} = $_;
		}
	}
	close IN;
}

for(<*.net>) {
	$cpld = get_eagle($_);
	
	$_ =~ s/net$/ucf/i;
	while(-e $_) { $_ .= "a"; }
	open(OUT, "> $_");
	
	for(sort { $cpld->{$a} cmp $cpld->{$b} } keys(%$cpld)) {
		if(exists($sample{$cpld->{$_}})) {
			$line = $sample{$cpld->{$_}};
			$line =~ s/LOC = \"P\d+\"/sprintf("LOC = \"P%d\"", $_)/e;
			print OUT $line;
			next;
		}
		
		$net = reverse $cpld->{$_};
		if($net =~ /^([0-9]+)/) {
			$bus = substr($cpld->{$_}, 0, length($cpld->{$_})-length($1));
			$num = reverse $1;
			printf OUT '#NET "%s<%d>" LOC = "P%d" ;'."\n", $bus, $num, $_;
		} else {
			printf OUT '#NET "%s" LOC = "P%d" ;'."\n", $cpld->{$_}, $_;
		}
	}
	
	close OUT;
}

sub get_eagle {
	my $filename = shift;

	open(IN, $filename);
	
	#skip header
	until(<IN> =~ /Change Class/) { exit if(eof(IN)) }
	
	for(<IN>) {
		next if(/^[\r\n]/);
		next if(/^Change Class/); #junk???
		
		$_ =~ s/ +/ /g;
		
		if(/^[A-Z0-9]/) {
			#net change
			($netname, $part, $pad) = split(/ /, $_);
		} else {
			($foo, $part, $pad) = split(/ /, $_);
		}
		
		$netlist{$part}{$pad} = $netname;
	}
	
	close IN;
	
	return $netlist{"CPLD"};
}
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Wie wäre es eigentlich, die Stecker auf die Rückseite zu setzen? Wie würde ich das am Besten machen?
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

den Stecker auf die Rückseite setzt du mit MIRROR.
Test
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

Designvorschlag:
Bild
Test
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Na dann, viel Spaß! Ich will es eigentlich nicht noch einmal ganz neu machen... Außerdem war da nicht ein Problem mit 45°?
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

ok, anderer Vorschlag: mach für den IDE Anschluss unter dem Chip Durckontaktierungen, du hast alle Bahnen außen geroutet, das braucht Platz...
Test
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

OT: on
@DBoxBaer
Hast Du eigentlich schon mit Deinem Prototyp einen Geschwindigkeitstest gemacht?
Mich würden die Werte dieses Tests mal interessieren. :wink:

OT: off

Gruß Gorcon
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 11:34

Beitrag von DBoxBaer »

Gorcon hat geschrieben:OT: on
@DBoxBaer
Hast Du eigentlich schon mit Deinem Prototyp einen Geschwindigkeitstest gemacht?
Mich würden die Werte dieses Tests mal interessieren. :wink:

OT: off

Gruß Gorcon
So OT finde ich das gar nicht.

So ähnliche Tests habe ich mal kurz gemacht, das sah nicht schlecht aus.
Zahlen habe ich aber keine: jetzt mache ich meinen Chip erstmal
fertig, passe den Treiber darauf an und dann gibts auch richtige
Zahlen.

Nicht vergessen sollte man bei Tests dieser Art aber auch die CPU-
Last. Ich wette per IDE toppe ich das LAN Interface um längen.
Aber eben auch (denke ich mal) durch höhere CPU Last.
Evtl. sogar eine höhere Last pro Byte?! Das LAN verwendet durch die
SCCs ja DMA. (Das mag beim IDE If irgendwann auch mal gehen).

Interessant wäre es also eine Messung machen zu können, die zu
den eigentlichen Zeiten auch noch dieses Verhältnis rausbekommt.

Hmm: gibts "times" eigentlich auf der DBox?

Ciao,
DboxBaer
... und der Rest ist dann Software (TM)
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 11:34

Beitrag von DBoxBaer »

chkbox hat geschrieben:
gurgel hat geschrieben:Warum hast du eigentlich die Masse-Polygone so fürchterlich umständlich gesetzt? Die gehen ja alle um 10000 Ecken rum. Einmal um die Platine reicht völlig...
Habe ich zum ersten mal eingesetzt und zu spät bemerkt, dass das geht und dann keine Lust zum Ändern gehabt.
gurgel hat geschrieben:Mein Vorschlag für das Sagemdesign wäre, für den IDE-Conenctor SMD-Technik zu nehmen, und ihn quasi hinter den CPLD zu setzen. Es wäre nämlich toll, wenn die Platine nicht höher wie 33mm würde.
Gute Idee! Mal sehen was ich machen kann. Hast du zufällig eine Lib mit sowas?
gurgel hat geschrieben:Im Schaltplan ist mir dann noch aufgefallen, dass du CPU-Datenleitungen mit dem Erweiterungsport und IDE-Port gemischt hast: das wird vermutlich Probleme geben, genau deswegen musste ich auch mein Design komplett ändern (dafür ist es jetzt aber kleiner, die Leitungen kürzer und kommt mit viel weniger Durchkontaktierungen aus als vorher :D ).
Verstehe ich nicht ganz :gruebel: Beim IDE habe ich eigentlich nur 3 Pins getauscht.
Mach Dir da keinen Kopf:

Die Verteilung beim Gurgel ist wahrscheinlich jetzt durchdachter (ich
habe ein paar Tipps einfliessen lassen, die ich erst vor kurzem
verstanden habe...).

mit der alten Variante, die neue ist ja noch in Arbeit ergibt sich folgende,
angenehme Meldung:

Design ideTop has been optimized and fit into device XC95144XL-5-TQ144.

Ciao,

DboxBaer
... und der Rest ist dann Software (TM)