You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

341

Saturday, May 16th 2009, 11:08am

@Diddl: Was macht eigentlich unser Freund Phi2? Ist jetzt alles gut oder bist Du noch nicht dazu gekommen?

Ich habe nur immer wieder ein paar Minuten Zeit gehabt, gestern gar nicht. Aber ich habe
  • Den V-RW umgelötet auf den S02 des VC20-Slot
  • Die CPLD Logik so geändert dass der S02 in den IO3 reingerechnet wird (nicht IO3 UND S02)


Die gute Nachricht ist, das Eprom kommt jetzt immer korrekt nach dem Reset. Schluss: Das Problem ist ein reines IO3 Problem wie Wiesel vorhergesehen hat.

Die schlechte Nachricht ist, das Register läßt sich jetzt nicht mehr lesen und vermutlich auch nicht richtig schreiben. Hab das noch nicht restlos erforscht. Schluss: Habe einen Denkfehler im CPLD Design (Verdrahtung ist ok) oder es funktioniert so gar nicht.

Das Latch ist Pegelgesteuert zur Zeit. ich überlege noch den Clk des Latch bei fallender S02 Flanke zu steuern. Aber erst prüfe ich nochmals das CPLD Design.

JMP$FCE2

Unwissender

  • "JMP$FCE2" is male

Posts: 5,082

Date of registration: Feb 16th 2008

Location: Flensburg

  • Send private message

member since 54 month member since 54 month member since 54 month

342

Saturday, May 16th 2009, 12:11pm

Wäre es eine Option für Dich wenn Du die CPLD-Pads auf 0,9 Bohrst
und dann einen Litzendraht durchsteckst und von beiden Seiten verlötest
bevor Du den PLCC Sockel einsetzt?

Sehr schade, dass das mit dem Library nicht passt.
Ich werd's probieren... irgendwie wird's schon werden.


Ich habe jetzt doch eine Extra Lib mit den großen Löchern erstellt und diese in den Proto eingefügt.
Lochdurchmesser 1.1mm.
Schau mal ob es Dir so passt.

Proto.zip

Grüße
JMP$FCE2
Hier gibt es nichts zu sehen! Gehen Sie bitte schnell weiter.

Wiesel

mit der Lizenz zum Löten

  • "Wiesel" is male
  • »Wiesel« is a verified user

Posts: 3,040

Date of registration: Dec 9th 2004

Location: in der Wildnis

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

343

Saturday, May 16th 2009, 12:16pm

Das Latch ist Pegelgesteuert zur Zeit. ich überlege noch den Clk des Latch bei fallender S02 Flanke zu steuern. Aber erst prüfe ich nochmals das CPLD Design.


Fallende Flanke Phi2 ist richtig, alles Andere glitcht nur wild herum und macht Dir graue Haare. "Pegelgesteuert" klingt nach kombinatorischer Logik, die geht zwar "meistens", aber eben nicht immer. Wenn Du sowas mit einem so schnellen Bauteil machst, solltest Du sehr genau wissen, was Du tust.

Latch ist vielleicht auch nicht der richtige Ansatz, nimm' ein D-Flipflop, das ist viel unkritischer.

Jens
größter Sauhund aller Zeiten.

344

Saturday, May 16th 2009, 12:24pm

Latch ist vielleicht auch nicht der richtige Ansatz, nimm' ein D-Flipflop, das ist viel unkritischer.

ah, - danke, werde ich sofort ändern.

Nichtsnutz

Trainee

  • "Nichtsnutz" is male

Posts: 67

Date of registration: Mar 4th 2009

Location: Niedersachsen

  • Send private message

member since 36 month member since 36 month

345

Saturday, May 16th 2009, 1:06pm

Hallo Diddl,

ich würde das Ausblenden des Registers auch in zwei Phasen machen.Der erste Zugriff auf die Register Adresse geht durch und beschreibt das Register.Gleichzeitzg wird ein Bit (D-FF) gesetzt,welches signalisiert dass ein Buszugriff auf das Register stattgefunden hat.Alle weitere Zugriffe auf das Register gehen ab dann ins Leere !
Wie du das Register jetzt deaktivierst,wird, glaube ich,nicht funktionieren! Du beschreibst es und deaktivierst es im gleichen Zyklus,was sehr timing kritisch ist.Kaum fangen die Daten auf dem Datenbus an sich zu stabilisieren,wird das Latch gesperrt! Kann manchmal daneben gehen !?

Gruss
Zuerst wurde ich geboren,dann geschah eine Weile gar nichts.

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

346

Saturday, May 16th 2009, 1:20pm

Ich habe jetzt doch eine Extra Lib mit den großen Löchern erstellt und diese in den Proto eingefügt.
Lochdurchmesser 1.1mm.
Schau mal ob es Dir so passt.

