Gast
#120105
hallo.. habe eine ISA-Karte gebastelt für den PC mit einem 68HC12 cntroller drauf. der HC12 läuft intern mit 8 Mhz. jetzt hab ich die Datenleitungen direkt an 2 ports drangehängt und die adressleitungen an einen 8bit vergleicher, wobei A0 und A1 auch an einem Port hängen. AEN steuert den Vergleicher (G') , IOW hängt auch am gleichen port wie A0 und A1 sowie der ausgang vom vergleicher. Wenn ich nun vom PC aus daten auf die IO-Adresse schreibe, hab ich das problem dass der controller manchmal den wert bekommt und manchmal gar nicht, also 0xFF, sprich er is nich schnell genug. Im Controller sieht mein codeabschnitt nun so aus: - vergleiche Steuerport mit A0 A1 IOW etc. auf entsprechendes Bitmuster. - wenn Daten da, lese den Wert vom Datenport und schreibe ihn in den Ausgang. - wenn nein, springe wieder zu punkt 1 (busyloop) das ganze sind 4 maschinenbefehle also irgendwie hab ich das gefühl er schafft es manchmal noch die Daten zu lesen oder sie sind schon weg ... wenn ich ein Array von gleichen zahlen sende z.b. 8, sieht das so aus: 08880008008080000088000000808088880000.... anstatt nur die 8 geht das überhaupt so dass ich den effektiven Adressvergleich im controller selbst mache ? Besser wäre es vielleicht einen RAM Puffer an den Datenbus zu hängen und der Controller dann nur die Werte abholt... aber gehts auch nur mit Controller ? kann mir jemand nen tip geben ? oder kennt jemand das Problem und weiss schon was ich falsch mache ? wenns nur mit RAM geht, kennt jemand da schon nen guten Chip ? habe das Problem dass ich son Ram noch nie beschaltet hab.. mfg