OldComp.cz
https://oldcomp.cz/

Raspberry Pico
https://oldcomp.cz/viewtopic.php?f=125&t=9429
Stránka 1123

Autor:  faraon [ 09.06.2021, 20:25 ]
Předmět příspěvku:  Re: Raspberry Pico

To není panda, to je ďábel :lol:

Sokoban používá jen grafiku z Petra, nebo Petr poběží na Pico?

Autor:  Panda38 [ 09.06.2021, 20:33 ]
Předmět příspěvku:  Re: Raspberry Pico

Sice jsem zatím přebral jen grafiku, ale už jsem uvažoval o možnosti programování přímo v Pico, systémem "Petr". První krok chci teď pokračovat možností spouštět programy z SD karty, hardware na to je připravený (klávesnice z mikrospínačů + SD karta), tak jen to zprovoznit. Mohl by se tam pak výhledově spouštět obrázkový programovací jazyk, kde by se sestavovaly programy systémem skládačky, které by řídily periferie. Např. by se v tom vytvořil program pro ovládání motorů a čidel robotka, kterého by Pico mohlo řídit.

Autor:  Pavel.Krivanek [ 10.06.2021, 08:11 ]
Předmět příspěvku:  Re: Raspberry Pico

https://www.reddit.com/r/programming/co ... erry_pico/

https://www.reddit.com/r/raspberrypipic ... erry_pico/

Na HN to zapadlo: https://news.ycombinator.com/item?id=27452069

Autor:  Pavel.Krivanek [ 11.06.2021, 10:35 ]
Předmět příspěvku:  Re: Raspberry Pico

https://hackaday.com/2021/06/11/vga-lib ... y-pi-pico/

Autor:  danhard [ 11.06.2021, 20:37 ]
Předmět příspěvku:  Re: Raspberry Pico

Mirku, na začátku jsi uváděl, že tam byly nějaké výpadky, to už jsi odhalil ?

A teď Tě čekají knihovny (resp. odladění PIO) aby to generovalo LVDS a HDMI :lol:

Autor:  Panda38 [ 11.06.2021, 21:21 ]
Předmět příspěvku:  Re: Raspberry Pico

Jo výpadky jsou vyřešené - některé věci jsem odhalil, něco se samo spravilo oddělením knihovny do druhého jádra procesoru (oddělení obsluh přerušení) a něco jsem sepsal v zásadách použití - např. že všechno co se zobrazuje musí být v RAM, z flash by to nestíhalo. Nakonec se vše dalo vyřešit tak aby to bylo dobře a spolehlivě použitelné. Během vývoje to postupně přešlo ve spolehlivou a snadno použitelnou knihovnu. :-)

HDMI těžko, nějak nevidím důvod proč to dělat. :-) Na vyšší úrovně jsou vyšší Raspberry. Já pokračuji naopak pokračováním v řešení malého levného retro Pico-počítače na kterém pojedou retro programy a emululátory.

Autor:  Lisiak4 [ 11.06.2021, 22:28 ]
Předmět příspěvku:  Re: Raspberry Pico

Tyhle věci jsou mimo mé chápání, fakt supr! :thumbup:

Autor:  danhard [ 11.06.2021, 23:01 ]
Předmět příspěvku:  Re: Raspberry Pico

Mirku, zajímá mě použití Rabsperry Pico, resp. tohoto procesoru přímo s TFT displejem připojeným přes LVDS.
Čili jak se dá udělat v PIO nejrychleji ten seriový výstup pro 4 kanály.
A na druhou stranu, jak rychle by se dal udělat seriový vstup třeba 16-ti kanálového log. analyzátoru, nebo AD převodníku.

Autor:  Panda38 [ 12.06.2021, 08:40 ]
Předmět příspěvku:  Re: Raspberry Pico

Musel jsem se podívat na LVDS na Wikipedii, neznám. :-)

Tohle by Pico už snadno nestíhalo, protože samotný procesor jede běžně na 125 MHz. Minimálně by byl nutný přídavný PISO převodník na sériová data. V nejrychlejší variantě stíhá Pico posílat grafiku ven rychlostí 1 pixel na 2 takty procesoru. Po přetaktování procesoru na 250 MHz by stíhalo posílat grafiku ven (v paralelním formátu) rychlostí 125 mega-pixelů/sec. To by se muselo převést na LVDS sériový formát převodníkem, a ten by musel být taktovaný hodinami, tak vysoké hodiny by ale Pico ani neměl k dispozici. Musela by k tomu být přídavná elektronika, která bude mít své rychlé hodiny, bude se synchronizovat HSYNC impulsem a pak by celou scanlinku převáděla paralelní data na sériová. Případně by se ještě z Pico asi daly vytáhnout hodiny pixelů, tak tím by se ještě ten hardware asi synchronizoval pro každý pixel.

Vstup - pro digitální vstup se dá použít PIO1, které je schopné s DMA přenášet data rychlostí megahertze. Teoreticky až rychlostí hodin procesoru, ale to by už zatěžovalo DMA výstup na displej. Nejsem si jistý zda i nižší rychlost DMA by nevyřazovala DMA displeje, to by se muselo ověřit do jakých rychlostí se dá zajít.

Pro analogový vstup jsou tam 3 ADC převodníky, které jsou 12-bitové a mají zvládat rychlost 500 kilosamplů/sec, ale asi je tím myšleno rychlost všech použitých kanálů, protože je to multiplexovaný ADC, tak při použití 2 ADC kanálů by asi byla rychlost 250 kilosamplů/sec. Ještě je malý zádrhel s přesností, protože standardně Pico používá jako referenci napájecí napětí, dá se ale přivést externí přesné referenční napětí.

