Anketa: Jsi vzdělaný v elektrooboru ?
Nemáte dostatečná oprávnění, abyste mohl(a) hlasovat v této anketě.
Ano
47.37%
9 47.37%
Ni
52.63%
10 52.63%
Celkem 19 hlas(ů) 100%
* Hlasoval(a) jste pro tuto možnost. [Zobrazit výsledky]

Hodnocení tématu:
  • 2 Hlas(ů) - 1 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Slaboproudá/Silnoproudá elektronika
#18
Přímo "elektro" obor nemám, ale bastlení jó, to mě taky baví. Pinkiesmile Poslední dobou jsem tomu bohužel moc nedal, ale když je tu taková příležitost, taky se pochlubím jednou věcí.

Dole na obrázku je levný 7'' LCD řízený jen a pouze procesorem STM32. Vtip je v tom, že dedikovaný řadič (s grafickou pamětí a tak) je obvykle dost drahý, takže místo toho se obrazové a řídicí signály generují v reálném čase procesorem, který by jinak "zahálel". Ve výpočetně nenáročných aplikacích tak vychází cena za slušně velký zobrazovač pod 300Kč. Daní za tento cheap-o-hack je samozřejmě omezení na složitost grafiky, kterou jde zobrazit. Řídicí čip na obrázku má zrovna 64kB RAM a 256kB ROM.

Pro srovnání, 5'' LCD 800x480 s řadičem stojí kolem 1000Kč. Musí totiž obsahovat přes 1MB statické paměti.

Nějaké tech-porn detaily a zobrazovací režimy:  Pinkiehappy
320x240 @50Hz, 256 barev - HSync,VSync+DE režim
Pixel clock je kolem 5.14MHz, což je těsně na hranici toho, co snese sběrnice na ARMu běžícím na 72Mhz. Překvapivé, že? Line buffer potřebuje jen asi 640bajtů, vytížení procesoru při textovém režimu je velmi přibližně 50%. Není problém zobrazovat grafiku, tedy dokud se vejde do paměti. Dekódování následujícího řádku běží současně s kreslením aktuálního. Výhodou režimu je, že veškeré časování je přesně podle specifikací. Teoreticky by bylo možné zvýšit počet barev na 65536 (to je 16bitů), prakticky jsem to nezkoušel - video přehrávač z toho stejně nikdo nikdy neudělá.

480x272 @30Hz, 256 barev - HSync,VSync+DE režim
Předpokladem je, že panely spokojeně fungují i na mnohem nižších frekvencích. Z důvodu popsaných výše Pixel Clock s frekvencí přes 5.14MHz z čipu nevymlátíme. Ale jak už jsme řekli, nebudeme přehrávat video, takže nám to je fuk.

Jak to funguje? Pixel clock produkuje PWM časovač s periodou 72MHz/14. Klíčový trik je v tom, že druhý časovač spušený synchronně s Pixel clockem generuje DMA requesty, které přesouvají grafická data z paměti (line bufferu) na výstupní port. Pokud se správně nastaví offset mezi oběma časovači, vychází zápisová fáze DMA přenosu přesně do míst, kdy potřebujeme měnit data na displeji. Jitter v časování DMA zápisu způsobený momentální obsazeností sběrnice je nezanedbatelný, ale má garantované meze, které vychází bezpečně. Pokud by to náhodou nevyšlo, na zlomek sekundy by kus jednoho řádku poskočil o pixel vpravo.

800x480 @15Hz (cca), 8 barev - DE režim
Aby mě původní nápad přivedl do hrobu,  bylo mi řečeno, že levný 7'' LCD jsou v číně za 250Kč a že by bylo strašně cool je použít. Twilightsmile I při nejmenším rozlišení jede procesor na "doraz"... tak proč nezvýšit počet pixelů 5x, že? Pinkiehappy Hack v2 už funguje zcela jinak. Používá SPI, protože to je při 18MHz ta nejrychlejší věc na čipu, pokud nepočítáme SDIO pro SD karty. Zobrazení funguje to tak, že po změně DE (synchronizační signál) se obrazový řádek pošle přes SPI. Hodinový signál SPI se tak vlastně stane Pixel Clockem displeje. :rainbowdetermined:

Široký, přímo maniakální úsměv mi v tramvaji přivodilo, když mi došlo, že na čipu jsou hned 3 SPI jednotky!  Trollestia  Takže nejen že je možné vůbec uřídit tak velké LCD, ale dokonce v 8 barvách. Nejlepší na tom je, že existuje způsob, jak všechny tři vzájemně synchronizovat - 1 master barva generuje hodinový signál, ostatní dvě jsou ve slave režimu. Žádný jitter. Navíc není nutné používat základních "nudných" 8 barev, ale vhodnou kombinací zapojení dostaneme oku přívětivější barvy. Nevýhodou je, že pixel clock se v každém řádku na chvíli zastaví, ale zdá se, že to panelu nevadí. Teoreticky i tohle lze vyřešit (zvýšilo by to možná "až" 2x frame rate).
Zde je ukázka, jaké barvy je možné zkombinovat (grafika je vypůjčená z webu a obarvená těmi vybranými 8 barvami)
[Obrázek: colors.jpg]

Bohužel se nám povedlo omylem koupit LCD bez měničů napětí.  spike NOO  Dole na obrázku je proto jeden DC měnič, který generuje celkem 3 různá napětí, včetně záporného. K naší smůle je navíc potřeba napětí zapínat v přesném pořadí, jinak LCD shoří. Dále viz popisky v obrázku. Celá ta deska uprostřed tam ve výsledku, pokud koupíme správný LCD, vůbec být nemusí. Twilightsmile

[Obrázek: Its%20Alive1.jpg]
Odpovědět


Příspěvků v tématu
Slaboproudá/Silnoproudá elektronika - od DominikNik - 26.05.2017, 07:59
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 01.06.2017, 06:32
Slaboproudá/Silnoproudá elektronika - od DominikNik - 01.06.2017, 06:55
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 06.06.2017, 18:36
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 07.06.2017, 17:13
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 07.06.2017, 17:28
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 07.06.2017, 19:55
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 07.06.2017, 20:21
RE: Slaboproudá/Silnoproudá elektronika - od Kaja - 08.06.2017, 11:11
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 09.06.2017, 14:48
RE: Slaboproudá/Silnoproudá elektronika - od DominikNik - 24.07.2017, 01:18

Přejít na fórum:


Uživatel(é) prohlížející tohle téma: 1 host(ů)