реклама на сайте
подробности

 
 
> Подключение внешней памяти через мультиплексированную шину, ATMEGA128 чтение, запись из внешней памяти
nagserg
сообщение Dec 22 2005, 09:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 12-05-05
Пользователь №: 4 940



Подскажите пожалуйста как обратится к внешней памяти, используя альтернативные выводы (ALE, WR, RD)?
Работаю в CodeVision

........

MCUCR = 0x80; // Разрешаем работу с внешним ОЗУ

XMCRB = 0x07; // Адресные выводы порта С A8...A15 не использовать

а вот как прочитать записать по определенному адресу? Подскажите пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_artem_
сообщение Dec 26 2005, 00:10
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



defunct , ram kotorij ti upomyanul - on nizkoskorostnoj . Na 16 MHz ne ponyanet bez wait steyta. Lucse ispolzovat fast asynchronous sram's szaderzkoj do 20 nanosec. Primeri podobnyx chipov mozno nayti v STK501 guide gde recommenduyutsya tipy sram'ov dlja zapajki .


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
defunct
сообщение Dec 27 2005, 00:00
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(_artem_ @ Dec 26 2005, 02:10) *
defunct , ram kotorij ti upomyanul - on nizkoskorostnoj . Na 16 MHz ne ponyanet bez wait steyta. Lucse ispolzovat fast asynchronous sram's szaderzkoj do 20 nanosec. Primeri podobnyx chipov mozno nayti v STK501 guide gde recommenduyutsya tipy sram'ov dlja zapajki .


20нс абсолютно не нужно. Не настолько быстр AVR как этого хотелось бы.

Приведенная мной 70нс память, работает без дополнительных waitstate и на 14.7456 Mhz, и на 16 Mhz. AVR считывает ячейку памяти (без waitstate) за три такта, длительность такта будет равна 62.5 нс при Fosc = 16Mhz, соответственно длительность строба RD/WR равна 2*62.5нс = 125 нс, что вполне удовлетворяет требованиям памяти (у приведенных микросхем памяти длительность цикла чтения/записи - 70нс).
Go to the top of the page
 
+Quote Post
_artem_
сообщение Dec 27 2005, 00:45
Сообщение #4


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Цитата(defunct @ Dec 27 2005, 02:00) *
Цитата(_artem_ @ Dec 26 2005, 02:10) *

defunct , ram kotorij ti upomyanul - on nizkoskorostnoj . Na 16 MHz ne ponyanet bez wait steyta. Lucse ispolzovat fast asynchronous sram's szaderzkoj do 20 nanosec. Primeri podobnyx chipov mozno nayti v STK501 guide gde recommenduyutsya tipy sram'ov dlja zapajki .


20нс абсолютно не нужно. Не настолько быстр AVR как этого хотелось бы.

Приведенная мной 70нс память, работает без дополнительных waitstate и на 14.7456 Mhz, и на 16 Mhz. AVR считывает ячейку памяти (без waitstate) за три такта, длительность такта будет равна 62.5 нс при Fosc = 16Mhz, соответственно длительность строба RD/WR равна 2*62.5нс = 125 нс, что вполне удовлетворяет требованиям памяти (у приведенных микросхем памяти длительность цикла чтения/записи - 70нс).



Рисунок 13 дата шит атмега 128 - первые два такта используются для установления адреса в латч триггер . Сам сигнал /write (с которого отсчет на выборку ячейки идет) на память начинается вровень с третьим тактом вместе (даже на рисунке видно небольшое запаздывание по отношению к тактовой частоте). В итоге мы получаем не три такта на выборку адреса а один, что в конечном итоге меньше 62.5 наносек на максимальной частоте. (without delay state)

