Verständnisfrage Logikanalysator / SPI

Gast #2529638
Lesenswert?

Hallo,

um ein besseres Verständnis für meine Projekte zu entwickeln, habe ich 
mir einen "Open Logic Sniffer" gekauft. Als Test habe ich 3 MAX7219 
kaskadiert und beobachte DIN (an allen 3 MAX7219: DIN1, DIN2, DIN3), /CS 
und CLK. Die MAX7219 sind an eine ATmega angeschlossen und steuern 
7-Segmentanzeigen.

Also, 3 x 16-Bit werden über DIN gesendet (DIN1). Diese kommen mit etwas 
Verzögerung bei DIN2 und DIN3 an. /CS geht nach dem letzten Bit auf High 
und dann wieder auf Low. Innerhalb einer Programmschleife passiert das 
7x. SCK passt auch bestens.

Was ich nicht verstehe, sind die Vorgänge bei T2 und T3 auf Kanal 0 
(DIN1), die nicht auf Kanal 2 und 3 (DIN2/3) zu sehen sind. Was könnte 
das sein?

Hier ein Teil des Codes (der wahrscheinlich nicht so hilfreich ist, da 
in BASCOM):

1
...
2
Call Max7291cmdval(&H02 , Sekunde1 , 0 , 0 , 0 , 0)
3
Call Max7291cmdval(&H01 , Sekunde2 , 0 , 0 , 0 , 0)
4
Call Max7291cmdval(&H04 , Minute1 , 0 , 0 , 0 , 0)
5
Call Max7291cmdval(&H03 , Minute2 , 0 , 0 , 0 , 0)
6
Call Max7291cmdval(0 , 0 , &H01 , Stunde1 , 0 , 0)
7
Call Max7291cmdval(0 , 0 , &H02 , Stunde2 , 0 , 0)
8
Call Max7291cmdval(0 , 0 , 0 , 0 , &H01 , Sekunde2)
9
...
10
Sub Max7291cmdval(byval Cmd1 As Byte , Byval Val1 As Byte , Byval Cmd2 As Byte , Byval Val2 As Byte , Byval Cmd3 As Byte , Byval Val3 As Byte)
11

12
   Local Cmdval1 As Word
13
   Local Cmdval2 As Word
14
   Local Cmdval3 As Word
15

16
   Cmdval1 = Makeint(val1 , Cmd1)
17
   Cmdval2 = Makeint(val2 , Cmd2)
18
   Cmdval3 = Makeint(val3 , Cmd3)
19

20
   Cs = 0
21

22
   Shiftout Din , Clk.4 , Cmdval3 , 1 , 16
23

24
   Shiftout Din , Clk.4 , Cmdval2 , 1 , 16
25

26
   Shiftout Din , Clk.4 , Cmdval1 , 1 , 16
27

28
   Cs = 1
29

30
End Sub
Angehängte Dateien:
Gast #2529695
Lesenswert?

>Was ich nicht verstehe, sind die Vorgänge bei T2 und T3 auf Kanal 0
>(DIN1), die nicht auf Kanal 2 und 3 (DIN2/3) zu sehen sind. Was könnte
>das sein?

CS geht high und das letzte gesendete Bit war eine 1. Die bleibt
bei deinem Chip dann halt einfach am Ausgang stehen. Oder der
Ausgang geht auf Tristate und dein Sniffer macht da ne 1 draus.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren