DX-ST2104 SPI Toolkit - drivexpert.de · Integration der DX-ST2104 DeviceDriver-DLL DX-ST2104...

48
DX-ST2104 SPI Toolkit Bedienungsanleitung Revision 1.2 : 22.03.2013

Transcript of DX-ST2104 SPI Toolkit - drivexpert.de · Integration der DX-ST2104 DeviceDriver-DLL DX-ST2104...

DX-ST2104 SPI Toolkit

Bedienungsanleitung

Revision 1.2 : 22.03.2013

Struktur der Bedienungsanleitung

2

Struktur der Bedienungsanleitung

3

Struktur der Bedienungsanleitung

Kap. Titel Inhalt Seite 1 Komponenten Beschreibung des Lieferumfanges 5 2 Anwendungsszenarien Funktionsumfang und Einsatzmöglichkeiten des SPI

Toolkits 9

3 Technische Daten Spezifikation der Steckverbinder des DX-ST2104 und der Zubehörplatinen

13

4 Software-Installation Erläuterungen zur Installation des SPI Toolkit Pakets inklusive Datenerfassungssoftware und Treibern

25

5 Aufbau einer SPI-Verbindung

Beschreibung der Vorgehensweise zum Herstellen einer Datenverbindung über die SPI-Schnittstelle

27

6 SPIRecorder-Protokoll Spezifikation des Kommunikationsprotokolls zur Datenübertragung zwischen TargetBoard und DX-ST2104

35

7 Anhang Enthält Schaltpläne und Layouts 41

Tabelle 0-1: Änderungshistorie

Rev. Betrifft Datum Seite 0.1 Erstellung der Bedienungsanleitung 23.04.2012 x 1.0 Erstes Release 24.04.2012 x 1.1 Korrektur Grafiken 01.06.2012 x 1.2 Aktualisierung für UDSIDriver-Platine Rev 2.2 und SPI Toolkit Rev 2.3 22.03.2013 x

Struktur der Bedienungsanleitung

4

Inhalt Struktur der Bedienungsanleitung ........................................................................................................................ 3

1. Komponenten .................................................................................................................................................... 5

2. Anwendungsszenarien .................................................................................................................................... 9

2.1 Echtzeitanalyse von Motoralgorithmen über MLXI ........................................................................ 9

2.2 Echtzeitanalyse von Motoralgorithmen über UDSI ...................................................................... 10

2.3 Konfiguration der Aout-Kanäle .......................................................................................................... 11

2.4 Unterstützte TargetBoards / MotorController ................................................................................ 11

2.5 Datenexport- und Integrationsmöglichkeiten ............................................................................... 12

3. Technische Daten ............................................................................................................................................ 13

3.1 Anschlüsse DX-ST2104 SPI Toolkit (Vorderseite) ........................................................................... 13

3.2 Anschlüsse DX-ST2104 SPI Toolkit (Rückseite) ............................................................................... 15

3.3 UDSIDriver-Platine ................................................................................................................................. 20

3.4 SensorAdapter-Platine .......................................................................................................................... 22

4. Software-Installation ...................................................................................................................................... 25

4.1 DXToolkitRecorder Installation........................................................................................................... 25

4.2 SPI Toolkit Softwarekomponenten.................................................................................................... 25

4.3 Systemvoraussetzungen ...................................................................................................................... 25

4.4 Softwareupdate ...................................................................................................................................... 26

4.5 Flashen der Firmware ............................................................................................................................ 26

5. Aufbau einer SPI-Verbindung ...................................................................................................................... 27

5.1 Hardware .................................................................................................................................................. 27

5.2 Software-Verbindungsaufbau mit dem DXToolkitRecorder ...................................................... 29

5.3 Vorgehensweise bei Verbindungsproblemen ............................................................................... 31

6. SPIRecorder-Protokoll .................................................................................................................................... 35

6.1 Protokoll-Versionen ............................................................................................................................... 36

6.2 Übertragungsmodi und Datenformate ............................................................................................ 36

6.3 SPIRecorder Module Interface-Beschreibung................................................................................. 38

7. Anhang ............................................................................................................................................................... 41

Komponenten

5

1. Komponenten

Abbildung 1-1: Geöffneter SPI Toolkit-Koffer und Komponenten

Komponenten

6

Abbildung 1-2: DX-ST2104 SPI Toolkit Vorderseite

Abbildung 1-3: DX-ST2104 SPI Toolkit Rückseite

Komponenten

7

Abbildung 1-4: UDSIDriver-Platine (Vorder- und Rückseite)

Abbildung 1-5: SensorAdapter-Platine (Vorder- und Rückseite)

Komponenten

8

Tabelle 1-1: Kabel

Bezeichnung Beschreibung Anzahl

Ethernetflachbandkabel ohne Schirmung zur Verbindung von UDSIDriver-Platine und SPI Toolkit (RJ-45 Stecker)

1

Micro USB-Kabel 1.8 m Kabel zur Datenübertragung bzw. Spannungsversorgung

1

Micro USB-Kabel 3 m Kabel zur Datenübertragung bzw. Spannungsversorgung

1

BNC-Kabel rot Zum Anschluss an Aout1 (BNC-Stecker) 1

BNC-Kabel gelb Zum Anschluss an Aout2 (BNC-Stecker) 1

BNC-Kabel grün Zum Anschluss an Aout3 (BNC-Stecker) 1

BNC-Kabel blau Zum Anschluss an Aout4 (BNC-Stecker) 1

MLXI-Kabel_a Mit geschlossenem Ende 1

MLXI-Kabel_b Mit offenem Ende 1

Tabelle 1-2: Sonstiges

Bezeichnung Beschreibung Anzahl

USB-Netzteil Netzteil zur Spannungsversorgung über den USB-Anschluss

1

USB-Stick Speichermedium, enthält das benötigte Softwarepaket

1

Tabelle 1-3: Optionales Zubehör (nicht im Lieferumfang enthalten)

Bezeichnung Beschreibung

Mini E-Mlx Hardware Emulator

LIN Master LIN Master zur Anbindung des LIN Bus an einen PC via USB-Verbindung

Demokit-Motor BLDC Motor mit Bremse

Demokit-Motor Load Control

Steuerplatine für die Bremse, Bedienung via LIN

TargetBoard Experimentierboard, enthält Controller- und Leistungsteil für den Betrieb von BLDC-Motoren. Z.B.: Mlx81200 EvalBoard, Mlx81200 HighPower DemoBoard, etc.

Anwendungsszenarien

9

2. Anwendungsszenarien 2.1 Echtzeitanalyse von Motoralgorithmen über MLXI

Abbildung 2-1: Echtzeitanalyse von Motoralgorithmen über MLXI

Im einfachsten Versuchsaufbau wird das DX-ST2104 über eines der beiden MLXI-Kabel mit dem TargetBoard verbunden. Zur Motorlaufzeit werden im TargetBoard anfallende Messdaten oder Statusinformationen mittels des SPIRecorder-Protokolls an das DX-ST2104 übertragen. Das sind beispielsweise:

ADC-Werte Zustandsvariablen von Statemachines interne Reglergrößen alle weiteren Applikationsvariablen

Von dort können die Daten in analoger Form an ein Oszilloskop oder ein anderes Messdatenerfassungssystem ausgegeben werden. Parallel dazu werden die Daten am PC über die DXToolkitRecorder-Software visualisiert.

