Mit dem NJU9103 hat NJRC ein neues Analog-Frontend (AFE) mit eingebautem PGA (Programmable Gain Amplifier) entwickelt, mit dem sich analoge Signale mit einer Verstärkung von G-512 verarbeiten lassen. Durch die Kombination des NJU9103 mit einem Mikrocontroller STM32F429 von ST Microelectronics können Entwickler relativ einfach eine kostengünstige Sensorsignalaufbereitung zusammenstellen. Angeordnet ist das System ähnlich wie ein Oszilloskop, aber es kann zusätzlich Informationen zur Slew Rate, Auflösung und Genauigkeit des NJU9103 ausgeben.

Eckdaten

Dieser Artikel beschreibt anhand eines Anwendungsbeispiels, wie sich mit dem AFE NJU9103 von NJRC und dem Discovery-Board STM32F429 von ST Microelectronics analoge Sensorsignale zur Analyse verstärken lassen. Es ist ähnlich wie ein Oszilloskop aufgebaut, kann jedoch züsätzliche Informationen ausgeben.

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

Gemeinsam mit dem Evaluationskit STM32F429 dient das AFE NJU9103 der Sensorsignalaufbereitung.

Gemeinsam mit dem Evaluationskit STM32F429 dient das AFE NJU9103 der Sensorsignalaufbereitung. Rutronik

Das Evaluationskit des NJU9103 ist ursprünglich für ein Entwicklungskit STM32 Nucleo-F411RE  ausgelegt. Da es zur Auswertung die Arduino-Schnittstelle mit einer GUI-Nucleo-Board verzichtet, ist ein PC notwendig, der die Messergebnisse darstellt. Um das Messsystem zu vereinfachen, verzichteten die Entwickler deshalb bewusst auf das Nucleo-Board. 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. Anschließend sendet das System die digitalen Messergebnisse per SP-Interface zur MCU, wo sie auf dem Display dargestellt werden. Die Kombination der Demoboards, die aus PGA, ADC, Analogschalter und Kalibrierungs-DAC bestehen, veranschaulicht die Performance des analogen Frontends in Hinblick auf Auflösung, Genauigkeit, Verstärkung und Geschwindigkeit.

Konfiguration des Mikrocontrollers

GUI des NJU9103

GUI des NJU9103 Rutronik

In diesem Anwendungsfall konfigurieren die Entwickler die MCU mit der PC-basierenden STM32CubeMX-Software, wohingegen das AFE mithilfe des MDK (Mikrocontroller Development Kit) von Keil oder Atollic Truestudio programmiert wird. Per SPI-Bus lassen sich Befehle und Daten übertragen. Die hierzu benötigte Software stellt ST Microelectronics auf seiner Homepage bereit. Zusätzlich empfiehlt Rutronik Entwicklern, die Board Support Packages zu nutzen.

Die Kommunikation mit dem NJU9103 läuft über das SPI1. Dabei erzeugt der Timer TIM3 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 und der Ausgang als Pull-up zu konfigurieren. 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 stellt.

Verbunden mit einem Display gibt das Messsystem verschiedene Messwerte aus.

Verbunden mit einem Display gibt das Messsystem verschiedene Messwerte aus. Rutronik

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

Programmierung des NJU9103

Nachdem das Demoboard mit Cube-MX 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 lassen sich lediglich Bit 4 bis Bit 7 definieren, anstatt typischerweise das ganze Byte. Die Register lassen sich initialisieren. Über Timer TIM4 lässt sich die Sampling-Frequenz des ADC einstellen. Die Sampling-Frequenz ist gemäß Nyquist-Theorem abhängig von der zu messenden Signalfrequenz. Auch das Sinus-Signal lässt sich mithilfe eines angeschlossenen Displays darstellen.

Über die STM32CubeMX-Software von ST Microelectronics lässt sich das System in diesem Anwendungsfall konfigurieren.

Über die STM32CubeMX-Software von ST Microelectronics lässt sich das System in diesem Anwendungsfall konfigurieren. Rutronik

Die Kombination der beiden Demoboards in dieser Konfiguration ist eine gute 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 unterschiedlichen Anwendungsgebieten gegeben sind.