Страница 1 из 1
МК и внешняя память
Добавлено: Вт май 19, 2009 11:52:47
jovanny
Необходимо читать данные с помощью Mega16 с памяти,работающей по паралленьному интерфейсу,есть ли у кого готовый код на Си или какие-нибудь наработки в этом направлении?
Добавлено: Вт май 19, 2009 13:27:15
VenomXP
Что за память то, здесь нет экстрасенсов чтобы это угадать, читай ДШ и делай по нему, примеров полно, готовый не пойдет, все зависит от размера, от активных уровней, управляющих выводов и еще многих факторов.
Добавлено: Вт май 19, 2009 13:30:29
jovanny
VenomXP писал(а):Что за память то, здесь нет экстрасенсов чтобы это угадать, читай ДШ и делай по нему, примеров полно, готовый не пойдет, все зависит от размера, от активных уровней, управляющих выводов и еще многих факторов.
Я это понимаю,только не от чего оттолкнутся.Был бы пример кода с уже заданными параметрами-от него тогда и плясать можно было,если примеров куча-поделитесь хотя б одним...
Память стастическая K6R4008V1D.
Добавлено: Вт май 19, 2009 13:40:30
VenomXP
Да здесь ничего сверхестественного нет, выставляешь на шине адреса собственно адрес и уже по управляющим выводам включаешь функцию чтения или записи, после чего, уже с порта данных соответсвенно читаешь либо записываешь. Все просто.
Добавлено: Вт май 19, 2009 13:41:24
jovanny
VenomXP писал(а):Да здесь ничего сверхестественного нет, выставляешь на шине адреса собственно адрес и уже по управляющим выводам включаешь функцию чтения или записи, после чего, уже с порта данных соответсвенно читаешь либо записываешь. Все просто.
Хорошо,спасибо,попробую.
Добавлено: Вт май 19, 2009 14:41:04
jovanny
Скажите пожалуйста,какой регистр в Atmega16 отвечает за управление внешней памятью-ничего в даташите не нашел.
В книге нашел - для всех Mega регистр XMCRB - только его нет в Mega16.h и адреса его не знаю.
Добавлено: Вт май 19, 2009 18:43:46
DrWatson
В меге16 не предусмотрена работа с внешней памятью на аппаратном уровне - это надо реализовать программно. Какие порты хочешь те и используй. В меге8515 есть аппаратные средства работы с внешней памятью до 64КБ.
Добавлено: Вт май 19, 2009 19:17:03
Pe3ucTop
Если в книге написано - для всех Мега - то плохая книжка!
Интерфеис внешней памяти есть только у некоторых! Из простых Мега перечисляю по пальцам: ATmega8515, Atmega162, ATmega64 и 640, Atmega128 и Atmega256.
Информация взята с :
http://www.atmel.ru/Production/tables/avr.htm
Можете сами заглянуть, удобная таблица
Для остальных - требуется организовывать програмную функцию обращения к памяти. Если память подключена как к выше перечисленным(по интерфеису внешней памяти), то в пошагово действия:
- выставляете на шину Адреса/Данных младший баит адреса
- задерживаете его в регистре-зашелке - переводом ALE - с высокого уровня в низкий.
- выставляете старший баит адреса , на отдельную шину А(8-15)
- если необходимо выставляете Выбор Чипа (если он не вязан с Адресом)
- при записи:
устанавливаете на шину Адреса/Данных - данные
подаёте сигнал Запись
- при чтении
устанавливаете - Выход из памяти разрешен,
читаете данные
снимаете - разрешение выхода из памяти данных..
Муторно но тоже можно работать..
И, блин, пока писал люди уже ответили кратко

Добавлено: Вт май 19, 2009 20:14:40
DrWatson
Правильно. В первую очередь - к первоисточникам.
ИМХО - технический английский надо знать (хотя бы со словарем), тогда многие вопросы отпадут сами собой.
Добавлено: Вт май 19, 2009 20:37:36
jovanny
Спасибо всем за советы,у меня есть еще в наличии Z8018233FSC- может кто работал с ним-просто особо времени разбираться с новым МК нет,может у кого есть опыт работы с таковыми?
И еще вопрос - сигнал ALE где у Меги 16?
Добавлено: Вт май 19, 2009 22:27:23
DrWatson
Мой юный друг, Вы читаете что Вам отвечают? В меге16 с внешней памятью работать можно только программно, нету у нее ни ALE, ни WR ни RD. Все это эмулируется программно. на какую ногу захотите, туда и заведите и рулите этими ногами командами PORTx.y=...
Добавлено: Вт май 19, 2009 22:28:55
jovanny
DrWatson писал(а):Мой юный друг, Вы читаете что Вам отвечают? В меге16 с внешней памятью работать можно только программно, нету у нее ни ALE, ни WR ни RD. Все это эмулируется программно. на какую ногу захотите, туда и заведите и рулите этими ногами командами PORTx.y=...
Все понял,спасибо.