Anwendungsszenarien

10

Abbildung 2-2: SPI Toolkit Softwarekomponenten

Damit die interessanten Variablen der TargetBoard Applikation beobachtet werden können, muss die Applikation die Variableninhalte in regelmäßigen Abständen an das SPIRecorder.c Modul senden. Von dort werden die verschiedenen Variablen in getrennten SPI-Datenkanälen an das DX-ST2104 übertragen. Die auf den Kanälen SPI0 bis SPI3 übertragenen Variablen werden auf den Aout-Kanälen 1 bis 4 ausgegeben und gleichzeitig über USB an den PC übertragen. Höhere SPI-Kanäle werden nur über USB übertragen.

2.2 Echtzeitanalyse von Motoralgorithmen über UDSI

Abbildung 2-3: Echtzeitanalyse von Motoralgorithmen über UDSI

Unter Prüfstandsbedingungen mit erhöhter EM-Belastung wird die SPI und die USB-Kommunikation gestört. PC und DX-ST2104 sollten dann durch die UDSIDriver-Platine vom DUT getrennt werden. Das MLXI-Kabel zwischen TargetBoard und UDSIDriver-Platine sollte trotzdem so kurz wie möglich gehalten werden. Das UDSI-Kabel kann deutlich länger sein. Die SPI-Signale werden hier differentiell übertragen und sind von der Hauptstörquelle (dem Motor) entkoppelt. Masseschleifen über die Datenleitungen werden so verhindert.

Anwendungsszenarien

11

2.3 Konfiguration der Aout-Kanäle Die Aout-Kanäle stellen vier über den DXToolkitRecorder konfigurierbare DA-Wandler dar. 12Bit Eingangsdaten werden in Spannungen von -5 V bis +5 V umgesetzt. Bei der Ausgabe von signed SPI Daten (z.B.Blockdaten des Typs BDF_MULTIVARIABLE_INT15) werden negative Wert auf 0 gesetzt.

Abbildung 2-4: Aout Kanäle (vereinfachtes Schaltbild)

In der Defaulteinstellung werden die Daten der SPI Kanäle 0 bis 3 auf den vier Aout Kanälen ausgegeben. Die Zuordnung der Kanäle ist fest. Die Parameter der analogen Ausgabe (Range und Zerolevel) sind im DXToolkitRecorder im Tab AOUT zusammengefasst. Die Umrechnung der digitalen Daten erfolgt in 3 Stufen:

1. Die SPI-Daten werden auf den DAC-Bereich skaliert. Um den DAC-Ausgabebereich voll zu nutzen sollte der Parameter Range auf den erwarteten Bereich der SPI-Eingangsdaten gesetzt werden.

2. Analogwandlung im DAC 3. Analoge BIAS-Kompensation und Verstärkung durch einen OPV. Über den Parameter

Zerolevel kann die Biasspannung und somit die Ausgangsspannung verschoben werden.

Bei einem Range von 4096DU und einem Zerolevel von 2048DU wird Vaout = 0 V, wenn die SPI-Daten 2048DU erreichen.

Tabelle 2-1: Beispielwerte bei einem Zerolevel von 2048DU und Range 4096DU

Wert des SPI-Kanals Aout-Spannung Vaout

0 -4.92 V

2048 0V

4096 +4.92 V

2.4 Unterstützte TargetBoards / MotorController Das SPI Toolkit arbeitet mit allen Controllern zusammen, die eine SPI-Unit besitzen. In die Controller-Applikation muss dazu das SPIRecorder.c-Modul integriert werden (siehe Kapitel 6 SPIRecorder-Protokoll). Im Installationsordner sind Versionen für den Melexis Mlx81200 und die Mlx81207 BLDC-Controller vorhanden. Weitere Versionen des SPIRecorder.c-Moduls für andere Controller können bei driveXpert unter [email protected] angefragt werden.

Anwendungsszenarien

perfect drive

12

2.5 Datenexport- und Integrationsmöglichkeiten Das SPI Toolkit lässt sich über zwei Wege in Ihre Arbeitsabläufe integrieren.

1. Daten-Export aus dem DXToolkitRecorder

Abbildung 2-5: Exportmöglichkeiten

Über das Chart Kontext-Menü ist eine direkte Anbindung an Office Tools wie Word gegeben. Das Chart kann in verschiedenen Bildformaten (.emf, .png, .jpg, .gif, .tif, .bmp) abgespeichert oder direkt kopiert werden. Über den File Recorder können Messdaten auch als .csv-Datei gespeichert und anschließend in Excel oder MATLAB weiterverarbeitet werden.

2. Integration der DX-ST2104 DeviceDriver-DLL

DX-ST2104 DeviceDriver (DX.SPIToolkit.dll)

MATLABConnectorCANapeConnector LabViewConnector

CANape(Vector Informatik)

MATLAB(Mathworks)

LabView(National Instruments)

Abbildung 2-6: Integration der DX-ST2104 DeviceDriver DLL

Eine direkte Integration in Tools wie CANape, LabView oder Matlab bietet der Weg über die DeviceDriver-DLL (DX.SPIToolkit.dll). Die DLL ist im DXToolkitRecorder Installationsverzeichnis enthalten. Eine Beschreibung der DLL können Sie von driveXpert auf Anfrage erhalten. Für eine vollständige Integration ist noch zusätzlich eine weitere Anpassungsschicht (Connector-DLL) zwischen DeviceDriver-DLL und Tool erforderlich, die nicht im Lieferumfang enthalten ist. Bei Interesse wenden Sie sich bitte an driveXpert.

Technische Daten

13

3. Technische Daten Tabelle 3-1: Technische Daten DX-ST2104

Parameter MIN TYP MAX Einheit

IBase Basisstromaufnahme 220 mA

+IP Stromaufnahme Peripherie 50 mA

+Icom Stromaufnahme SPI Kommunikation 10 mA

=ITot Gesamtstromaufnahme 260 270 mA

VCC1, VCC2

USB-Versorgungspannung 1 und 2;

Bei Verwendung des power only USB (VCC2) wird VCC1 nicht belastet.

4.5 5 5.5 V

3.1 Anschlüsse DX-ST2104 SPI Toolkit (Vorderseite)

Abbildung 3-1: Anschlüsse auf der Vorderseite

3.1.1 Analoge Ausgänge Aout1..4

Abbildung 3-2: Aout Kanäle (Erläuterungen zur Konfiguration siehe Kapitel 2.3)

Technische Daten

14

Tabelle 3-2: Technische Daten Aout1..4

Parameter MIN TYP MAX Einheit

Vdac Ausgangsspannung DAC Datenkanal 0 4.096 V

Vbias Ausgangsspnanung DAC Biaskanal 0 4.096 V

DAC Auflösung (12Bit) 4096 DU

DAC Übertragungsfaktor 1 mV/DU

OPV-Gain 2.4

Vaout OPV-Ausgangsspannung (bei VBIAS = 2.048V=2048DU)

-4.92 4.92 V

RSeries Aout Ausgangswiderstand (in Reihe) 560

Tabelle 3-3: Signalbelegung Aout1..4

Stecker-Nr. Bezeichnung Bedeutung Farbe

1 Aout1 Analoger Ausgang Rot

2 Aout2 Analoger Ausgang Gelb

3 Aout3 Analoger Ausgang Grün

