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

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

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

180

 

Глава 2.

Методы ввода-вывода

 

 

 

 

 

 

 

 

 

 

Продолжение табл. 2.5

ИС

Объем

F,

Тип

EMPTY

HF

А Ш Е

Технология

Число

памяти

МГц

выводов

 

 

 

 

‘7202LA

 

-

и

 

 

 

 

A C T

28, 32

‘72221L

 

 

 

 

 

 

32

 

 

 

 

 

 

 

 

‘2236

1К х 9

-

В

 

 

 

 

A C T

44

‘7807

 

67

и,

с

-

+

+

A C T

44, 64

‘7203L

2К х 9

 

и

 

 

 

 

 

28, 32

‘7808

50

 

+

+

+

A C T

44, 64

 

 

‘72231L

 

 

 

 

 

 

 

 

32

‘7204L

4К х 9

-

и

 

 

 

 

A C T

28, 32

‘72241/,

 

 

 

 

 

32

 

 

 

 

 

 

 

 

‘7205L

8К х 9

и

 

 

 

 

A C T

28, 32

‘7206L

1 6 К х 9

 

и

 

 

 

 

A C T

32, 32

‘7813

64 х 18

67/50

и

 

-

+

+

ACT/ALVC

56

‘7814

50/40

 

+

+

+

 

и,

с

 

 

‘7805

256 х 18

67/50

-

+

+

ACT/ALVC

56

‘7806

40

и

 

+

+

+

A LV C

 

 

 

‘7803

 

67/50

и,

с

 

+

+

ACT/ALVC

56

‘7804

 

50/40

и

 

+

+

+

512 х 18

 

 

 

‘7819

80

в,

с

-

+

+

 

80

 

A B T

‘7820

 

67

в

 

+

+

+

 

 

 

 

‘7811

 

40

и,

с

-

+

+

A C T

68, 80

‘7881

1К х 18

67

-

+

+

и

 

 

 

‘7802

 

40

 

+

+

+

A C T

68, 80

‘7882

2 К х 18

-

с

 

 

 

 

A C T

68, 80

‘3612

 

67

в ,

с

+

-

+

A B T

132, 120

‘3614

64 х 36

+

-

+

 

 

 

 

 

‘3611

 

 

 

+

-

+

 

 

 

67

и,

с

A BT

132, 120

‘3613

 

+

-

+

 

 

 

 

 

 

‘3622

256 х 36

67

в,

с

+

-

+

A C T

132, 120

‘3638

5 1 2 x 3 2

67

в,

с

+

-

+

A C T

132, 120

‘3631

5 1 2 x 3 6

67/100

и,

с

+

+

ACT/ALVC

132, 120

‘3632

67

в,

с

4-

+

A C T

 

 

‘3641

1К х 36

67/100

и,

с

+

-

+

ACT/ALVC

132, 120

‘3651

2К х 36

67/100

и,

с

+

-

+

ACT/ALVC

132, 120

П р и м е ч а н и с: СClocked, ВBidirectional (двунаправленная передача данных), VUnidirectional.

FIFO SN14ALS232B (16 х 4 бит). Чтение и запись в этом FIFO (рис. 2.25) асинхронные: запись данных производится положительным фронтом сигнала LDCK (load-clock), а чтение — положительным фронтом сигнала UNCK (unload-clock), причем эти сигналы могут совпадать по времени. Передача данных однонаправленная со скоростью от 0 до 40 МГц. На рис. 2.26 показана структурная схема FIFO'.

Ring Counter — кольцевые адресные счетчики;

Comparator— цифровой компаратор адресных сигналов кольцевых счетчиков;

2.6. Память типа FIFO

181

RAM 1 6 x 4 бит — синхронная статическая память объемом 16 х 4 (16 четырехразрядных

слов), независимо адресуемая двумя кольцевыми счетчиками;

C ontrol Logic — схема управления, формирующая с помощью разностных элементов [5]

