CompanionBoard für S65 LCD

Hallo Miteinander!

Bin kurz vor meiner Vollendung meines Sequencers und meines MBLCs.

Zur vollendung meines Puzzles hat nur noch die passende Anzeige gefehlt.

Und die habe ich mir bei Ebay, 14 Stück S65 Displays  für 10€ pro Stück, besorgt.

@Display

Version            : LS020

Modul       : 56mm x 39mm

Anzeigefläche    : 42mm x 31mm

Spannungsversorgung : 2.9V

Schnittstellen            : 2.9V

LED Backlight            : 12V (wird wie in dem unteren Link beschrieben PDF erzeugt)

Ansteuerung              : SPI 3V

Es gibt 3 verschieden Versionen vom Display.

Mehr Infos zum Display gibst hier:

http://www.mikrocontroller.net/forum/read-4-243641.html#new

@µC

Als Mikrocontroller will ich den PIC18F4550 (TQFP44) verwenden, weil ich das zufällig hier rumliegen habe.

Die verbindung zum Core erfolgt über I2C Interface vom CORE:J4. Die programmierung dürfte auch nicht so schwer sein.

Der PIC hat auch noch ein USB Interface, der falls der EUART Bug behoben wird,

auch als USB-MIDI Interface verwendet werden kann. Zusätzlich könnte dieser auch als reines Standalone am PC,

verwendet werden oder zum testen des Displays.

@Board

Boardgrösse      : 56mm x 39mm

Das Board soll dem Coremodul sehr ähnlich werden.

Das Design ist für erfahrene Hobbybastler gedacht. Anfänger brauchen keine so grosse Anzeigefläche.

@Need help

Ich brauche einen Pegelwandler für 5V Input und 3V Output. Der muss bis 12Mhz arbeiten können.

Dann brauch ich noch einen Spannungregler für 5V Eingangsspanung und 3V Ausgangsspannung und ??? mA.

Kann mich wegen noch mangelnder Erfahrung und wegen schlechter beschaffung der Bauteile,

nicht für den richtigen entscheiden.

Falls Ihr einen Verschlag habt, bitte mit angeben in welchem Shop es das gibt.

@TK

Du hast auf Deinem Schematic 20Mhz Quarz verwendet. Im Datenblatt steht was von 6MHz oder 48MHz für USB betrieb.

Welchen Pin sollte ich, am besten, für den Reset, RS und für die Erzeugung von 12V (PWM = 54% bei 200KHz) vom Display,

am Core verwenden?

@All

Für verbesserungsvorschläge bin ich Offen.

mfg

Jack

Hallo,

Du hast auf Deinem Schematic 20Mhz Quarz verwendet. Im Datenblatt steht was von 6MHz oder 48MHz für USB betrieb.

In Kapitel 25 (“Special Features”) steht beschrieben, wie man den PIC konfigurieren muss, um via PLL die 20 MHz auf 48 MHz zu bringen.

Welchen Pin sollte ich, am besten, für den Reset, RS und für die Erzeugung von 12V (PWM = 54% bei 200KHz) vom Display, am Core verwenden?

PWM bspw. ueber Pin 17 (siehe SID Applikation, hier wird 1 MHz mit 1:1 duty cycle eingestellt), die restlichen Pins nach belieben.

Gruss,

        Thorsten.

Danke TK!

Mir fehlen nur 2 Dinge zur Vollendung:

-ein LDO mit +2.9V bzw. +3V und 200mA.

-ein Pegelwandler, 74LVX4245WM.

mfg

Jack

Habe bei Conrad einen passenden LDO gefunden.

  • IRU1205-30CLTR

Jetzt fehlt nur noch der Pegelwandler.

mfg

Jack

Habe jetzt alle Bauteile im Netz gefunden und bestellt.

Wenn die Bauteile da sind Bestell ich die Platine.

Habe folgendes vom Core übernommen:

J_USBPWR -> Stromversorgung USB

J3            -> zum programmieren

J4            -> I2C

J15          -> Display Connector: modifiziert für SPI