Autor:  danhard [ 12.06.2021, 10:11 ]
Předmět příspěvku:  Re: Raspberry Pico

A PIO neumí serializaci ? A když umí, tak jakou max. rychlostí ?

Ty AD převodníky jsem nemyslel interní, ale externí s paralelními daty.
Se seriovými daty bysme zase potřebovali moc velkou rychlost.

Myslel jsem to u jednoduchých měřicích přístrojů, jedno jádro a jedno PIO b y řídilo proces, třeba generování signálu DA převodníkem a druhé jádro a PIO by dělalo obsluhu hloupého displeje bez řadiče, ovládacích prvků a komunikace.

Autor:  Panda38 [ 12.06.2021, 11:28 ]
Předmět příspěvku:  Re: Raspberry Pico

PIO dělá serializaci tak, že má posuvný registr (jeden pro vstup a druhý pro výstup), z něj čte postupně bity a odesílá je na výstupní port. Např. takhle vypadá simulace UARTU, odeslání 8 datových bitů:

Kód:
    pull                 ; z FIFO načte bajt k odeslání do posuvného registru OSR
    set    x,7           ; připraví čítač dat, 7 znamená že se odešle 8 bitů
loop:                    ; label začátku smyčky
    out    pins,1        ; odešle na výstupní port 1 bit z posuvného registru OSR
    jmp    x--,loop [6]  ; pokračuje ve smyčce 8x

Časování (baud rate) se dělá tak, že se do instrukcí přidává čekací prodleva (tady je to např. [6]). 1 instrukce PIO trvá 1 takt SM. Hodiny pro SM se získávají ze systémových hodin, mohou se dělit i necelým číslem. Nejrychlejší sériový vstup/výstup je stejný jako hodiny procesoru, lze za 1 takt procesoru udělat 1 instrukci PIO. .. maximum tedy nějakých 250 MBaud.

Autor:  danhard [ 12.06.2021, 15:18 ]
Předmět příspěvku:  Re: Raspberry Pico

To by už ty pomalejší mody HDMI zvládlo :)

Ty menší displeje mají časování podobné VGA, RGB paralelně 3x8bitů, použilo by se přiměřeně míň, ale potřebují mít vyvedený DCLK a DE, ale zase na časování až tolik nezáleží a schovají se i nějaké časové výpadky.

s RGB 24bit přenosem třeba
https://www.soselectronic.cz/products/w ... 020-214770
https://cdn.sos.sk/productdata/04/9d/32 ... tz-020.pdf
https://www.soselectronic.cz/products/w ... nt0-162882
https://cdn.sos.sk/productdata/49/48/2a ... agdnt0.pdf

s LVDS přenosem třeba
https://www.tme.eu/Document/5f286fe1575 ... IW-LNN.pdf

Autor:  Panda38 [ 12.06.2021, 17:51 ]
Předmět příspěvku:  Re: Raspberry Pico

Displeje s paralelním RGB: S data clock by trošku problém byl, ale udělat by to mělo jít. Instrukce PIO mají kromě datových bitů ještě "postranní" bity, kdy instrukce může nastavovat některé výstupní bity přímo. Teď to používám na generování synchronizace. Jen ty postranní bity ubírají bity pro prodlevu. A jak se dívám, nepodporují synchronizační směs, musí být oddělený HSYNC a VSYNC. V PIO generátoru by se 2 bity použily pro synchronizaci HSYNC VSYNC, 1 bit pro data clock DCLK a 1 bit pro data enable DEN. Z 5 bitů by pro wait staty instrukcí zbyl 1 bit. Což je docela málo, špatně by se řešilo časování. Dalo by se ošetřit tím, že se pro základní obraz použijí 2 vrstvy (2 state machines) a ty řídicí bity se mezi ně rozdělí, tj. SM0 by řešil synchronizaci a SM1 by řešil obraz. Pak by to mohlo zvládat. Jen to bude mít trošku omezenější funkcionalitu, bude podporovat jen max. 2 překryvné vrstvy místo 3.

Se sériovým přenosem LVDS stále nevím zda by to umělo, jak to udělat, tam jsou asi o dost vyšší požadavky na rychlost dat.

Autor:  danhard [ 12.06.2021, 18:10 ]
Předmět příspěvku:  Re: Raspberry Pico

Požadavek na rychlost je FCLK je 7x DCLK.
DCLK je běžně 50MHz, ale minimum uvádějí kolem 20MHz (chytá se na to PLL, takže rozsah toho PLL)
150MHz na seriovejch datech by mělo stačit.
Pro 6bit LVDS se generují 3 datové kanály a 1 hodiny od DCLK (4H_3L).

Ale pokud neumí Pico LVDS výstup (diferenciální) aspoň na ty 4 linky, tak se to musí obejít.
Nevím, jestli by to chodilo jen se singl výstupem, ale možná jo, LVDS vstupy přijímačů jsem používal jako rychlý komparátor na singl datech, na druhý vstup se zavedla střední hodnota, rozhodovací úroveň.
Takže by to řešilo zase jen pár odporů :D

A jestli to tak ještě číňan nehacknul, tak by jsi byl Mirku světově první a číňan by to opráskl a prodával na Ebay až za týden :lol:

Autor:  Panda38 [ 12.06.2021, 18:42 ]
Předmět příspěvku:  Re: Raspberry Pico

Číňani mají stejně už u nás utrum kvůli podražení zásilek.

Stránka 1123 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/