из входных

потенциальных сигналов LD C K и U NCK импульсные тактовые сигналы CWR

(Clock W rite)

и CRD (Clock R ead) для кольцевых адресных счетчиков; сигнал CWR использует­

ся и для записи входных данных D3_0 в память.

Кольцевые счетчики содержат по 16 триггеров — дешифрация адресов не требуется, так как у кольцевых счетчиков выходной сигнал только одного триггера равен 1 (кодирование ад­ ресов производится 16-разрядными унитарными кодами Р и Q) [5].

 

о

 

*

 

о

fei о

ir ni'

 

3

 

k.

О

‘232В

u

u m

Корпус типов

SO 1C и PDIP 300 m il

о е \_ 1

f u l l L

2

l d c k L

3

£>()[ 4

D l [

5

D 2 [

6

D 3 [

7

g n d L 8

U

16 IV cc

15 ] UNCK

14 I e m t y

13 ] < 2 0

12 : e i

11 ]Q 2

10 J q 3

9 J r s t

 

3

2

1

20

19

 

 

LDCK

 

 

 

 

18

С

EMPTY

DO

 

‘232В

17

С

Q0

NC

 

16

С

NC

Dl

□ 7

 

 

 

15

С

Qi

D2

□ 8

 

 

 

14

С

Q2

 

9

10

II

12

13

 

 

 

П

П П П П

 

Корпус типа

PLC C

Рис. 2.25. FIFO ‘232В

Рис. 2.26. Структурная схема FIFO ‘232В

182 Глава 2. Методы ввода-вывода

Все ячейки памяти можно пронумеровать числами от 1 до 16 в порядке их выбора при поступлении тактовых сигналов на счетчики. Адресам записи Р и чтения Q присваиваются эти же числа, хотя и используется не двоичное их кодирование: AW R - Р = 1 -г- 16 — адреса записи

данных D3^0, A RD - Q = 1 + 16 — адреса чтения данных <2з о- После выбора последней (16) ячейки памяти адресуется снова первая (1) ячейка памяти, т. е. память можно представить в виде кольца (рис. 2.27). При загрузке и выгрузке слова данных из FIFO производится инкре­ мент адреса. Память с такой адресацией представляет собой кольцевой стек.

Для квитирования ввода и вывода FIFO снабжено дву­ мя флагами: EM PTY и FULL (E M P TY = 0 — FIFO пустое,

FULL = 0 — FIFO полностью загружено). Активное значе­

ние сигнала сброса R ST = 0 инициализирует счетчики (в со­ стояние 1 устанавливается только один триггер, адресую­ щий первую ячейку памяти) и устанавливает значения фла­ гов EM PTY = 0 и FULL = 1 (рис. 2.28). Данные загружаются в FIFO положительным фронтом сигнала LDCK, когда флаг FULL = 1, а чтение — положительным фронтом сигнала U N CK , когда флаг E M PTY = 1. Полная загрузка FIFO возни­ кает в непредсказуемый момент времени, когда количество загруженных слов превысит на 16 число выгруженных слов. Выход Р - Q компаратора равен 1 при совпадении состоя­ ний счетчиков, выход Р = Q - 1 равен 1 при опережении на 1

состояния счетчика адресов записи состояния счетчика адресов чтения, а выход Р = Q + 1 равен 1 при отставании на 1 состояния счетчика адресов записи от состояния счетчика адресов чте­ ния. С помощью этих сигналов формируются флаги E M PTY и FU LL, и производится запрет счета адресов записи после полной загрузки FIFO.

RST

Рис. 2.28. Временные диаграммы для FIFO ‘232В (О Е = 1)

FIFO имеет два порта данных: D3_0 — 4-разрядный порт ввода данных (для МП-системы это порт вывода данных) и <2з_о — 4-разрядный порт вывода данных (для М П-системы это порт ввода данных). Выходы данных QsA) имеют Z-состояние при значении сигнала ОЕ = 0. Выходные данные не инвертированы относительно входных данных. Запись слова данных производится по заранее установленному адресу, а затем производится инкремент адреса. При