4 Aout4 Analoger Ausgang Blau

3.1.2 Digitale Ein- und Ausgänge

Tabelle 3-4: Technische Daten Din, Dout

Parameter MIN TYP MAX Einheit

Dout 1..3 (Open Collector-Ausgang)

Rpullup Interner PullUp-Widerstand 5.1

Iout Strombelastbarkeit Open Collector-Ausgang 40 mA

RSeries Ausgangswiderstand (in Reihe) 300

Din1 (Digitaler Eingang)

VIH High level input voltage 2.7 V

VIL Low level input voltage 1.5 V

VI Input Voltage Range 0 5.5 V

RTP Widerstand RC-Tiefpass 1

CTP Kapazität RC-Tiefpass 1 nF

Der Betrieb der digitalen Ein- und Ausgänge wird durch die unter den Anschlüssen befindlichen LEDs angezeigt.

Technische Daten

15

Tabelle 3-5: Signalbelegung Din, Dout

Stecker-Nr. Bezeichnung Bedeutung

1 Dout1 Digitaler Ausgang

2 Dout2 Digitaler Ausgang

3 Dout3 Digitaler Ausgang

1 Din1 Digitaler Eingang

3.2 Anschlüsse DX-ST2104 SPI Toolkit (Rückseite)

Abbildung 3-3: Anschlüsse auf der Rückseite

3.2.1 Mini E-Mlx-Connector Stecker zum Anschluss des Melexis Mini Emulators.

Tabelle 3-6: Signalbelegung Mini-E-Mlx-Connector

Pin-Nr. Bezeichnung Bedeutung

1 GND Masse

2 TIO Digitaler MUST Ausgang (LSB)

3 Vout0 Programmierbare Spannungsversorgung 0

4 LINMUST LIN oder analog MUST Ausgang

5 TI1 Digitaler MUST Ausgang (MSB)

6 Vbat Autobatterie

7 Vout1 Programmierbare Spannungsversorgung 1

8 T0 Testausgang

9 Vout2 Programmierbare Spannungsversorgung 2

Detaillierte Informationen können dem „Mini E-Mlx Hardware“-Dokument der Melexis GmbH entnommen werden.

Technische Daten

16

3.2.2 MLXI- und UDSI-Connector

Tabelle 3-7: Technische Daten MLXI- und UDSI-Connector

Parameter MIN TYP MAX Einheit

FSmp Samplingrate/Übertragungsrate 20 kSmps/s

UDSI differentielle SPI Eingangssignale

VIH High level input voltage 2 V

VIL Low level input voltage 0.8 V

VIC Common mode input Voltage ±7 V

RTerm Abschlusswiderstand 1 k

MLXI Single Ended digital inputs

VIH High level input voltage 3 V

VIL Low level input voltage 1.5 V

VI Input Voltage Range 0 VCC+0.5 V

MLXI Single Ended digital outputs

VO Output Voltage High level 3.3 V

RSeries Ausgangsreihenwiderstand 1 k

MLXI Analog Inputs für Spannungsmonitoring und Mini E-Mlx Programmierinterface

VDDA Spannungslevel 5 12 V

VDDD Spannungslevel 3.3 12 V

VS Spannungslevel 12 24 V

Technische Daten

17

3.2.2.1 MLXI-Connector Melexis Interface-Stecker zum Anschluss des SPI Masters an das SPI Toolkit bzw. an die UDSIDriver-Platine.

Tabelle 3-8: Signalbelegung MLXI-Connector

Pin-Nr.

Bez. Bedeutung Farbe

1 VS Spannungsversorgung Weiß

2 GND Masse Braun

3 TI0 Testpin Input 0 Grün

4 TI1 Testpin Input 1 Gelb

5 TO Testpin Output Grau

6 CWD WatchDog Disable Rosa

7 VDDA Versorgungsspannung (analog) Blau

8 SCLK Serial Clock (SPI) Rot

9 MOSI Master Out Slave In (SPI) Schwarz

10 GPIO3 General Purpose Input / Output 3 Violett

11 SS Slave Select (SPI) Weiß

12 GPIO1 General Purpose Input / Output 1 Braun

13 GPIO2 General Purpose Input / Output 2 Grün

14 VDDD Versorgungsspannung (digital) Gelb

Die farbliche Zuordnung der Bezeichnungen am Stecker stimmt mit der Farbgebung am Kabel überein. In der folgenden Abbildung sind die MLXI-Kabel zu sehen. (links MLXI-Kabel_b mit offenem Ende, rechts MLXI-Kabel_a mit geschlossenem Ende)

3.2.2.2 UDSI-Connector UDSI-Stecker zum Anschluss der UDSIDriver-Platine an das SPI Toolkit (Nummerierung von links beginnend)

Abbildung 3-4: MLXI-Kabel

Technische Daten

18

Tabelle 3-9: Signalbelegung UDSI-Connector

Pin-Nr. Bez. Bedeutung

1 SCLK+ Serial Clock (SPI)

2 SCLK- Serial Clock (SPI) invertiert

3 MOSI+ Master Out Slave In (SPI)

4 MOSI- Master Out Slave In (SPI) invertiert

5 +5V Spannungsversorgung für UDSI-Driver

6 GND Masse

7 SS+ Slave Select (SPI)

8 SS- Slave Select (SPI) invertiert

Tabelle 3-10: Bedeutung der LED am UDSI-Connector

LED Bezeichnung Bedeutung des LED-Zustands

An Aus

Links Aktiver Connector für die Kommunikation mit dem Target-Board

UDSI-Connector MLXI-Connector

rechts Nicht verwendet

3.2.3 Sensor in-Connector SUB-D 9-Stecker zum Anschluss eines Positionssensors an das SPI Toolkit.

Unterstützt werden Drehgeber/Encoder mit differentiellem Ausgang. Um Drehgeber mit Single-Ended Ausgängen anzuschließen wird die SensorAdapter-Platine benötigt.

Tabelle 3-11: Technische Daten Sensor in

Parameter MIN TYP MAX Einheit

Differentielle Eingangssignale

VIH High level input voltage 2 V

VIL Low level input voltage 0.8 V

VIC Common mode input Voltage ±7 V

Positionssensorversorgung

VSens Sensorversorgungsspannung VCC V

ISens Sensorversorgungsstrom 100 mA

Technische Daten

19

Tabelle 3-12: Signalbelegung Sensor in (Pin-Nummerierung entspricht dem Standard)

Pin-Nr. Bezeichnung Bedeutung

1 A+ Spur A positiv (differentieller Eingang)

2 B+ Spur B positiv (differentieller Eingang)

3 I+ Index positiv (differentieller Eingang)

4 Home+ Anschlagsensor (Single-Ended Eingang)

5 GND Masse Sensorversorgung

6 A- Spur A negativ (differentieller Eingang)

7 B- Spur B negativ (differentieller Eingang)

8 I- Index negativ (differentieller Eingang)

9 +5V 5 V Sensorversorgung (max. 100mA)

3.2.4 Micro-USB-Connector (Power only) USB Stecker zur alternativen Spannungsversorgung über das USB-Netzteil.

Tabelle 3-13: Signalbelegung USB (Power only)

3.2.5 Micro-USB-Connector USB-Stecker zur Übertragung der Daten vom SPI Toolkit an den PC

Tabelle 3-14: Signalbelegung USB

