Jump to content

CompanionBoard für S65 LCD


Jack

Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Update :P

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

Link to comment
Share on other sites

  • 4 weeks later...

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.  :'(

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Danke Thorsten für die ganze hilfe!  :)

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

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

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!

4_CompanionBoard_V0_1_jpg6f9880b2ffe7294

Link to comment
Share on other sites

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 ;-)

Gruss,

        Thorsten.

Link to comment
Share on other sites

Hallo Thorsten!

Kannst Du Deinen Bootloader mit Configurations Bits posten?

Habe probleme und weis noch nicht wo genau der fehler liegt.

Die Schaltung habe ich schon auf das minimum reduziert, aber es geht nocht nicht.

Als Software kommt der WinPic zum einsatz und als programmiergerät der JDM.

Die Spannungen am JDM sind in Ordnung, habe alles nachgemessen.

Leider schlägt die Programmierung jedesmal fehl.

mfg

Jack

Link to comment
Share on other sites

Hallo Jack,

die Configuration Bits habe ich nirgendwo gespeichert, und bevor ich etwas zurechtbastle, was ich selbst nicht getestet habe (und somit fehlerhaft sein koennte), rate ich lieber, die Einstellungen mit denen des PIC18F4520 zu vergleichen.

Wenn die Programmierung fehlschlaegt, liegt es jedoch eher an der Software oder am JDM - die neueren PICs wollen 12.5V an MCLR sehen, der JDM reguliert die Spannung nicht sauber. Mit dem MBHP_BURNER und P18 wird es wohl eher klappen

Gruss,

        Thorsten.

Link to comment
Share on other sites

  • 1 month later...

Update!

Die Schaltung habe ich nach dem Vorbild "MBHP_USB_PIC18F4550_V1" angepasst (mehr ist nicht auf meinem Board drauf).

Die Config Bits habe ich nun auch korrekt Eingestellt, s.h. http://projekt.fnutt.org/Config_bits.jpg.

Der PIC wird ohne probleme gebrannt.

Nur funktioniert der PIC nicht von Windows erkannt.

Ich werde deshalb, erst mal ohne USB Bootloader, weiter machen.

mfg

Jack

Link to comment
Share on other sites

  • 5 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...