2.6. Память типа FIFO

183

полной загрузке FIFO сигнал L D C K не оказывает никакого влияния на находящиеся в нем дан­ ные. Выгрузка слова данных из FIFO — это, по существу, инкремент адреса чтения. Обычно выгрузка слова данных сопровождается его чтением из FIFO по заранее установленному адре­ су значением сигнала О Е = 1, а затем производится инкремент адреса (выгрузка). Когда FIFO пусто, сигнал U N C K не оказывает на него воздействия. В М П-системах сигналы L D C K и U N C K должны формироваться при выполнении команд вывода OUT p o rt и ввода IN p o rt соответст­ венно: L D C K = I/O W ■CS и U N CK = I/OR ■CS = OE.

По описанному выше методу построено и FIFO SN1AALS2232A 64 х 8 бит. Каскадирова­ ние этих FIFO легко выполняется в направлении увеличения разрядности слов, но невозможно в направлении увеличения их глубины.

Структурная схема FIFO , изображенная на рис. 2.26, столь подробна, что не составляет труда нарисовать его принципиальную схему, что и было сделано для программного пакета M icro-Logic II, предназначенного для моделирования цифровых устройств. На рис. 2.29 изо­ бражены временные диаграммы, полученные с помощью этого программного пакета. Сигналы CWR и CRD формируются разностными элементами (см. рис. 2.26) и используются в качестве тактовых сигналов адресных счетчиков и синхронной памяти, в качестве которой был исполь­ зован синхронный регистровый файл 1 6 x 4 бит.

Рис. 2.29. Временные диаграммы модели FIFO ‘232В

F IF O SN 74AC T78Q 8 (2048x9 бит). Чтение и запись в данном FIFO (рис. 2.30) асинхрон­ ные: запись данных производится положительным фронтом сигнала LD C K (load-clock), а чте­ ние — положительным фронтом сигнала U N CK (unload-clock), причем эти сигналы могут сов­ падать по времени. Передача данных однонаправленная со скоростью от 0 до 50 МГц (время доступа равно 15 не при емкостной нагрузке 50 пФ). FIFO имеет два порта данных (рис. 2.31): О 8_о — 9-разрядный порт ввода данных (для МП-системы это порт вывода данных) и б 8_() — 9-разрядный порт вывода данных (для МП-системы это порт ввода данных). Выходы данных 08-о имеют Z-состояние при значении сигнала ОЕ = 0. Для организации двунаправленной пере­ дачи данных между М П-системами нужно использовать два FIFO.

Для квитирования ввода и вывода

FIFO имеет четыре флага, информирующих

МП-системы о его состоянии: EM PTY FIFO пустое (EM PTY - 0), FULL FIFO полностью

загружено (FULL = 0), HF (H alf-Full Flag)

FIFO загружено наполовину (HF = 1, когда FIFO

содержит 1024 или большее количество слов) и программируемый флаг AF/AE (Program m able

184

 

Глава 2.

Методы ввода-вывода

 

 

 

 

 

 

 

 

Q

Q

 

 

 

 

 

Q Q

 

^

 

 

 

— 'J

£

м гп

^ ’t & о ^ ''О ^ ^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

п п п п п п п п п п п п п п п п

 

 

NC

64

63

62

61

60

59

58

57

56

55

54

53

52

51

50

49

 

NC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

48

20

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

47

<28

GND

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

46

Vcc

GND

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

45

Vcc

ОЕ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

44

UNCK

ХО

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

43

CASEN

Vcc

7

 

 

 

 

 

 

‘7808

 

 

 

 

 

 

42

NC

Усс

8

 

 

 

 

 

 

 

 

 

 

 

 

41

FL

'RESET

У

 

 

 

(Корпус типа TQFP)

 

 

 

40

 

PEN

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

39

 

GND

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

38

 

GND

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

37

 

AF/AE

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

36

 

HF

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

Vcc

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34

 

Vcc

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

33

 

 

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

 

 

 

U U U U U U U U U U U U U U U U

 

 

 

 

 

 

 

о о

 

 

 

 

^ р

\ 0

Г '

00

L)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

