Seite 1 von 3

PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 17:51
von zille9
Hallo Hive-Gemeinde,
ich bin bei meiner Internetrecherche auf einen interessanten RAM-Krabbelkäfer gestossen. Hierbei handelt es sich um einen SPI/QPI-gesteuerten 8 Beiner,welcher mit unglaublichen 8Mbyte daherkommt (64MBit). Allerdings zeigte sich beim Test, das der Propellerchip offensichtlich seine Ports nicht sauber getrennt zu haben scheint. Der in Spin geschriebene Treiber funktioniert nur fehlerfrei, wenn die CS und CLK- Leitungen des RAM-Chips an einem anderen Port als die Datenleitungen hängen. Zur Zeit hängen die CS und CLK-Leitungen an Port-Pin0 und 1 und die Datenleitungen an Port-Pin 8-11. In dieser (und nur in dieser) Konstellation funktioniert alles fehlerfrei. Kann mir das mal jemand erklären?
Bin einigermassen ratlos :SCHREIEN

PS.:Fehler auf meiner Testplatine schliesse ich aus, da sie bisher bei allen anderen Bastelobjekten funktioniert hat und auch keinen offensichtlichen Fehler aufweist.

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 18:49
von PIC18F2550
Hallo Zille9,

kannst du den Codeabschnitt mal hier reinstellen?

Ich hatte beiner Rack Version auch Probleme, aber mit PASM.

Mal sehen ob ich da was finde.

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 18:57
von zille9
Hollo Pic,
hab meine Testdatei mal angehängt.
PSRAM2.spin
(9.31 KiB) 306-mal heruntergeladen

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 21:55
von PIC18F2550
Fällt dir was auf?

PUB ClockStrobe
outa[7..1]:=%1111111
outa[7..1]:=%0000000

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:04
von zille9
Schau mal in die PSRAM2.Spin, die andere war noch nicht fehlerfrei.

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:23
von PIC18F2550
Das gleiche Problem, nur das du hier einen Puls auf allen out-leitungen erzeugst.
Ich habe immer mit AND und OR mit Masken Bits gesetzt oder gelöscht.
Auch habe ich die IO Configuration nur einmal gemacht.
Ich habe noch vor DIRA die entsprechenden Pegel auf den Ausgangsleitungen gesetzt, sonst werden alte Werte ausgegeben.

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:29
von zille9
PIC18F2550 hat geschrieben: Mi 24. Feb 2021, 21:55 Fällt dir was auf?

PUB ClockStrobe
outa[7..1]:=%1111111
outa[7..1]:=%0000000
Diese Sequenz war nur zum testen der CS und CLK Leitungen (siehe PSRAM2.Spin).
Das die Pegel vor dem DIRA Befehl gesetzt werden lässt sich nicht in jeder Situation umsetzen, aber man könnte alle Pegel erst auf null und dann auf den entsprechenden Wert setzen, das muss ich mal ausprobieren. Verstehe trotzdem nicht, warum es auf getrennten Ports funktioniert und nicht am gleichen wie die Datenleitungen.

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:36
von zille9
Das setzen der Port-Pins vor dem DIRA Befehl macht Sinn, die Sache funktioniert aber trotzdem nicht am gleichen Port.
Irgendwo ist der Wurm drin. :evil:
PSRAM2.spin
(9.75 KiB) 318-mal heruntergeladen

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:43
von PIC18F2550
Ich schau morgen noch ein bisschen drüber, muss morgen früh raus.

Hast du einen Wiederstand von clk gegen Masse?

Re: PSRAM 64H am Propeller-Chip

Verfasst: Mi 24. Feb 2021, 22:53
von zille9
PIC18F2550 hat geschrieben: Mi 24. Feb 2021, 22:43 Ich schau morgen noch ein bisschen drüber, muss morgen früh raus.

Hast du einen Wiederstand von clk gegen Masse?
Hab alles ausprobiert, mit Widerstand und ohne , an allen Leitungen, nur CS und CLK, nur CLK, alles ohne Erfolg