МК и внешняя память
МК и внешняя память
Необходимо читать данные с помощью Mega16 с памяти,работающей по паралленьному интерфейсу,есть ли у кого готовый код на Си или какие-нибудь наработки в этом направлении?
VenomXP писал(а):Что за память то, здесь нет экстрасенсов чтобы это угадать, читай ДШ и делай по нему, примеров полно, готовый не пойдет, все зависит от размера, от активных уровней, управляющих выводов и еще многих факторов.
Я это понимаю,только не от чего оттолкнутся.Был бы пример кода с уже заданными параметрами-от него тогда и плясать можно было,если примеров куча-поделитесь хотя б одним...
Память стастическая K6R4008V1D.
- DrWatson
- Опытный кот
- Сообщения: 890
- Зарегистрирован: Вт янв 20, 2009 14:49:08
- Откуда: Гондурас, Мурманск
В меге16 не предусмотрена работа с внешней памятью на аппаратном уровне - это надо реализовать программно. Какие порты хочешь те и используй. В меге8515 есть аппаратные средства работы с внешней памятью до 64КБ.
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
-
Pe3ucTop
- Прорезались зубы
- Сообщения: 231
- Зарегистрирован: Пт ноя 16, 2007 13:52:44
- Откуда: Рига, Латвия
Если в книге написано - для всех Мега - то плохая книжка!
Интерфеис внешней памяти есть только у некоторых! Из простых Мега перечисляю по пальцам: ATmega8515, Atmega162, ATmega64 и 640, Atmega128 и Atmega256.
Информация взята с : http://www.atmel.ru/Production/tables/avr.htm
Можете сами заглянуть, удобная таблица
Для остальных - требуется организовывать програмную функцию обращения к памяти. Если память подключена как к выше перечисленным(по интерфеису внешней памяти), то в пошагово действия:
- выставляете на шину Адреса/Данных младший баит адреса
- задерживаете его в регистре-зашелке - переводом ALE - с высокого уровня в низкий.
- выставляете старший баит адреса , на отдельную шину А(8-15)
- если необходимо выставляете Выбор Чипа (если он не вязан с Адресом)
- при записи:
устанавливаете на шину Адреса/Данных - данные
подаёте сигнал Запись
- при чтении
устанавливаете - Выход из памяти разрешен,
читаете данные
снимаете - разрешение выхода из памяти данных..
Муторно но тоже можно работать..
И, блин, пока писал люди уже ответили кратко
Интерфеис внешней памяти есть только у некоторых! Из простых Мега перечисляю по пальцам: ATmega8515, Atmega162, ATmega64 и 640, Atmega128 и Atmega256.
Информация взята с : http://www.atmel.ru/Production/tables/avr.htm
Можете сами заглянуть, удобная таблица
Для остальных - требуется организовывать програмную функцию обращения к памяти. Если память подключена как к выше перечисленным(по интерфеису внешней памяти), то в пошагово действия:
- выставляете на шину Адреса/Данных младший баит адреса
- задерживаете его в регистре-зашелке - переводом ALE - с высокого уровня в низкий.
- выставляете старший баит адреса , на отдельную шину А(8-15)
- если необходимо выставляете Выбор Чипа (если он не вязан с Адресом)
- при записи:
устанавливаете на шину Адреса/Данных - данные
подаёте сигнал Запись
- при чтении
устанавливаете - Выход из памяти разрешен,
читаете данные
снимаете - разрешение выхода из памяти данных..
Муторно но тоже можно работать..
И, блин, пока писал люди уже ответили кратко
- DrWatson
- Опытный кот
- Сообщения: 890
- Зарегистрирован: Вт янв 20, 2009 14:49:08
- Откуда: Гондурас, Мурманск
Мой юный друг, Вы читаете что Вам отвечают? В меге16 с внешней памятью работать можно только программно, нету у нее ни ALE, ни WR ни RD. Все это эмулируется программно. на какую ногу захотите, туда и заведите и рулите этими ногами командами PORTx.y=...
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