Почему то атмел рекомендует 20 нанoсекундные чипы, хотя можно в принципе и 55 наносек поставить. Но вот интересный материал правда на японском http://elm-chan.org/docs/avr/jitter.html. Там видно что тактовая может прыгать на атмегах. Читал что этот эффект используется в мсп430 для того чтобы уменьшить спектр излучения микросхемой эм энергии в соответствии со своими америкосовскими нормами (насчет норм могу и ошибаться). Если атмел тоже это специально сделал в тактовой то наверняка возможна ситуация со временем обрашения меньше чем даже 60 наносек.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
defunct
сообщение Dec 27 2005, 01:30
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(_artem_ @ Dec 27 2005, 02:45) *
Рисунок 13 дата шит атмега 128 - первые два такта используются для установления адреса в латч триггер . Сам сигнал /write (с которого отсчет на выборку ячейки идет) на память начинается вровень с третьим тактом вместе (даже на рисунке видно небольшое запаздывание по отношению к тактовой частоте). В итоге мы получаем не три такта на выборку адреса а один, что в конечном итоге меньше 62.5 наносек на максимальной частоте. (without delay state)


Эх, сорри, облажался я.. sad.gif

Да вы правы, строб идет не 2 такта, а один.. итого 62.5нс на выборку на 16Mhz. И действительно на 16Mhz память может не успевать. На практике же у нас редко m128 работает на 16mhz (пару раз испытали - память работала устойчиво, разумеется понимаю, что пара раз - не показатель). В основном тактируем мегу 14.7456Mhz, глюков указанной памяти не замечено. (waitstate не ставим).

тактируем либо кристалом с запрограммированными фузами CKOUT/CKOPT, либо от внешнего генератора, поэтому тактовая частота у нас не прыгает..

Цитата(_artem_ @ Dec 27 2005, 02:45) *
Если атмел тоже это специально сделал в тактовой то наверняка возможна ситуация со временем обрашения меньше чем даже 60 наносек.


Врятли, скорее наоборот - в большую сторону.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nagserg   Подключение внешней памяти через мультиплексированную шину   Dec 22 2005, 09:21
- - BVU   Цитата(nagserg @ Dec 22 2005, 12:21) Подс...   Dec 22 2005, 09:43
- - Rash   А какую внешню память в качестве ОЗУ используете, ...   Dec 22 2005, 09:51
|- - defunct   Цитата(Rash @ Dec 22 2005, 11:51) А какую...   Dec 25 2005, 23:56
- - nagserg   Честно говоря я использую не память, а контроллер ...   Dec 22 2005, 11:03
|- - BVU   Цитата(nagserg @ Dec 22 2005, 14:03) Чест...   Dec 22 2005, 11:58
|- - nagserg   Цитата(BVU @ Dec 22 2005, 14:58) Цитата(n...   Dec 22 2005, 13:03
- - mse   ЦитатаXMCRB = 0x07; // Адресные выводы порта С A8....   Dec 22 2005, 12:58
- - mse   Цитатаот например в ISP1581 есть адрес Mode 0x0C. ...   Dec 22 2005, 13:12
- - nagserg   Спасибо огромное за ответы, смысл понятен, хотелос...   Dec 22 2005, 14:06
- - _artem_   char *ptr_p, getit; ptr_p = (char*)0xffff; getit...   Dec 22 2005, 14:44
- - nagserg   char* vp = (char *)Определенный Адрес; char a; ...   Dec 26 2005, 09:19
|- - nagserg   Цитата(nagserg @ Dec 26 2005, 12:19) char...   Dec 26 2005, 10:49
|- - defunct   Цитата(nagserg @ Dec 26 2005, 12:49) Каки...   Dec 27 2005, 00:28
|- - nagserg   Цитата(defunct @ Dec 27 2005, 03:28) Цита...   Dec 27 2005, 08:27
- - defunct   > Я DMA не использую пока и всё-таки каким обра...   Dec 27 2005, 08:50
|- - nagserg   Цитата(defunct @ Dec 27 2005, 11:50) ps: ...   Dec 27 2005, 11:50
- - BVU   nagserg, когда Вы хотите использовать обращение к ...   Dec 28 2005, 07:55


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 03:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01789 секунд с 7
ELECTRONIX ©2004-2016