Super! Vielen Dank! Sieht gut aus!

347

Saturday, May 16th 2009, 1:20pm

ich würde das Ausblenden des Registers auch in zwei Phasen machen.

Das Problem habe ich auch schon erkannt, das müsste sich aber auch mit der flankengesteuerten Variante erübrigen.

Allerdings hat das nix mit den bestehenden Problemen zu tun, es hakt schon ohne IO Abschaltung zur Zeit.

skoe

macht komische Sachen

  • "skoe" is male
  • »skoe« is a verified user

Posts: 2,034

Date of registration: Nov 12th 2003

Location: Berlin

  • Send private message

member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month

348

Saturday, May 16th 2009, 2:52pm

Nimm doch 3 74er Schaltkreise :-P Hehehe, der musste jetzt einfach sein.

Nein, natürlich wünsche ich dem Bruderprojekt viel Erfolg. Nur kann ich leider nicht viel dazu Beitragen, weil ich weder VC20-Expansions-Port noch Dein CPLD-Innenleben kenne. Aber gehe es mal ganz ruhig durch, Flanke für Flanke, Leitung für Leitung. Das hat bei mir auch geholfen, als ich schon fast aufgeben wollte.

Also :zustimm: :zustimm: :zustimm:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vergiss BASIC und lern C! C lernen mit cc65 und C64
Bau Dir ein eigenes Modul! EasyFlash

349

Monday, May 18th 2009, 10:39am

Kurze Zwischeninfo:

Hab mir die halbe Nacht um die Ohren geschlagen mit dem Umschreiben der CPLD Logik auf D-FlipFlop und anderer Feinheiten. Bin nun etwas reicher an CPLD Erfahrung die ich mir hart erkämpfen musste ... :)

Lt. Simulator läuft es jetzt perfekt: Register schreiben bei fallender S02 Flanke. Register lesen nach wie vor pegelgesteuert bei aktivem S02.


Bei Tests am Prototyp lief wieder nix. Dabei musste ich feststellen dass sich der CPLD verabschiedet hat. Ich nehme an, der CPLD fiel einem Fehler in der Verdrahtung zum Opfer (S02 und IO3 vertauscht :aerger:). Vielelicht hätte auch die letzte Logik-Version funktioniert, aber so ist es auf alle Fälle besser gelöst!

Heute Abend wird das Ganze nochmals in der Atmega Testschaltung geprüft bevor ich es im VC-20 teste ...

skoe

macht komische Sachen

  • "skoe" is male
  • »skoe« is a verified user

Posts: 2,034

Date of registration: Nov 12th 2003

Location: Berlin

  • Send private message

member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month member since 108 month

350

Monday, May 18th 2009, 11:34am

