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

[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

Фрагмент схемы, в котором реализовано подключение внешней памяти 8Кх8 (8 Кбайта) к микроконтроллеру, приведен на рис. 6.20. Для подключения с минимальным количеством дополнительных элементов пригодны микросхемы памяти, имеющие двунаправленную 8-разрядную шину данных (D0...D7), шину адреса и инверсные входы управления записью и считыванием (WE, ОЕ).

На фрагменте схемы к микроконтроллеру AT90S8515 (DD2) подключена микросхема внешней памяти НМ62256 (DD5) с организацией 32Кх8, из которых используется только 8Кх8, что требует использования тринадцати линий адреса (А0...А12) из пятнадцати имеющихся. Свободные контакты А13 и А14 шины адреса микросхемы DD5 соединены с общим проводом. Замечу, что эти контакты можно

DD2 AT90S8515.8PI

DD5 HM62256LP-12


Рис. 6.20. Подключение внешней памяти



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

Не использующиеся в приведенной схеме для работы с внешней памятью линии адреса микроконтроллера А13, ЛИ и А15 могут использоваться, скажем, для обращения к дополнительным регистрам, обеспечивающим передачу данных к внешним устройствам.

Установка адреса

По высокому уровню сигнала на контакте ALE микроконтроллера в регистр 74НСТ573 (DD3) производится запись младшего байта адреса, сформированного микроконтроллером на линиях A/D0...A/D7. Записанный в регистр младший байт адреса появляется на выходах регистра, соединенных с адресными входами микросхемы памяти (линии А0...А7).

На контактах порта С микроконтроллера формируется старший байт адреса (линии А8...А15).

Регистр 1533ИРЗЗ является функциональным аналогом регистра 74НСТ573, однако они выполнены по разной технологии. Опыт использования регистра 1533ИРЗЗ для фиксации младшего байта при работе микроконтроллера с внешней памятью показал, что при записи - считывании массива (О, 1,254, 255) появляются сбои, число которых сокращается при подключении конденсатора (десяпси пико-фарад) между контактом С регистра и общим проводом, использование же регистра 74НСТ573 полностью решало проблему и без конденсатора. Поэтому следует аккуратно относиться к заменен регистра.

Для качественного тестирования памяти удобно использовать подключение контроллера к компьютеру, используя UART микроконтроллера (Universal asynchronous receiver-transmitter - универсальный асинхронный приемопередатчик).

Считывание данных из внешней памяти

Если производится считывание данных из внешней памяти, то после того, как адрес установлен, линии порта А переводятся в режим ввода данных в микроконтроллер, на линии RD микроконтроллер формирует импульс отрицательной полярности. По сигналу RD шина данных D0...D7 микросхемы памяти DD5 переводится в режим



вывода данных, и по линиям A/D0...A/D7 из адресуемой ячейки в порт А микроконтроллера передаются хранимые данные.

Запись данных во внешнюю память

Для записи данных во внешнюю память, после того, как адрес установлен, линии порта А переводятся в режим вывода данных из микроконтроллера, на линии WR микроконтроллер формирует импульс отрицательной полярности. По сигналу WR шина данных D0...D7 микросхемы памяти DD5 переводится в режим ввода данных, и по линиям A/D0...A/D7 из порта А микроконтроллера в адресуемую ячейку внешней памяти передаются данные для хранения.

Программный доступ к оперативной памяти

Начнем с простой программы обращения к оперативной памяти. Для этого необходимо, чтобы на вашем компьютере была установлена среда разработки AVR Studio корпорации Atmel (http: www.at-mel.com), в которой создаются и отлаживаются программы для микроконтроллеров AVR.

Кроме того, в любую программу обязательно включается файл, определяющий регистры и имена битов микроконтроллера, для которого пишется программа. Для микроконтроллера AT90S8515 - это файл 8515def.inc, для AT90S4433 - файл 4433def.inc. Все файлы с расширением .inc на момент написания главы хранились в самораспаковывающемся файле avrOOO.exe.

Найти ссылки на файл для установки AVR Studio З.хх и на файл avrOOO.exe можно по адресу: http: www.atmel.com/atmel/products/ prod203.htm.

Инструкции и картинки, размещенные далее, соответствуют версии AVR Studio 3.51.

Создайте директорию, в которой будут размещаться файлы вашего проекта, например, C:\Avr\Try. Запустите скачанный файл avrOOO.exe, а появившийся в результате распаковки файл 8515def.inc скопируйте в созданную директорию C:\Avr\Try.

Запустите AVR Studio, на экране появится окно AVR Studio (обрамленное сверху синей полосой окно с надписью AVR Studio).

Создадим новый проект: Project New.



[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.0018