Optional falls der Platz noch reicht, werde ich noch den J12 und J13 integrieren.

Wenn Ihr noch einen Wunsch habt hier rein posten!

mfg

Jack

Guten Abend!

Ich suche noch einen kompakten SMD Optokoppler, um die MIDI IN und OUT auf die Platine zu bekommen.

mfg

Jack

Update :stuck_out_tongue:

Der Optokoppler bleibt, wird aber jetzt auf die Back-Interface Platine verschoben.

Jetzt muss ich nur noch auf die Teile von Reichelt warten, dann wird die Platine bestellt.

Bilder gibts auf Wunsch!

Weiter gehts in 2 Wochen, Reichelt Lieferzeit  >:( .

Habe am Montag bestellt und gleich bezahlt!

mfg

Jack

Update zum wachwerden.

Habe meine Platine soweit fertig und trozdem noch ein paar fragen.

@TK

Die J6/J7/J8/J9 vom Core werden doch mit 10MHz getaktekt? Das ist doch ein Soft SPI oder?

Der Grund ist wieso ich frage ist, das ich mit dem gedanken Spiele MidiOverEthernet zu integrieren (nur zum testen).

Microchip hat einen neuen Ethernet Controller, ENC28J60, hersusgebracht der über SPI angebunden wird.

Den Chip gibt es auch in PDIP.

Den zweiten SPI, will ich, falls die Rechenleistung des PIC ausreicht, für ein zweites display benutzen.

Habe auch noch eine allgemeine frage zum SPI:

Ist Soft SPI die bessere wahl oder Hard SPI?

Quelle:

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=11035&mid=11&lang=en&pageId=79

Forum:

http://www.mikrocontroller.net/articles/ENC28J60-Projekte

mfg

Jack

Fuer Slaves ist der integrierte SSP ein Muss, fuer Master ein “nice to have”. Wenn die Pins noch nicht belegt sind, macht es auf alle Faelle Sinn, zunaechst einmal das integrierte Peripheral zu verwenden, bevor man auf Software ausweicht.

So kann man bspw. ein neues Datenpaeckchen vorbereiten, waehrend das vorige versendet/empfangen wird.

Ich selbst bediene externe schieberegister ausschliesslich via Software, weil die SDI/SDO/SCL Pins meistens belegt sind - soviel macht das auch nicht aus - bei der MBSID hatte ich mal den Einsatz des MSSP als letzte Massnahme zur Performancesteigerung gedacht, doch viel ist da im Vergleich zur momentanen Softwareloessung nicht mehr rauszuholen. Tip: code aufrollen, auf keinen Fall eine Schleife zur Uebertragung der einzelnen Bits verwenden…

Gruss,

        Thorsten.

Was hälst Du von der Idee mit dem MidiOverEthernet?

mfg

Jack

Fuer MIDI Controller sicherlich geeignet, fuer Synths eher weniger. Ich habe vor ein paar Jahren mal mit ein paar Rabbit Development Boards herumgespielt (Z80 Derivat + NE2k Chip). Dabei habe ich auch MIDI Daten von einem Board zum anderen via Ethernet uebertragen. Das lief zwar stabil, doch das Handshaking von TCP fuehrte zu einem unkontrollierbaren Delay zwischen 1 - 50 mS und mehr. Das lag sicherlich auch an der Library, die ich verwendet habe (Teil von Dynamic C, die Funktion, um MAC Adressen ueber das IIC Interface des NE2k zu modifizieren stammt uebrigens von mir :)), doch damit war fuer mich das Thema erstmal abgeschlossen. UTP ist mir fuer MIDI zu unsicher, und ein propritaeres Protokoll zu aufwendig.

Gruss,

        Thorsten.

Abend!

Habe noch ein paar böse fehler auf meinem Layout gefunden. Das blöde daran ist das nun TX auf dem selben pin wie der SDO hängt.

Es hätte so einfach sein können.  :cry:

Jetzt muss ich entweder auf den HardSPI verzichten oder auf den MIDI-Out verzichten. Echt blöd gelaufen.

Habe eine letzte Frage:

