Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

литература / Пухальский Проектирование микропроцессорных систем 2001

.pdf
Скачиваний:
330
Добавлен:
12.11.2017
Размер:
21.12 Mб
Скачать

130

 

Глава 1. Микропроцессоры 8080 и 8085

 

 

 

 

 

 

Таблица 1.30. П араметры EDAC

 

 

 

 

ИС

ICC lypi

IСС тах>

VoH midIОН,

VoHtyp/IoH,

VoLtyp/IoL,

VoL nuJIoL1

1[>min> tp typ>

1рml;:-

мА

мА

В/мА

В/мА

В/мА

В/мА

НС

НС

НС

 

‘616

110

170

2,4/-2,6

3,2/—2,6

0,25/12

0,4/12

10

49

‘617

110

Vc c - 2 1 - 0 А

0,25/12

0,4/12

40

‘630 *

143

230

2,11-0,4

3,4/-0,4

0,35/8

0,5/8

31

65

‘631 *

113

180

2,7/-0,4

3,4/-0,4

0,35/8

0,5/8

31

65

‘632В, ‘634

150

250

2,4/-2,6

Ъ,21-2,6

0,35/12

0,4/12

10

48

‘633А, ‘635

150

250

Vc c -2 1 -0,4

0,25/12

0,4/12

10

40

60

‘636 *

100

160

2,7/—0,4

3,4/-0,4

0,35/8

0,5/8 •

31

45

‘637 *

90

144

2,7/—0,4

3,4/—0,4

0,25/12

0,4/12

38

55

П р и м е ч а н и е : * - - /,5-технология, остальные — Л^-технология.

 

 

 

Рис. 1.62. Структурная схема EDAC ‘636

 

 

 

 

 

Таблица 1.31. Управление работой ИС ‘636, ‘637, ‘630 и ‘631

 

 

Цикл RAM

Si

So

Выполняемая EDAC функция

DBf

CBj

SEF DEF

Запись

0

0

Генерация проверочного слова СВ4_0

Вход

Выход CW

0

0

Чтение

0

1

Чтение данных DB1 0 и проверочного

Вход

Вход CW

0

0

 

 

 

слова СВ4_о из памяти

 

 

 

 

Чтение

1

1

Фиксация D Bt^ и СВа_{) в регистрах и

Фиксация

Фиксация

0/1

0/1

 

 

 

установка флагов ошибок SEE и DEF

 

CW

 

 

Чтение

1

0

Коррекция слова данных ОЙ7 ,, и

Выход

Выход

0/1

0/1

 

 

 

генерация синдрома ошибки СВ4_0

 

синдрома

 

 

1.П. Обнаружение и исправление ошибок в оперативных запоминающих устройствах 131

Разряды CBj 0 = 0, 1, ..., 4) 5-разрядного проверочного слова C W (Check Word) и синдрома ошибки CBj (Error Syndrome), используемого для обнаружения ошибок и исправления одно­ кратных ошибок в байте данных DB1_о, вычисляет узел Parity Generator (рис. 1.62) на основа­ нии соотношений:

СВ0 = DB4 ® D #3 ® DB] ® DB0© (СВmo v З Д ) ,

СВХ= DB6© DB5 © DB3 © DB2 © DB0© (CBM, v З Д ),

CB2= DB7 © DB5© DB, © DB2® D B X© (CBM2 v S,S0),

CB3 = DB-, © DB6© DB2 © DB, © DB0 © (С£Мз v З Д ) ,

CB4 = DB-, © DB6 © DBS© DB4 © DB3 © (CBM4 v 5,S0),

где S,S0 — сигнал управления, задающий вычис­ Таблица 1.32. Вычисление проверочных

