I/O expander alebo Ako realizovat jednoduchy display s tlacitkami?
Pavel Kořenský
pavel.korensky na dator3.cz
Středa Duben 16 23:49:17 CEST 2025
Zdravím,
já vždycky používal jiné řešení. Pravda, už je to mnoho let.
Ale dělal jsem to tak, že jsem vzal nějaký dnes už patrně archivní PIC
(něco jako 16F877 nebo kolik, mělo to myslím 18 nebo 28 nožiček, FLASH
programování a byla to novější generace než 16F84A) který uměl SPI-Slave.
Když se to spárovalo s klasickým dekodérem 74HCT47 - tedy dekodér BCD na
7-segmentů, tak to umělo i osmimístný LED display (4+8 pinů) a ještě
zbyl prostor pro LEDky, tlačítka a reproduktor (na klasický BEEP).
Stálo to pár šlupek a fungovalo to moc pěkně. Naposledy jsem to tuším
použil pro zařízení stavěné pro kamaráda, které umělo přidávat do video
signálu SMTPE timecode a z videosignálu tento timecode extrahovat a
zobrazit. Na to se ovšem používal specialisovaný IO, tehdy (kolem roku
1998) běžně dostupný. Fungovalo to pro VSH i S-VHS videa.
V požadovaném zapojení by to potřebovalo 4+4 piny pro displej, 2 piny
pro LEDky a dva piny pro tlačítka. Tedy celkem 12 pinů. SPI je rychlé
dost a když se to udělá takhle, tak ten PIC obsluhuje displej a všechno
úplně sám, dokud nedojde k aktualisaci a nezatěžuje se tím procesor,
který dělá hlavní práci. Komunikace je jednoduchá. Zapiš na displej a do
LEDek = pár bytů do koprocesoru a načti stav tlačítek = jeden byte čti z
koprocesoru.
Později jsem zjistil, že jsem svým řešením neobjevil Ameriku, ale že to
tak dělají víceméně všichni výrobci videorekordérů, HiFi tunerů, DVD
přehrávačů a HDR recordérů (to není vtip, to počátkem 21. století fakt
existovaloa používalo se to). Akorát oni měli ty sekvence na sériové
sběrnici delší, protože údajů na displej a zpět bylo mnoho...
Zdraví PavelK
Dne 16.04.2025 v 22:22 Jan Waclawek napsal(a):
> [preposielam]
>
> Ahojte,
>
> v ramci relaxu a oddychu sa trochu zamyslam nad novou verziou domaceho
> teplomeru, ktory by som rad realizoval na dvoch dostickach plosnych spojov.
> Jedna doska by bola so zdrojmi, mcu a meranim a druha by bola rozsirujuca s
> displajom, ledkami a tlacitkami. A prave nad tou druhou doskou sa trochu
> zamyslam. Rad by som na nej mal multiplexovany 4-miestny display, dve
> indikacne ledky a dve tlacitka. Potrebujem na to dokopy 16 io-pinov. 8+4
> piny na display, 2 piny na LEDky a 2 piny na tlacitka.
>
> Riesenia su tri.
>
> 1) IO-expander so 16 pinmi na I2C zbernicu, tuna je rieseni viacej od
> klasiky PCF8574 az po nejake moderne i2c expandery od NXP. Problem, ktory
> vidim je ten, ze neviem ako osetrit komunikaciu i2c, ked ju
> prerusi watchdog a navyse ta i2c komunikacia musi byt rychla
> kvoli multiplexovanemu displaju.
>
> 2) IO-expander MAX7317 a spol., resp. MAX7301 na zbernicu SPI, lenze ked sa
> pozriem na cenu u Farnella, tak sa zamyslam nad tym, ze prejdem ku rieseniu
> c.3
>
> 3) postavim si to cele z diskretnej logiky 74HC595, TLC5916 a HC165, len
> toto riesenie bude prenasat 24 bitov namiesto 16-tich.
>
> Ktore riesenie by ste mi doporucili?
>
> Dakujem vopred za diskusiu a argumenty za a proti.
>
> A.
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list