Kann man den den SDO per Soft machen und den Rest (SS und SCK) per Hard lassen? Oder muss ich alles per Soft machen?

(Wenn ich alles per Soft mache muss ich das Layout ja trotzdem nicht ändern.)

mfg

Jack

Aehm - warum kratzt Du die Leiterbahn nicht auf, und fixt die Verbindung mit einem Kabel?

Gruss,

        Thorsten.

Hallo Thorsten!

Habe das Layout noch nicht zum Entwickeln geschickt.

Mir gings darum, das Microchip den TX und SDO auf den selben pin legt.

Ich habe versehentlich, den SDI anstelle von SDO genommen.

mfg

Jack

PS: Wird erst nächste Woche nach Ungarn zum Entwickeln geschickt.

Ok - PIC18F4550…

Das Einsynchronisieren wuerde nicht weniger CPU Zeit in Anspruch nehmen, als den Clock gleich selbst zu treiben. Somit laeuft es also auf eine Softwareloesung hinaus.

Gruss,

        Thorsten.

Danke Thorsten für die ganze hilfe!  :slight_smile:

Werde die Verdrahtung so lassen und ein paar Jumper einbauen. Damit kann ich dann erst mal den HardSPI verwenden und verzichte per Jumper erst mal auf den MIDI-Out. Später wenn ich den SoftSPI implementiert habe, kann ich dann wieder, per Jumper, den MIDI-Out verwenden.

Somit müsste es Eigentlich gehen.

Den Rest müsste ich alleine schaffen.

mfg

Jack

Hallo zusammen!

Hier mal ein Update von der Platine.

http://www.mikrocontroller.net/attachment.php/325730/Rcompanion2b-BUp.JPG

Quelle: http://www.mikrocontroller.net/forum/read-4-243641.html#new

Bis das Board da ist mache ich erst mal pause und dann wird geprogt.

mfg

Jack

Hallo zusammen!

Bin aus dem Urlaub zurück.

hier gibts als Preview version die Eagle files. Ich habe auch schon den Bansktick mit beigepackt.

http://www.mikrocontroller.net/attachment.php/336743/PIC18F4550TOS65.rar

mfg

Jack

Habe heute meine Platinen bekommen und gleich fertig gelöten.

Habe zum Löten eine 2mm Lötspitze verwendet und Lötzeit ca. 1h.

Das löten vom TQFP44 ging sehr leicht, hat nicht mal 5 min gedauert. Leichter als beim AN2131SC.

Am längsten haben die SMD Widerstände und Kondensatoren gedauert.

Für das Löten braucht keine Lupe, nur gute Augen.

Habe noch ein paar probleme festgestellt:

-am RB5 habe ich den 10k Pulldown Widerstand vergessen (ICSP)

-möglicherweise muss ich die Elkos gegen lowESR Elkos wechseln, um die Stromversorgung zu entlasten

Zusätzlich werde ich noch folgendes in die nächste Revision integrieren:

-Vollständiges J15 für mehr Displays

Zum SMD Löten kann ich dieses Video sehr empfehlen:

http://www.ulrichradig.de/gfx/video/SMD_einloeten.wmv

Quelle: www.ulrichradig.de

Nun kann ich mich an die Software machen. Wird ein wenig dauern, muss noch die Befehle lernen.

@Thorsten

Hast Du schon einen Bootloader für den PIC18F4550.

Willst Du ein paar Platinen, ohne Bauteile?

mfg

Jack

Plz login to see some pix!

Hallo Jack,

der Bootloader laeuft auch auf dem PIC18F4550, wenn man bspw. PIC_DERIVATIVE 2 waehlt, und die Configs fuer PIC18F4550 anpasst - doch ich selbst verwende lieber den USB Bootloader von Microchip. Code Upload via USB macht einfach mehr Spass, die GUI ist supereinfach zu bedienen, und selbst fuer Linux gibt es mittlerweile eine Kommandozeilen-Version, die problemlos funktioniert.

Ich habe kein Interesse an PCBs (habe noch zuviele eigene Projekte am Laufen :wink:

Gruss,

        Thorsten.