ti

 

 

 

Q

 

 

 

 

 

 

 

 

 

 

 

< Q|> Й

 

 

 

 

 

 

 

 

 

 

 

 

Йк ij

Й;kq

uj

Sj О Ч й о

 

 

 

 

 

 

 

 

£

4: <

 

 

 

^ ^ О О Oi

 

 

 

 

 

 

 

U U U U U U U U U U U

 

 

 

 

 

D0 1

 

б

5

4

3

2

1

44

43

42

41

40

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

39

С

<21

 

 

Dl

8

 

 

 

 

 

 

 

 

 

 

 

38

С

Vcc

 

 

D2 3

9

 

 

 

 

 

 

 

 

 

 

 

37

С

Q2

 

 

GND

ю

 

 

 

 

 

 

 

 

 

 

 

36

С

23

 

 

D3

11

 

 

 

 

‘7808

 

 

 

 

35

С GND

 

 

D4

12

 

 

 

 

 

 

 

 

34

С 24

 

 

 

(Корпус типа P L C C )

 

 

 

D5

13

 

 

33

С Vcc

 

 

Усс

14

 

 

 

 

 

 

 

 

 

 

 

32

С 25

 

 

D6

15

 

 

 

 

 

 

 

 

 

 

 

31

С 26

 

 

D l

16

 

 

 

 

 

 

 

 

 

 

 

зо

С

GND

 

 

DS

17

 

 

 

 

 

 

 

 

 

 

 

29

с

Q l

 

 

 

 

 

18

19

20

21

22

23

24

25

26

27

28

 

 

 

 

 

 

 

п п п п п п п п п п п

 

 

 

 

 

 

 

 

 

 

 

 

<1

 

 

 

 

 

Oi

 

 

 

 

 

 

 

 

o q q

 

-J

U,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U4

 

 

 

 

 

 

 

 

 

Рис. 2.30. FIFO ‘7808 фирмы Texas Instruments

Alm ost-Full/Alm ost-Em pty F lag) —

почти полное/почти пустое FIFO (AF/AE = 1). Активное зна­

чение сигнала сброса RESET =

0 устанавливает значения флагов: E M PTY = 0, FULL - 1, HF = 0

и AF/AE = 1 (сброс должен производиться при каждом включении питания системы).

Данные загружаются в FIFO положительным фронтом сигнала LDCK, когда значение

флага F ULL = 1, а чтение — положительным

фронтом

сигнала

UNCK, когда значение флага

EM PTY = 1. Полное заполнение FIFO возникает при превышении на 2048 числа загруженных

слов количества выгруженных слов.

При полной загрузке FIFO сигнал L D C K не оказывает ни­

какого влияния на находящиеся в нем данные. Когда FIFO пусто, сигнал U NCK не оказывает на него воздействия. В МП-системах сигналы L D C K и U NCK должны формироваться при вы-

2.6. Память типа FIFO

185

полнении команд вывода OUT p o rt и ввода IN p o rt соответственно. При передаче блоков слов данных можно использовать вывод и ввод по прерыванию или по прямому доступу к памяти, используя изменения, например, флага HF для формирования сигнала запроса прерывания или прямого доступа к памяти.

Флаг AFIAE характеризуется двумя программируемыми значениями глубин смещения (.D epth-offset): X и Y. По умолчанию (если значения X и Y не программируются) глубина смещ е­ ния для флага AF/AE устанавливается равной 256 словам: X = 256 для флага АЕ (почти пустое FIFO) и Y - 256 для флага A F (почти полное FIFO). Значение флага AF/AE = 1, когда FIFO со­ держит X или меньшее количество слов или 2048 - Y или большее количество слов.