Pin-Nr. Bezeichnung Bedeutung

1 VBUS Versorgungsspannung VCC1

2 UDM Data Minus

3 UDP Data Plus

4 GND Ground

5 SHIELD Ground

Wird das SPI Toolkit über einen der beiden USB-Anschlüsse mit Spannung versorgt, so wird dies durch die am rechten Rand der Vorderseite befindliche LED angezeigt.

Pin-Nr. Bezeichnung Bedeutung

1 VBUS Versorgungsspannung VCC2

2 UDM - Nicht belegt

3 UDP - Nicht belegt

4 GND Ground

5 SHIELD Ground

Technische Daten

20

Mini E-Mlx

UDSI

MLXI

1

2

3

5

4

3.3 UDSIDriver-Platine 1 Stiftleiste 1

2 Stiftleiste 2

3 GND-Pins

4 Schalter

5 User Interface

UDSI Anschluss DX-ST2104; SPI-Datenübertragung Signalbelegung siehe 3.2.2.2 UDSI-Connector

MLXI Anschluss TargetBoard;

Signalbelegung

siehe 3.2.2.1 MLXI-Connector

MiniE-Mlx

Anschluss Mini E-Mlx zum Programmieren des TargetBoards

Tabelle 3-15: UDSIDriver.Schalterfunktion

Schalter

Schalter Enable Disable

WATCHDOG Analoger Watchdog aktiv (Default) CWD-Pin wird auf GND gehalten. Analoger Watchdog inaktiv, notwendig für das Debugging

Tabelle 3-16: Technische Daten UDSIDriver

Parameter MIN TYP MAX Einheit

I_UDSI USB-Stromaufnahme ohne Mini E-Mlx 40 mA

VCC USB-Versorgungspannung

4.5 5 5.5 V

MLXI/UDSI-Connector (siehe Tabelle 3-7 ff.)

3.3.1 Funktionen 1. MLXI-Connector (zum Schutz des Test-PCs komplett galvanisch getrennt) 2. Mini E-Mlx-Connector zum Programmieren und Debuggen von Melexis-Controllern 3. UDSI-Transmitter: SPI-Signale werden differentiell zum DX-ST2104 übertragen 4. User Interface für den Systemeingriff auf der Strecke zwischen TargetBoard und SPI Toolkit 5. Testpin-Reihen für das Debugging mit dem Oszilloskop

Die UDSIDriver-Platine ist eine Zusatzplatine für TargetBoards mit einer SPI Schnittstelle. Sie ermöglicht den Einsatz des SPI Toolkits auch unter Bedingungen mit verstärkten EM-Störungen,

Technische Daten

21

wie sie an Motorprüfständen häufig vorkommen. Sie bietet wie das DX-ST2104 einen MLXI-Connector, über den SPI-Signale und das Melexis Programmierinterface geführt sind. Im Gegensatz zum DX-ST2104 sind alle MLXI-Signale hier galvanisch getrennt.

Ein weiterer Vorteil ist die differentielle Übertragung der SPI-Signale zum DX-ST2104. Das verbessert die Störsicherheit und ermöglicht deutlich größere Kabellängen zwischen Prüfling (Motor) und PC.

Im Gegensatz zur UDSIDriver-Platine Rev. 2.1 in Kombination mit einem DX-ST2104 Rev. 2.2 wird die galvanisch entkoppelte Seite für das Programmierinterface und den UDSI-Stecker nun nicht mehr über ein externes USB-Netzteil versorgt. Ab UDSIDriver-Platine Rev. 2.2 und DX-ST2104 Rev. 2.3 wird die Spannungsversorgung über den UDSI-Stecker vom SPI Toolkit zur Verfügung gestellt.

3.3.2 Nutzung des User Interface Während der Entwicklung ist es notwendig, auf die Embedded-Anwendung zu zugreifen. Für den Fall, dass keine separate Software zur PC-seitigen Steuerung vorhanden ist, kann auf das User Interface der UDSIDriver-Platine zurückgegriffen werden. Dafür stehen zwei Buttons und ein Drehpotentiometer für die Eingabe und zwei LEDs für die Ausgabe zur Verfügung. Alle 5 Komponenten können über die Stiftleiste 1 (LED2, LED1, Btn2, …) mit Jumpern je nach Anforderung mit den Pins der Stiftleiste 2 (GPIO3, GPIO2, GPIO1, …) verbunden werden. Somit besteht die Möglichkeit auf der Controller-Seite, auf externe Ereignisse zu reagieren und für die optische Rückmeldung über die LEDs interne Zustände zu visualisieren.

3.3.3 Checkliste Programmieren und Debuggen von Melexis-Controllern Die UDSIDriver-Platine kann als zusätzliche galvanische Trennung in die normale Melexis Debug Toolchain, bestehend aus Mini E-Mlx und Melexis Interactive Debugger, integriert werden.

Sollte das Programmieren und Debuggen des TargetControllers dabei fehlschlagen, sollten zuerst folgende Punkte geprüft werden:

1. Wird das Board versorgt? Die gelbe LED am UDSI-Connector muss leuchten. 2. Alle Testsignale mit dem TargetBoard verbunden? Benötigt werden TI0, TI1, TO, CWD, GND

und VDDA. 3. Ist der Schalter auf der UDSIDriver-Platine im Default-Zustand? 4. Einstellungen im Melexis Interactive Debugger prüfen. Unter Tools Target & Engine muss

der Mini E-Mlx und das richtige Target ausgewählt sein.

Die grüne LED am UDSI-Connector leuchtet, wenn der Mini E-Mlx den Programmiermodus aktiviert. Sollte eine Systemkomponente abgestürzt sein, muss der Mini E-Mlx und die TargetBoard-Spannung komplett abgeschaltet werden. In diesem Fall muss der Debugger geschlossen und alles erneut zusammengesteckt und aktiviert werden.

Sollte das Programmieren weiterhin fehlschlagen, kann ein Defekt vorliegen. Möglicherweise sind auch die PullDown-Widerstände auf dem TargetBoard zu niedrig (siehe Abschnitt „Error! Reference source not found.“).

Technische Daten

22

3.3.4 Weitere Anpassungsmöglichkeiten der UDSIDriver-Platine Im Anhang dieses Dokuments befinden sich Schaltpläne der UDSIDriver-Platine, die benötigt werden, um die hier beschriebenen Anpassungen durchzuführen.

3.3.5 Programmiersignal VDDA einsparen Die Programmierspannung unterscheidet sich auf verschiedenen Melexis-Controllern zwischen 3.3 V und 5 V weshalb empfohlen wird, die automatische Spannungserkennung über VDDA beizubehalten.

Um ein Signal einsparen zu können, kann die Programmierspannung (im Schaltplan als VDDIO bezeichnet) über den Spannungsteiler R8-R9 fest eingestellt werden. Das Signal VDDA wird dann nicht mehr benötigt. Zu beachten ist, dass die Spannung T+5V auf der UDSIDriver-Platine 5.5 V beträgt.

3.4 SensorAdapter-Platine

1 Testpinreihe RM2,54 zum Anschluss des Positionssensors

2 Terminalblock zum Anschluss des Positionssensors

SensorOut

SubD-9 Female Connector zum Anschluss an das DX-ST2104

Tabelle 3-17: SensorAdapter-Signalbelegung Tespinreihe und Terminalblock

