Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [ 85 ] [86] [87] [88] [89] [90] [91] [92] [93]

роллера AT90S8515, равно 4095, следующее значение - снова ноль, поэтому и произошел переход в начало программы, а к содержимому счетчика циклов процессора добавились циклы загрузки отсутствующих команд.

Обычно микроконтроллеры работают в бесконечном цикле. Если программа завершила свое выполнение и ожидает прерывания, установите в конце команду зацикливания на себя:

Stop:rjmpStop

Автор: Баранов Вадим Николаевич (E-mail: bvnl23@bk.ru).

Подключение внешней памяти 512 Кбайт к микроконтроллеру

AT90S8535

На момент написания книги лишь два микроконтроллера серии АТ90 были снабжены интерфейсом подключения внешней памяти: AT90S4414 и AT90S8515. К тому же первый из них уже снят с производства.

В этой же серии есть микроконтроллеры со встроенным аналого-цифровым преобразователем (АЦП). Часто встречающаяся задача, возлагаемая на такие микроконтроллеры, - преобразование аналоговых сигналов в код с записью кода в память в реальном времени. Однако внутренней памяти микроконтроллеров для этого обычно не достаточно, интерфейса для подключения внешней памяти они не имеют.

Здесь представлен возможный вариант подключения внешней памяти большого объема к микросхеме AT90S8535. Микроконтроллер снабжен встроенным 10-разрядным АЦП с восемью входами, коммутируемыми программно. В качестве входов АЦП в микроконтроллере используются контакты порта А, поэтому не будем задействовать этот порт для организации связи с внешней памятью.

На рис. 6.27 представлен фрагмент схемы, реализующий подключение микросхемы статической памяти K6T4008CIB-GB55 (DD5) к микроконтроллеру AT90S8535 (DD6).

Микросхема памяти K6T4008CIB-GB55 производства фирмы Samsung Electronics по своим функциям не отличается от аналогичной микросхемы НМ62256, использованной в схеме подключения внешней памяти к микроконтроллеру AT90S8515 (смотрите преды-



с


1. tl

г S g й

<

IJOOOOOQOO £CLO.CLO.CLQ.CLCL

.-f--1


5 ёг

г 3 I

<<<<<<<<<<<

<

<

<

S53SSSS&

QOQOOOOO

8 53S5SS&

Рис. 6.27. Подключение микросхемы статической памяти K6T4008CIB-GB55



дущий пример). Процедура записи и считывания данных для обеих микросхем одинакова.

Одинаково функционируют их двунаправленные 8-разрядные шины данных (контакты IO0...IO7), а также линии

• записи (контакт WR);

• управления шиной данных (контакт ОЕ);

• выбора микросхемы (контакт CS).

Отличие состоит в объеме памяти: 19-разрядная шина адреса (контакты А0...А18) микросхемы K6T4008CIB-GB55 обеспечивает обращение к 219 ячейкам памяти, это значит, что в микросхеме можно хранить до 512 Кбайт данных (512К х 8).

Описание схемы

В таблице описаны линии, по которым микроконтроллер производит управление микросхемой памяти.

Линия

KoHTaia микроконтроллера

С чем соединяет/конт.

Назначение

DD6/PC4

DD5/WE

Запись данных в DD5 при низком уровне

DD6/PC3

DD5/0E

Считывание данных из DD5 при низком уровне

BUF1

DD6/PD3

DD4/C

Запись старшего байта адреса в регистр DD4 при высоком уровне

BUF2

DD6/PD4

DD3/C

Запись младшего байта адреса в регистр DD3 при высоком уровне

AR0...AR2

DD6/PC0...PC2

ОО5/А0..Л2

Адрес страницы

В исходном состоянии микроконтроллер устанавливает высокие уровни на линиях WR и RD, низкие уровни на линиях BUF1 и BUF2.

Программно память как бы разбита на 8 страниц по 64 Кбайт в каждой. Три бита адреса из 19-ти микроконтроллер формирует на линиях AR0...AR2, выбирая одну из страниц памяти.

Адрес внутри страницы формируется двумя 8-разрядными регистрами 74НСТ573 (DD3 и DD4).

С этой целью на шину данных (линии В0...В7) через порт В микроконтроллера (контакты РВ0...РВ7) выводится младший байт адреса, после чего микроконтроллер устанавливает высокий уровень на



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [ 85 ] [86] [87] [88] [89] [90] [91] [92] [93]

0.0008