Смещения X и Y можно программировать только после сброса FIFO (до загрузки в FIFO первого слова данных) и установленном значении сигнала LD C K = 0 (рис. 2.32). Разрешение

программирования производится подачей значения сигнала P E N = 0 (P rogram Enable — раз­ решение программирования). По первому положительному фронту сигнала L D C K в регистре памяти фиксируется 10-разрядное значение DA)Dg_o для смещений X и У, а второй положитель­ ный фронт сигнала L D C K перепрограммирует смещение К, если это необходимо. Максималь­ ное значение смещения 0 Р 90 $ ^ = 1023 можно использовать только для одного из смещений X или Y. Во время программирования загрузка данных в FIFO заблокирована. Чтобы использо­ вать значения смещений по умолчанию (X = Y = 256), при сбросе следует установить значение сигнала P E N = 1.

EMPTY Ш Ш Ш ь _____________________________________

Рис. 2.31. Структурная схема FIFO ‘7808

Рис. 2.32. Временные диаграммы

 

 

 

 

 

программирования флага AF/AE

HF.

О

0

1

1

Таблица 2.6. Р азм еры б л о к о в данны х

AF/AE:

1

0

0

1

 

 

 

 

 

 

 

 

 

AF/AE

HF

Nld

N un

 

 

 

 

 

0

0

1024 слова

X слов

О

 

 

1024

2043

0

1

Y слов

1024 слова

 

 

 

 

 

1

0

1024 слова

1 слово

 

Рис. 2.33. Состояния FIFO

 

1

1

1 слово

1024 слова

186 Глава 2. Методы ввода-вывода

Для достижения максимальной скорости передачи данных флаги H F и A F/AE следует ис­ пользовать совместно — при программном квитировании вывода и ввода должны учитываться комбинации значений этих флагов (рис. 2.33). В табл. 2.6 приведены максимальные значения размеров загружаемых Nw и выгружаемых N un без побайтного квитирования блоков. При раз­ мере блока в 1 слово дальнейшая передача данных возможна лишь с побайтным квитировани­ ем. При этом, естественно, необходимо учитывать значения флагов FULL к EM PTY. Если флаг AF/AE не используется, то размеры блоков данных определяются двумя нижними строками табл. 2.6.

Четыре описанных флага имеет и FIFO SN14ALS2233A 64 х 9 бит, но флаг AFIAE не про­ граммируемый — AF/AE = 1, когда FIFO содержит меньше девяти или больше 55 слов.

Четыре сигнала FIFO CASEN (Cascade Enable — разрешение каскадирования), FL (First Load — вход начала загрузки), XI (Expansion Input — вход расширения) и ХО (Expansion Output — выход расширения) — используются для их каскадирования с целью увеличения (расширения) глубины FIFO. Если расширение FIFO по глубине не производится, то следует задать значение сигнала CASEN = 1, а при расширении глубины FIFO необходимо задать

CASEN 0. На рис. 2.34 изображено FIFO 6К х 9 бит, построенное из трех FIFO 2К х 9 бит. Для первого FIFO в цепочке следует задать значение сигнала F L - 0, а для остальных —

FL = 1. Выход расширения ХО одного устройства подключается к входу расширения XI сле­ дующего устройства в цепочке, а выход расширения ХО последнего устройства в цепочке дол­ жен быть связан с входом расширения XI первого устройства. Ш ина данных общая для всех

FIFO в цепочке. Для индикации граничных условий флаги FULL и EM PTY всех FIFO должны быть объединены по ИЛИ. Таким способом можно соединить любое число FIFO.

На рис. 2.35 показан способ каскадирования FIFO , позволяющий увеличивать разрядность слов данных. Таким способом можно увеличить разрядность слов в любое число раз. Флаги

