Reklama

Základy řízení sedmisegmentových displejů – Řízení pomocí obvodu SAA1064

Úvod

Poslední zde popisovanou možností, jak řídit více sedmisegmentových displejů, je použití integrovaného obvodu SAA1064. Tímto obvodem lze řídit až čtyři sedmisegmentové displeje pouze pomocí dvou vodičů (SDA, SCL). Tak nízký počet vodičů je způsoben tím, že k řízení je využita sériová komunikace pomocí standardu I2C. Popis tohoto standardu lze nalézt ZDE.

Napájecí napětí obvodu SAA1064 se může pohybovat v rozmezí 4,5 – 15 V. Klidový odběr obvodu, kdy jsou všechny segmenty vypnuté, se pohybuje v rozmezí 7 – 14 mA. Více elektronických parametrů lze nalézt v katalogovém listu od výrobce, viz SAA1064 4-digit LED-driver with I2C-Bus interface.

SAA1064 je obvod, který dokáže pracovat ve statickém a v dynamickém režimu. Ve statickém režimu lze přímo ovládat dva sedmisegmentové displeje, zatímco v dynamickém režimu dokonce čtyři. Sedmisegmentové displeje jsou řízené proudovými zdroji, takže není potřeba používat předřadné rezistory k jednotlivým segmentům. Výstupní proud lze regulovat v rozmezí 0 – 21 mA s krokem 3 mA. Tento obvod obsahuje také některé doplňkové funkce jako např. test rozsvícení všech segmentů, nebo indikaci odpojeného napájecího napětí.

Komunikace s obvodem SAA1064 může probíhat v obou směrech, tzn. že můžeme do obvodu data zasílat, ale také je můžeme číst. Z obvodu lze přečíst pouze příznakový bit o odpojení napájecího napětí. Je škoda, že nelze např. přečíst aktuální nastavení výstupních pinů pro kontrolu zápisu. Komunikační pakety pro čtení a zápis dat ukazuje Obr. 1.
Obr. 1: Komunikační pakety pro čtení a zápis do obvodu SAA1064, převzato z [1]

Obr. 1: Komunikační pakety pro čtení a zápis do obvodu SAA1064, převzato z [1]

Význam jednotlivých stavů a bitů ukazuje Tab. 1.

Tab. 1: Popis stavů a bitů komunikačních paketů obvodu SAA1064, převzato z [1]

Stav / bit Popis
S Start I2C komunikace
P Zastavení I2C komunikace
A Potvrzení I2C komunikace
X Vyhrazeno
A1, A0 Adresní bity
SC, SB, SA Pozice v obvodu
C6 – C0 Řídící bity
PR Příznakový bit pro informaci o odpojení napájení
Přečtení příznakového bitu z obvodu SAA1064

Jak bylo uvedeno, tak z obvodu lze získat informaci o odpojení napájení obvodu SAA1064. Nejvyšší bit “PR” je po připojení napájecího napětí nastaven do stavu log. 1. a je automaticky vynulován po jeho přečtení. Paket pro přečtení příznakového bitu ukazuje horní část Obr. 1.

Zápis dat do obvodu SAA1064

Jak je z Obr. 1. patrné, tak zápis dat do obvodu SAA1064 probíhá pomocí několika bytů. První byte slouží k vybrání adresy daného obvodu. Adresa obvodu obsahuje dva volitelné bity A1 a A0. Tyto dva volitelné bity jsou zde proto, aby bylo možné připojit více stejných obvodů na jednu sběrnici. Dva volitelné bity umožňují připojit na jednu sběrnici až čtyři stejné obvody. Nastavení adresy obvodu SAA1064 se provádí pomocí jednoho pinu ADR, který obsahuje A/D převodník a jednotlivé adresy jsou rozlišeny velikostí napětí na tomto pinu. Přiřazení napěťových úrovní k jednotlivým nastavením adresy a volbu režimu ukazuje tabulka Tab. 2.

Tab. 2: Nastavení adresy obvodu SAA1064, převzato z [1]

A1 A0 Napětí na pinu ADR [V]
0 0 0
0 1 0 – 3/8 Vcc
1 0 3/8 Vcc – 5/8 Vcc
1 1 5/8 Vcc – Vcc

