Voor mijn nieuwe CNC controller ben ik opzoek naar een mogelijkheid om een groot lcd aan te sturen voor weergave van alle data en parameters.

Zoals ik uit de datasheet van het LCD heb gehaald werkt het protocol met 4 datalijnen waarvan één clockpuls. Deze werken met LVDS en hebben een frequentie van 68,9Mhz.

Het idee is gebruik te maken van een SN75LVDS83 welke een parallel data patroon om kan zetten naar de juiste LVDS data lijnen inclusief de klok. Dit betekend ook dat de PIC op slechts 1/7 van de snelheid hoeft te klokken (aangezien de parallel naar seriele conversie plaats vindt).

De 68,9Mhz is uiteraard niet te doen met een PIC, de 9,84Mhz wordt al een redelijke mogelijkheid. Door een PIC te pakken op 40Mhz of 80Mhz kan gewerkt worden op een 10Mhz bus. Door de PIC de data te laten klokken met behulp van een 7x PLL kan de oorspronkelijke snelheid weer worden behaald. De specs geven aan dat een signaal tussen de 50 en 80Mhz acceptabel is, hier is dus marge genoeg.

Ziet hier iemand mogelijk problemen in, of lijkt dit een werkend concept??

Dit klinkt als (en is) een hopeloze zaak. Koop een industrieel 15" LCD met ingebouwd moederbord.
LVDS signalen en 80MHz clock zijn niet haalbaar met een PIC.

[Bericht gewijzigd door Arco op (24%)]

Als je even het hele bericht had gelezen zie je dat er gebruik gemaakt gaat worden van een SN75LVDS83. Hierdoor is nog maar 1/7 van de datasnelheid vereist. Verder handeld deze alles af aan LVDS. De data kan dus gewoon op TTL de chip in en komt er als LVDS uit.

Aangezien er dan nog een 9,84Mhz behaald moet worden, lijkt mij dit wel mogelijk met een stevige pic.

Dit klinkt als (en is) een hopeloze zaak. ( bron)

Een PIC kan niet de benodigde datahoeveelheid opslaan en/of ophoesten in de beschikbare tijd. Je MOET iets hebben wat zelf een framebuffer heeft.

Uiteraard hebben we het hier niet over een PIC16...
Een PIC32 beschikt over een 32bits bus met een PMP waarop ram geheugen gekoppeld kan worden. Het 15.4" scherm met een resolutie van 1280 * 800 pixels zal dus een buffer van ongeveer 3MB nodig hebben, makkelijk haalbaar. Door een DMA te koppelen aan de PMP module kan de snelheid wel worden behaald lijkt mij.

Eventueel kan nog gekeken worden naar de mogelijkheid om te gaan voor 2 bits kleuren of zelfs zwart/wit.

[Bericht gewijzigd door DeeP op (17%)]

Een PIC32 loopt op 80MHz. Met z'n core van (ik geloof 1.45DMIPS/MHz) kom je max op 120MIPS uit. Dan heb je 12 kloktikken om de gegevens te ontvangen (of genereren), bitmasken/schuiven en versturen. Een PMP kan inderdaad parallel veel gegevens versturen.

Echter is 1280x800 1.024Megapixels. Hoe groot je kleuren zijn ligt er aan, 16-bit of 24-bit? Anyway, 1.024M * 2 (bytes) * 25 (Hz refresh) = 51.2MB/s.

Je framebuffer voor 1 scherm is 2MB - 3MB aan geheugen. Dat moet je wel op extern RAM gaan opslaaan. De data rate lijkt me dusdanig hoog dat je daar veel lol aan hebt op een PIC32. Het pixel-voor-pixel aansturen van een scherm is leuk hobbyproject, maar vereist veel proccesing power.

Ik heb zelf voor een ander project op een microcontroller (ARM7 welliswaar) een touchscreen+graphic LCD interface moeten maken. Lage oplage, kostprijs was nog niet een groot probleem. Ik heb gewoon een Demmel iLCD gepakt (http://www.demmel.com/ilcd/english/cpanel1060.htm), die zijn er ook in 10" met 1024x600 scherm resolutie. Er waren ook andere merken die dit doen, maar slechter te verkrijgen.

Je kan ze via een UART instellen wat, opzich niet heel snel gaat, maar wel flexibel is om op een microcontroller te maken en je hebt geen gedoe met refresh rates, pixels, frame buffers enzovoort.

Wat ik mij eigenlijk afvraag.. is het niet mogelijk gewoon 1 afbeelding naar het lCD te sturen? of moet dit met de opgegeven refresh rate?

Duh! Je moet het beeld continu verversen. Dus zelfs met een PIC32 heb je geen tijd voor iets anders. Continu data uitklokken, anders wordt het beeld zwart.

Het heet niet voor niets refresh rate...

tip, koop een microcontroller met LCD driver erin of pak een FPGA die het scherm aanstuurt.
NXP heeft een aantal ARM microcontrollers met een LCD controller erin:
http://ics.nxp.com/support/microcontrollers/lcd/
pak een mooie ARM cortex M3 en het is al beter mogelijk.
een FPGA kan je ook pakken, paar MB RAM erbij en huppa.
die zorgt bijvoorbeeld dat er met 60Hzt oid data wordt doorgestuurd en de PIC hoeft alleen maar iets naar de FPGA te sturen als het beeld veranderd moet worden

Op 31 juli 2011 12:08:42 schreef hans1990:
Ik heb zelf voor een ander project op een microcontroller (ARM7 welliswaar) een touchscreen+graphic LCD interface moeten maken. Lage oplage, kostprijs was nog niet een groot probleem. Ik heb gewoon een Demmel iLCD gepakt (http://www.demmel.com/ilcd/english/cpanel1060.htm), die zijn er ook in 10" met 1024x600 scherm resolutie. Er waren ook andere merken die dit doen, maar slechter te verkrijgen.

500+ Euries

edit: plusje acchter de 500 :-P