*   LED BLINKER SA KOLOM PCA9551

 

Šema led blinkera sa kolom PCA9551 data je na donjoj slici.

 

 

Kolo PCA9951 je I2C kolo, koje za signal SDA koristi DTR signal kao izlazni i CTS kao ulazni,  a za signal SCL koristi signal RTS sa strane serijskog porta.

Specifikacija materijala za izradu ovog interfejsa data je u donjoj tabeli:

 

Rb.

 Komponenta

Količina

1.

IC1 - PCA9551

1 kom

2.

D1, D2 - Zener diode 5V6

2 kom

3.

R1,R2 - 2k2

2 kom

4.

R3 - 10kW

1 kom

5.

R4-R11 - 330 W

8 kom

6.

Redna stezaljka za štampu

1 kom

7.

DB-9 ženski konektor za štampu

1 kom

 

Raspored pinova kola PCA9551 u SO pakovanju prikazan je na donjoj slici.

 

 

Značenje pojedinih pinova dat je u donjoj tabeli.

 

Pin 

 Opis

A0, A1 i A2

Pinovi za formiranje adrese kola

LED0 - LED3

Izlazi za LED diode 0 - 3

GND

Masa

+VCC

Napon napajanja do 6V

SDA

I2C - linija podataka

SCL

I2C - linija kloka

nRESET

Reset kola, normalno na visokom nivou

LED4 - LED5

Izlazi za LED diode 4 - 7

 

 

Unutrašnja struktura kola prikazana je na donjoj slici.

Adresni bajt ovog kola prikazan je na sledećoj clici.

 

 

Kolo PCA9551 ima adresu 1101 što je 13 decimalno, dok preostala tri bita A2, A1, i A0 određuju hardversku adresu kola. U našem primeru sva ova tri pina su na logičkoj jedinici pa je adresa kola 1101111. To znači da na istoj I2C magistrali može biti uključeno maksimalno 8 ovih kola sa različitim hardverskim adresama. Bit R/nW određuje da li se traži čitanje (kad je jednak 1) ili upis u kolo (kada je jednak 0). Drugi bajt koji se šalje na ovo kola iza bajta adrese je tzv. Kontrolni registar i koji određuje funkcije kola, čija je struktura data na donjoj slici.

 

Bit Al kada je postavljen koristi se za serijsko čitanje registara i početni registar mora biti različit od nule. Bitovi B0, B1 i B2 određuje koji će od registara u donjoj tabeli biti odabran.

 

Ulazno-ulazni registar određuje stanja LED dioda i njegova je struktura data na donjoj slici:

 

Upis u ovaj registra neće imati nikakvog efekta. Sledeći registar je registar koji određuje periodu blinkanja LED dioda(PSC0 - FREQUENCY PRESCALER 0) a njegova je struktura data na donjoj slici:

 

Perioda blinkanja određuje se po formuli: , pa ako je npr. perioda dužine jedne sekunde sadržaj ovog registra će biti: . Registar PWMO određuje dužinu u toku perioda kada će LED dioda biti isključene tj. njihov izlaz biće postavljen na HIGH nivo, pod uslovom da je to vreme manje od upisanog u ovaj registar. Njegova struktura prikazana je na slici:

 

 

Trajanje ciklusa isključenja LED dioda od ukupnog perioda računa se po formuli: , pa ako želimo da to vreme bude 50% dobićemo: , što znači da u ovaj registar treba upisati broj 128.

 

Registri PSC1 i PWM1 imaju istu strukutur kao i PSC0 i PWM0, a takođe prednohodno date formule vrede i za njih. Sledeći je registar je LS0(LED0-3 SELECTOR) čija je struktura data na donjoj slici:

 

 

Registar LS1(LED4-7 SELECTOR) ima donju strukturu:

 

Zavisno od sadržaja neke od LEDx ćelije to će biti odraženo na tu LED diodu prema tebeli:

 

Sadržaj

Opis

00

Izlaz će biti postavljen na LOW i dioda će svetliti

01

Izlaz će biti postavljen na HIGH i dioda neće svetliti

10

Izlaz će blinkati sa PWM0 ciklusom

01

Izlaz će blinkati sa PWM1 ciklusom

 

To znači da ciklus blinkanja za svaku LED diodu može biti ili PWMO ili PWM1 zavisno od toga šta se odabere. Resetovanje kola vrši se kratkim dovođenjem logičke nule na nRESET pin.

Proces upisivanja sadržaja u neki od registara prikazan je na donjoj slici:

 

Iz prikazane slike se vidi da treba poslati tri bajta i to: Slave adresu kola, sadržaj Kontrolnog registra i sadržaj registra koji je odabran u kontrolnom registru zavisno od vrednosti bita B0, B1 i B2.

Čitanje sadržaja registara prikazan je na donjoj slici:

 

 

 

Iz slike se vidi da se pošalju tri bajta: Slejv adresa sa zahtevom upisa, sadržaj Kontrolnog registra i Slejv adresa za zahtevom čitanja. Nakon slanja trećeg bajta kolo šalje sadržaje svih registara, kada je Al bit postavljen na 1.

 

Programiranje ovog kola slično je prethodno opisanim pa ga nećemo posebno objašnjavati.

 

http://vojo.milanovic.org
© Copyright, 2004 Milanović Vojo 
All right reserved