ление проверочного слова (S {So = 1, D B ,— запи­

разрядов в ИС ‘636 и ‘637

 

 

сываемые в память разряды слова данных) и син­

 

Разряды байта данных DB7-0

дрома ошибки (SxS0 -

0,

DBj = D BM, и СВМ;—

CBj

разряды байта данных

и

проверочного слова,

7

6

5

4

3

2

1

0

 

прочитанных из памяти), а индекс М означает,

 

CBo

 

 

 

+

+

 

+

+

что разряд может быть прочитан из памяти с

-

-

-

-

ошибкой (0 вместо 1 или 1

вместо 0).

CB,

-

+

+

-

+

+

-

 

Таким образом, проверочные разряды вы­

CB2

+

-

+

+

-

+

+

-

числяются по формулам (в табл. 1.32 знаком “+ ”

CB3

+

+

-

-

-

+

+

+

отмечены разряды байта данных DB1A), исполь­

CB4

+

+

+

+

+

-

-

-

зуемые при вычислении проверочных разрядов):

 

 

 

 

 

 

 

 

 

СВ0 = DB4 © DB3 © DBi © DB0© 1,

 

Таблица 1.33. Синдром ошибки

Ошибка

 

Код синдрома ошибки

СВ, = DB6© DB5 © DB3 © DB2 © DB0© 1,

 

в разряде

CB4

CB3

CB2

СВ,

СВо

CB2 = DB-j © DBs © DB4 © DB2© DB, © 1,

 

DB0

 

1

0

1

 

0

0

CB3 = DB7 © DB6© DB2 © DB, © DB0 © 1,

 

 

 

 

DB,

 

1

0

0

 

1

0

 

 

 

 

 

 

CB4 = DB7 © DBf, © DB5 © DB4 © DB3 © 1,

 

d b 2

 

1

0

0

 

0

1

аразряды синдрома ошибки — по формулам:

 

DB3

 

0

1

1

 

0

0

 

d b 4

 

0

1

0

 

1

0

 

 

 

 

 

 

СВо = DBm4 © DB[vi3 © DBmi © D BMo© СВмц,

 

DBs

 

0

1

0

 

0

1

 

DB6

 

0

0

1

 

0

1

СВi DBm6 © DBm5 © DB\\ i © DBm2 © DBq © СВмь

 

 

 

 

DB-,

 

0

0

0

 

1

1

CB2= DBmi © DBms © E)Bm4© DBm2 © DB 1 © CBm2,

 

CBo

 

1

1

1

 

1

0

CB3= DBmi © DB^^ © DBm2 © DBmi © DBq © CBm3,

 

CBi

 

1

1

1

 

0

1

 

CB2

 

1

1

0

 

1

1

CB4 = DBmi © DBm6 © DBms © DBm4 © DB3 © CBm4.

 

 

 

 

СВг

 

1

0

1

 

1

1

Разряды синдрома ошибки можно представить

 

CB4

 

0

1

1

 

1

1

 

 

1

1

1

 

1

1

в виде:

 

 

 

 

 

СВо = DBm4 © DBM3 © DBmi © DB^o© (DB4 © DB3 © DB, © DBq)m © T

CB, = DBM6© DBms © DBM3 © DBM2 © DB0© (DB6© DB5 © DB3 © DB2 © DB0)M © 1,

CB2 = DBmi © DBms © DBm4© DBm2© DBi © (DB7 © DBs © DB4© DB2© D B \)м © 1 ■ CB3 = DBmi © DBm6© DBm2 © DBmi © DBq © (DB7 © DBe © DB2 © DB, © DBo)m © T

CB4 = DBM7 © DBM6 © OBM5 © DBM4 © DB3 © (DB7 © DB6 © DB5 © DB4 © DB3)M© 1 ■

132 Глава 1. Микропроцессоры 8080 и 8085

Легко убедиться, что если при чтении памяти ошибки отсутствуют, т. е. все разряды

DBMi = DBj и СВщ = CBj, то все разряды синдрома ошибки CBj = 1 (для этого

из последних

формул

следует просто исключить индекс М). Свойства синдрома ошибки

представлены

в табл.

1.33.

 

