Hi. Ich arbeite seit kurzem mit dem MSP430F5529 Launchpad in Verbindung mit dem CC3100 Baustein. Ich bin leider noch nicht so vertraut mit der MSP430 Hardware. Ich habe nun den Timer A so aufgesetzt, dass nach jedem Zählschritt der Interrupt kommt. Der Interrupt sollte alle 1 Mikrosekunde kommen. Dies sollte ich doch mit dem SMCLK = 1.045MHz hinbekommen, dem ist aber nicht so. Ich komme maximal auf 25 Mikrosekunden. Laut Datenblatt müsste ich doch den DCO auf bis zu 16MHz einstellen können? Kann mir jemand sagen, wie das geht? Ich benutze CSS mit dem TI v4.3.4 Compiler und der driverlib inkl. board.c/.h Ich wäre also froh, die vordefinierten Funktionen zu verwenden und so weit wie möglich auf Register Bitoperationen zu verzichten. Vielen Dank schonmal! MFG
Sandro schrieb: > Der Interrupt sollte alle 1 Mikrosekunde kommen. Schon mal überlegt, was der Prozessor damit anfangen soll, und schon mal nachgesehen, wie lang der Aufruf und das Verlassen einer Interruptroutine jeweils dauert? Das ist ein Designfehler. Wozu soll das auch gut sein? > Ich wäre also froh, die vordefinierten Funktionen zu verwenden und so > weit wie möglich auf Register Bitoperationen zu verzichten. Keine gute Idee; Du solltest Dich mit der Hardware selbst beschäftigen, damit Du weißt, was dort passiert. Sieh Dir den Sourcecode dieser Library und den "Family User's Guide" für 'F55xx an, und obendrein die Sourcecodebeispiele, die TI selbst für 'F55xx zur Verfügung stellt.
Rufus Τ. Firefly schrieb: > Schon mal überlegt, was der Prozessor damit anfangen soll, und schon mal > nachgesehen, wie lang der Aufruf und das Verlassen einer > Interruptroutine jeweils dauert? > > Das ist ein Designfehler. Wozu soll das auch gut sein? Das bin ich mir schon bewusst. Ich möchte einige Messungen machen, welche genau das thematisieren sollen. Hätte ich vieleicht schreiben sollen. Rufus Τ. Firefly schrieb: > Keine gute Idee; Du solltest Dich mit der Hardware selbst beschäftigen, > damit Du weißt, was dort passiert. Bin ich mir ebenfalls bewusst. Ich habe bislang alles mit den Funktionen mit dem MSP430. Vieleicht sollte ich das ändern. Aber kann mir trotzdem jemand helfen mit dem Timer A Clocksource Ich habe mir den Guide und alle Code Examples angeschaut aber finde nichts. 16MHz sind schon möglich oder? Oder habe ich mich bereits da verlesen? :S Vielen Dank MFG
Moin, aus eigener Erfahrung: Vergiss den Mikrosekundenbereich beim MSP. Wenn Deine Anwendung solch knackige Timings erfordert, geh auf ein FPGA. Warum es nicht klappen kann, wird relativ klar, wenn Du Herrn Fireflys Tips folgst :-) Erst mal muss ein eintreffender IRQ erkannt werden. Das kostet schon einige Zyklen. Bis Du auch schon aus einem handcodierten Assembler-IRQhandler wieder rauskommst, kannst Du schon mal weitere 10 Taktzyklen dazuschätzen. Du hast auch keine weiteren Anhaltspunkte darüber, wieviele weitere IRQ-Requests am Timer-Pin während der Abarbeitung schon ignoriert wurden. Manche CPUs mit nicht wirklich auf IRQ optimierter Architektur hängen sich auch schon mal auf, wenn der Pin zu schnell feuert. Beim msp430 sollte dies m.W. nicht passieren, möglicherweise läuft im "User"-Mode dann aber gar nichts mehr. Also: Kein guter Ansatz, wie schon gesagt.
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.