Mikrocontroller-konfigurierbares High Precision Analog-Front-End für die Sensorsignalaufbereitung mit AFE

01.08.2019 Know-How

NJRC hat mit dem NJU9103 ein neues Analog-Front-End (AFE) mit eingebautem PGA entwickelt, mit dem man analoge Signale mit einer Verstärkung von G-512 verarbeiten kann. Durch die Kombination des NJU9103 mit einem STM32F429 Mikrocontroller von STMicroelectronics lässt sich relativ einfach eine kostengünstige Sensorsignalaufbereitung zusammenstellen. Die Anordnung arbeitet ähnlich wie ein Oszilloskop, kann aber zusätzlich Informationen zur Slew Rate, Auflösung und Genauigkeit des NJU9103 ausgeben.

Für die Aufbereitung von Sensorsignalen eignet sich das NJU9103 ideal, da es nicht nur über einen großen Messbereich verfügt, sondern auch über sehr kleine Abmessungen (nur acht Pins). Zudem besitzt es einen integrierten 16-Bit-ΔΣ A/D-Wandler mit Sampling-Raten von 0,814ksps bis 6,51ksps mit differenziellem Eingang und wahlweise pseudo-differenziellem Eingang. Mit einem SPI-Interface lassen sich Parameter über ein Mikrocontroller einfach anpassen. Signalanalyse und Signalsynthese sind mit den zugehörigen Evaluationsboards des Frontends und des Mikrocontrollers sowie nur wenigen passiven Bauteilen einfach realisierbar.

Das Evaluations-Kit des NJU9103 von NJRC ist ursprünglich für ein STM32 NUCLEO-F411RE Entwicklungs-Kit ausgelegt. Da es zur Auswertung die Arduino Schnittstelle mit einer GUI-Nucleo-Board verzichtet, wird hierbei allerdings ein PC zur Darstellung der Messergebnisse benötigt. Um das Messsystem zu vereinfachen, wurde deshalb bewusst auf das Nucleo-Board verzichtet. Im Sinne einer anwenderorientierten Demonstration kam stattdessen das STM32F429 Discovery Board zum Einsatz.

Erzeugung des Sinus-Signals

In der Anordnung erzeugt der STM32F429 ein PWM-Signal, das über einen einpoligen Tiefpass und einen Spannungsteiler an den differenziellen Eingang des NJU9103 angeschlossen ist. Danach werden die digitalen Messergebnisse per SPI-Interface zum MCU gesendet und auf dem Display dargestellt. Die Kombination der Demo-Boards bestehend aus PGA, ADC, Analogschalter und Kalibrierungs-DAC demonstriert die Performance des analogen Front-Ends in Hinblick auf Auflösung, Genauigkeit, Verstärkung und Geschwindigkeit.

Konfiguration des Mikrocontrollers

Der MCU wird mit der PC-basierten STM32CubeMX Software konfiguriert, das AFE mit Hilfe des Keil MDK (Mikrocontroller Development Kit) oder Atollic TrueSTUDIO programmiert. Die Befehle und Daten können per SPI-BUS übertragen werden.

Die hierzu benötigte Software stellt ST auf seiner Homepage bereit (<link www.st.com>www.st.com</link>). Zusätzlich empfiehlt Rutronik Entwicklern, die Board Support Packages zu nutzen.

Die Kommunikation mit dem NJU9103 läuft über das SPI1. Der Timer TIM3 erzeugt das PWM-Signal, während TIM4 den Interrupt anspricht, um die Messergebnisse auf einem Display anzuzeigen.

Um ein genaues PWM-Signal zu erzeugen, sind die Counter und Prescaler in TIM3 vorher zu definieren und zu setzen. Der Ausgang wird als Pull-Up konfiguriert. Die Frequenz von TIM3 wird über das Clock-Signal von APB1 (Advanced Peripheral Bus) eingestellt. Hierbei ist zu beachten, dass ausschließlich die APB1-Schnittstelle die maximale Clock-Frequenz für den Timer TIM3 zur Verfügung steht.

Zur Synthese des Sinus-Signals muss das PWM-Signal (Duty Cycle) in einem Array erzeugt werden. Zur Filterung, bzw. Glättung des PWM-Signals kommt ein Tiefpassfilter erster Ordnung (1kOhm//1µF) mit einem 3dB-Punkt bei 1kHz zum Einsatz. Der ohmsche Spannungsteiler kann unter Berücksichtigung der gewählten Verstärkungsstufen des PGA im AFE gewählt werden. Am Ausgang erhält man dann ein Sinus-Signal. Hierbei ist zu berücksichtigen, dass die maximale Eingangsspannung von 1V am differenziellen Eingang des AFE nicht überschritten werden darf.

Programmierung des NJU9103

Nachdem das Demo-Board mit CubeMX konfiguriert ist, erfolgt die Initialisierung der SPI-Kommunikation und des Displays. Hierfür enthält das Board Support Package viele nützliche Funktionen, die den Betrieb erleichtern.

Beim Einstellen der Register des AFE über die SPI-Kommunikation müssen Entwickler einen wichtigen Punkt im Datenblatt beachten: Bei den entsprechenden Adressen der Register können lediglich Bit 4 bis Bit 7 definiert werden, anstatt typischerweise das ganze Byte. Die Register lassen sich, wie im Datenblatt beschrieben, initialisieren. Durch Timer TIM4 wird die Sampling-Frequenz des ADC eingestellt. Die Sampling-Frequenz ist gemäß Nyquist-Theorem abhängig von der zu messenden Signalfrequenz. Das Sinus-Signal kann mit Hilfe eines angeschlossenen Displays visualisiert werden.

Die Kombination der beiden Demoboards in dieser Konfiguration ist eine ideale Plattform, um die Performance des neuen AFE von NJRC zu zeigen. Weiterhin zeigt der Aufbau, welche vielfältigen Möglichkeiten im bereich der analogen Sensorsignalaufbereitung in den unterschiedlichsten Anwendungsgebieten gegeben sind.

Komponenten gibt es auf <link www.rutronik24.de _blank external-link-new-window "open internal link">www.rutronik24.de</link>.

Bleiben Sie auf dem Laufenden, indem Sie unseren <link www.rutronik.com/newsletter _blank external-link-new-window "open internal link">Newsletter</link> abonnieren.