Могут использоваться и инверсные значения некоторых разрядов CBj, например:

СВ0 = DB4 0 DBS© DB, © DB0© (CBm v S,S0) © 1,

CB{ = DB6© DBS © DB3 © DB2 © DB0© (CBMl v 5,50) © 1,

что не влияет на значения разрядов синдрома ошибки, хотя и будут записываться в память ин­ версные значения проверочных разрядов СВ0 и СВ\.

Устанавливаемые в ИС ‘636 и ‘637 значения флагов ошибок представлены в табл. 1.34 — при обнаружении двукратной ошибки (катастрофической) флаг DEF используется для подачи на МП сигнала запроса прерывания, вызывающего подпрограмму обработки катастрофическо­ го отказа ОЗУ. Однократные же ошибки исправляются без каких-либо последствий для МП-системы. Р табл. 1.35 приведена связь между кодом синдрома ошибки и типом ошибки (DBj — однократная ошибка, 2 — двукратная ошибка, ML — многократная ошибка).

На рис. 1.63, а изображена структурная схема МП-системы с 8-разрядной шиной данных, в которой используется ОЗУ с обнаружением двукратных и исправлением однократных оши­ бок. Узел Control Logic формирует сигналы управления So и S\ для EDAC ‘636 из системных сигналов управления чтением MEMR и записью MEMW данных £>7-0 в ОЗУ (рис. 1.63, б).

При записи значением сигнала MEMW = 0 байта данных DB1^) в память значения разрядов DB7_о сразу же появляются на выходах “прозрачного” регистра памяти RG, (см. рис. 1.62). Ге­ нератор паритета (Parity Generator) при записи данных в память (S’, ■SQ= 1) выполняет функ­ цию генератора проверочного слова CB4 (h которое проходит через открытый буфер (Buffer 1) и записывается значением сигнала MEMW = 0 в дополнительное 5-разрядное ОЗУ (см. табл. 1.31).

Таблица 1.34. Ф лаги ошибок ИС ‘636 и ‘637

 

Число ошибок

Флаг ошибки

Примечание

 

DBi

CBj

SEF

DEF

 

 

 

 

 

0

 

0

0

 

0

Ошибок нет

 

1

 

0

1

 

0

Коррекция данных

0

 

1

1

 

0

Коррекция данных

1

 

1

1

 

1

Запрос прерывания

2

 

0

1

 

1

Запрос прерывания

0

 

2

1

 

1

Запрос прерывания

 

Таблица 1.35. Типы ошибок ИС ‘636 и ‘637

 

CW

 

 

( В ; С'В, СЬ 2

 

 

СВ,

СВо

ООО

001

010

Oil

100

101

110

111

0

0

ML

2

2

Ш 3

2

DB0

2

2

0

1

2

DB6 d b 5

2

d b 2

2

2

с в {

1

0

2

2

d b 4

2

DBi

2

2

СВ0

1

1

DB-,

2

2

СВ,

2

CB3

св2

0

1.11. Обнаружение и исправление ошибок в оперативных запоминающих устройствах 133

Рис. 1.63. Структурная схема МП-системы с EDAC

При чтении значением сигнала MEMR = 0 байта данных из памяти в регистры памяти R G X и RG2 поступают и фиксируются в них значения DB10 и СД4 0 соответственно. Эти значения поступают на входы генератора паритета (Parity Generator), выполняющего при чтении данных из памяти функцию генератора синдрома ошибки СВ4 0 (5, • S0 = 0). Синдром ошибки исполь­ зуется для установки флагов ошибок SEF и DEF (узел Error Detector), а также для исправления байта данных DB7_0, принимаемого МП, при однократной ошибке (узлы Error Decoder, Error Corrector и Buffer 2). При этом буфер Buffer 1 выдает на выходы C #M| значение синдрома ошибки для указания разрядов, вызвавших ошибку (см. табл. 1.31).

Для исследования синдрома ошибки его можно зафиксировать сигналом L = S', = 1 в реги­ стре памяти RG (рис. 1.63, а) и затем командой IN CSRG ввести в аккумулятор МП (обычно этого делать не требуется).

Моделирование ИС ‘636. Для более детального ознакомлением с принципом построения EDAC было произведено моделирование EDAC ‘636 с помощью модифицированного про­ граммного пакета Micro-Logic II (этот пакет в упакованном виде был размещен на одной диске­ те и вместе с книгой [5] поступил в продажу в 1997 г.).

На рис. 1.64 изображена разработанная принципиальная схема EDAC ‘636, которая может несколько отличаться от фирменной схемы (неизвестной). Лабораторная работа для исследова­ ния EDAC с помощью пакета Micro-Logic II (файл u_edac.dwg) приведена на рис. 1.65 — ОЗУ моделируется двумя регистрами типа SN1AALS992 [5], а ошибки вводятся с помощью приемо­ передатчиков TRN2 (Noise — помехи).

134

Глава 1. Микропроцессоры 8080 и 8085

Рис. 1.64. Принципиальная схема EDAC ‘636

1.11. Обнаружение и исправление ошибок в оперативных запоминающих устройствах 135

ка/от CPU

Рис. 1.65. Лабораторная работа из пакета Micro-Logic II

Исправление однократной ошибки

U1+R2’

50

51

OEM’

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

SEF

DEF

CB0

СВ1 СВ2 СВЗ СВ4

Запись байта

Чтение байта ■

Коррекция

данных

данных

байта данных

Рис. 1.66. Временные диаграммы работы EDAC для ошибок в одном и двух разрядах данных (см. также с. 136)

1.11. Обнаружение и исправление ошибок в оперативных запоминающих устройствах 137

где S\S(, — сигнал управления, задающий вычисление проверочного слова (S\S0 = 1, DB, — за­ писываемые в память разряды слова данных) и синдрома ошибки (S tSo = О, DB, = DBM, и СВщ— разряды слова данных и проверочного слова, прочитанных из памяти), а индекс М оз­ начает, что разряд может быть прочитан из памяти с ошибкой (0 вместо 1 или 1 вместо 0).

Таблица 1.36. Вычисление проверочных разрядов в И С ‘630 и ‘631

Разряды

 

 

 

 

 

Разряды слова данных

 

 

 

 

 

проверочного слова

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

СВо

-

-

+

-

-

+

+

+

-

-

-

+

+

-

+

+

СВ,

-

+

-

-

+

-

-

+

-

+

+

-

+

+

-

+

св2

+

-

-

+

-

-

+

-

+

-

+

+

-

+

+

-

СВ3

-

-

-

+

+

+

-

-

+

+

-

-

-

+

+

+

св4

+ + +

 

 

 

 

 

+ + + + + -

-

-

св5

+

+

+

+

+

+

+

+

 

 

 

 

 

 

 

 

Таким образом, проверочные разряды вычисляются по формулам (табл. 1.36):

 

 

СВ0 = D B !; 0 D B l() © DB,) © D B8 © DB4 © DB3 © DB, © DB0,

 

 

 

 

CBi = D Bn © D B ,, © D B8 © DB6© DB5 © DB3 © DB2 © DB„,

 

 

 

 

CB2 = DBis © D B 12 © DB9 © DB7 © DBS © D B, © D B2 © DB, © 1,

 

 

 

CB3 = D B I2 © D B,, © DB,o © DB7 © D B6© D B2 © DB, © D B0 © 1,

 

 

 

CB4 = DB,s © D B I4 © D B,3 © DB7 © D B6 © DB5 © DB4 © DB3 © 1,

 

 

 

CB5 = DB,s © D B m © D B ,3 © D B,2 © D B ,, © D B 10 © DB9 © D B8 © 1,

 

 

 

а разряды синдрома ошибки — по формулам:

 

 

 

 

 

 

 

 

 

 

 

CBqD BM© DBmiu © DBy[c> © DBms© DB\w © I)В ^; © DBm, © DB\!:i© ( 'В

 

© 1,

 

CB, —D Bm14 © DBm,, © DBms © DBm6 © D BM5 © DBm3 © DBm2 © DB^io © ^^mi ©

 

CB2 = D BMi5 © D BM,2 ©

 

© D/>\,v © I)B\]~. © DBm4 © DB\y2 © DBmi © C'B^^.

 

 

CB3 = D BM12 © D BM,, © DBm 10 © DB^n © DBm6 © D B^i © DBy^ © DBmo © CByi3,

 

CB4 = DBm 15 © D/>\][4 © DBm13 © DB^y © DBm6 © DBms © DBm4 © DBm3 © ^

\1:-

 

CBf =

 

 

Ф

1

Х

 

Y

 

 

 

 

222?ш & £2?MS.

 

Разряды синдрома ошибки можно представить в виде:

 

 

 

 

 

 

 

 

СВ0 = DBmi3 © D Bм1 о © DBM<) © DBms © D Bм4 © DBm3 © DBm, © DBmo © СВмо ©

 

© (D B ,3 © D B |0 © DBy © DBg © DB4 © D B t © DB, © DBq)m © 1,

 

 

 

CB, = DBm,4 © DBmu © DBms© OBM6© DBm5 © DBm3© D B ^2 © DBmo© CBM, ©

 

© (D BM© D B ,, © D BS © DB6© OB5 © DB3 © D B2 © D B0)m © 1,

 

 

 

CB2—D B M15© D/?m12 © DBm9 © DBm7 © DBm*,© DBm4© DBm2 © DB^i\ © ^ ^\i_ ©

 

© (D B,5 © D B ,2 © DB9 © D Bj © DB5 ®

D B 4 ® D B2®

D B,)m © 1,

 

 

 

CB3= D BM,2 © DBm, 1 © DBm10 © DB^y ®

D BM6© DBm2 © DBm, © DBmo © CBM3 ©

 

© (D B 12© D B,, © D B ,0 © D B7 © DB6© DB2 © DB, © D B0)M© 1,

 

 

 

138

 

 

Глава I. Микропроцессоры 8080 и 8085

 

 

 

 

 

Таблица 1.37. Синдром ошибки (ИС 74LS630 и 74LS631)

 

 

Ошибка

 

Код синдрома ошибки

 

Ошибка

Код синдрома ошибки

 

в разряде

CB,

CB,

CB} CB2

