Forum: Mikrocontroller und Digitale Elektronik datenübertragung: dpram von/an at91sam7x


von constantin (Gast)


Lesenswert?

hi forum, frohes neues,

ich möchte einen dual ported ram (dpram) an den controller anbinden. die 
datenübertragung soll parallel ablaufen (dpram: 11 adress-, 16 daten- 
und 5 controlleitungen).

zum einstieg in dieses problem wollt ich mir anregungen aus beispielen 
holen habe aber zu diesem fall bzw überhaupt zu parallelem bus aus dem 
at91 nichts finden können. ich habe nun den verdacht dass die 
übertragung relativ einfach ist (sodass diese niemand nachfragen muss). 
leider find ich den zugang dazu nicht. :-(

eventuell über den dma aber der macht doch "nur" serielle übertragung 
oder?

danke für alle hinweise

von gerhard (Gast)


Lesenswert?

hallo,
mit dem at91sam7x hast du meiner meinung nahc den falschen typ 
ausgesucht da dieser über kein extern zugängliches bus-interface 
verfügt. das dpram über die portleitungen anzusteuern macht wenig sinn 
da das nur sehr langsam funkt. und du jede menge portleitungen 
benötigst.
die bessere wahl wäre der at91sam7se. dieser hat ein ext. bus interface.

gruss
gerhard

von constantin (Gast)


Lesenswert?

ok, danke für den hinweis, gerhard.
bzw ist nicht gut dass der controller nicht kann (250,-€ in den Sand 
gesetzt + die ganze arbeit bis jetzt) naja super eben. dummer anfänger 
fehler, hab halt gedacht das sowas immer zum standardumfang von µC's 
gehört...

es ergibt sich ne neue frage von mir zum NEUEN controller (at91sam7SE) 
bzw dessen PDC: ich möchte daten ausnem ADC über SPI in den µC lesen -> 
das mach ich über das PDC interface welche "hinter" dem SPI steckt. Und 
da ich zwei ADC hab bräuchte ich beide SPI bzw. PDC schnittstellen 
meines ALTEN controllers (AT91sam7X...). Die Frage: der neue µC hat nur 
noch eine SPI Schnittstelle; kann ich die eine SPI bzw. PDC 
Schnittstelle und die PDC vom USART1 oder SSC zusammen "parallel" 
benutzen? (Ziel ist die synchrone Datenerfassung durch die ADC's)

von gerhard (Gast)


Lesenswert?

hallo constantin,
um dir wirklich helfen zu können wäre es hilfreich, wenn du uns verrätst 
was du überhaupt vorhast.
welche externen bauteile sollen angeschaltet werdne und was soll der 
at91sam machen?

gruss
gerhard

von constantin (Gast)


Lesenswert?

klar kein thema
ich will zwei spannungen möglichst synchron, schnell und hochauflösend 
wandeln (mit zwei ADS1271). die daten werden von einem µc (AT91sam7...) 
ausgelesen (mittelwertbildung usw.) und dann sollten die werte parallel 
an einen dpram (IDT) ausgegeben werden. das ist eigentlich alles.

der µC ist dabei eindeutig unterfordert, da aber das system später noch 
ausgweitet werden soll soll er (zumindest ein arm7) bleiben. so soll 
später zb noch die usb schnittstelle genutzt und ein stand-alone can 
controller  (leider fehlt der im sam7SE) angeschlossen werden. mir wäre 
der sam7x deswegen lieber gewesen...


von gerhard (Gast)


Lesenswert?

hallo constantin,
hast du meinen tip aus einem deiner vorigen postings (AT91SAM7X 
schwächelt) schon befolgt und dir mal das self trainig zum thema pdc 
angesehen? aufgrund deiner fragen zu diesem thema würde ich mal vermuten 
das dafür noch keine zeit war.

spass beiseite:
mir ist immer noch nicht klar was du mit dem dpram vorhast.
ein dpram wird dann eingesetzt wenn 2 mikrocontroller große datenmengen 
in sehr kurzer zeit austauschen müssen. bei deinem "aufbau" fehlt mir 
aber der 2.mikrocontroller.


gruss
gerhard

von constantin (Gast)


Lesenswert?

:-)

du hast recht, mit PDC bin ich nch nicht richtig im reinen deswegen auch 
meine fragen... das self training find ich zwar interssant zu lesen aber 
fragen bleiben dennoch offen. wenn ich das beispiel von 
(www.mikrocontroller.net/articles/DMA) (verwendet wird hier der pdc der 
spi schnittstelle) nehme und mit dem beipiel von andreas schwarz' 
MP3/AAC player vergleiche (verwendet wird dort der pdc des uart) so 
bestehen da, zumindest für mich, in der initialisierung große 
unterschiede. mal wird mbeim uart ne baudrate definiert, bei spi 
garnicht. die reine datenübertragung sieht einfach aus geb ich zu aber 
davor/dazu nötige verwirrt mich.


Der DPRAM soll tatsächlich als schnittstelle zwischen zwei µC eingesetzt 
werden wobei die Entwicklung um den zweiten µC noch kommen wird. aber 
das erst später.

von gerhard (Gast)


Lesenswert?

hallo,
ich würde auf das dpram verzichten und die verbidnung zum 
2.mikrocontroller über eine schnelle, serielle verbindung (z.B. spi od. 
noch besser ssc) realisieren.

betreffend deiner problem mit dem pdc:
die init. der div. peripherien hat rein gar nichts mit dem pdc zu tun. 
das einzige was der pdc macht ist, aus z.b. bei empfang eines zeichen 
vom uart dieses aus dem uart-empfangsregister in eine buffer zu kopieren 
und dabei die entsprechenden pointer zu inkr. und den receive-counter zu 
dekr. sobald der receive counter 0 wird löst der pdc einen interrupt 
aus.
ähnlich sieht es beim senden aus. der pdc kopiert immer ein zeichen aus 
dem buffer in das entspr. senderegiste, inkr. die pointer und dekr. den 
send-counter. ist der counter 0 wird wieder ein interrupt ausgelöst.

betreffend spi:
die spi-schnittstelle kann im master mode bis zu 4 slaves (ohne ext. 
dekoder) bzw. bis zu 15 slaves mit ext. dekoder.

gruss
gerhard

von constantin (Gast)


Lesenswert?

eine einfache serielle schnittstelle war nicht vorgesehen weil das ganze 
sollte ein system mit mehreren µC's werden. ein dpram je µC sollte als 
puffer  zwischen und zentral-µC.

aber seit gestern wurde mein projektchen ziemlich durchgeschüttelt -> 
soll heissen ich bleibe beim sam7x und der dpram fliegt raus. 
datenübertragung nun über usb... was mir seit heut morgen recht heftige 
kopfschmerzen bereitet.

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.