STM32F4: SPI: MISO Flanken zeigen komisches Verhalten

OP Persönliche Seite #4781435
Lesenswert?

Guten Morgen liebes Forum,

Zur Zeit versuche ich die Bilddaten eines ADNS3090-Sensors auszulesen. 
Meine Daten auf der MISO zeigen ein komisches Verhalten. Laut Datenblatt 
ist der SPI-Modus 3. Das Auslesen der Chip-ID klappt auch wunderbar.

Hier mein Code:
1
/*SPI-Initialisierung*/
2
//ADNS3090_NSS_LOW;
3

4
SPI_I2S_DeInit(SPI2);
5
SPI_InitTypeDef SPI_Init_ADNS3090;
6
SPI_Init_ADNS3090.SPI_Direction         = SPI_Direction_2Lines_FullDuplex;
7
SPI_Init_ADNS3090.SPI_DataSize          = SPI_DataSize_16b;          
8
SPI_Init_ADNS3090.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_16;  
9
SPI_Init_ADNS3090.SPI_CPHA              = SPI_CPHA_2Edge;      
10
SPI_Init_ADNS3090.SPI_CPOL              = SPI_CPOL_High;        
11
SPI_Init_ADNS3090.SPI_CRCPolynomial     = 0;
12
SPI_Init_ADNS3090.SPI_FirstBit          = SPI_FirstBit_MSB;  
13
SPI_Init_ADNS3090.SPI_Mode              = SPI_Mode_Master;
14
SPI_Init_ADNS3090.SPI_NSS               = SPI_NSS_Soft;
15
SPI_Init(SPI2, &SPI_Init_ADNS3090);
16
SPI_Cmd(SPI2, ENABLE);  
17
[c]
18

19
und die Funktion:
20
[c]
21
void adns3090_FrameCapure_Config(void)
22
{
23
 ADNS3090_NSS_LOW;
24
    adns3090_Write(SPI2, ADNS3090_FRAME_CAPTURE, 0x83);
25
 ADNS3090_NSS_HIGH;
26
 delay_nms(1510/1000); 
27
}

Kurze Funktionsbeschreibung:
Um den Inhalt des Frame-Register (0x13) auszulesen, muss der Wert 0x83 
in dieses Register geschrieben werden. Die Writefunktion wird mit MSB=1 
aktiviert. Also: 0x80&0x13 als Adresse und 0x83 als Wert = 0b10010011 
0b10000011. Das liegt auch auf dem Bus. Aber warum verhält sich die 
Antwort vom Sensors, also die Flanken so komisch (fast schon kapazitiv)?


Danke und Gruß
Daniel
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #4781451
Lesenswert?

Daniel V. schrieb:
> Aber warum verhält sich die Antwort vom Sensors, also die Flanken so
> komisch (fast schon kapazitiv)?
Welche Linie in deinen Screenshots meinst du?

Weil die MISO-Leitung nach dem Deselektieren aller Slaves hochohmig ist, 
wird sie dann langsam auf irgendeinen Pegel einpendeln, wenn nicht z.B. 
ein Pullup für einen definierten Zustand sorgt.
OP Persönliche Seite #4781469
Lesenswert?

Lothar M. schrieb:

> Weil die MISO-Leitung nach dem Deselektieren aller Slaves hochohmig ist,
> wird sie dann langsam auf irgendeinen Pegel einpendeln, wenn nicht z.B.
> ein Pullup für einen definierten Zustand sorgt.

Ohh, sorry. Ich meine natürlich das Rosa-Signal. Pullups sind aktiviert.

Signale:
NSS  -> Kanal 1 (ge)
CLK  -> Kanal 2 (bl)
MISO -> Kanal 3 (rt)
MOSI -> Kanal 4 (dunkel-bl)

Danke und Gruß
Daniel
Angehängte Dateien:

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