Bei Tests am Prototyp lief wieder nix. Dabei musste ich feststellen dass sich der CPLD verabschiedet hat. Ich nehme an, der CPLD fiel einem Fehler in der Verdrahtung zum Opfer (S02 und IO3 vertauscht

Das ist ja ärgerlich. Hast Du noch Ersatz da?

Ist mir auch aufgefallen: Beim ersten Fädeln misst man noch alles schön ordentlich durch und bei Änderungen wird man dann nachlässig. Na wenigstens hat es nur den CPLD zerlegt und nicht den VC-20. Davor hatte ich beim Testen immer Bammel.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vergiss BASIC und lern C! C lernen mit cc65 und C64
Bau Dir ein eigenes Modul! EasyFlash

351

Monday, May 18th 2009, 12:24pm

Hast Du noch Ersatz da?

Klar, in grenzenloser Gier kaufe ich oft Dinge mehrfach. Auch wegen der Versandkosten ...


Na wenigstens hat es nur den CPLD zerlegt und nicht den VC-20.

Ich bin auch erstaunt wie robust das Zeugs ist. Man hat doch früher Commodore immer das Gegenteil vorgeworfen?

352

Monday, May 18th 2009, 9:27pm

Neue Erkenntnis:

Der erste CPLD ist gar nicht defekt. Der Compiler verwurschtelt unaufgefordert und ohne Fehlermeldung die PIN Belegung! Ich experimentiere seit Stunden um das zu verhindern. Zur Zeit durchsuche ich die WinCupl und Device Fitter Doku um dem Rätsel auf die Spur zu kommen.


@Wiesel

Wenn es irgendwelche Tips gibt wäre ich froh die zu erfahren ...


@For(,,)

Bitte etwas zuwarten mit der Prototyp Platine. Vielleicht geht doch nicht jede PIN Belegung die man will. Ich muss da erst drauf kommen was da los ist ...



Der Fitter meckert wegen eines unerlaubt belegten PIN, den ich aber gar nicht belegt habe, den es nicht mal gibt beim PLCC-44! Daraufhin belegt er einfach den ganzen Chip neu:

Source code

1
2
3
4
5
6
---------------------------------------------------------
 Fitter_Pass 1, Preassign = KEEP, LOGIC_DOUBLING : OFF 
 ... 
## ERROR : Bad user pin assignement : 52
 ## ERROR : Bad user pin assignement 
---------------------------------------------------------



Zudem meldet der Fitter dass der Reset PIN am global Reset angeschlossen werden muss und der S02 am global Clock! Für mich unbegreiflich weil die 1504 Doku sagt, beim D-FlipFlop kann der Clock und der Reset sowohl global als auch beliebig an der Matrix angeschlossen werden:

Source code

1
2
3
 Fitter_Pass 2, Preassign = KEEP, NODE ASSIGN : OFF 
 ... 
S02 must be placed on global pin

353

Monday, May 18th 2009, 10:30pm

So, der Atmel Fitter behält jetzt meine vorgegebene PIN Zuordnung, bis auf eine Ausnahme. Der S02 (VC-20 Phi2) muss auf einem der global Clock Eingänge sein. Da ist der stur wie ein Panzer.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.                     
                     R                                           
                  R  3                         R                 
                  8  2                      R  e                 
                  _  _     V          S  G  A  s                 
                  C  C  W  C          0  N  M  e                 
                  S  S  E  C          2  D  3  t                 
               ____________________________________              
              /   6  5  4  3  2  1 44 43 42 41 40  \             
         TDI |  7                                39 | RAM2       
        Blk1 |  8                                38 | TDO        
        Blk2 |  9                                37 | RAM1       
         GND | 10                                36 |            
        Blk3 | 11                                35 | VCC        
        Blk5 | 12            ATF1504             34 | A15        
         TMS | 13          44-Lead PLCC          33 | A14        
             | 14                                32 | TCK        
         VCC | 15                                31 | A13        
        C_RW | 16                                30 | GND        
             | 17                                29 | EE_CS      
             |   18 19 20 21 22 23 24 25 26 27 28   |            
              \____________________________________/             
                 D  D  D  D  G  V  D  I  D  D  D                 
                 0  1  2  3  N  C  4  O  5  6  7                 
                             D  C 



Bitte noch warten mit der Prototype Platine, bis ich das v2 Design (512/512KB) fertig habe!

JMP$FCE2

Unwissender

  • "JMP$FCE2" is male

Posts: 5,082

Date of registration: Feb 16th 2008

Location: Flensburg

  • Send private message

member since 54 month member since 54 month member since 54 month

354

Monday, May 18th 2009, 11:04pm

Hallo Diddl,
Du weist aber schon das die Pinbelegung die Du jetzt gepostet hats ganz und garnicht mit der Belegung auf
der Platine übereinstimmt.

Ist das die Belegung von deinem Fädelboard?

Der S02 wandert auf Pin 43 und Pin 40 wird dann frei auf der Platine.

Grüße
JMP$FCE2
Hier gibt es nichts zu sehen! Gehen Sie bitte schnell weiter.

Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

355

Tuesday, May 19th 2009, 12:26am

@For(,,)

Bitte etwas zuwarten mit der Prototyp Platine. Vielleicht geht doch nicht jede PIN Belegung die man will. Ich muss da erst drauf kommen was da los ist ...

Meinst Du die Prototypenplatine, die teilbestückt nur noch auf die beiden Sockel für RAM und Flash wartet?!

Das Fertigen der Durchkontaktierungen unter dem PLCC-Sockel war übrigens viel leichter als erwartet.
Nur mit "rund" und "eckig" unterscheiden hapert es noch - ich habe den PLCC-Sockel falsch ausgerichtet festgelötet, da ich mich an irgendwelchen obskuren Markierungen auf der Oberseite des Sockels orientiert habe, die gar keine sind, und die Kanten gar nicht beachtet habe... egal, der Funktion tut das keinen Abbruch, und dann bekommt die Platine eben noch einen kleinen Aufkleber mit einer 1, einem Pfeil und das ganze mit Leuchtstift markiert, damit blos keiner auf die Idee kommt, den CPLD verkehrt herum einzusetzen.

edit: ist jetzt nur ein Pin anders, den man vielleicht erst mal mit Fädeldraht richten kann, oder haben wir eine ganz neue Belegung, die ein neues Layout erfordert?

JMP$FCE2

Unwissender

  • "JMP$FCE2" is male

Posts: 5,082

Date of registration: Feb 16th 2008

Location: Flensburg

  • Send private message

member since 54 month member since 54 month member since 54 month

356

Tuesday, May 19th 2009, 1:03am



edit: ist jetzt nur ein Pin anders, den man vielleicht erst mal mit Fädeldraht richten kann, oder haben wir eine ganz neue Belegung, die ein neues Layout erfordert?


Bis jetzt wandert nur die Leitung S02 von Pin 40 auf Pin 43 . Das bedeutet die Leitung .... ich mach mal besser ein Bild dazu....



Ist also nix wildes.
Hauptsache Diddl hält sich an den Rest der Pinbelegung laut Schaltplan, sonst stehen wir wieder am Anfang.


EDIT: Oh das ist natürlich doof wenn der Sockel schon drauf ist... Ist ja eine Leitung von oben.
Aber dann kannst Du die Leitung auch direkt an der DuKo unten am Connector trennen und mit Draht von unten an Pin 43 Löten.

EDIT2: wenn der Sockel eh verdreht ist, musst Du ihn wieder auslöten, der Chip passt nur in einer Richtung rein.
Schau dir nochmal das 3D Bild an, so soll es sein.




Edit3: @Diddl auch wenn es schwerfällt, warte mit weiteren Softwaretests ab bis die ProtoPlatine von For() bei Dir ist.
Die letzte Änderung wegen dem S02 is dann schon drin und arbeite nur noch mit dieser weiter.
Das ist wichtig, damit wir alle an der selben Basis arbeiten.

Grüße
JMP$FCE2
Hier gibt es nichts zu sehen! Gehen Sie bitte schnell weiter.

This post has been edited 2 times, last edit by "JMP$FCE2" (May 19th 2009, 1:33am)


Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

357

Tuesday, May 19th 2009, 2:06am

wenn der Sockel eh verdreht ist, musst Du ihn wieder auslöten, der Chip passt nur in einer Richtung rein.

Mist, da war ja was... Dann habe ich ja gleich zwei gute Gründe, den Sockel nochmal auszulöten.

358

Tuesday, May 19th 2009, 8:41am

Du weist aber schon das die Pinbelegung die Du jetzt gepostet hats ganz und garnicht mit der Belegung auf
der Platine übereinstimmt.
Ist das die Belegung von deinem Fädelboard?

Nö vom Fädeldraht Board natürlich.

Übrigens gehen alle global Clock Pins für den S02 (also PIN 2, 41, 43). Wenn wir schon bei PIN Änderungen für das Final Board sind, ist es die Katastrophe wenn wir das /Reset Signal auf den global Clear (PIN 1) legen würden?


Meinst Du die Prototypenplatine, die teilbestückt nur noch auf die beiden Sockel für RAM und Flash wartet?!

Was?! Du hast es wirklich schon fertig??

RAM ist übrigens jetzt auch da. Dank an Peter!


Edit3: @Diddl auch wenn es schwerfällt, warte mit weiteren Softwaretests ab bis die ProtoPlatine von For() bei Dir ist.
Die letzte Änderung wegen dem S02 is dann schon drin und arbeite nur noch mit dieser weiter.
Das ist wichtig, damit wir alle an der selben Basis arbeiten.

??Warum?? Informationen schaden nie und das S02 problem hätte ich auch nie erkannt ohne Versuche.

Wichtig ist jetzt das CPLD Design v2, darauf werde ich mich heute Abend stürzen. Damit ich auf alle Probleme komme, falls die Pin Belegung auch hier nicht auflösbar sein sollte von diesem Compiler. Bevor For() das Board versendet.

Ich bin die drei Tage (Do bis Sa) nicht da, deshalb heisst es doppelt Gas geben ...

This post has been edited 1 times, last edit by "Diddl" (May 19th 2009, 8:53am)


Posts: 1,788

Date of registration: Aug 28th 2005

Location: Leverkusen

  • Send private message

member since 90 month member since 90 month member since 90 month member since 90 month member since 90 month

359

Tuesday, May 19th 2009, 9:11am

Was?! Du hast es wirklich schon fertig??

Da ich für heute die Reichelt-Teile erwarte, wollte ich die Platine für heute fertig haben - dann hätte das Ding direkt in die Post gehen können.

Ich werde heute den Sockel erst mal wieder runterholen, mir bleibt ja nichts anderes übrig.
Dann lege ich S02 von 40 auf 43, wie in Posting #324 beschrieben.

Wegen mir ist das kein Problem, /RESET auf 1 zu legen -- soll ich das machen?

Soll ich die Platine dann so verschicken oder ausdrücklich auf "grünes Licht" warten?
for(;;) has attached the following image:
  • vc20fe_proto.jpg

PeterSieg

Professional

  • "PeterSieg" is male
  • »PeterSieg« is a verified user

Posts: 1,675

Date of registration: Aug 22nd 2006

Location: D-37603 Holzminden

Marketplace entries: 1

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

360

Tuesday, May 19th 2009, 9:18am

@for(;;): Hey.. das sieht ja richtig GUT aus für eine Prototypenplatine!!

Peter
AVR CP/M, C64, A500, HxC USB, 1541, XUM1541, SwinSID, IC-Tester, Tiny Eprommer