Pin-Nr. Bezeichnung Bedeutung

1 +5V Versorgungsspannung (Belastbarkeit max. 100mA)

2 A Spur A

3 B Spur B

4 I Index

5 Home Anschlagsensor

6 GND Masse

1……

……

……

..…..…

...6

Technische Daten

23

Tabelle 3-18: Technische Daten SensorAdapter

Parameter MIN TYP MAX Einheit

Single Ended Eingangssignale

VIH High-level input voltage 2 V

VIL Low-level input voltage 0.8 V

VI Input Voltage Range 0 5.5 V

RTP Widerstand RC-Tiefpass 1 k

CTP Kapazität RC-Tiefpass (nicht bestückt) TBD nF

Positionssensorversorgung

VSens Versorgungsspannung VCC V

ISens Versorgungsstrom 100 mA

3.4.1 Funktionen allgemein Die SensorAdapter-Platine ermöglicht den Anschluss eines inkrementellen Gebers (Position, etc.) mit SingleEnded-Signalen an das DX-ST2104. Auf der Platine wird eine Signalwandlung von SingleEnded auf differentielle Signale durchgeführt. An den SensorIn-Connector des DX-ST2104 sind nur inkrementelle Geber mit differentiellem Interface direkt anschließbar.

Auf der SensorAdapter-Platine können bei Bedarf RC-Tiefpässe bestückt werden, um die Signalqualität zu verbessern. Der Schaltplan dazu befindet sich im Anhang.

Technische Daten

24

Software-Installationperfect drive

25

4. Software-Installation

4.1 DXToolkitRecorder Installation Alle Softwarekomponenten des SPI Toolkits werden über das Installerpaket DXToolkitRecorder_Setup_Vxx.exe vom mitgelieferten USB-Stick oder von http://www.drivexpert.de/index.php/download.html

installiert.

4.2 SPI Toolkit Softwarekomponenten Zum Softwarepaket gehören die folgenden Komponenten:

Tabelle 4-1: SPI Toolkit Softwarekomponenten

Software Beschreibung

DXToolkitRecorder Windowsapplikation zur Bedienung des DX-ST2104. Ermöglicht die Aufnahme und Visualisierung der SPI-Daten sowie eine Reihe weitere Messkanäle.

SPIRecorderModule Programmierbeispiele in C-Code, die in Ihr Softwareprojekt auf dem Targetboard integriert werden müssen (siehe Kapitel SPI Recorder Protokoll).

Im Mlx81200 BLDC_V3.0_Demokit ist das Modul bereits integriert.

FirmwareImage DX-ST2104 HexFile (*.S) mit der zur DXToolkitRecorder Version passenden Firmwareversion.

4.3 Systemvoraussetzungen Der DXToolkitRecorder ist unter jedem Windows Betriebssystem mit installiertem Microsoft .Net Framework 4.0 lauffähig.

Tabelle 4-2: Systemvorraussetzungen für das .Net Framework 4.0

Clientbetriebssystem Mindestversion und weitere Software

Windows 7 Windows 7 RTM

Windows Vista Windows Vista RTM

Windows XP Windows XP Service Pack 3 (SP3)

Internet Explorer 6.0 SP1

Windows Installer 3.1 oder höher

Software-Installation

perfect drive

26

Bei der Installation wird eine Internetverbindung benötigt, um eventuell fehlende Windowskomponenten nachzuinstallieren.

4.4 Softwareupdate Die neueste Version der SPI Toolkit Software erhalten sie von unserem Softdist-Server über den folgenden Link:

http://www.drivexpert.de/index.php/download.html

4.5 Flashen der Firmware Mit einer neuen DXToolkitRecorder-Version muss in der Regel auch die Firmware des DX-ST2104 aktualisiert werden. Das erfolgt über den DXToolkitRecorder:

Menu->Tools->Update Firmware

4.5.1 Flashvorbereitung 1. Zur Sicherheit sollten sie vor dem Flashen alle

Kabel außer dem USB-Kabel vom DX-ST2104 trennen

2. Auswahl der Device Seriennummer 3. Auswahl des Images (*.S) 4. Der Button „Flash Image“ startet den Flashvorgang

4.5.2 Flashvorgang 1. Wenn sich das DX-ST2104 im Programmiermodus befindet, leuchtet LED DOUT1 dauerhaft. 2. Sobald die Datenübertragung beginnt, blinkt LED DOUT1 und LED DOUT2 leuchtet

dauerhaft. 3. Nach Abschluss erscheint die Meldung: „Flashing: 32864Bytes finished.“

Bei einem Fehler leuchtet LED DOUT3 dauerhaft und es erscheint die Meldung: „Flashing failed.“ Der Prozess muss dann wiederholt werden.

4.5.3 Wiederholtes Flashen nach Fehlern Nach einem unplanmäßigen Flash-Abbruch, nach Übertragungsfehlern oder nachdem das Gerät aus einem anderen Grund nicht richtig erkannt wird, kann es notwendig sein, das Gerät manuell in den Programmiermodus zu versetzen.

1. Zuerst muss das Gerät geöffnet werden (Dazu müssen lediglich die Schrauben der Rückseite und des Sensor In Connectors gelöst werden).

2. Bei angeschlossenem USB-Kabel den Knopf PB1 drücken um den Programmiermodus manuell zu aktivieren.

Die LED DOUT1 leuchtet jetzt dauerhaft.

Im Anschluss kann wie oben beschrieben über den DXToolkitRecorder geflasht werden. Allerdings muss jetzt zusätzlich das Häkchen in der Checkbox: „Don’t send enter programming mode command.“ gesetzt werden.

Aufbau einer SPI-Verbindung

27

5. Aufbau einer SPI-Verbindung Das folgende Kapitel beschreibt die grundlegende Vorgehensweise bei der Verkabelung (Hardware) und beim Verbindungsaufbau (Software), die notwendig ist um SPI-Daten von einer Ziel-Hardware zum Rechner übertragen zu können und dort für die weitere Visualisierung und Aufnahme verfügbar zu machen.

5.1 Hardware Damit mit dem SPI Toolkit Daten empfangen werden können, werden im Folgenden die Verbindungsmöglichkeiten zwischen den Strecken SPI Toolkit---PC und SPI Master---SPI Toolkit beschrieben.

5.1.1 Verbindung SPI Toolkit---PC

Abbildung 5-1: USB-Verbindung zwischen SPI Toolkit und PC

Um eine physische Verbindung zwischen dem SPI Toolkit und einem PC herzustellen, muss das SPI Toolkit über den rechten Micro-USB-Connector auf der Rückseite mit einem geeigneten Kabel mit dem Computer verbunden werden. Bei korrekter Treiberinstallation wird das SPI Toolkit vom Rechner erkannt.

Aufbau einer SPI-Verbindung

28

5.1.2 Verbindung über MLXI-Stecker (SPI Master---SPI Toolkit)

Abbildung 5-2: MLXI-Verbindung zwischen SPI Master und SPI Toolkit

Für eine Verbindung über den MLXI-Stecker müssen die einzelnen Adern, deren farbliche Zuordnung mit der Beschriftung am Stecker auf der Rückseite übereinstimmt, mit der Ziel-Hardware (SPI Master) verbunden werden. Hierzu ist das passende MLXI-Kabel zu verwenden. Dabei handelt es sich um die folgenden Pins, über die die Übertragung gewährleistet wird.

