Hallöchen. Ich versuche einen ADC an USB anzubinden. Ich verwende einen 24bit ADC (AD7714) für die AD-Umsetzung und für die Anbindung einen den PIC18F2455. Ich habe so weit auch alles theoretisch entworfen, Schaltung steht auch. Nur was mir derzeit noch Probleme macht ist, wohin und wie soll ich die Daten speichern, die vom ADC kommen, damit sie dann vom USB gelesen werden können. Es sollt auch möglich sein Befehle an den PIC zu schicken, die der dann entsprechend verwaltet. Als Abtastrate des ADC verwende ich 1kHz. Kann sein, dass die Frage viel zu simple ist, aber ich bin ein absoluter Neuling auf dem Gebiet. Danke
Muss ich leider machen für meine ABschlussarbeit. Und ich habe im Studium noch nie was gehört davon. Ich scheiter schon am SPI... und habe nur 10 Wochen Zeit dafür. Ein Hoch auf das Bachelor-System. Brauche also immernoch dringend Hilfe
Wie schauts denn um deine Kenntnisse aus? Ich würde empfehlen langsam sich ranzutasten wenn SPI schon Probleme verursacht. Also erstmal die ADC-Werte auf eine simple LED-Anzeige bringen oder auf ein LCD.
Ich würde erst mal mit einem 8 Bit A/D Wandler anfangen, dann ist der Frust nicht so groß, wenn die letzten zwei oder drei Bits nur Rauschen sind. Beim 24 Bit Wandler werden wohl eher so um die 12-18 Bit Rauschen rauskommen, je nach dem wie viel Glück er beim Aufbau hat. Funktionierenden SPI am USB gibt es ggf. hier: http://www.codemercs.com IO-Warrior
Nimm dir nen Controller, verwende den internen ADC und sende die Daten per RS232. Das sollte für das Grundverständnis reichen. Am besten du nimmst nen Funktionsgenerator und testest dann mal einige Signale aus. Für den 1.Lauf würde ich nie mit 24Bit anfangen und gleich gar nicht mit USB. Es sei denn du nimmst nen normalen RS232<-->USB-Wandler mit Virtuel-COM-PORT.
Ein weiterer Vorschlag fuer USB AD-Wandler z.B. ADS1252 in Kombination mit TUSB3410, fuer diesen gibt es bereits eine komplette Seriell in USB Umsetzung als Software und diese kann dann noch auf eigene Applikation angepasst werden. -> http://focus.ti.com/docs/prod/folders/print/ads1252.html -> http://focus.ti.com/docs/prod/folders/print/tusb3410.html
>Ich würde erst mal mit einem 8 Bit A/D Wandler anfangen, dann ist der >Frust nicht so groß, wenn die letzten zwei oder drei Bits nur Rauschen >sind. Also wenn bei acht Bit die letzten zwei/drei Bits rauschen...dafür muss man sich aber anstrengen und viel falsch machen. Das hab ja nicht mal ich geschafft ^^.
Also das SPI läuft jetzt und ich kann am OSZI die Signale beobachten. Logischer Weise schwnaken die letzten 5-6 bit. Das ist aber niht weiter wild. Ich soll nur eine Auflösung von 16 bit erreichen und ne Zeitbasis von 1kHz. Mein Verständnis ist so weit, dass ich weiß, dass ich die Daten von meinem ADC in 2 Arrays speichern sollte. Und jedes Mal wenn ein 64 byte Array voll ist, dann ins andere wechseln und das volle an den USB schicken. Ich weiß nur nicht wie es richtig geht. Die Bauteile PIC18F2455 und AD7714 sind fest, an denen kann ich nichts ändern. Sonst die schaltung ist auch fertig und aufgebaut mit sehr präziesere Referenz für ADC
hmm ich verstehe das problem nicht. du weißt wie du daten per spi von adc kriegst aber kannst dann keine arrays umkopieren? das sind doch nur ein paar abfragen und schleifen. in der hauptschleife guckste ob der adc nen neuen wert hat und wenn ja speicherst du ihn ins array und zaehlst den array index hoch. wenn der bei 64 ist dann wechselst du das array und kopierst das alte in den usb datenarraybereich und das machste die ganze zeit. so stellst du dir das doch vor, oder? wieso probierst du es dann nicht einfach aus. ist doch mal schnell getestet. hast du denn irgendwelche programiererfahrungen? wieso machst du so eine arbeit wenn du keine erfahrung hast? normalerweise kann man sich seine arbeiten doch aussuchen oder warst du zu faul und hast dir nur was vom prof geben lassen?
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.