литература / Пухальский Проектирование микропроцессорных систем 2001
.pdf210 Глава 3. Интерфейсные БИС
Основные параметры некоторых EPRO M приведены в табл. 3.4:
V0L/I0L — напряжение выходного сигнала низкого уровня при указанном значении выход
ного тока,
VohIIoh — напряжение выходного сигнала высокого уровня при указанном значении вы ходного тока,
Icci и 1рр\ — токи потребления от источников |
питания |
VCc и VPP при чтении данных |
( Vpp = Vcc), |
|
___ |
ISB — ток потребления от источника питания Vcc невыбранной БИС (С Е = 1), |
||
/СС2 и 1ррг — токи потребления от источников питания Vcc и VPP при программировании, |
||
tCE— задержка от входа СЕ ( 1 ) до выходов О,, |
|
|
t0E— задержка от входа О Е ( 1 ) до выходов <3„ |
|
|
tDF — задержка от входа ОЕ ( J ) до перехода |
выходов |
О, в Z-состояние (D F — Delay |
Float), |
|
|
tpw — длительность активного уровня сигнала программирования,
tpcM — теоретическое минимальное время программирования всех ячеек EPRO M без учета времени верификации.
На рис. 3.21 изображены временные диаграммы для режима программирования различ ных EPROM , позволяющие спроектировать общую схему программатора и правильно написать для него программное обеспечение — интервалом времени tPW отмечены сигналы и их значе ния, которые производят программирование EPROM (СЕ = 1 — 2716, СЕ = 0 — 2732, 27256,
27512 и 27513, P G M = 0 — 2764 ... 27210).
Блок-схемы алгоритмов усовершенствованных методов программирования Inteligent
Program m ing™ и Quick-Pulse Program m ing™ приведены на рис. 3.22 и 3.23 соответственно.
1 |
Program |
Verify |
| |
Program |
r r«1S |
г |
|
с |
>|< |
|
|
Address N |
) |
X |
Address N + \ |
|
|
X |
|
|
|||
|
|
|
|
|
— Г |
/\
|
|
>2716 |
|\ |
/ |
N |
|
|
/ |
|
\ |
|
/1 |
\ |
^2732 |
|
|
|
|
|
|
|
|
( |
|
t |
|
/ |
\ |
|
|
|
|
|
|
— |
\ |
|
|
|
|
|
2764 |
|
t |
|
|
|
/ |
27128 |
|
|
|
|
>27010 |
||
|
. |
|
|
|
|
|
|
|
|
j |
|
|
27011 |
|
|
\ |
|
|
27210 |
|
|
|
|
|
V - |
||
|
( |
|
|
|
/ |
|
|
|
|
J ~ .... |
|
|
>27256 |
|
|
\ |
|
|
- |
|
+12,5 В- |
|
|
|
|
|
|
|
|
|
|
|
|
|
/ |
IfW |
\ |
|
/ |
\ |
,2 7 5 1 2 |
|
V |
' |
t |
~ N |
к |
Г 27513 |
|
|
Рис. 3.21. Временные диаграммы для режима программирования EPROM
3.3. Программатор EPROM 573РФ 2 и 573РФ 5 |
211 |
Рис. 3.23. Блок-схема алгоритма Quick-Pulse Program ming
Рис. 3.22. Блок-схема алгоритма Inteligent Program m ing™
14*
212 |
Глава 3. |
Интерфейсные БИС |
На рис. 3.24 приведено расположение и назначение контактов EPRO M фирмы Intel, вы |
||
пускаемых |
в корпусах типа PLC C (P lastic |
L eaded Chip C arrier), отличающихся от корпусов |
типа P D IP (Plastic Dual-In-Line Package), изображенных на рис. 3.18. Неиспользуемые контак ты обозначаются аббревиатурой N C (No Internal Connection) или D U (Don't Use).
27512 |
27C256 |
27128Л |
27C64 |
|
|
|
|
Ти п ИС |
|
|
|
|
27С64 |
27128A |
27C256 |
27512 |
||
64K x 8 |
87C256 |
16K x 8 |
87C64 <----- |
|
|
|
|
------ |
87С64 |
16K x 8 |
87C256 |
64K x 8 |
||||||
DU |
DU |
DU |
DU |
|
l |
|
|
|
|
|
|
|
|
|
|
|
|
|
A15 |
V,,,. |
vPf |
Vpp |
|
2 |
|
|
|
1 |
|
|
|
32 |
|
Vcc |
Vcc |
Vcc |
Vcc |
A 12 |
A12 |
A12 |
A12 |
|
3 |
- |
|
|
I |
|
- |
|
31 |
|
PGM |
PGM |
A14 |
A14 |
A l |
A l |
A l |
A l |
|
|
|
|
|
|
|
|
NC |
A13 |
A13 |
A13 |
|||
|
4 |
ULl UUU |
Ll u |
30 |
|
|||||||||||||
|
|
|
|
/ |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
4 |
3 |
2 |
1 |
32 |
31 |
.10 |
|
|
|
|
|
|
A6 |
Ab |
A6 |
A6 |
□ |
5 |
|
|
|
. |
|
|
|
29 |
С |
А8 |
A8 |
A8 |
A8 |
Л5 |
AS |
A5 |
AS |
□ |
6 |
|
|
|
|
|
|
|
28 |
С А9 |
A9 |
A9 |
A9 |
|
A4 |
A4 |
A4 |
A4 □ |
7 |
|
Корпус типа |
|
27 |
С |
A ll |
A ll |
A ll |
A ll |
|||||
A3 |
A3 |
A3 |
A3 □ |
8 |
|
|
PLCC |
|
|
26 |
С |
NC |
NC |
NC |
NC |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
A2 |
A2 |
A2 |
A2 |
□ |
9 |
|
0,450" x 0,550" |
25 |
С OE |
OE |
OE |
OE/Vpp |
||||||
A\ |
Al |
Al |
Al |
□ 10 |
|
24 |
С |
A10 |
AIO |
AIO |
AIO |
|||||||
AO |
AO |
AO |
AO □ |
11 |
11,43 x 13,97 mm |
23 |
С ALE/CE |
CE |
ALE/CE |
CE |
||||||||
NC |
NC |
NC |
NC 3 |
12 |
|
|
|
|
|
|
|
22 С |
01 |
O l |
O l |
0 1 |
||
OO |
OO |
OO |
OO □ 13 |
|
|
|
|
|
|
|
21 |
С |
06 |
0 6 |
0 6 |
Ob |
||
|
|
|
|
|
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
|
|
|
|
|
01 |
01 |
Ol |
01 |
|
|
П П П П П П П |
|
|
05 |
05 |
05 |
05 |
||||||
|
14 |
|
T |
|
T |
|
T |
|
|
20 |
||||||||
02 |
02. |
02 |
02 |
|
15 |
— |
|
1 |
|
-------- - |
19 |
04 |
0 4 |
0 4 |
04 |
|||
GND |
GND |
GND |
GND |
|
16 |
|
|
|
1 |
|
|
|
|
18 |
03 |
03 |
0 3 |
03 |
DU |
DU |
DU |
DU |
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2M |
27011 |
27513 |
27010 |
<------ |
|
Тип ИС |
|
|
------ |
27010 |
27513 |
27011 |
2M |
|||||
16x(16Kx8) 8x(16Kx8) 4x(16Kx8) |
128K.X8 |
|
|
|
|
|
|
|
|
|
|
|
128К.Х8 4x(16Kx8) 8x(16Kx8) 16x(16Kx8) |
|||||
DU |
DU |
DU |
Vpp |
|
1 |
___________ |
|
|
|
|
|
|
|
|
|
|||
ii r s t |
VnJRST |
RST |
A16 |
|
2 |
|
|
|
1 |
|
|
|
32 |
|
Vcc |
Vcc |
Vcc |
Vcc |
V ’J |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Л12 |
A12 |
A12 |
A15 |
|
3 |
|
|
|
1 |
|
|
|
31 |
|
PGM |
WE |
PGM! WE PGM/WE |
|
A l |
A l |
A l |
A12 |
|
4 |
|
1 |
|
I |
|
I |
|
30 |
|
NC |
A 13 |
A13 |
A13 |
|
|
|
|
/ |
|
U |
□ |
L J' U |
□ |
U ' U |
|
|
|
|
|
|
||
|
|
|
|
|
4 |
3 |
2 |
1 |
32 |
31 |
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
A6 |
A6 |
A6 |
A l |
□ 5 |
|
|
|
. |
|
|
|
29 |
С |
A14 |
A8 |
A8 |
A8 |
|
A5 |
AS |
A5 |
A6 □ |
6 |
|
|
|
|
|
|
|
28 |
С |
A13 |
A9 |
A9 |
A9 |
|
A4 |
A4 |
A4 |
A5 |
□ |
7 |
|
Корпус типа |
|
27 |
С |
A8 |
A ll |
A ll |
A ll |
||||
A3 |
A3 |
A3 |
A4 □ |
8 |
|
|
PLCC |
|
|
26 |
С |
A9 |
NC |
NC |
NC |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
A2 |
A2 |
A2 |
A3 |
□ |
9 |
|
0,450" x 0,550" |
|
25 |
С |
A ll |
О Я /V p p |
OE |
OE |
||||
Al |
A l |
Al |
A2 |
□ |
10 |
|
|
24 |
С OE |
AIO |
A 10 |
AIO |
||||||
AO |
AO |
AO |
Al |
□ |
11 |
11,43 x 13,97 mm |
23 |
С |
AiO |
CE |
CE |
CE |
||||||
NC |
NC |
NC |
AO 3 |
12 |
|
|
|
|
|
|
|
22 С |
CE |
O l |
01 |
O l |
||
£>0/00 |
DO/OO |
DO/OO |
OO b |
13 |
|
|
|
|
|
|
|
2) |
С |
O l |
Ob |
Ob |
Ob |
|
|
|
|
|
|
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
|
|
|
|
|
|
01/01 |
01/01 |
Dl/01 |
01 |
D 2/02 |
D 2/02 |
02 |
02 |
GND |
GND |
GND |
GND |
DU |
DU |
DU |
03 |
П П П П П П П
14 |
T |
T |
T |
20 |
06 |
OS |
05 |
OS |
15 |
|
1 |
— |
- 19 |
05 |
0 4 |
04 |
04 |
16 |
|
1 |
|
18 |
04 |
03 |
03 |
03/03 |
17 |
|
|
|
|
|
|
|
|
Рис. 3.24. EPROM фирмы Intel
|
|
3.4. Программируемые таймеры 8253 и 8254 |
||||||||||||||||
4М |
2М |
27210 |
|
|
|
|
|
|
Т и п И С |
|
|
|
|
|
27210 |
|||
256КХ 16 |
128К х 16 |
64К х 16 * |
|
|
|
|
|
|
|
|
|
|
64К х 16 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
NC |
NC |
NC |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V,,e |
Vn |
V,.,. |
2 |
|
|
|
|
|
1 |
|
|
|
|
|
44 |
|
Vcc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
СЁ |
СЁ |
СЁ |
3 |
-------- -------- |
|
1 |
|
-------- — |
|
43 |
|
PGM |
||||||
015 |
015 |
015 |
|
4 |
|
|
|
|
|
| |
|
| |
|
|
|
42 |
|
NC |
014 |
014 |
014 |
|
5 |
------ |
|
|
|
I |
|
1 |
|
— |
|
41 |
|
Л15 |
|
013 |
013 |
013 |
|
6 |
|
1 |
|
i |
|
i |
|
I |
|
|
|
40 |
|
Л14 |
|
|
|
/ |
|
U U U U U U U U U U U |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
012 |
012 |
012 |
|
|
6 |
5 |
4 |
3 |
2 |
1 |
44 |
43 |
42 |
41 |
40 |
|
|
Л13 |
□ |
7 |
|
|
|
|
|
• |
|
|
|
|
|
39 |
С |
||||
011 |
011 |
011 |
3 |
8 |
|
|
|
|
|
|
|
|
|
|
|
38 |
С |
А12 |
010 |
010 |
010 |
□ |
9 |
|
|
|
|
|
|
|
|
|
|
|
37 |
С |
A ll |
09 |
09 |
09 |
□ |
10 |
|
|
|
Корпус типа |
|
|
|
36 |
С |
ЛЮ |
||||
08 |
08 |
08 |
□ |
11 |
|
|
|
|
|
|
35 |
С |
Л9 |
|||||
|
|
|
|
P L C C |
|
|
|
|
||||||||||
GND |
GND |
GND D |
12 |
|
|
|
|
|
|
|
|
34 |
С |
GND |
||||
NC |
NC |
NC |
1 |
13 |
|
|
|
0.650" х 0.650" |
|
|
33 |
С NC |
||||||
07 |
0 1 |
07 |
□ 14 |
|
|
|
|
|
32 С А8 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
06 |
06 |
06 |
□ |
15 |
|
|
|
|
|
|
|
|
|
|
|
31 |
С Л7 |
|
05 |
05 |
05 |
□ |
16 |
|
|
|
|
|
|
|
|
|
|
|
зо С А6 |
||
04 |
04 |
04 |
□ |
17 |
|
|
|
|
|
|
|
|
|
|
|
29 |
С |
А5 |
|
|
|
|
|
18 |
19 |
20 |
2 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
|
|
|
03 |
03 |
03 |
|
|
п п п п п п п п п п п |
|
|
А4 |
||||||||||
|
18 |
|
т |
|
Т |
|
Т |
|
Т |
|
Т |
|
28 |
|
||||
02 |
02 |
02 |
|
19 |
— |
|
|
|
1 |
|
1 |
|
------ |
27 |
|
ЛЗ |
||
01 |
01 |
01 |
|
20 |
|
|
|
|
|
| |
|
| |
|
|
|
26 |
|
Л2 |
ОО |
ОО |
ОО |
21 |
— |
-------- |
|
1 |
|
— |
|
-------- |
25 |
|
Л1 |
||||
ОЁ |
ОЁ |
ОЕ |
|
22 |
|
|
|
|
|
1 |
|
|
|
|
|
24 |
|
ЛО |
NC |
NC |
NC |
|
23 |
--------- --- ---- |
|
|
|
|
|
|
|
|
|||||
Рис. 3.24 (продолжение)
213
2М 4М
128К х 16 256К х 16
Vcc |
Vcc |
PGM |
Л17 |
Л16 |
Л16 |
Л15 |
Л15 |
Л14 |
А14 |
Л13 |
Л13 |
Л12 |
Л12 |
ЛИ |
ЛИ |
ЛЮ |
ЛЮ |
Л9 |
Л9 |
GND |
GND |
NC |
NC |
Л8 |
А8 |
Л7 |
Л7 |
Л6 |
Л6 |
Л5 |
Л5 |
Л4 |
А4 |
ЛЗ |
ЛЗ |
Л2 |
А2 |
Л1 |
А1 |
ЛО |
ЛО |
3.4. Программируемые таймеры 8253 и 8254
Таймеры (рис. 3.25) в М П-системах применяются для создания точных задержек сигна
лов, генерации временных интервалов и проектирования делителей частоты с программируе мым коэффициентом деления под управлением программного обеспечения. Кроме того, таймеры могут использоваться в качестве счетчиков событий, часов реального времени, цифровых ждущих мультивибраторов и др. Таймеры 8253 и 8254 изготовляются по N M O S тех нологии, а 82С54 — по усовершенствованной CH M O S III технологии, которая обеспечивает малое потребление мощности. Различаются эти БИС только быстродействием — БИС 82x54-2
имеют наибольшее быстродействие. |
Основные |
параметры БИС |
таймеров |
приведены |
||
в табл. 3.5. М аксимальная рассеиваемая мощность (P ow er D issipation) |
у всех БИС |
составляет |
||||
1 Вт (этот параметр определяется свойствами корпуса). |
|
|
|
|||
С тр у кту р н ая схема програм м ируем ого |
тай м ера. Основные узлы |
программируемых |
||||
таймеров Р Т (P rogram m able Interval |
Timer) |
8253 |
и 82x54 фирмы |
Intel |
представлены на |
|
рис. 3.26. Таймер состоит из трех независимых каналов (трех 16-разрядных программируемых вычитающих счетчиков C ounter 0, 1 и 2), буфера шины данных (D ata Bus Buffer), схемы управления чтением и записью (Read/W rite Logic) и регистра слова управления R G C W (Control Word Register). Буфер шины данных — это двунаправленный 8-разрядный приемопередатчик с Z-состоянием выходов, используемый в качестве шинного интерфейса (обеспечивает связь таймера с системной шиной данных).
214 |
|
|
|
|
Глава 3. |
Интерфейсные БИС |
|
|
|
|
|
|||||||
|
8253, 8254, 82С 54 |
|
|
|
|
ю \о |
|
О |
|
|
|С) |
|
|
|
||||
|
|
— cx |
|
|
|
|
|
Q Q Q % |
|
|
|
|
|
|
||||
|
Dl\_ |
1 |
24 ] VcC |
|
|
|
|
U U U U U U U |
|
|
|
|||||||
|
о б [ |
2 |
23 |
IM |
|
|
|
|
4 |
3 |
2 |
1 |
28 |
27 |
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
05 [ |
3 |
22 |
I r d |
|
04 |
□ |
5 |
|
|
|
. |
|
|
25 |
С |
NC |
|
|
|
03 |
□ |
6 |
|
|
|
|
|
|
24 |
С |
CS |
|
||||
|
0 4 С 4 |
21 |
] c s |
|
|
|
82C54 |
|
|
|||||||||
|
|
02 |
□ |
7 |
|
|
|
23 |
С Л1 |
|
||||||||
|
03 [ |
5 |
20 ] a i |
|
Dl |
□ |
8 |
|
Корпус типа |
22 С ЛО |
|
|||||||
Корпус типа |
02 [ 6 |
19 ] ao |
|
DO □ |
9 |
|
|
P L C C |
|
21 |
С CLK1 |
|
||||||
P D 1P |
oiC7 |
18 ] CL K l |
|
CLKO □ |
10 |
|
|
|
|
|
|
20 |
С |
0U T1 |
|
|||
|
о о [ |
8 |
17 ]o U T 2 |
|
NC □ |
11 |
|
|
|
|
|
|
19 |
С |
GATE2 |
|
||
|
с ш > [ 9 |
16 ]CATE2 |
|
|
|
|
12 |
13 |
14 |
15 |
16 |
17 |
18 |
|
|
|
||
|
|
|
|
|
п |
п |
п |
п |
п |
п п |
|
|
|
|||||
|
o u t o I 10 |
15 ]C L K l |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
GATEOZ 11 |
14 I g a t e i |
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|||
|
G/VdC12 |
13 1 o u t \ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Рис. 3.25. Программируемые таймеры |
|
|
|
|
||||||||||
|
|
Таблица 3.5. О сновны е п ар ам етр ы Б И С тай м еров |
|
|
||||||||||||||
БИС |
|
|
Аналог |
1CC max, |
^сс> |
|
V o H |
m i J I o H > |
V o i |
h |
i H o L , |
F c l k , |
||||||
|
|
мА |
В |
|
|
|
В/мА |
|
В/мА |
МГц |
||||||||
|
|
|
|
|
|
|
|
|
||||||||||
8253 |
КР580ВИ53 |
140 |
5 ± 10% |
|
2,4/-0,4 |
|
0,45/2,2 |
2,6 |
||||||||||
8253-5 |
КР580ВИ 53Д |
140 |
5 ± 10% |
|
2,4/-0,4 |
|
0,45/2,2 |
2,6 |
||||||||||
8254-5 |
|
|
— |
170 |
5 ± 10% |
|
2,4/-0,4 |
|
0,45/2 |
5 |
||||||||
8254 |
|
1810ВИ54 |
170 |
5 ± 10% |
|
2,4/-0,4 |
|
0,45/2 |
8 |
|||||||||
8254-2 |
|
|
— |
170 |
5 ± 10% |
|
2,4/-0,4 |
|
0,45/2 |
10 |
||||||||
82С54 |
|
|
— |
20 |
4 + 7 |
|
|
3/—2,5 |
|
0,4/2,5 |
8 |
|||||||
82С 54-2 |
|
— |
20 |
4 + 7 |
|
|
3/—2,5 |
|
0,4/2,5 |
10 |
||||||||
Рис. 3.26. Структурная схема таймера Рис. 3.27. Структурная схема одного канала таймера
3.4. Программируемые таймеры 8253 и 8254 |
215 |
Программирование и управление таймером, подключенным к системным шинам, произ водится микропроцессором и внешними сигналами. Сигналы таймера имеют назначение:
D7_о— сигналы разрядов шины данных МП,
А ь А0 и CS (A ddress an d Chip Select) — сигналы двух разрядов шины адреса М П и сигнал с дешифратора адреса разрядов А7_2, ___
RD (R ead) — сигнал чтения данных из регистров таймера, WR (W rite) — сигнал записи данных в регистры таймера (для МП 8080/8085 RD = I/O R и WR - IIO W — сигналы системной шины управления),
OUTm— выходные сигналы счетчиков ( т - 0 , 1 и 2 — номер канала таймера), GATEm— управляющие сигналы счетчиков (стробы разрешения и запрета счета),
CLKm — тактовые сигналы счетчиков (максимальные значения частоты FCLK сигналов CLKm приведены в табл. 3.5).
Адресные сигналы At и А0 дешифрируются внутри таймера для селекции одного из четы рех внутренних устройств — трех каналов счетчиков и регистра слова управления RGCW .
Структурная схема одного канала таймера представлена на рис. 3.27 (узлы Status Latch и Status R egister в таймере 8253 отсутствуют):
СЕ (Counting Elem ent) — 16-разрядный синхронный вычитающий счетчик с параллельной записью данных [5];
OLM и 0 L l (O utput Latch) — 8-разрядные регистры (выходные) для фиксации и хранения текущего состояния счетчика (М — M ost significant byte — старший байт регистра, L — Least significant byte — младший байт регистра);
CR/ц и CRL (Count R egister) — 8-разрядные регистры хранения модуля пересчета счетчика. Описанные пары регистров, как единое целое, обозначаются через OL и CR (или OLm и CRm, где т = 0, 1 и 2 — номер канала таймера) — двухбайтовые регистры хранения текущего
состояния |
счетчика |
и его модуля пересчета. Текущее состояние счетчика т переписывается |
|||||
в регистр OLm в каждом такте. |
|
|
|||||
|
|
|
|
|
|
Таблица 3.6. О перации ввода-вы вода |
|
CS •Al |
^0 |
WR |
RD |
Операция |
Примечание |
||
0 |
0 |
0 |
0 |
1 |
D j о —> CR0 |
Запись модуля пересчета М счетчика канала 0 |
|
0 |
0 |
1 |
0 |
1 |
D j о —> CR | |
Запись модуля пересчета М счетчика канала 1 |
|
0 |
1 |
0 |
0 |
1 |
D 7_у —> CR2 |
Запись модуля пересчета М счетчика канала 2 |
|
0 |
1 |
1 |
0 |
1 |
£ > 7 _ o - » |
R G C W |
Запись CW в R G C W (регистр управления) |
|
|
|
|
|
£>7_o ~ > |
Com m and |
Подача команд чтения “на лету” и обратного чтения |
0 |
0 |
0 |
1 |
0 |
£ > ? _ о <— OLq |
Чтение текущего состояния счетчика канала 0 |
|
0 |
0 |
1 |
1 |
0 |
D io <— |
OL\ |
Чтение текущего состояния счетчика канала 1 |
0 |
1 |
0 |
1 |
0 |
D 7_о <r— OL2 |
Чтение текущего состояния счетчика канала 2 |
|
0 |
1 |
1 |
1 |
0 |
Нет операций |
Z-состояние D 7_о |
|
0 |
X |
X |
1 |
1 |
Нет операций |
Z-состояние D 1_0 |
|
1 |
X |
X |
X |
X |
Нет операций |
Z-состояние D 1_0 |
|
|
П р и м е ч а н и е : |
х — безразличные значения. |
|||||
Управление вводом-выводом таймера представлено в табл. 3.6 (R G CW — регистр управ ления).
Для программирования режима работы счетчика канала т МП записывает в регистр RGCW слово управления CWm ( Control Word) для данного канала. При этом регистр CRm этого канала сбрасывается в 0. Затем МП записывает в регистр CRm один или два байта модуля пере-
216 |
Глава 3. Интерфейсные БИС |
счета счетчика М Ст = М СМтМ си„ (М Смт — старший байт модуля пересчета, М ат — младший байт модуля пересчета) и запрограммированный канал таймера начинает работать согласно указаниям, содержащимся в слове управления CW m. Возможность записи в регистр CRm только одного байта модуля пересчета объясняется сбросом его в 0 при программировании режима работы счетчика (другой байт будет равен 0). Чтение текущего состояния счетчика каждого канала таймера МП может производить в любой момент времени из регистра OLm.
Далее будет рассмотрен таймер 8253, а затем описаны отличия таймера 8254 от таймера
8253.
Управление режимами работы таймера. Обмен информацией МП с таймером произво дится по 8-разрядной двунаправленной шине данных £>7^о однобайтовыми или двухбайтовыми числами (рис. 3.26). Из табл. 3.6 следует, что номер канала таймера т = A iA 0 = 0, 1 ,2 для запи си модуля пересчета МСт и чтения текущего состояния счетчика OL,„. Режимы работы таймера программируются записью в регистр R G C W слова управления CW, формат которого показан на
рис. 3.28.
Разряды D 1D 6 - SCiSCo (SC — Select Counter) в слове управления CW адресуют три части регистра R G C W для записи 6-разрядного слова управления CWm = D5_0: RGCW 0, RGCW \ и RGCW 2, а также производят выбор счетчика для подачи команды чтения “на лету”, т. е. в этих случаях т = S C tSCo = 0, 1 и 2. Такая передача адресных сигналов внутренних узлов БИС по шине данных используется для увеличения числа портов вывода и уменьшения числа ее кон тактов. Таким образом, регистр RG C W 18-разрядный.
Разряды DsOj = RLiRL,, (RL — Read/Load) управляют режимами чтения из регистра OLm одного или двух байт состояния счетчика и загрузки в регистр CRmоднобайтовых или двухбай товых чисел Мс„, для программирования модуля пересчета Ш 5Л 4 * 0). Если загружается только
D l Db D5
CW SCi SCo R Lt
|
|
Селекция счетчиков |
0 |
0 |
Select Counter 0 |
0 |
1 |
Select Counter 1 '* |
1 |
0 |
Select Counter 2 |
11 Illegal (8253)
Read-Back
C om m and (8254)
Counter Latching O peration
(Чтение “на лету”)
R ead/L oad LSB only
(4/3 только младшего байта)
R ead/Load MSB only
(4/3 только старшего байта)
R ead/Load LSB first, then MSB
(4/3 сначала младшего, затем старшего байта)
D4 |
ГО |
D2 |
D1 |
D0 |
|
|
|
|
|
|
RLo |
M 2 |
M x |
Ma |
BCD |
BCD — Binary C oded D ecim al |
|
||||
|
|
|
|
|
|
0 — двоичный счет, |
|
|
|
|
|
|
|
|
|
|
1 — двоично-десятичный счет |
|
|||
|
|
|
|
Реж им M k |
(k = 0, 1, ... |
,5 ) |
|
|
|
|
|
О О О |
M ode 0 — Interrupt on Terminal Count |
|
|||||||
|
|
|
|
(прерывание в конце счета: OUTm~~1_ |
- П |
|||||
|
0 |
0 |
1 |
M ode 1 — Program m able One-Shot |
|
|
|
|||
|
х |
|
|
(ждущий мультивибратор: OUTm |
1 |
- П |
||||
|
1 |
0 |
M ode 2 — Rate G enerator (импульсный |
|
||||||
|
|
|
|
генератор: OUTm~ Ll |
Ll Ll |
U |
LT) |
|
||
|
х |
1 |
1 |
M ode 3 — Square W ave Rate G enerator |
|
|||||
0 |
0 |
|
|
(генератор меандра: 0LTr,„lJTJTJTJTJlJTTLr) |
||||||
|
1 |
0 |
0 |
M ode 4 — Software Triggered Strobe (программно |
||||||
0 |
1 |
|
|
формируемый строб: OUT,,, |
LT) |
|
|
|||
|
1 |
0 |
1 |
M ode 5 — H ardware Triggered Strobe |
|
|
||||
1 |
0 |
|
|
(аппаратно формируемый строб: OUT,,, |
LT) |
|||||
11 RL — R ead/L oad (4/3 — Чтение/Загрузка)
LSB — Least Significant Byte MSB — M ost Significant Byte
Рис. 3.28. Слово управления CW таймера
3.4. Программируемые таймеры 8253 и 8254 |
217 |
|
один байт модуля пересчета, |
то второй байт равен 0. Если разряды D5D4 = 00, то слово управ |
|
ления CWm не записывается |
в RG C W m (заданный ранее режим работы |
счетчика канала т не |
изменяется). При этом текущее состояние счетчика блокируется в регистре OLm (содержимое OLm больше не будет изменяться с каждым тактом). Этот тип слова управления CW m называет
ся командой чтения “налету ” (назначение команды описано ниже). |
|
||
Разряд D q слова управления CWm задает двоичный или двоично-десятичный |
счет. Соот |
||
ветственно максимальный модуль пересчета равен 2 16 |
и 104 (при значении МСт = |
0). Модуль |
|
пересчета программируется от 2 до 2 16 "и от— Л2 до— 104,п с~ |
---------шагом —единица......... . (2/л16|Ь = 65536). Разряды |
||
D ,D 2D\ определяют один из шести режимов работы счетчиков. |
|
||
П рим ер 1. Получить выходной сигнал с частотой |
|
|
|
f 0UT = 1 Гц из сигнала ср2> частота которого равна |
|
|
|
2,048 МГц. Построить схему, задав адреса портов Е0 |
|
|
|
(канал 0), Е1 (канал 1), Е2 (канал 2) |
и ЕЗh (RGCW ). |
|
• 1 кГц |
Заданные адреса портов (Е0 |
+ ЕЗ = ШОООхх) |
|
|
определяют функцию для сигнала выбора БИС тай
мера: |
-1Г ц |
|
C S = А1А6А5 -Л4 -Aj • А2 |
А4 v Л3 v Л2 = 0 |
только при A 1A bA 5A 4AyA2A lA i) = |
ШОООхх (конечно, |
для адресации таймера можно использовать и де шифратор D C 3 x 8 , выполненный на ИС 555ИД7).
Структурная схема устройства, соответствую щая условиям задачи, изображена на рис. 3.29.
Рис. 3.29. Структурная схема генератора сигнала с частотой 1 Гц
|
D l |
0 6 |
D5 |
D4 |
D3 |
D2 |
Dl |
DO |
|
|
SC 1 |
SCO |
R Ll |
RL0 |
М 2 |
M l |
M 0 |
BCD |
|
cw 0 = |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
= 36h |
CWi = |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
= l l h |
|
|
Рис. 3.30. Слова управления каналов 0 и 1 |
|
|
|||||
Общий коэффициент деления М = 2048 • 10 |
= М со ■МС1, можно получить, используя ка |
||||||||
налы 0 и 1 таймера: М со = |
2 й = |
2048<i = |
800/i для счетчика канала 0 (двоичный счет, загрузка |
||||||
двух байт модуля пересчета), М С\ = Ю3 |
= 1000cf для счетчика канала |
1 (двоично-десятичный |
|||||||
счет, загрузка двух байт модуля пересчета). Выберем режим работы М 3 обоих счетчиков — генератор меандра (делитель частоты).
На рис. 3.30 показаны слова управления CW для каналов 0 и 1 таймера, задающие выше указанные режимы работы. Программирование таймера на заданные режимы работы можно выполнить с помощью программы:
M VI |
A, 36 /i |
A <- CW0 = 36/j |
|
|
OUT |
0 E 3h |
RGCW 0 <— CW0 |
|
|
MVI |
A, l l h |
A |
CW X= l l h |
|
OUT |
0 E3h |
RGCW i <- CW, |
|
|
SUB |
A |
A <— 0 |
|
|
OUT |
0 E 1h |
CRli <r- M Cll = 0 0 c/ |
■младший байт модуля пересчета канала 1 |
|
OUT |
OEOft |
CRlo |
M a o = 00h |
младший байт модуля пересчета канала 0 |
MVI |
A, 8 |
A <— 8 |
|
|
218 |
|
Глава 3. Интерфейсные БИС |
|
OUT |
0Е0ft |
CRm <— Мсмо —08ft - |
- старший байт модуля пересчета канала О |
M VI |
A, 10ft |
A < - 10ft |
|
OUT |
OElft |
CRmi (— /V/[ /,/] —10d - |
• старший байт модуля пересчета канала 1 |
Реж им ы р аб оты к ан ал о в тай м ер а. В соответствии с рис. 3.28 счетчики таймера могут
работать в шести режимах М к (к = 0, 1, ... , 5). В табл. 3.7 приведено функциональное назначе ние сигналов GATEm в каждом из этих режимов.
Реж им М 0 — преры вание в конце счет а (рис. 3.31). В этом режиме сигнал GATEm разре шает счет (GATEm— 1) или запрещает его (GATEm = 0). Запись слова управления CWm в регистр RGCW mустанавливает на выходе OUTm значение 0. Изменение сигнала GATEmс 0 на 1 запуска ет счет. По окончании счета на выходе OUTm устанавливается значение 1. Загрузка счетчика новым значением модуля пересчета М Ст устанавливает на выходе OUTm значение 0. Если за грузка производится во время счета, то запись младшего байта останавливает счет, а запись старшего байта запускает новый цикл счета. Содержимое регистра CRm передается в счетчик
тактовым сигналом. |
|
Реж им М { — ж дущ ий м ульт ивибрат ор (рис. 3.32). |
Запись слова управления СИ7,,, в ре |
гистр RGCW m устанавливает на выходе OUTm значение 1. |
Переход сигнала GATEm с 0 на 1 за |
пускает счет. Затем первый перепад тактового сигнала с 1 |
на 0 устанавливает сигнал OUTm в 0. |
После окончания счета сигнал OUTm устанавливается в 1. |
|
|||||
|
|
Таблица 3.7. Ф ун кц и он альн ое н азначение си гн алов GATE„ |
||||
Режим |
|
Низкий уровень или |
|
Положительный фронт |
Высокий |
|
М к |
переход на низкий уровень |
|
уровень |
|||
|
|
|||||
0 |
Запрет счета |
|
— |
Разрешение счета |
||
1 |
|
— |
1. |
Запуск счета |
— |
|
|
2. |
Сброс OUTmв 0 в следующем такте |
||||
|
|
|
|
|||
2 |
1. |
Запрет счета |
1. |
Перезагрузка счетчика |
Разрешение счета |
|
2. |
Установка O UTm= 1 |
2. |
Запуск счета |
|||
|
|
|||||
3 |
1. |
Запрет счета |
1. |
Перезагрузка счетчика |
Разрешение счета |
|
2. |
Установка OUTm= 1 |
2. |
Запуск счета |
|||
|
|
|||||
4 |
Запрет счета |
|
— |
Разрешение счета |
||
5 |
|
— |
Запуск счета |
— |
||
Рис. 3.31. Временные диаграммы работы таймера в режиме М0
3.4. Программируемые таймеры 8253 и 8254 |
219 |
Рис. 3.32. Временные диаграммы работы таймера в режиме М,
Рис. 3.33. Временные диаграммы работы таймера в режиме М 2
Если во время счета будет загружено новое значение модуля пересчета М Ст, то это не по влияет на длительность текущего импульса OUTm = 0 (до следующего запуска). Ждущий муль тивибратор является перезапускаемым — каждый перепад сигнала GATEm с 0 на 1 запускает счет сначала, если счет не завершен до конца. Содержимое регистра CRm передается в счетчик тактовым сигналом при условии, что поступил перепад сигнала GATEmс 0 на 1.
Реж им М 2 — импульсный генерат ор (рис. 3.33). В этом режиме таймер является делите лем частоты тактового сигнала CLK„, в М Страз:
foUTm = j CLKm I M Cm-
Если счетчик перезагружается новым значением модуля пересчета М Ст между выходными импульсами OUTm = 0, то на текущем периоде это не скажется, однако следующий период бу дет соответствовать новой величине М Ст• Значение сигнала GATEm = 0 запрещает счет. Если затем установить значение GATEm = 1, то работа начинается от загруженного ранее значения МСт. Длительность значения сигнала OUTm = 0 равна одному периоду Т{) сигнала CLKm.
Реж им Л /з— генерат ор м еандра (рис. 3.34). Этот режим аналогичен режиму М 2 во всем, за исключением длительности значений выходного сигнала OUTm = 0 и 1:
Т\ = Т2- Т0 ■М Ст/ 2 при М Ст четном,
Т х= Т0 ■(M Cm + 1) / 2 и Т2 = Т0-(МСт- 1)/2 при М Ст нечетном
(при значении М Ст = 3 счетчики не работают).
Самый младший разряд счетчика независимо от типа счета (двоичный или двоично десятичный) всегда производит деление частоты тактового сигнала CLKmв 2 раза (счет ведется
