Spi sniffer

Aus LaborWiki
Wechseln zu: Navigation, Suche

Dieser Wiki Eintrag beschäftigt sich mit einem SPI sniffer. Dieser dient dazu Daten auf dem SPI Bus mitzulesen und per UART an dritte zu Übersetzen (z.B. PC). Bis jetzt nur unidirectional.

[Bearbeiten] Hardware

  • ein paar Kabel and den SPI Bus löten:
  • RS232 <-> USB Konverter:
  • RS232 mit USB Konverter geht nicht mit Baudraten größer 115200 Baud, auch mit BAUD-Quarz ist nix zu machen. Außerdem erzeugt der Datenstrom (115kbit/s) eine enorme CPU-Load.
  • im USER-Mode muss die BAUD-rate des RS232 mehr als 3x größer sein, wie die Übertragungsfrequenz auf dem SPI-Bus !!!

Es kann beliebige Hardware (mit Atmega) genutzt werden. Das Programm ist klein genug für alle Atmegas.

Update
bessere Version: teensy

  • bis zu 11 Mbit/s über eine virtuelle UART
  • viel kleiner wie Atmel Evaluationsboard
  • gleiche Kosten wie Atmel Evaluationsboard
  • kein TTL->RS232->USB Konverter notwendig

[Bearbeiten] Software

Die Firmware gibs hier aus dem SVN.
Folgende Befehle werden unterstüzt:

ASCIIBefehl
mmsb first
llsb first
oCPOL=1 high idle
pCPOL=1 low idle
hCPHA=1 fallling edge
aCPHA=0 rising edge
+increase timeout
-decrease timeout
sstart/stop

Mehr Befehle folgen...


  • Timestamps werden unterstüzt (sind im momment nicht nutztbar, da UART zu langsam)


[Bearbeiten] TODO

  • Master/Slave erkennung
  • Packet injection
  • bidirektional
  • auto MODE detection
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Navigation
Wiki
Werkzeuge