FULL и EM PTY можно и не объединять. Для двунаправленной передачи данных необходимо использовать два FIFO, включенных в противоположных направлениях (рис. 2.36).

О бнаруж ение одн ократн ы х ош ибок в F IF O . Ошибки в работе FIFO происходят не

влиниях связи, а при записи и чтении данных, например, из-за импульсных помех источника питания. Для обнаружения однократных ошибок достаточно использовать контроль паритета

в9-разрядных FIFO (рис. 2.37).

RESET-

-OE

CASEM

FL

 

rU-

 

CASEM

FL

CASEN

ХО

XI

ХО

XI

XO

— ^ RESET

•RESET

OE

RESET

OE

•°8-0 68-0

DS-0 08-0

Ds-a 28_o

>LDCK UNCJC<

>LDCK UNCfC<,

>LDCK I’JNC K i

FULL EMPTY

FULL

EMPTY

FULL

EMPTY

-------о—

L—9--------

L- Q

o—

~UNCK

LD CK-

>FULL

*EMPTY

Рис. 2.34. Расширение глубины FIFO с 2K до 6К

 

 

 

 

 

2.6. Память типа FIFO

 

 

 

187

LDCK------

>LDCK

 

UNCK<

-U N C K

LD C K -

- >LDCK

UNCK<

 

-UNCK

 

т

FULL

EMPTY

EMPTY

FULL<r

'FULL

EMPTY

 

* EMPTY

 

'78Q8

— OE

 

'7808

 

 

 

 

RESET

 

OE

RESET -

>RESET

OE

 

- OE

 

 

 

 

 

 

1 7 -9 -

DS. 0 CASENQ^ 0

^>6,17 -9

BDg-Q

D a. 0 C A S S N Q ^ 0

 

Я?8"0

 

 

 

 

 

 

 

Ti

 

 

 

 

 

 

 

О

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

>LDCK

 

UNCK К

 

UNCK —

->UNCK

LDCKК

 

LD C K

 

 

FULL

EMPTY

 

EM PTY<

>EMPTY

FULL

 

->FtOl

 

 

'7808

OE

 

OE —

'7808

 

 

R E S E T -

^ R E S E T

 

 

OE

RBSBTfyr-

— RESET

 

 

 

 

 

Ds _0 C ASENQ s _0

- ^ 6 8-o

 

:e 8_0 CASEN £>8. 0

v_k

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.35. Удвоение разрядности

Рис. 2.36. Двунаправленная

 

слов данных FIFO

 

передача данных

 

 

 

 

 

 

FULL Г

H F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I/OW -CS

I/O R -CS

 

 

 

 

ОЕ

■^1

о

 

ь 1

FIFO

__ ,

,_____

 

2 0 4 8 X 9

A F /A E

‘280

М2

РВ*

1- /8

Parity Generator (передатчик)

о? - 0

I

М 2

0

1

РЕ * РО

7

PE\

12

Parity Checker (приемник)

Рис. 2.37. Контроль передачи данных FIFO

ИС ‘280 описываются функциями:

« ? = £ / „ = / „ © £ / „ И P O = ^ I p = I s ® ^ I p ,

р - 0

р ~ 0

р= 0

р

где /,, — входные сигналы разрядов данных (р = 0,

1, . . 8 ) ,

Р Е (P arity Even) — выходной сиг­

нал четного паритета, Р О (P arity O dd) — выходной сигнал нечетного паритета (РО ~ РЕ), Е — операция сумма по модулю два.

При передаче 8-разрядных данных D 7_0 генератор паритета (Parity G enerators) добавляет девятый проверочный разряд

D ,= P E x = Y . D p ,

р=0

т. е. в FIFO загружаются 9-разрядные двоичные коды P E [D 1D bD fD 4D 3D 2D lD ih всегда содержа­ щие четное число единиц.