Ich will einen 16 Bit DA Wandler mit dem SPI Bus Protocol ansteuern! Da ich noch am planen meines Projektes (Teil der LAP) bin, möchte ich Erfahrungswerte, wie schwer es ist, mit einem 8-Bit-Risc uC (UART, SPI - unterstützung) einen 16-Bit DA Wandler anzusteuern! Könnt ihr mich auf Probleme aufmerksam machen? Anforderungen: 16 - Bit DA Wandlung 500 Hz Sampling Rate Serielles Protokoll (16 Bit Daten werden von einem EEPROM (SPI-Bus) gelesen und an DAC übergeben) THANKS
SPI ist fast immer 16 Bits (zumindest habe ich bislang nur derartige Chips gesehen, die es als 16 Bit handhaben). Ist also überhaupt kein Problem, latürnich lassen sich auch mit 8-bit CPUs 16-bit Rechenoperationen ausführen (auch 32-bit und sogar 64-bit oder mehr), man braucht eben nur mehr Zeit dafür. 500 Hz Samplingrate ist eher wenig, aber das hängt natürlich davon ab, was Du hinterher damit machen willst. Aber selbst falls Du DSP-Aufgaben damit machen willst (digitale Filter), sollte das bei den neueren ATmega-Controllern (die einen Hardwaremultiplizierer haben) kein Problem sein.
Aber im Datenblatt zu AT90S4433 werden nur 8 Bits übertragen! Muss ich den einfach zwei mal ausführen? Oder wie mach ich das? Kann man die SS\ - Leitung (Chip Select) eigentlich von Hand steuern? Denn wenn ich eine Sampling Rate von 500 Hz will, die Daten aber theoretisch viiiel schneller anliegen (SCLK=2Mhz) muss ich die DA-Konvertierung mit der SS\ - Leitung aktivieren! Funktioniert das so?
Ja klar, Du mußt den SPI-Transfer dann 2x hintereinander machen. /SS ist Slave select, nicht Chip select. Das brauchst Du nur, wenn Du die Rollen von Master und Slave tauschen können willst (also z. B. zwei AVRs miteinander reden, von denen jeder abwechselnd den Transfer aktivieren darf). Ein chip select für Deinen Peripherieschaltkreis wirst Du natürlich trotzdem brauchen, dafür nimmst Du dann ein ganz normales Portpin.
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.