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