Poslední bit určuje, zda budeme do obvodu zapisovat data, nebo je naopak budeme číst. Pokud je poslední bit ve stavu log. 0, tak jsou data do obvodu SAA1064 zapisovány. V opačném případě jsou data z obvodu čteny, viz Obr. 1.

Druhý byte označuje umístění pozice v obvodu, kde se budou data zapisovat. Popis druhého bytu ukazuje tabulka Tab. 3.

Tab. 3: Nastavení pozice v obvodu SAA1064, převzato z [1]

SC SB SA Funkce
0 0 0 Řídící registr
0 0 1 Segmenty 1
0 1 0 Segmenty 2
0 1 1 Segmenty 3
1 0 0 Segmenty 4
1 0 1 Rezervováno, nepoužívat
0 1 1 Rezervováno, nepoužívat

Další byte obsahuje data, která se zapíší na vybranou pozici. V případě výběru některého ze segmentů dojde k zápisu dat na piny P1-P8, nebo na P9-P16 v závislosti na vybraných segmentech. Pokud je jako adresát vybrán řídící registr, tak význam jednotlivých bitů lze nalézt v tabulce Tab. 4.

Tab. 4: Význam bitů v řídícím registru obvodu SAA1064

Kontrolní Stav Popis
C0 0 Výběr statického režimu
C0 1 Výběr dynamického režimu
C1 0/1 Vypnutí / Zapnutí segmentů 1 a 3
C2 0/1 Vypnutí / Zapnutí segmentů 2 a 4
C3 1 Zapnutí všech segmentů pro test
C4 1 Přidání 3 mA do výstupního proudu
C5 1 Přidání 6 mA do výstupního proudu
C6 1 Přidání 12 mA do výstupního proudu
X 0 Vyhrazeno

Tento obvod umožňuje zaslat najednou data pro více pozic a to díky automatické inkrementaci pozice v obvodu, kde bude probíhat zápis. Díky tomu není vždy nutné zasílat adresu obvodu a cílovou pozici a tím ušetřit čas při posílání dat. To znamená, že jako první bude poslána adresa a první pozice v obvodu pro první datový byte a dále budou následovat např. tři byty určené pro následující tři sedmisegmentové displeje. Zápis dat do řídícího registru a do všech sedmisegmentových displejů je zobrazen na Obr. 1. Samozřejmě lze zasílat kompletní paket (Adresa – Pozice – Data) vždy jednotlivě pro daný sedmisegmentový displej, nebo řídící registr.

Na Obr. 2. lze vidět schéma zapojení použité ve statickém režimu pro dva sedmisegmentové displeje.

Obr. 2: Statické zapojení obvodu SAA1064, převzato z [1]

Obr. 2: Statické zapojení obvodu SAA1064, převzato z [1]

Na Obr. 3. lze vidět schéma zapojení použité v dynamickém režimu pro čtyři sedmisegmentové displeje. Kondenzátorem na pinu CEXT dosáhneme časování pro multiplexování jednotlivých displejů. Pro hodnotu 2,7 nF získáme periodu mezi 5 – 10 ms.

Obr. 3: Dynamické zapojení obvodu SAA1064, převzato z [1]

Obr. 3: Dynamické zapojení obvodu SAA1064, převzato z [1]

Při použití obvodu SAA1064 je také nutné spočítat výkonovou ztrátu obvodu. Maximální výkonová ztráta pro SMD pouzdro je 500 mW a pro klasické DIP pouzdro je 1W. Výpočet ukazuje vzorec v katalogovém listu v kapitole “POWER DISSIPATION”.

 

[1] NXP. SAA1064; SAA1064 4-digit LED-driver with I2C-Bus interface. [online] citováno 3. května 2015. Dostupné na www: http://www.vandelogt.nl/datasheets/saa1064.pdf

 

Následující a předchozí příspěvek v kategorii:

 
Následující: Pulzně šířková modulace – PWM
Předchozí: Základy řízení sedmisegmentových displejů – Řízení pomocí obvodu 74HCT595
 
Tajned facebook
 
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.