Tabelle 5-1: SPI-Pins

Pin-Nummer Bezeichnung Farbe

2 GND Braun

8 SCLK Rot

9 MOSI Schwarz

11 SS Weiß

Das MISO-Signal wird nicht benötigt, da nur Daten vom SPI Master zum Slave übertragen werden.

Aufbau einer SPI-Verbindung

29

5.1.3 Verbindung über UDSI-Stecker (SPI Master---SPI Toolkit)

Abbildung 5-3: UDSI-Verbindung zwischen SPI Toolkit und UDSIDrive-Platine

Der UDSI-Stecker ermöglicht den Anschluss der UDSIDriver-Platine zur galvanischen Entkopplung der Signale vom SPI Toolkit. Dazu muss die UDSIDriver-Platine mithilfe des Ethernet-Flachbandkabels über den UDSI-Stecker auf der Rückseite mit dem SPI Toolkit verbunden werden. Um die Zusatzplatine mit Spannung zu versorgen, muss diese über ein Micro-USB-Kabel mit dem Rechner oder mit dem mitgelieferten USB-Netzteil verbunden werden.

Unter Beibehaltung der farblichen Zuordnung der Signale am MLXI-Stecker auf der Gehäuserückseite, wird das MLXI-Kabel nun mit der UDSIDriver-Platine und dem SPI Master verbunden.

Für die Verwendung der UDSIDriver-Platine muss der Eintrag „UDSI (Universal differential serial connector)“ über die DropDown-Liste unter dem Reiter „SPI Connector“ im DXToolkitRecorder selektiert werden. Diese ist per default auf die Verwendung des MLXI-Steckers eingestellt.

5.2 Software-Verbindungsaufbau mit dem DXToolkitRecorder Nachdem die physischen Verbindungen für die Verbindungsstrecken SPI Toolkit---PC und SPI Master---SPI Toolkit hergestellt wurden, werden nun die Schritte zum Aufbau der softwareseitigen Übertragung der Daten beschrieben.

5.2.1 Verbindung des angeschlossenen Toolkits Für die Erfassung, Visualisierung und Aufnahme der SPI-Daten muss der DXToolkitRecorder gestartet werden.

Aufbau einer SPI-Verbindung

30

Wurde das angeschlossene SPI Toolkit korrekt erkannt, wird es im Device Explorer als neuer Knoten unter dem Punkt „Devices“ angezeigt. Der Verbindungsstatus wird dabei hinter dem Namen durch einen der folgenden vier Zusätze verdeutlicht.

Tabelle 5-2: SPI Toolkit Zustände

Zusatz Bedeutung

UNPLUGGED Erscheint nachdem das Gerät schon einmal erfolgreich mit dem PC und dem DXToolkitRecorder verbunden war, allerdings im Moment nicht physisch verbunden ist

CLOSED Erscheint bei korrekt angeschlossenem SPI Toolkit, für das jedoch noch kein Verbindungskanal in der Recordersoftware geöffnet wurde

OPEN Erscheint bei korrekt angeschlossenem SPI Toolkit, für das bereits ein Verbindungskanal in der Recordersoftware geöffnet wurde

IN USE Das Gerät wurde gefunden, konnte aber nicht geöffnet werden

Um für das angeschlossene SPI Toolkit eine Verbindung zur Recordersoftware herzustellen (Verbindungskanal öffnen), muss der zum jeweiligen Gerät gehörende Knoten unter dem Punkt „Devices“ mit der rechten Maustaste angeklickt werden. Danach ist „Connect“ aus dem erscheinenden Kontextmenü auszuwählen und der Verbindungsstatus wechselt in den Zustand OPEN.

Zum Beenden einer Verbindung (Verbindungskanal schließen) muss im selben Kontextmenü der Eintrag „Disconnect“ ausgewählt werden woraufhin der Verbindungsstatus in den Zustand CLOSED wechselt. Der Datenempfang wird daraufhin eingestellt.

Für den Empfang der Daten muss eingestellt werden, welche der beiden Steckervarianten eingesetzt wird und welche grundlegenden Einstellungen für die SPI-Schnittstelle gelten sollen. Dies geschieht im DXToolkitRecorder unter der Reiterkarte „SPI“.

Über die DropDown-Liste unter „SPI Protocol Mode“ kann dann der gewünschte Modus für die Übertragung ausgewählt werden. Mithilfe der Default-Einstellung befindet sich das SPI Toolkit ab Werk in der Lage über die SPI-Schnittstelle zu kommunizieren.

Um die vorgenommenen Einstellungen zu speichern, muss dann der Button “Send Settings” betätigt werden.

Nachdem die Verbindung hard- und softwareseitig hergestellt wurde, muss der SPI Master mit dem Senden der Daten beginnen.

Danach ist der DXToolkitRecorder in der Lage, das vom SPI Toolkit eingehende Signal zu empfangen und zu verarbeiten. Empfängt der Recorder Daten, kann dies nach einem Linksklick auf den unter „Devices“ angelegten Knoten im Properties-Fenster im Feld „DataRate“ beobachtet werden.

Zur Visualisierung der ankommenden Daten wird nun der entsprechende Kanal (untergeordneter Knoten) mit der linken Maustaste per Drag&Drop auf den Grafikbereich der „Chart“-Reiterkarte gezogen. Für eine kontinuierliche Anzeige der Daten muss der Button „Start trigger (cont.)“ in der

Aufbau einer SPI-Verbindung

31

Toolbar betätigt werden. Ab diesem Zeitpunkt ist der Verlauf der empfangenen Daten im Grafikbereich zu sehen.

5.3 Vorgehensweise bei Verbindungsproblemen Bei USB-seitigen Problemen gibt Windows eine Reihe von Hinweisen, die weiteren Aufschluss über die Fehlerursache liefern. Die Reaktionen können sich aber von System zu System unterscheiden.

Obwohl als SPI-Schnittstelle bezeichnet, unterscheiden sich die Konfigurationsmöglichkeiten und das SPI-Signal-Timing auf verschiedenen Controller-Plattformen. Auch die Kabellängen, zusätzliche Kapazitäten oder die Art der Masseverbindung zwischen SPI Toolkit und TargetBoard haben einen starken Einfluss auf die SPI-Signalqualität. Sollten die hier aufgeführten Hilfestellungen nicht zum Erfolg führen, wenden sie sich bitte an unseren technischen Ansprechpartner:

Martin Greiner E-mail: [email protected] Telefon: +49 36777996693

5.3.1 DX-ST2104 wird unter Windows oder im DXToolkitRecorder nicht erkannt

5.3.1.1 USB-Treiber sind nicht installiert Windows wird in diesem Fall das DX-ST2104 als „nicht erkanntes Gerät“ melden.

Die Installation muss wiederholt und die USB-Treiber mitinstalliert werden. Die neueste Version der DXToolkitRecorder Software inkl. Treiber erhalten sie von unserem Softdist-Server über den Link:

http://www.drivexpert.de/index.php/download.html

5.3.1.2 USB-Port liefert nicht genug Strom Sind mehrere Geräte angeschlossen, kann die Versorgungsleistung des Mainboards zu gering sein. Nach USB-Spezifikation stellt jeder intakte USB-Port aber die benötigten 250 mA zur Verfügung. Auch hier wird Windows eine entsprechende Fehlermeldung ausgeben. Es kann aber auch zu einem direkten Systemabsturz kommen. Hierbei ist wie folgt vorzugehen:

