SDA5708 + ATmega16 über SPI?

OP #650806
Lesenswert?

Hallo Leute,
Ich hab nem Monat oder so das Display SDA5708 ( 
http://www.sbprojects.com/knowledge/footprints/sda5708.htm )
aus einer vergammelten Dbox ausgebaut.

Nachdem ich nun mich in avr's langsam einlerne, bis jetzt leider nur 
theorethisch da ich nie die überwindung finde bei reichelt einfach mal 
des Zeuch zu bestellen und eine Platine ätzen (binn so ein schüchterner, 
nicht rsikobereiter typ, aber trotzdem Egoshooter ;).
Ich denke dass ich die Atmega Versuchsplatine mit meinem Physiklehrer 
ätzen kann.

Nun gehts langsam auf SPI trockenübungen, nachdem ich I2C so halb 
bezwungen, und den USART kontrolliere.
Als Ausgabeeinheit das SDA Display ;) cool.
Nach meiner Meinung müsste SPI sich mit dem Display verständigen können.
CLK und alles ist ja da ;) LOAD werde ich wohl mit einem freien pin 
machen müssen. Oder? Load lässt sich  als CS ansehen.

Also scheint alles klar zu sein, wenn da nicht das timing wäre : "The 
minimum clock period is 200 ns. Setup time, the time between a stable 
Data line and a rising SDCLK signal, should be a minimum of 50 ns."
Wie rechne ich da am besten die max SPI Frequenz aus?

Wie sieht es eigentlich mit dem Display reset aus?Brauch ich bei 2 zu 
resettenden "objekten" schon einen reset-chip, und wie heißt deR?

Ansonsten müsste alles klar sein, als erstes mach ich wohl ein 
USART->Display test


Gruß Jens
Gast #651112
Lesenswert?

Hi dein vorhaben hört sich echt interessant an.
Wieso du keine Antwort erhältst?
Meistens liegt es daran das die Leute ihre Glaskugeln rausholen müssen 
um genauer zu wissen was du willst
Ich würde dir raten  andere posts anzusehen um einen überblick zu 
verschaffen wie es hier so mit Fragestellungen abläuft.

SPI- Frequenz?
Meistens: CPU Frequenz/SPI_Prescaler
oder siehe datenblatt vom jeweiligen Mikrokontroller.
In  den Datenblättern steht alles rund um SPI-Frequenz und co.

Gruß
GTF
Gast #651124
Lesenswert?

DIE frage war so:  "The
minimum clock period is 200 ns. Setup time, the time between a stable
Data line and a rising SDCLK signal, should be a minimum of 50 ns."

Wie kann ich mit denen Informationen bestimmen welche SPI frequenz das 
Display maximal mitmacht

.Mein Atmega16 Taktet wohl mit 16mhz, macht maximal 8Mhz SPI Frequenz 
als Master.Aber kann das kleine Display auch so schnell zuhören?

Gruß Jens
Gast #651227
Lesenswert?

Hi Jens,
bin zwar kein Experte aber den einen oder anderen Tipp hätte ich da für 
dich.
Wenn die Clock Periode mindestens 200ns dauern sollte, dann heißt es die 
Maximale SPI- Frequenz dürfte Theoretisch nicht mehr wie 5MHz betragen.
Das zweite bedeutet das zuerst die Daten am Seriellen Daten Ausgang 
anliegen sollten und
Frühestens nach 50 Nanosekunden dürfte die Serielle clock Leitung den 
Pegel von Low auf High wechseln.
Wenn du sicher sein willst, dann schraub mal deinen Prescaler aufs 
langsamste(CLK/128) das sind glaub bei 16MHz CPU clock= 125KHz SPI_Takt.
Und dann mal ausprobieren. Wenn’s funzt dann den Vorteilerfaktor 
reduzieren.

Wozu willst du das Display mit 8 MHz betreiben?
Da sind doch bloß paar Pixeln!
Oder willste bewegliche Bilder drauf gucke? ;-)
Gast #1176508
Lesenswert?

habe gerade das display in der hand, weiß jemand wie das mit den zeilen 
gemeint ist, D0-D4 bekomme ich an für jedes digit nur wann und wie lade 
ich die reihe (Row 0-7)??
hoffe ich habe mich da richtig ausgedrückt.
Gast #1176566
Lesenswert?

Vielen Dank erstmal für deine schnelle Antwort.

Also ich habe vor, das Display an die RS232 zu hängen und mit einem 
kleinen Program die bits einzeln durch Klicken zu übertragen.

Das funktioniert auch soweit ganz gut, jedoch frage ich mich wie man 
einzelne Pixel ansprechen kann. Ich bekomme nur komplette reihen eines 
Digits zum leuchten. Verstehe das mit dem Column Data Register nicht so 
ganz.
#1178299
Lesenswert?

Hallo,

naja, Digitadresse schicken und anschließen die 7 Bytes mit den 
Bitmustern der Pixel. Gültig sind die unteren 5 Bits, die oberen 3 
müssen 0 sein.

Adresse 0b10100000 adressiert Digit 0

Dann hinterherschicken z.B.

 0b00010101  -> x0x0x
 0b00001010  -> 0x0x0
 0b00010101  -> x0x0x
 0b00001010  -> x0x0x
 0b00010101  -> 0x0x0
 0b00001010  -> x0x0x
 0b00010101  -> 0x0x0

malt ein Schachbrettmuster.

Gruß aus Berlin
Michael

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