CB1

CBo

в разряде св5 СВ4

св3 св2 Cfli

СВо

DB0

1

1

0

1

0

0

DB, 2

0

1

0

0

1

1

D B 1

1

1

0

0

1

0

DB 13

0

0

1

1

1

0

d b 2

1

1

0

0

0

1

DB 14

0

0

1

1

0

1

DB3

1

0

1

1

0

0

DB и

0

0

1

0

1

1

d b 4

1

0

1

0

1

0

CB0

 

 

 

 

1

 

. d b ,

1

0

1

0

0

1

1

1

1

1

0

DBb

1

0

0

1

0

1

CB,

1

1

1

1

0

1

DB-j

1

0

0

0

1

1

CB,

1

1

1

0

1

1

DB%

0

1

1

1

0

0

CB3

1

1

 

1

»1

1

DB9

0

1

1

0

1

0

CB,

1

0

1

1

1

1

DB, 0

0

1

0

1

1

0

CB5

0

1

1

1

1

1

D B U

0

1

0

1

0

1

1

1

1

1

1

1

 

 

Таблица 1.38. Типы ошибок (ИС 74LS630 и 74LS631)

 

 

 

 

CW

 

 

 

 

св5 св4 св3

 

 

 

 

 

св2 СВ, СВо

ООО

