SPI0 MOSI-Leitung an LPC2148 high wenn idel

Gast #550368
Lesenswert?

Hallo,

ich habe mir ein OSZI ausgeborgt, weil die Schaltung nicht funktionieren 
wollte. Nun musste ich feststellen, dass das MOSI-Signal nach 
Übertragung eines Worts, also im Ruhezustand, auf den high-Zustand 
wechselt. Normalerweise sollte zwischen den Übertragungen der 
Low-Zustand anliegen. Ich konnte weder im Datenblatt, noch im Schaltplan 
- Pullup - etwas finden. (Ich verwende das OLIMEX Board hier aus dem 
Shop).

Jemand eine Ahnung wie sowas zustande kommen kann?
Ich tippe auf Software/Konfigurations-Problem im ARM.

Grüße
Mario
Gast #550377
Lesenswert?

Die MOSI Leitung behält den Zustand des zuletzt übertragenen
Bits bei. Einen Ruhezustand gibt es nur bei SCK.
Wenn es immer 0 sein muß nach der Übertragung dann
schalte den Pin anschließend im Pin connect block auf den GPIO
Controller.
Gast #550387
Lesenswert?

Danke für den Tipp!
Ich übertrage 16Bit Wörter MSB-first mit folgendem Inhalt:
0x0F20 und abwechselnd 0x0f40. Also jeweils "0" am Ende. Wenn der ARM 
tatsächlich das letzte Bit "stehen" läßt klingt das doch eigenartig.

Noch jemand welche Ideen woran das liegen könnte?

Grüße
Mario
Gast #550499
Lesenswert?

@Matthias,

hab ich gecheckt. Lt. Schaltplan und lt. ARM Datenblatt gibts nirgends 
Pullup's. Das Problem mit dem MOSI-zustand ist, dass ich einen 
exotischen Chip ansteuere. Der hat kein CS, dafür aber erwartet er ein 
low-Signal zwischen den Übertragungen :(.
Der Grund für die SPI-Übertragung ist, dass ich (ohne Oszi) keine 
vernünftige "delay/sleep/wait"-Funktion gefunden hab um 250kbps 
Übertragungsgeschwindigkeit einzuhalten.
Also wenn jemand so eine Funktion im GCC kennt (ohne gleich 
Timer-Register zu verbraten), wäre eine alternative für mich. ansonsten 
wird wohl die Lösung von SPI-user zum Zug kommen.

Mario

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