a) Weitere Stromverbraucher vom USB-Bus trennen b) Positionssensoren vom SPI Toolkit trennen c) Einen anderen USB-Port verwenden d) Das DX-ST2104 über das mitgelieferte USB-Netzteil versorgen. Dafür ist der zweite USB-

Anschluss mit der Bezeichnung (Power only) vorgesehen

5.3.1.3 DX-ST2104 Firmware-Defekt Nach fehlgeschlagenen Flash-Vorgängen gibt Windows eine Fehlermeldung nach dem Anstecken des DX-ST2104 aus.

5.3.2 Kein oder gestörter SPI-Datenempfang Ist das DX-ST2104 im „Device Explorer“ markiert und geöffnet, kann über das „Properties“-Fenster die Empfangsdatenrate („DataRate“) überwacht werden. Ändert sich der Wert unter „USBFramesReceived“ nicht, werden auch am DX-ST2104 keine SPI Frames empfangen.

In diesem Fall sollten die folgenden Punkte geprüft werden.

Aufbau einer SPI-Verbindung

32

5.3.2.1 Richtiger SPI Connector ausgewählt UDSI- bzw. MLXI-Connector können über die Reiterkarte „SPI“ im DXToolkitRecorder ausgewählt werden. Ob die Einstellung richtig übernommen wurde, ist an der gelben LED des DX-ST2104 UDSI-Connectors zu erkennen.

LED An: UDSI-Connector ist ausgewählt. LED Aus: MLXI-Connector ist ausgewählt.

5.3.2.2 UDSIDriver Spannungsversorgung Wird die UDSIDriver-Platine als Zwischenplatine verwendet, muss die gelbe LED am UDSI-Connector der UDSIDriver-Platine leuchten. Andernfalls ist die USB-Spannungsversorgung nicht angeschlossen oder der verwendete USB-Port ist inaktiv.

5.3.2.3 „SPI Protocol Mode“ variieren Über die Reiterkarte „SPI“ können vier verschiedene Modi zur Interpretation der SPI-Daten eingestellt werden. Bleibt „DataRate“ nach wie vor unverändert, muss auf Modus 0 zurückgesetzt und die anderen Punkte geprüft werden.

5.3.2.4 Datenausgabe auf TargetBoard Seite Als Testsignal sollte vom Targetboard eine Rampe oder eine fester Wert ungleich 0 ausgegeben werden. Alle 3 SPI-Signale sollten am Oszilloskop auf ihre Korrektheit geprüft werden. Bei höheren SPI-Datenraten 1 MHz müssen 1:10-Tastspitzen verwendet werden. Außerdem sollte die Masseleitung geprüft werden.

5.3.3 „DataRate“ ändert sich, aber Chart bleibt leer Hierbei sind folgende Schritte durchzuführen:

a) Die Chart-Triggerbedingung auf Automatic stellen und die Zoom-Einstellung im Chart zurücksetzen.

b) Kanal SPI0 anzeigen. Eventuell kommen die Daten nur auf Kanal SPI0 an. Dieser Kanal sollte immer Daten liefern, wenn SPI-Daten am DX-ST2104 ankommen. Ist nur das MOSI-Signal nicht verbunden, werden dauerhaft 0-Werte empfangen, die auf SPI0 dargestellt werden.

5.3.4 Die Daten sind mit Störungen überlagert Wird der MLXI-Connector verwendet, kann auch die UDSIDriver-Platine mit galvanischer Trennung zwischengeschaltet werden. Anschließend sollte die SPI-GND-Leitung geprüft werden. Eventuell ergibt sich sogar ohne Ground ein besseres Bild. Besser ist eine kürzere Masseleitung möglichst nahe an den SPI-Ausgängen des TargetBoard-Controllers.

5.3.5 Es treten negative Zeitsprünge im Chart auf Das ist ein Hinweis auf einen möglichen Buffer-Überlauf im DX-ST2104. Die Datenrate auf TargetBoard-Seite sollte auf 20 kHz reduziert werden.

5.3.6 Es treten Datenverschiebungen zwischen SPI Kanälen auf (bei Block Transmission) Einzelne SPI-Frames gehen verloren. Der minimale Abstand zwischen zwei SPI-Frames muss auf TargetBoard-Seite unbedingt eingehalten werden.

Aufbau einer SPI-Verbindung

33

5.3.7 Kanal SPI0 liefert dauerhaft den Wert 0 Die SPI-Signale SCLK und SS funktionieren. Das MOSI-Signal ist aber nicht verbunden oder trägt keine Daten.

Aufbau einer SPI-Verbindung

34

SPIRecorder-Protokoll

35

6. SPIRecorder-Protokoll

Abbildung 6-1: Standardkonfiguration

Das SPIRecorder-Protokoll wird verwendet, um Echtzeittestdaten vom TargetBoard zum DX-ST2104 per SPI-Schnittstelle zu übertragen. Es gibt nur eine Datenrichtung vom Master (Target Board) zum Slave (DX-ST2104).

Um die Datenausgabe des TargetBoards in einem Test zu konfigurieren, ist eine weitere Kommunikationschnittstelle notwendig, die aber nicht über das DX-ST2104 läuft. Genauso ist auch der DXToolkitRecorder nur für die Datenaufnahme vorgesehen. Für die Konfiguration des TargetBoards während eines Tests wird ein seperates Tool benötigt.

Die folgenden Anforderungen standen beim Entwurf des SPIRecorder-Protokolls im Vordergrund:

1. Minimaler Rechenzeitbedarf auf dem TargetBoard 2. Datenausgabe mit mindestens 20 kSamples/s, um im Takt einer Motor-PWM interne

Messgrößen ausgeben zu können. 3. Universelle Implementierbarkeit auf verschiedenen Controllern mit SPI-Unit. 4. Möglichkeit der Übertragung von Samples in Echtzeit

Aus Effizienzgründen gibt es keine Maßnahmen wie CRC oder Parity-Bit zur Datensicherung und zur Erkennung von Übertragungsfehlern. Eine Datenanalyse und Plausibilisierung muss später vom Anwender selbst durchgeführt werden.

SPIRecorder-Protokoll

36

6.1 Protokoll-Versionen Die hier beschriebene SPIRecorder-Protokollversion ist Version 2.3. Sie wird vom DXToolkitrecorder ab Softwareversion 2.2 unterstützt.

6.2 Übertragungsmodi und Datenformate Das SPIRecorder-Protokoll unterstützt zwei Übertragungsmodi.

1. Single Data Transmission (oder auch Realtime Transmission) 2. Block Data Transmission

Bei allen Übertragungsmodi muss ein Mindestabstand von 33 µs zwischen den einzelnen Frames eingehalten werden, um Überläufe im SPI-Empfangsbuffer des DX-ST2104 zu vermeiden.

Die mittlere Übertragungsrate darf wiederum 20 kSamples/s nicht überschreiten, sonst kommt es im Sendebuffer des DX-ST2104 zu einem Überlauf.