001

010

011

100

101

110

111

 

 

0

 

0

0

2

ML

ML

2

ML

2

2

ML

 

 

0

 

0

1

ML

2

2

ML

2

DB 5

DB,

2

 

 

0

 

1

0

ML

2

2

DB9

2

d b 4

DB,

2

 

 

0

 

1

1

2

D B „

DB, 2

2

DB-,

2

2

CBZ

 

 

1

 

0

0

ML

2

2

D B g

2

DB3

DBo

2

 

 

1

 

0

1

2

DB ,4

DB,,

2

DB6

2

2

CB,

 

 

1

 

1

0

2

D B ,3

DB Ю 2

ML

2

2

CBo

 

 

1

 

1

1

ML

2

2

C'B5

2

CB4

CB3

0

 

 

СВ4 DB^[\5© DBmi4 © »Bmi3 © DBmi © DB© DBm, © DB© DBm?, © СВм4 © © (DBl5 © D B © D Bl3 © DBj © DB6 © DBS © DR, © DB3)M© 1,

CB, = DBfrii5 © DBmи © DBm\i © DBm,2 © DBmi1 © DBm10 © DBm9 © DBm&© CBm5 ©

© (DS15 © D B ,4 © DB,3© DB\2 © DB\ \ © DB\q © DBi) © DB$)м © 1.

