Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Внешняя RAM для AT90S8535
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Coffee313
Всем привет! Стоит такая задача: на основе AT90S8535 разработать устройство для опроса переключателей, датчиков, диодов, располагаемых по адресам внешнего адресного пространства. Я так понимаю, что нужно подцепить внешнюю RAM (скорее всего SRAM), но у AT90S8535 я не нашел интерфейс под это дело. Видимо нужно организовывать шину.. Не совсем понимаю, как это реализовать, взять пины какого нибудь порта под data + под r/w + adr. Какой чип памяти под это дело подойдет? Если есть документация какая-нибудь, может какие соображения, буду очень признателен.
Реализовать программу мне нужно на С, проектирую в Proteus-е.
Копейкин
AT90S8535 - старый контроллер, может возьмёте ATMEGA128? Там уже есть внешняя шина...

Цитата
устройство для опроса переключателей, датчиков, диодов, располагаемых по адресам внешнего адресного пространства.

Этот момент непонятен, для этого мс ОЗУ не нужно подключать.

Цитата
нужно подцепить внешнюю RAM

А так, можно взять любую статическую память, в удобном вам корпусе. Поставить 2( или сколько требуется) регистров-защелок для адреса. Выделить один 8-битный порт для записи адреса в регистры и чтения записи данных. 2 (или сколько нужно) сигнала для защелкивания адреса в регистры + сигналы управления RAM (CS, WR, etc). Быстро работать такая конструкция не будет, сами понимаете, и эта память не будет присоединена к внутренней шине контроллера.
Obam
Полный аналог AT90S8535, но с внешней шиной это - AT90S8515.
Coffee313
Цитата(Obam @ Sep 23 2016, 14:18) *
Полный аналог AT90S8535, но с внешней шиной это - AT90S8515.

Да, про 81515 знаю, что там есть, дело в том, что это курсовая работа, по заданию дана именно 8535.
Цитата(Копейкин @ Sep 23 2016, 14:06) *
Этот момент непонятен, для этого мс ОЗУ не нужно подключать.

Препод сказал, что нужно выделить место во внешней ОЗУ, мол, для всех моих переключателей, и тд. Даже адреса даны: 0xFFF0б FFF1 и тд.

По поводу подключения и программирования, да и вообще какую память выбрать, подскажите пожалуйста какие нибудь статьи если знаете, нужно начать с чего то, чтобы разобраться.
prottoss
Цитата(Coffee313 @ Sep 23 2016, 17:53) *
Да, про 81515 знаю, что там есть, дело в том, что это курсовая работа, по заданию дана именно 8535.

Препод сказал, что нужно выделить место во внешней ОЗУ, мол, для всех моих переключателей, и тд. Даже адреса даны: 0xFFF0б FFF1 и тд.

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

Объясните своему преподавателю, что у Atmega8535 (AT90S8535) нет шины для подключения внешней памяти данных. Предложите ATmega8515, ATmega162, ATmega128 или еще какой вариант с МК, у которого есть в наличии такая шина.
Obam
С 8515 можно "прогнуться" и на одном и том же устройстве продемонстрировать разницу в производительности хардверной и софтово реализованной шин.

"…подскажите пожалуйста какие нибудь статьи если знаете, нужно начать с чего то, чтобы разобраться"

В те чудесные времена можно было спокойно обходиться одним даташитом на микроконтроллер (Rev. 0841E–04/99) - смешные 101 стр вплоть до набора исполняемых команд.
prottoss
Цитата(Obam @ Sep 23 2016, 18:45) *
С 8515 можно "прогнуться" и на одном и том же устройстве продемонстрировать разницу в производительности хардверной и софтово реализованной шин.


Цитата
Препод сказал, что нужно выделить место во внешней ОЗУ, мол, для всех моих переключателей, и тд. Даже адреса даны: 0xFFF0б FFF1 и тд.
Читали? Можно организовать софтовый доступ к внешним ОЗУ/УВВ - это понятно. Но что с адресами то делать?
Если я правильно понял, что препод хочет, чтобы в программе был указатель на нужный адрес УВВ и по нему можно было бы читать и писать... Если в МК шина данных не выведена наружу - по определению - это не возможно.
Obam
Цитата(prottoss @ Sep 23 2016, 16:59) *
Читали? Можно организовать софтовый доступ к внешним ОЗУ/УВВ - это понятно. Но что с адресами то делать?
Если я правильно понял, что препод хочет, чтобы в программе был указатель на нужный адрес УВВ и по нему можно было бы читать и писать... Если в МК шина данных не выведена наружу - по определению - это не возможно.


Читал. В 8515 шина есть. Дополнить и изменить, в нужную себе сторону, курсяк - это "+" к карме "студня" в глазах "препа".
Coffee313
Пойду тогда во вторник разбираться. Я правильно понимаю, что через интерфейс я смогу спокойно программным образом обращаться к нужному месту в памяти?
prottoss
Цитата(Coffee313 @ Sep 23 2016, 19:20) *
Пойду тогда во вторник разбираться. Я правильно понимаю, что через интерфейс я смогу спокойно программным образом обращаться к нужному месту в памяти?
+1. Если преподу покажете, что Вы не "лыком шиты" и "тоже шарите" Вам только будет на руку.


Цитата(Coffee313 @ Sep 23 2016, 19:20) *
Пойду тогда во вторник разбираться. Я правильно понимаю, что через интерфейс я смогу спокойно программным образом обращаться к нужному месту в памяти?
Понимаете совершенно верно. Можно будет организовать, например через #define нужные указатели - так делается в хидерах ко многим микроконтроллерам. И по этим константным указателям спокойно обращаться к нужным датчикам и прочим УВВ.
Но Вам нужно будет установить на внешней шине адреса еще дешифратор нужных адресов. Там ничего страшного - обычная микросхема из 74-серии. Пишите - объясним.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.