Hi alle, ich habe ein bloedes Problem feststellen muessen. Ich habe ein System bestehend aus dem TI C6747 und den AD-Wandler ADS1610, auch von TI. Die Hardware ist aufgebaut und Software auch, nun muss ich leider feststellen, dass etwas mit der Samplerate zwischen ADC und der DSP nicht stimmt. Folgendes is konfiguriert. Ein GPIO Pin fungiert als Interupt signal um den EDMA zu steuern. An diesem Interupt-Eingang ist der Data Ready Ausgang des ADC verbunden. Und dieser Taktet halt mit 10 MHz vor sich hin (da der ADC ja 10 MSPS hat). Scopetechnisch ist alles ueberprueft. Bei jedem Interupt schreibt der EDMA halt immer 2 byte von der GPIO Bank, an dem der ADC angeschlossen ist, an eine definnierte Adresse. Die Parameter sind self-linked. Also ein Ringbuffer. Die DSP lauft auf maximalen Frequenzen (CPU = 300 MHz, EDMA = 150 MHz, GPIO = 75 MHz). Nun sieht es so aus, als ob der EDMA zu langsam ist, also den 10 MHz des ADC nicht hinterherkommt. Beim Uebertakten der DSP reicht es annaehernd. Kann es wirklich sein, dass der EDMA zu langsam ist??? Irgendwie blicke ich da erlichgesagt in Datasheet von TI nicht durch. Die DSP hat lauf Daten eine Max. Frequenz (SYSCLK1) von 375/456 MHZ, weiter im Datasheed steht dann aber, dass SYSCLK1 nicht mehr wie 300 MHZ haben darf. Irgendwie koennen die sich nicht entscheiden :). http://www.ti.com/lit/gpn/tms320c6747 In Punkt 5.2 stehen die Empfohlenen Parameter, da steht SYSCLK1 bei 375 MHz. Spaeter steht da aber, das alle SYSCLKs nur bis 300 MHz unterstuetzen. Wie soll man das verstehen?
Tach. Ich hab mich hier in letzter Zeit mit dem 6416T abgekämpft. Wirklich durchgeblickt habe ich immer noch nicht, hab aber zumindest so viel rausbekommen, dass Schreibzugriffe über den GPIO übelst viel Zeit brauchen. Guck vielleicht mal, ob du deinen Interrupt woanders herbekommst. Viel Erfolg!
Tach! Ach wenn ich den EDMA ohne Interrups steuer, sondern einfach einmal anschmeisse und laufen lasse aendert sich an den Aufgenommenen Samples nichts. Ich habe den AD-Wandler heute mal auf 5 MPSP Mode estellt, und dann funktioniert alles Perfekt. Sobald ich aber wieder auf 10 MSPS stelle verliert der EDMA beim übertragen leider an Samples. Sitze schon seit mehreren Tagen vor diesem Problem, ohne Erfolg.
Wenn die Ansteuerung des EDMA über eine Interrupt-Serviceroutine läuft, kann ich mir duchaus vorstellen, dass das zu langsam ist. Damit das richtig schnell funktioniert, muss man den Transfer über das Eventmanagement-System auslösen. Siehe: http://www.ti.com/lit/gpn/tms320c6747 Kapitel 6.9 Ein GPIO kann Interrupts oder EDMA-Events auslösen. Eventgesteuert sollten 10 MSPS überhaupt kein Problem sein. Grüße, Peter
So mache ich es auch. Ich benutze die GPIO Bank 2, angeschlossen an Data Ready vom ADC, um den EDMA Event 7 auszulösen. Ich habe bislang immer von Interrupt gesprochen, weil man für die Eventauslösung die GPIO Bank auch als Interrupt definieren muss. Erst dann funktioniert die Eventauslösung des EDMA Channels.
Sorry kleiner Fehler: Die GPIO Bank 1 lösst natürlich den EDMA Event 7 aus.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.