Свойства синдрома ошибки представлены в табл. 1.37. Устанавливаемые в ИС ‘630 и ‘631 значения флагов ошибок такие же, что и для ИС ‘636 и ‘637 (табл. 1.34). В табл. 1.38 приведена связь между кодом синдрома ошибки и типом ошибки (DB, — однократная ошибка, 2 — дву­ кратная ошибка, ML — многократная ошибка). Однократные ошибки исправляются без какихлибо последствий.

EDAC 74LS616 и 74LS617. Структурная схема EDAC ‘616 изображена на рис. 1.68 (EDAC ‘617 описывается такой же структурной схемой, но буферы Buffer 1, 2 и 3 имеют откры­ тые коллекторные выходы):

DB |5_о (Data Bite) — разряды шины данных МП; CB5_q (Check Bite) — разряды проверочного слова;

Si, S0— сигналы управления внутренними операциями EDAC (табл. 1.39);

ERR (Single-bit Errors Flag) — флаг обнаружения и исправления однократных ошибок;

MERR (Dual-bit Errors Flag) — флаг обнаружения двукратных ошибок (Multi-Error)-,

1.11. Обнаружение и исправление ошибок в оперативных запоминающих устройствах 139

ОЕСВ (Output Enable Check Bite) — сигнал разрешения выхода проверочного слова; LEDBO (Data Bite Output Latch Enable) — сигнал разрешения фиксации в регистре ис­

правленного слова;

ОЕВ0 (Output Enable Byte 0) — сигнал разрешения выхода младшего байта данных; ОЕВ\ (Output Enable Byte 1) — сигнал разрешения выхода старшего байта данных.

Рис. 1.68. Структурная схема EDAC ‘616

Таблица 1.39. Управление работой ИС ‘616 и ‘617

Цикл

З Д

Функция EDAC

DB,

ОЕВцОЕВ, LEDBO

CBj

ОЕСВ ERR MERR

RAM

Запись

0 0

Генерация СВ5_0

Вход

1

1

х

Выход

0

1

1

Чтение

1

0

Чтение D BX5A)w СВ$ (1

Вход

1

1

х

Вход

1

1/0

1/0

 

 

 

из памяти и установка

 

 

 

 

 

 

 

 

 

 

 

флагов ошибок

 

 

 

 

 

 

 

 

Чтение

1

1

Фиксация в регистрах

Фиксация

 

 

Фиксация

1

1/0

1/0

 

 

 

DB i5_o и СВ5 о

DB,

 

 

 

CBj

 

 

 

Чтение

1

1

Коррекция D SI5^) и

Выход

0

0

х

Выход

0

1/0

1/0

 

 

 

генерация синдрома

 

 

 

синдрома

 

 

 

 

 

 

ошибки СВ5А)