Forum: FPGA, VHDL & Co. SmartFusion und APB (Master): Writes funktionieren, Reads nicht


von SmartFusion-Anfänger (Gast)


Lesenswert?

Ich hoffe, ich kann diese Forum für eine Frage zum SmartFusion
benutzen. Wenn ein besseres Forum hier auf mikrocontroller.net
vorhanden ist, bitte dort hin verschieben. Danke!

Ich habe den Voltage Monitor aus dem Tutorial von Actel/MicroSemi
erweitert, dass ich einen APB (Master) ins MSS aufgenommen habe.
Ich habe außerdem das C-Programm so erweitert,
dass ich periodisch Lese- und Schreibzugriffe auf die Adresse
0x40050000 ausführe.
Die Leitungen (wie MSSPSEL, MSSPWRITE, MSSPWDATA[0]) habe ich
auf LEDs des SmartFusion Eval Kits (Version 1) herausgeführt.

Schreibzugriff auf 0x40050000 (32 Bit Zugriff) funktionieren
und wenn ich MSSPWDATA bei einer Flanke auf MSSPSEL
übernehme, dann finde ich meine Daten wieder.

Zu den Lesezugriffen:
Ich habe MSSPREADY fest auf HIGH liegen, MSSPSLVERR fest auf LOW,
sowie eine Konstante auf MSSPRDATA (0xABCD1234).
Wenn ich einen 32 Bit Lesezugriff ausführe,
dann sehe ich zwar den Lesezugriff via MSSPSEL und MSSPWRITE
(geht auf LOW), aber der Prozessor erhält immer den Wert 0
statt 0xABCD1234.

Hat schon mal jemand das SmartFusion mit dem APB benutzt?
Muss man die Daten irgendwie anders ein füttern?
Werden irgendwie oder zu einer bestimmten Zeit Flanken benötigt,
damit die Eingabedaten übernommen werden?

Ich weiß, dass es einen APB Slave Core gibt,
der aber m.M. nach vor allem eine Address-Selektion (Slots) vornimmt,
die ich derzeit eigentlich gar nicht brauche.
Ich will nur einen einfachen Übergang zwischen MSS und Fabric.

Sind für APB Lesezugriffe die CLKs von MSS und Fabric entscheidend?
Ich betreibe die momentan mit 1:1, habe aber auch schon 1:4
probiert (80 MHz für Cortex-M3, 20 MHz für Fabric),
funktioniert hat es trotzdem nicht, es kam immer nur der Wert 0
bei Lesezugriffen.

Ich habe in einer Spec. gesehen, dass die Daten
in MSSPWDATA eingefüllt wurden, vermute aber, dass dies falsch
ist, weil außer im Diagramm dann im dazugehörigen Text nichts zu
lesen war. Kann dies jemand bestätigen, dass es nicht so ist?

von Duke Scarring (Gast)


Lesenswert?

Dein System scheint ziemlich komplex zu sein. Hast Du es als 
Gesamtsystem schonal simuliert?

Duke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.