6.2.1 Single Data Transmission Dieser Modus wird verwendet, um eine einzelne Variable mit einer Aktualisierungsrate von bis zu 20 kHz zu überwachen. Auf dem TargetBoard wird der Variablenwert ungebuffert an die SPI-Unit gesendet. Auf dem DX-ST2104 erhält sie sofort einen Zeitstempel, wodurch die im DXToolkitRecorder dargestellte Zeitinformation sehr genau wird.

Die Datenlänge bzw. Variablengröße ist auf 15Bit limitiert. Der Datenwert wird als unsigned Wert interpretiert. Die Übertragung erfolgt MSBit first.

Tabelle 6-1: Daten Frame Single Data Transmision

Bit Name Beschreibung

15 ToggleBit Wechselt das Bit nach jedem Frame, werden die Daten als Single Data interpretiert. Dient zur Unterscheidung von Single und Block Data Transmission

14..0 DataBits 15Bit unsigned Daten

6.2.2 Block Data Transmission Im Block-Modus werden ganze Daten-Arrays übertragen. Jeder Block beginnt mit einem 16Bit Header-Frame, danach folgen die Daten-Frames. Bei jedem neuen Header-Frame bzw. Blockbeginn wird das ToggleBit umgeschaltet. Die maximale Blocklänge hängt vom Datenformat des Blocks ab. Die minimale Blocklänge entspricht 2 SPI-Frames. Vom DXToolkitRecorder werden momentan fünf Datenformate unterstützt.

SPIRecorder-Protokoll

37

Tabelle 6-2: Header Frame Block Data Transmission

Bit Name Beschreibung

15 ToggleBit Wechselt das Bit nach jedem Block, werden die Daten als Block-Daten interpretiert.

14..0 BlockFormatBits Gibt das Datenformat des Blocks an.

0 = Multiple Samples Format unsigned

1 = Multiple Variables Format unsigned

2 = BlockBEMF Format

3 = Multiple Samples Format signed

4 = Multiple Variables Format signed

Tabelle 6-3: Daten Frame Block Data Transmission

Bit Name Beschreibung

15 ToggleBit Wechselt das Bit nach jedem Block, werden die Daten als Block-Daten interpretiert.

14..0 DataBits 15Bits mit Daten

Tabelle 6-4: Datenformate Block Data Transmission

BitWert Name / enum Name Beschreibung

0 Multiple Samples unsigned/ BDF_MULTISAMPLE_UINT15

DataBits sind 15Bit unsigned Werte. Alle Werte werden im Kanal SPI0 angezeigt.

Maximale Blocklänge: 216

1 Multiple Variables unsigned/ BDF_MULTIVARIABLE_UINT15

DataBits sind 15Bit unsigned Werte. Die Werte werden auf verschiedenen SPI x– Kanälen dargestellt.

Maximale Blocklänge: 212

2 BlockBEMF/ BDF_BLOCKBEMF Spezialformat zur Übertragung von BEMF-Daten mit Flags:

Bit14: nicht verwendet

Bit13: discarded Bit -> Kanal SPI0

Bit12..10: motorstate Bits -> Kanal SPI1

Bit9..0: BEMF Data -> Kanal SPI2

Maximale Blocklänge: 216

3 Multiple Samples signed/ BDF_MULTISAMPLE_INT15

DataBits sind 15Bit signed Werte. Alle Werte werden im Kanal SPI0 angezeigt.

Maximale Blocklänge: 216

4 Multiple Variables signed/ BDF_MULTIVARIABLE_INT15

DataBits sind 15Bit signed Werte. Die Werte werden auf verschiedenen SPI–Kanälen dargestellt.

Maximale Blocklänge: 212

SPIRecorder-Protokoll

38

6.3 SPIRecorder Module Interface-Beschreibung Für verschiedene Controller und Entwicklungsplattformen sind Implementierungen des SPIRecorder-Protokolls als C-Module verfügbar. Über das folgende Interface können sie in eigene Projekte eingebunden werden. Ein Beispiel für die Einbindung stellt das BLDC_V3.0_Demokit für den Mlx81200 Controller von Melexis dar (Downloadlink: http://softdist.melexis.com/ Anmeldung erforderlich).

6.3.1 BlockDataFormats enumeration Definiert die verfügbaren Blockdatenformate für die Verwendung mit srec_SendBlockData().

6.3.2 srec_Init Funktion Initalisiert das SPIRecorder-Modul. Konfiguriert die IO-Pins und die SPI HW Unit. Wird einmal zu Programmbeginn aufgerufen.

C: void srec_Init(void);

6.3.3 srec_SendSingleData Funktion Löst sofort eine SPI Übertragung im Single Data-Modus aus. Wird verwendet um in einem Interrupt eine einzelne Variable zu überwachen. Ungepuffert, wenn die letzte SPI-Übertragung noch läuft, geht der Wert verloren. Der minimale Abstand zwischen zwei Aufrufen von 33 µs muss eingehalten werden.

C: void srec_SendSingleData(uint16 data);

Parameter: uint16 data - 15 DataBits des Single Data Frames Wert. Das HighBit wird mit dem Wert des ToggleBits überschrieben.

6.3.4 srec_TransmitNext Funktion

Diese Funktion überträgt das nächste SPI-Frame im Block Data Modus. Sie muss regelmäßig in der Programmhauptschleife aufgerufen werden. Die Funktion kümmert sich selbst um die Einhaltung des minimalen Frame-Abstandes. C: void srec_TransmitNext(void);

6.3.5 srec_SendBlockData Funktion Diese Funktion startet eine Blockübertragung. Das Headerframe wird sofort übertragen. Jedes weitere Frame folgt nach dem Aufruf von srec_TransmitNext(). Ist die letzte Blockübertragung noch nicht abgeschlossen, wird der Block verworfen.

C: Boolean srec_SendBlockData(BlockDataFormats format, uint16* _dataBlock, uint16 _blockSize);

Parameter: BlockDataFormats format – Format des Blocks

SPIRecorder-Protokoll

39

uint16* _dataBlock – Array mit den Blockdaten. Nur die jeweils untersten 15 Bit werden übertragen. Das HighBit wird mit dem Wert des ToggleBits überschrieben. uint16 _blockSize – Länge des zu übertragenden Arrays. Return: True – Übertragung wurde gestartet False – letzte Übertragung war noch nicht abgeschlossen

SPIRecorder-Protokoll

40

Anhang

41

7. Anhang Empfohlene Melexis Controller sind:

1. MLX81200 2. MLX81100 3. MLX81150 4. MLX81205/07/10/15

Der Anhang enthält folgende Dokumente

Nr. Betrifft Revision Datum

1 DX_SPIToolkit_UDSIDriver_Schematic 2.2 21.11.2012

2 DX_SPIToolkit_UDSIDriver_Assembly Drawing 2.2 21.11.2012

3 DX_ToolkitMA_SensorAdapter_Schematic 1.1 23.04.2012

4 DX_ToolkitMA_SensorAdapter_Assembly Drawing 1.1 23.04.2012

Anhang

42

Anhang

43

Anhang

44

Anhang

45

Abbildung 7-1 UDSIDriver-Platine assembly drawing

Anhang

46

Anhang

47

Abbildung 7-2 SensorAdapter assembly drawing

Anhang

48

Wie Sie uns erreichen:

Home Page: www.drivexpert.de

E-mail: [email protected]

Tel: +49 3677 7996690

Fax: +49 3677 7996691

Adresse:

driveXpert GmbH Ehrenbergstraße 11 98693 Ilmenau, Deutschland