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
PS.:Fehler auf meiner Testplatine schliesse ich aus, da sie bisher bei allen anderen Bastelobjekten funktioniert hat und auch keinen offensichtlichen Fehler aufweist.
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Ich hatte beiner Rack Version auch Probleme, aber mit PASM.
Mal sehen ob ich da was finde.
Gruß PIC18F2550
drone265/278 Barbarus hic ergo sum, quia non intellegor ulli. Ein Barbar bin ich hier, da ich von keinem verstanden werde. ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
drone265/278 Barbarus hic ergo sum, quia non intellegor ulli. Ein Barbar bin ich hier, da ich von keinem verstanden werde. ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
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.
Gruß PIC18F2550
drone265/278 Barbarus hic ergo sum, quia non intellegor ulli. Ein Barbar bin ich hier, da ich von keinem verstanden werde. ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
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.
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Ich schau morgen noch ein bisschen drüber, muss morgen früh raus.
Hast du einen Wiederstand von clk gegen Masse?
Gruß PIC18F2550
drone265/278 Barbarus hic ergo sum, quia non intellegor ulli. Ein Barbar bin ich hier, da ich von keinem verstanden werde. ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo