The modular mitmót system
A DPY-LED perifériakártya Kártyakód: DPY-LED-S-01b
Felhasználói és fejlesztői dokumentáció Dokumentációkód: -D02a
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Beágyazott Információs Rendszerek csoport 2006. április
Tartalom
BME MIT 2006.
A kártya felépítése
3
Hétszegmenses kijelzők LED-ek (LED1…LED4) Nyomógombok (SW1…SW3) DIP kapcsoló (DIP1…DIP4) Hőmérő IC
4 4 4 4 4
Csatlakozók
5
Működési leírás
6
A kijelzők és a LED-ek meghajtása A hőmérő bekötése A nyomógombok és a DIP kapcsoló bekötése
6 8 8
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
2/9
A kártya felépítése A kártyán 3 db 7-szegmenses kijelző, 4 db LED, 3 db nyomógomb, 1 db 4-es DIP kapcsoló és egy hőmérséklet-mérő integrált áramkör található. A kártya felülnézeti képét az 1. ábra mutatja. LED-ek (LED4...LED1)
hőmérő IC
jumpersor
DIP kapcsolók (DIP1...DIP4)
buszcsatlakozó
buszcsatlakozó
hétszegmenses kijelzők
nyomógombok (SW3...SW1)
1. ábra A DPY perifériakártya
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
3/9
Hétszegmenses kijelzők Minden egyes kijelzőt egy 8-bites shiftregiszter hajt meg. Mivel a kijelzőkön megtalálható a decimális pont, és ezeket is fel lehet használni, a regiszterekhez ezek is be vannak kötve. A regiszterek láncba vannak kötve, vagyis minden regiszter legfelső bitje áttolható a láncban következő regiszter legalsó bitjére (így tulajdonképpen egy 24-bites shiftregisztert alkotva). A regiszterek az SPI buszra csatlakoznak. A regiszterekhez tartozó chipselect jel a GPIO1-es vezetékre csatlakozik, és alacsony-aktív üzemmódban használandó.
LED-ek (LED1…LED4) A LED-ek közvetlenül meghajthatók, vagyis a processzor lábaira közvetlenül csatlakoznak. A LED1…4 rendre a GPIO4…7 vezetékhez csatlakozik.
Nyomógombok (SW1…SW3) A nyomógombok alapállapotban logikai magas szinten tartják a kivezetéseiket, megnyomott állapotban pedig logikai alacsony szintre kényszerítik a kimeneteiket. Az SW1, SW2, SW3 nyomógombok sorban a GPIO1…3 vezetékekre csatlakoznak.
DIP kapcsoló (DIP1…DIP4) A kapcsolók OFF állásban logikai alacsony szintet kényszerítenek kimeneteikre, ON állásban logikai magasat. A DIP1...DIP4 kapcsolósor a mitmót busz GPIO8…11 lábaira van kötve.
Hőmérő IC Az LM75 hőmérő IC I2C buszon keresztül érhető el. Semmilyen külső eszközt nem igényel a hőmérséklet méréséhez, mivel ez már a tokba van integrálva. A felbontása 0,5 °C (9 bites) és -55 °C-tól +125 °C-ig mér. Alarm funkcióval is rendelkezik, ami felhasználható akár megszakítás generálására is. Az eszköz I2C címe a J3jumper sor segítségével választható ki. Az eszköz címe a következő: 1001xxx, ahol az alsó 3 bit a J3 jumpersor felső 3 jumperétől függ (8 cím közül lehet választani). Amennyiben a jumperek nincsenek csatlakoztatva, akkor az a logikai 1-es szintnek felel meg. Az LM75ös hőmérő alarm funkciója is opcionálisan kihasználható, azaz a J3 jumpersor utolsó jumperével a mitmót busz (és nem a mikrovezérlő!) EXT_INT1 bemenetére köthető.
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
4/9
Csatlakozók A 2. ábra a csatlakozási pontok tényleges fizikai elhelyezkedését szemlélteti. (Az ábra nem méretarányos).
28 27
56 55
26 25
54 53
24 23
52 51
22 21
50 49
20 19
48 47
18 17 16 15 14 13
23x15 raszter (58.42mm x 38.1mm)
46 45 44 43 42 41
12 11
40 39
10
9
38 37
8
7
36 35
6
5
34 33
4
3
32 31
2
1
30 29
2. ábra A DPY-LED kártya buszcsatlakozói (nem méretarányos) A mitmót buszjelei közül a következő lábakat használja a kártya: 13. 14. 16. 17. 41. 42. 43. 44. 45. 46. 47. 48. 50. 51. 52. 53. 55.
SCL SDA MOSI SCK DIP4 (DIP kapcsoló 4.) DIP3 (DIP kapcsoló 3.) DIP2 (DIP kapcsoló 2.) DIP1 (DIP kapcsoló 1.) LED4 (4. LED) LED3 (3. LED) LED2 (2. LED) LED1 (1. LED) SW3 (3. nyomógomb) SW2 (2. nyomógomb) SW1 (1. nyomógomb) CS (chipselect) O.S. (a hőmérő ALARM kimenete)
I2C_SCL I2C_SDA SPI_MOSI SPI_SCK GPIO_11 GPIO_10 GPIO_9 GPIO_8 GPIO_7 GPIO_6 GPIO_5 GPIO_4 GPIO_3 GPIO_2 GPIO_1 GPIO_0 EXT_INT1
1. táblázat A DPY-LED kártya által használt buszjelek
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
5/9
Működési leírás A kijelzők és a LED-ek meghajtása A közös anódú hétszegmenses kijelzőket (Kingbright SA3611SWRA, nagy fényerejű piros LED-ekkel) SN74HC164PW típusú shiftregiszterek hajtják meg 8-8 db 1 kΩ-os ellenálláson keresztül. A közös anódos meghajtás miatt inverz a kijelzés, vagyis ha egy bit logikai alacsony állapotban van, a hozzá tartozó szegmens világít, míg logikai magas szint esetén nem világit. Ez kb. 1 mA-nyi áramot jelent minden egyes szegmens esetében. A regiszterek sorba vannak kötve, vagyis az egyes regiszterek legfelső bitje át van vezetve a következő regiszter legalsó bitjére (kivétel az utolsó). Mindegyik regiszter megkapja a soros órajelet, aminek hatására eggyel balra léptetik tartalmukat, és a legalsó bitre a bejövő értéket helyezik be. Annak érdekében, hogy az SPI buszon ne csak a kijelző legyen elérhető, szükség volt egy chipselect (engedélyező jel) kialakítására is. Mivel a regiszterek nem rendelkeznek ilyen lehetőséggel, ezért szükség volt egy tranzisztoros kapcsolásra az órajel kikapuzására. R45 VCC1
U3
10k 2
1
D11
2
D28
3
D27
4
D26
5
D25 VCC
6 7
C3 100n
A
VCC
B
QH
QA
QG
QB
QF
QC
QE
QD
#CLR
GND
CLK
R43 VCC1
U2
10k
14
VCC
13
D21
D01
2
12
D22
D18
3
11
D23
D17
4
10
D24
D16
5
9 8
R44 1 SRCLK
10k
2
2VCC
D15
VCC
6 7
C2 100n
SN74HC164PW
1
A
VCC
B
QH
QA
QG
QB
QF
QC
QE
QD
#CLR
GND
CLK
R41 VCC1
U1
10k
14
VCC
13
D11
SER
2
12
D12
D08
3
11
D13
D07
4
10
D14
D06
5
D05
6
R42 1
9 8
SRCLK
10k
2
2VCC
VCC
1
7 C1 100n
SN74HC164PW
A
VCC
B
QH
QA
QG
QB
QF
QC
QE
QD
#CLR
GND
CLK
14
VCC
13
D01
12
D02
11
D03
10
D04
9 8
R40 1
10k
2VCC
SRCLK
SN74HC164PW
U5 1 D04
1 R5 1k 2
2
D03
1 R6 1k 2
3
D02
1 R7 1k 2
4
D01
1 R8 1k 2
5
Anode
a
f
b
g
c
e
DP
d
Anode
10
2 R1 1k 1
D08
9
2 R2 1k 1
D07
8
2 R3 1k 1
D06
7
2 R4 1k 1
D05
10
2 R11 1k 1
D18
9
2 R12 1k 1
D17
8
2 R13 1k 1
D16
7
2 R14 1k 1
D15
10
2 R21 1k 1
D28
9
2 R22 1k 1
D27
8
2 R23 1k 1
D26
7
2 R24 1k 1
D25
6
SA36-11 U6 VCC R48 SCLK 1
R49 1
#CS
2
4.7k 2
4.7k 2
2
SRCLK
1
Q1 BCX19
1 D14
1 R15 1k 2
2
D13
1 R16 1k 2
3
D12
1 R17 1k 2
4
D11
1 R18 1k 2
5
Anode
a
f
b
g
c
e
DP
d
Anode
6
SA36-11 R50
3
U7
10k 1 VCC
1 D24
1 R25 1k 2
2
D23
1 R26 1k 2
3
D22
1 R27 1k 2
4
D21
1 R28 1k 2
5
Anode
a
f
b
g
c
e
DP
d
Anode
6
SA36-11
3. ábra A hétszegmenses kijelzők meghajtása
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
6/9
4. ábra A hétszegmenses kijelző szegmenseinek elhelyezkedése Egy hétszegmenses kijelzőhöz tartozó bitek és szegmensek összerendelése a következő táblázatban található. 7 d
6 E
5 g
4 f
3 DP
2 c
1 b
0 a
2. táblázat A hétszegmenses kijelző kódtáblája A LED1…4 meghajtása közvetlenül a GPIO5…8 jelekkel történik. Ezek is 1 kΩ-os ellenálláson keresztül hajthatók meg; 3,3 V esetén kb. 1 mA áramfelvételt jelent LED-enként. A közös katód miatt ezek meghajtása egyenes logikával történik.
LED1
R51 1
1k
LED2
R52 1
1k
LED3
R53 1
1k
LED4
R54 1
1k
2
2
2
2
D1 RED-BRIGHT D2 RED-BRIGHT D3 RED-BRIGHT D4 RED-BRIGHT
5. ábra A LED-ek meghajtása
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
7/9
A hőmérő bekötése A hőmérő IC az I2C buszra csatlakozik. A J3 jelű jumpersorral lehet változtatni a címét, és engedélyezni az esetleges megszakításkérő jel továbbjutását a mitmót busz EXT_INT1 vezetékére (nem azonos a processzor 1-es interrupt lábával!). Az LM75 A0…2 címbitjei alapértelmezésben 1 állapotban vannak (lásd a kapcsolást), míg a jumper rövidre zárt helyzetében 0 az adott bit értéke. Az LM75 I2C busz címe a következő: 1001A2A1A0. Mivel a processzorkártya tartalmazza az I2C busz felhúzó ellenállásait, ezért a DPY-LED kártyára már nem kellett felhúzóellenállásokat elhelyezni. VCC
1
R69 10k
2
1 2
ALARM VCC
3 4
C6 100n
U12 SDA
+Vs
SCL
A0
O.S.
A1
GND
A2
LM75BIM-3
8 VCC 7
1 3 5 ALARM 7
6 5
J3 + + + +
+ + + +
2 4 6 8
CON8AP 1
2
1 R70
1 R71
R72
10k
10k
10k
2
2
VCC
6. ábra A hőmérő IC kapcsolási rajza
A nyomógombok és a DIP kapcsoló bekötése Mivel ezekhez az alkatrészekhez nyúlnak a legtöbbet a felhasználók, soros ellenállások lettek beiktatva a vezetékekre az elektrosztatikus kisülések hatásának csökkentése érdekében arra az esetre, ha a processzorkártya nem tartalmazna soros védőellenállásokat.
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
8/9
DIP1 DIP2 DIP3 DIP4
R60 1
180
1 R62
2 2
180
R59 1
180
1 R61
VCC 2
1 2 3 4
2 180 1
1 R58
R56
10k 2
DIP
1
R57
10k 2
1
R55
10k 2
8 7 6 5
10k 2
7. ábra A DIP kapcsolók bekötése A kapcsolók vezetékei lehúzó-ellenállással lettek ellátva annak érdekében, hogy az esetleges határozatlan állapotok is határozott állapotot eredményezzenek, valamint a kapcsolók bekapcsolt állapotában ne legyen rövidzár a tápvonalak között. R66 SW1 1
180
2
4 SW1 3
R63 1
10k
VCC 2
SW PUSHBUTTON-SPST-2/SM 1
R67 SW2 1
180
2
2
4 SW2 3
R64 1
10k
2
SW PUSHBUTTON-SPST-2/SM 1
R68 SW3 1
180
2
2
4 SW3 3
R65 1
10k
2
SW PUSHBUTTON-SPST-2/SM 1
2
8. ábra A nyomógombok bekötése A nyomógombok alapesetben szakadásként viselkednek, vagyis a tápfeszültség a 10 kΩ-os és a 180 Ω-os ellenálláson keresztül logikai magas szintet eredményez a vezetéken. Amint a gombot megnyomják, az rövidzárként viselkedik, és logikai alacsony szintet kényszerít a vezetékre.
BME MIT 2006.
A DPY-LED-S-01b perifériakártya – Felhasználói és fejlesztői dokumentáció -D02a
9/9