BusPirate und TMC2130

SPI Tutorial: https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi

Der TMC2130-Treiber hat ein SPI-Interface das im sogenannten Modus 3 arbeitet, daher müssen wir das auch beim BusPirate einstellen.

HiZ>m
1. HiZ
2. 1-WIRE
3. UART
4. I2C
5. SPI
6. 2WIRE
7. 3WIRE
8. LCD
x. exit(without change)

(1)>5
Set speed:
1. 30KHz
2. 125KHz
3. 250KHz
4. 1MHz

(1)>1
Clock polarity:
1. Idle low *default
2. Idle high

(1)>2
Output clock edge:
1. Idle to active
2. Active to idle *default

(2)>1
Input sample phase:
1. Middle *default
2. End

(1)>1
CS:
1. CS
2. /CS *default

(2)>2
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)

(1)>2

Je nachdem woher der Treiber seine Spannung bekommt können wir diese jetzt noch einschalten

W

Schließlich können wir die Einstellungen abschicken, die erste Hexzahl gibt jeweils das Register an und die Art der Anfrage (lesen oder schreiben). Handelt es sich um einen Lesezugriff werden die restlichen 4 Zahlen ignoriert.

[0x80 0x00 0x00 0x00 0x01]
[0x90 0x00 0x00 0x10 0x10]
[0xec 0x03 0x00 0x80 0x08]

Die Bedeutung der Zahlen entnimmt man dem Datenblatt.

Möchte man nach einer Leseanfrage die entsprechenden Daten auslesen, so kann man das mit folgendem Befehl bequem machen:

[r:5]

Es sei noch erwähnt dass die eckigen Klammern jeweils !CS aktivieren bzw deaktivieren.