Forum: Digitale Signalverarbeitung / DSP / Machine Learning external memory out an ti dsk6416/dsk6713 ansprechen


von Andreas S. (nightmarevs)


Lesenswert?

Guten Abend,
ich habe an mein dsk6416 board eine Zusatzplatine angeschlossen und zwar 
an das exteral memory interface. die ersten 2 adressleitungen und die 
ersten 8 Datenleitungen sind belegt (adressleitungen nur output 
datenleitungen nur input). Leider bin ich in der Dokumentation nicht auf 
eine möglichkeit gestoßen dieses memory interface in c zu nutzen. Hat 
jemand hier damit erfahrung und kann mir ein wenig weiterhelfen?

von M. K. (kichi)


Lesenswert?

Das Stichwort dazu lautet "memory mapped". Eine Suche danach, oder nach 
"externes interface" fördert jede Menge Beträge zu Tage, z.B. 
Beitrag "externes ram verwenden in c". Die meisten sind zwar nicht 
für DSPs, dürften dir aber dennoch weiter helfen.

von Andreas S. (nightmarevs)


Lesenswert?

Ist es bei dem TI DSP wirklich so einfach? Dann würde es ja reichen den 
int so zu deklarieren:
int *test_val = (int*)0xA0000000;
und dann müsste der externe Ram anspringen oder? Hört sich irgendwie zu 
leicht an

von M. K. (kichi)


Lesenswert?

>Ist es bei dem TI DSP wirklich so einfach? Dann würde es ja reichen den
>int so zu deklarieren:
>int *test_val = (int*)0xA0000000;
>und dann müsste der externe Ram anspringen oder? Hört sich irgendwie zu
>leicht an
Naja - wie du im anderen Thread siehst gilt das nicht nur bei den 
TI-DSPs. Die Initialisierung des externen Interfaces fehlt halt noch, 
aber ansonsten war es das schon. Beachte auch die Schreibweise mit 
"[x]".

von Andreas (Gast)


Lesenswert?

Hallo Andreas S,

bei den TMS320C6xx(x) hast Du ein externes Interface welches 
verschiedene Dialekte sprechen kann. Neben SDRAM [ gemultiplexter 
Adressbus (CAS/RAS)] und diversen Synchronen Protokollen[ mit 
demultiplextem Adressbus ] auch SRAM like.

Als erstes musst Du Dir einig werden was Du machen willst.
In deinem Fall ( 2 Adressleitungen werden verwendet ) und 2 
Datenleitungen stehen deiner Schaltung excklusiv? zur Verfügung, 
könntest Du mit einem demultiplextem synchronen Bus loslegen.
Du musst dich bei der Initialisierung des TMS dann mit einigen Registern 
herumschlagen, in welchem Du Mode und Timing bestimmst. Je nach Busmode 
musst Du noch die Beschaltung eines Readypins ( hab jetzt keine 
Unterlagen zur Hand ) beachten, ansonsten wartet der TMS bis zum St. 
Nimmerleinstag...

Der TMS hat ein festgelegtes Adresschema, bei denen bestimmten 
Adressbereichen bestimmte Chipselects am Gehäuse zugewiesen sind.
Gelesen wird dann mit einfachem Memorymappten Zugriff.


Gruß

Andreas

von Andreas S. (nightmarevs)


Lesenswert?

Das Problem ist inzwischen gelöst, die kommunikation erfolgt asynchron 
das ist die einfachste variante. Mein Problem war nur das ich nicht 
wusste wie ich im c6416 den CE2 des EMIFA aktiviere da ich in den 
seltsam benannten hilfedokumenten das richtige nicht gefunden habe, hat 
sich jezt aber erledigt.
Trotzdem danke für die Hilfe

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.