Hallo, ich habe mir ein CY8CKIT-050 von Cypress (http://www.cypress.com/?rid=51577) besorgt und möchte damit ein E-Paper Display (http://www.embeddedartists.com/products/displays/lcd_27_epaper.php) über SPI ansteuern. Habe aber derzeit keinen Plan, wie ich einzelne Punkte ansteuer. Würde mich über ein kurzes Bsp. oder Tipps freun.
Bitmap im RAM puffern, bearbeiten und nach Änderungen zum Display schicken
Hallo Benjamin, wie soll man dir das jetzt höflich sagen. Wenn du es mit den von dir selber verlinkten Beispielen nicht hinbekommst, dann liegt das Problem wo anders... Auf der Seite gibt es neben den Video Step by Step Anleitungen auch Beispielcode für nicht gerade wenige Platformen. Habe mir gerade mal exemplarisch das RPi Beispiel epaper_pi_130307.tar.gz angeschaut. Das kann man praktisch so wie es ist übernehmen und die Hardwarezugriffe (I/O, SPI) passend zu deiner Hardware umschreiben.
Das dass Problem bei mir liegt ist mir schon klar, aber ich muss mal irgendwo anfangen und habe mir gedacht dass ich vll hier einige hilfreiche Tipps bekomme. Da ich bei meinen bisherigen Versuchen auf das Display zu kommen, leider gescheitert bin.
Als Einsteiger mit so etwas anfangen? Warscheinlich bist du hier der einzige, der E-Paper mit einem PSoC ansteuern will. Da kann dir ja niemend Ratschläge geben. Warum nicht erst mal mit einer der üblichen Technologien Erfahrungen sammeln, bis du diese Probleme selbst lösen kannst?
Hallo Benjamin, wie mein Vorredner schon richtig bemerkte PSoC und ePaper zusammen sind nicht der richtige Punkt zum anfangen. Dann mal zu den hilfreichen Tips: Um das genannte ePaper anzusteuern, musst du mit einem Mikrocontroller über SPI mit einem ext. Ding kommunizieren können. Der Mikrocontroller ist dabei SPI master, das angesteuerte Ding ein SPI slave. Dementsprechend mußt du dem uC programmieren, damit der mit seiner eingebauten SPI Schnittstelle passend zum Protokoll des ext. Ding spricht. 1. Dein PSoC bietet dir superspezialisierte Hardware, welche du komplett nicht brauchst. Du brauchst nur einen regulären Mikrocontroller welcher eine SPI hat. (Das hat wirklich jeder.) Wenn du nicht auf den PSoC festgelegt bist, nimm zum üben irgendeinen Mikrocontroller mit viel Community-support. 2. Um SPI zu verstehen, lerne die Schnittstelle mit einem einfachen ext. Ding kennen. Sprich, nimm ein Portexpander-Baustein und übe wie man das per SPI steuert. siehe http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister Komplizierte Dinge per SPI steuern, wie ein ePaper display kommen erst dran, wenn du das kannst! 3. ePaper display ansteuern. (http://www.embeddedartists.com/products/displays/lcd_27_epaper.php) Datenblatt vom ePaper runterladen. Kurz mal reinschnuppern wie denn das Protokoll des Displays die Daten über SPI gerne gesagt bekäme. Und dann selber implementieren, oder ganz zeitsparend mal den Beispielcode runterladen und portieren. > Da ich bei meinen bisherigen Versuchen auf das Display zu kommen, leider gescheitert bin. Und gleich noch ein Tip. :-) Bei dieser Beschreibung kann man dich nur bedauern, weil du es nicht geschafft hast. Wenn du noch erklärt hättest, was und wie genau du denn versucht hast, könnte man dir sogar dabei Hilfestellung leisten und evtl. herausbekommen warum es nicht geht.
Hi, ja ich bin leider an Psoc gebunden. Mache das ganze als Teil für meine Bachelorarbeit. Für weiter Funktionen muss ich den Stromverbrauch niedrig halten, daher das E-Paper Display und mein Betreuer bildet sich das Psoc eben ein. Dass die letzte Beschreibung schlecht war tut mir leid, ich hoffe diese wird besser. Naja soweit habe ich SPI schon mal verstanden. Im Bild sieht man, dass ich jetzt mal den SPI Master auf meine Controller habe. So und jetzt geht es um Daten auf das Display zu bekommen, bzw. einzelne Pixel anzusprechen. http://www.pervasivedisplays.com/products/27 Hier findet man ein schönes Dokument was einen eigentlich alles Schritt für Schritt beschreibt, was das Display will. So jetzt zu meinen Problem: Mit welchen Befehl bekomme ich das Chip Select (CS) auf High bzw. Low? Wie kann ich ganze Arrays rausschreiben bzw. eben genau Bildpunkte ansprechen? Habe derzeit mit den Befehlen SPIM_Start(); SPIM_WriteByte(0x70); SPIM_WriteTxData(0x72); herumprobiert. Und das klappt eben nicht :/
> http://www.pervasivedisplays.com/products/27 > Hier findet man ein schönes Dokument [...] Da schonmal wichtig für später, du hast das Datenblatt vom ePaper Display entdeckt. Aber erstmal noch einen Schritt zurück; 2. SPI verstehen Und damit dann zu deinem kontreten Problem. > Naja soweit habe ich SPI schon mal verstanden. > Im Bild sieht man, dass ich jetzt mal den SPI Master > auf meine Controller habe. Damit hast du genau garnichts geschafft, außer natürlich dass es jetzt eine SPI hardware auf deinem PSoC gibt. (Das hätte nichtmal Arbeit bedurft auf einem regulären Mikrocontroller, weil das ist so Zeug das einfach da sein muss...) > Habe derzeit mit den Befehlen > SPIM_Start(); SPIM_WriteByte(0x70); SPIM_WriteTxData(0x72); > herumprobiert. Und das klappt eben nicht :/ Du hast also Probleme die vermutlich vom uC Hersteller bereitgestellten API Funktionen für die SPI des PSoC zu benutzten. Was dir fehlt ist also mal die Dokumentation für die "SPIM" API deines PSoC. Die sollte sich (hoffentlich) in der Entwicklungsumgebung (IDE) zu deinem PSoC finden. Ansonsten gibt es auch noch Code-Beispiele vom Hersteller; "CE95377 - SPI Master and Slave with PSoC 3/5LP" http://www.cypress.com/?rID=105806 (CE95377.zip) Nur nicht verwirren lassen, das Beispiel zeigt SPI Master und SPI Slave Kommunikation zugleich. Und passende Fragen und Antworten dazu: "SPI Controller with PSoC" http://www.cypress.com/?app=forum&id=1573&rID=56351 > Mit welchen Befehl bekomme ich das Chip Select (CS) > auf High bzw. Low? Es gibt zwei Möglichkeiten. Entweder es wird per GPIO manuell gesteuert, oder durch die SPI Hardware des Controllers. In deinem Bild sieht man ein Signal "m_ss", was wird ein von der SPI Hardware automatisch gesteuertes Chip Select (CS) sein. Nur ist es als SS = Slave-Select bezeichnet. Damit kümmert sich die SPI Hardware automatisch um das Chip Select (CS) bei jedem Senden / Empfangen. Was du aber auf jeden Fall machen musst, ist den SPI Master Mode noch richtig zu konfigurieren. Das dürfte vermutlich über Parameter in SPIM_Start() gehen. a) Welche Polarität (CPHA, CPOL) b) Daten Bits (pro Wort = pro Chip Select): z.B. 8 bit oder 16 bit c) Bit order (MSB / LSB) d) clock/data rate: z.B: 1 MHz Wenn du dir nicht sicher bist, bzw. zum Debuggen ist es eh ratsam; Klemm ein Oszilloskop an die SPI-Leitungen vom uC. Dann kannst du für alles was du sendest einfachst nachprüfen ob das dem entspricht was du erwartest. > Wie kann ich ganze Arrays rausschreiben? Wort für Wort. Oder dem C Sprachgebrauch nach; Element (des Arrays) für Element. > Für weiter Funktionen muss ich den Stromverbrauch > niedrig halten, daher das E-Paper Display [...] > und mein Betreuer bildet sich das Psoc eben ein. Na, wenn es wirklich um wenig Stromverbrauch geht, dann lohnt es sich aber auch den passenden Mikrocontroller dazu auszusuchen. Aber vermutlich reicht es aus, wenn sich dein Betreuer nur einen niedrigen Stromverbrauch einbildet... Viel Erfolg bei deiner Bachelorarbeit.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.