Hallo liebe Community, ich habe vor einem ADC eine analoge Spannung eingespeist, um diese auf einem Display als Messwert anzeigen zu lassen. Mir wurde gesagt, dass eine Alternative die EMulation des SPI-Signals des ADCs wäre. Ich muss einen kleinen Bericht darüber schreiben was ich gemacht habe und würde das gerne erwähnen. Da ich mich absolut nicht mit mit FPGA, VHDL,... auskenne, würde ich mich freuen, ob mir jemand bestätigen kann, ob folgende Aussage korrekt ist: Eine Alternative zum Einspeisen von Spannungen vor dem ADC besteht darin, das Ausgangssignal des ADCs mittels eines Field-Programmable Gate Array (FPGA) und der Hardwarebeschreibungssprache VHDL zu emulieren. In diesem An-satz wird im FPGA ein virtuelles Ausgangssignal des ADCs erzeugt. Über eine nachgeahmte Serial Peripheral Interface (SPI)-Kommunikation, wird das Signal an den Microcontroller übertragen. Dieser Prozess wird durch die Entwicklung eines VHDL-Designs realisiert, welches das Verhalten des eigentlichen ADCs imitiert und die entsprechenden SPI-Signale generiert. Kann man das so formulieren? Vielen Dank!!
Was möchteste machen, ne analoge Spannung via ADC diskretieren und die digitalisierten Werte vom ADC per SPI abholen? Sollte gehen... ansonsten versteh ich die Frage nicht. Mal mal auf, was du eigentlich meinst.
Falk S. schrieb: > Was möchteste machen, ne analoge Spannung via ADC diskretieren und die > digitalisierten Werte vom ADC per SPI abholen? Sollte gehen... ansonsten > versteh ich die Frage nicht. > > Mal mal auf, was du eigentlich meinst. Die Spannungen, die ich vor dem ADC eingespeist habe, emulieren (analoge) Sensorsignale. Ich mache das, um das Gerät testen zu können, ohne das Gerät echten Einflüssen aussetzen zu müssen. So kann ich beispielsweise testen wie das Gerät in Extremsituationen reagiert. Stattdessen hätte man ja auch das Ausgangsignal des ADCs, welcher über SPI mit dem Microcontroller, welche die Signale auswertet und auf einem Display anzeigt, simulieren können. Mir hat jemand gesagt, dass das über FPGA und VHDL geht. Deshalb würde ich gerne wissen, ob ich den Abschnitt so richtig formuliert habe.
A. A. schrieb: > Mir hat jemand gesagt, dass das über FPGA und VHDL geht. Deshalb würde > ich gerne wissen, ob ich den Abschnitt so richtig formuliert habe. Ja das könnte man machen. Aber man könnte das auch mit einer Schaltung aus diskreten Bauteilen oder auch mit einen Mikrocontroller oder gar einem PC machen. Un SPI zu sprechen braucht man nur ein paar digitale IOs die man entsprechend schnell schalten kann. FPGAs können das, sind dabei aber nicht alleine.
Gustl B. schrieb: > A. A. schrieb: >> Mir hat jemand gesagt, dass das über FPGA und VHDL geht. Deshalb würde >> ich gerne wissen, ob ich den Abschnitt so richtig formuliert habe. > > Ja das könnte man machen. Aber man könnte das auch mit einer Schaltung > aus diskreten Bauteilen oder auch mit einen Mikrocontroller oder gar > einem PC machen. Un SPI zu sprechen braucht man nur ein paar digitale > IOs die man entsprechend schnell schalten kann. FPGAs können das, sind > dabei aber nicht alleine. Danke für deine Antwort. In meinem Fall wird vor dem ADC ein Multiplexer mit 8 Messsignalen geschalten. Der Microcontroller fragt zyklisch die Messwerte ab, indem er den MUX entsprechend schaltet. ICh habe das einfach mit einem 8-Kanal-DAC und einem eigenen MUX gelöst, damit ich mich darum nicht kümmern muss. Wäre für diese Anwendung das verwenden von FPGAs oder eines Microcontrollers so wie du es in deiner Antwort beschrieben hast besser? Und würdest du sagen, dass das arg aufwendig ist im vergleich zu meiner methode?
Damit diese Emulation des ADC samt Multiplexer halbwegs realitätstreu erfolgt, muss natürlich der ADC bzw. sein Registermodell ordentlich nachgebildet werden, ebenso auch das Timing bzw. die SPI-Betriebsart. Es hängt ganz empfindlich von dem betreffenden Typ ab, ob das trivial oder schon ein aufwändiges Projekt wird. Ist denn die Firmware schon funktionsfähig, insbesondere die Ansteuerung des echten ADC? Und natürlich handelt es sich hier mal wieder um feinste Salamitaktik...
Andreas S. schrieb: > Ist denn die Firmware schon funktionsfähig, insbesondere die Ansteuerung > des echten ADC? Ja, die Firmware ist komplett funktionsfähig und mit dem DAC funktioniert es super. Ich habe nicht noch vor das SPI Signal zu emulieren, jedoch würde ich die Alternative gerne in der Arbeit erwähnen.
Ich würde so wenig emulieren wollen wie möglich, denn das sind Fehlerquellen. Nimm eine Hardware mit den DACs und erzeuge die Spannungen (auch das geht mit typischer Laborhardware) und dann kommt da die Hardware mit den Eingängen und ADCs ran.
Gustl B. schrieb: > Nimm eine Hardware mit den DACs und erzeuge die > Spannungen Das habe ich auch gemacht. Damit lassen sich super Messwerte aller Sensoren emulieren. Ich würde es eben nur gerne als Alternative erwähnen.
Ja dann erwähne es. Du kannst die SPI ADCs auch mit einem FPGA emulieren oder mit einem Mikrocontroller, ...
Bei deinem Vorschlag würdest du einen wesentlichen Teil deiner Schaltung, nämlich den ADC, weglassen und durch einen FPGA ersetzen, der Dummydaten erzeugt. Damit kannst du die Datenübertragung über die SPI-Schnittstelle und die Controllersoftware testen, aber du kannst keine Spannungen messen. Insofern ist der FPGA keineswegs Alternative zum ADC, sondern ein Hilfsmittel, mit dem du einen Teil deiner Schaltung ohne ADC testen kannst. Also vermeide in diesem Fall bitte das Wort "Alternative" (das wird eh schon aufs Übelste missbraucht...).
Also für mich klingt das eher nach DDS im FPGA über R2R und ggf OPA zum ADC. https://de.wikipedia.org/wiki/Direct_Digital_Synthesis https://de.wikipedia.org/wiki/R2R-Netzwerk https://de.wikipedia.org/wiki/Operationsverst%C3%A4rker Könnte man auch als Arbiträrgenerator bezeichnen https://de.wikipedia.org/wiki/Arbitr%C3%A4rgenerator Oder ist gemeint das man diesen konkreten ADC per SPI in einen Test-Mode kommandiert, in dem ohne Analog-Input Digitalwerte wie bspw. Simusverlauf gesendet werden?
A. A. schrieb: > wird im FPGA ein virtuelles Ausgangssignal des ADCs erzeugt. Besser so: ... wird das ADC-Busprotokoll vom FPGA nachgebildet. Denn das Ausgangssignal ist keineswegs "virtuell", sondern physikalisch messbar. > und die entsprechenden SPI-Signale generiert. Das allein reicht nicht, denn du zum Nachahmen des kompletten ADC musst du nicht nur dessen Schnittstelle entsprechend nachahmen, sondern auch interne Konfigurationsregister nachbauen und auf deren Werte reagieren. Und zudem musst du irgendwelche vorhersehbaren oder zufälligen Daten über diese Schnittstelle senden.
Für solche Zwecke baut man ein komplementäres System , z.B. mit demselben Microcontroller und dessen SPI-Schnittstelle und lässt den die Testdaten generieren. Dafür braucht es keinen FPGA. Im vorliegenden Fall geht es sogar nur um eine simple Spannung. Das, was das Zielsystem messen und erfassen kann, ist das Komplementärsystem auch in der Lage, zu erzeugen. Bei einem Microcontroller-board eventuell mit einem integrierten DAC.
Vancouver schrieb: > , mit dem du einen Teil deiner Schaltung > ohne ADC testen kannst. Ja also es geht auch nur darum den Microcontrollern mit Daten des ADCs (also gewandelten Spannungen) zu füttern um diesen zu testen
A. A. schrieb: > Ja also es geht auch nur darum den Microcontrollern mit Daten des ADCs > (also gewandelten Spannungen) zu füttern um diesen zu testen Um den Controller zu testen, braucht man keine variablen Spannungen, sondern nur 4, nämlich 1 im range, 1 über dem range und das eventuell + / -. Damit kann man den Überlauf testen. Alles weitere ist Auswertung im Controller, damit Software und somit IM Controller zu untersuchen, oder theoretisch.
A. A. schrieb: > Vancouver schrieb: >> , mit dem du einen Teil deiner Schaltung >> ohne ADC testen kannst. > > Ja also es geht auch nur darum den Microcontrollern mit Daten des ADCs > (also gewandelten Spannungen) zu füttern um diesen zu testen Dann schau mal, ob dein ADC nicht einen Testmode bietet, in dem er Digitalwerte sendet, ohne Analog erregt zu werden. Im Anhang ein Beispiel. BTW: Für die Uninspirierten hat die Firma Analog Devices vor Jahren mal einen Handzettel mit Ideen zum Teseten von data converter systemen rausgeballert: https://www.analog.com/media/en/training-seminars/design-handbooks/Data-Conversion-Handbook/Chapter5.pdf Sowas gibt es natürlichauch als AN von anderen Firmen und in Lehrtexten.
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.