Кто-нибудь static ram симмулировал?
20.01.2010, 20:09
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Кто-нибудь static ram симмулировал?
В общем, пишу последовательно в память. Вопрос вот в чем - надо ли инвертированные сигналы CS, OE, WE при каждой записи опускать или можно их держать опущенными и писать непрерываясь. Собрал простенькую схемку на счетчике, который перебирает адрес памяти и пишет туда значение этого адреса. При записи WE=0(запись), OE=1(выход третье состояние), CS=0 (чип всегда выбран). При включении последнего разряда инв. WE становится 1 (чтение), OE=0 но на выходе одни нули. Память не записалась. В даташите написаны все тайминги, но это для использования с МК. А если я просто ревербератор делаю с опазданием на АЦП и ЦАП? Если плохо понятно, чего я хочу, проект прицеплю без проблем.
|
|
|
|
20.01.2010, 21:16
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 17.05.2005
Адрес: Украина
Сообщений: 1,972
Сказал спасибо: 301
Сказали Спасибо 503 раз(а) в 367 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Насколько мне помнится, у статической памяти 62хх запись обязательно тактируется (или CS, или WE). Зато чтение - простым перебором адресов. Или у Вас другая память?
|
|
|
|
20.01.2010, 23:35
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Сообщение от estet
|
|
Насколько мне помнится, у статической памяти 62хх запись обязательно тактируется (или CS, или WE). Зато чтение - простым перебором адресов. Или у Вас другая память?
|
Память та, только не ясно, чем тактировать. CS, WE или оба сразу.
|
|
|
|
21.01.2010, 01:47
|
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,693
Сказал спасибо: 28
Сказали Спасибо 4,526 раз(а) в 956 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Сообщение от Easyrider83
|
|
В даташите написаны все тайминги
|
Но там же есть и циклы записи/чтения, причем разные вариации. У вас что там вот таких картинок нет?
|
|
|
|
21.01.2010, 03:06
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Картинки есть. Не хочу тактировать все сигналы. Зачем включать и выключать чип? А то если еще и времена задержки учитывать, то на логике сильно много городить придется.
Это задачка так, для тренировки мозга.
Последний раз редактировалось Easyrider83; 21.01.2010 в 03:51.
|
|
|
|
21.01.2010, 11:31
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Сообщение от Easyrider83
|
В общем, пишу последовательно в память. Вопрос вот в чем - надо ли инвертированные сигналы CS, OE, WE при каждой записи опускать или можно их держать опущенными и писать непрерываясь. Собрал простенькую схемку на счетчике, который перебирает адрес памяти и пишет туда значение этого адреса. При записи WE=0(запись), OE=1(выход третье состояние), CS=0 (чип всегда выбран). При включении последнего разряда инв. WE становится 1 (чтение), OE=0 но на выходе одни нули. Память не записалась. В даташите написаны все тайминги, но это для использования с МК. А если я просто ревербератор делаю с опазданием на АЦП и ЦАП? Если плохо понятно, чего я хочу, проект прицеплю без проблем.
|
Вообще-то симуляция (с одним "м") - это моделирование работы одного устройства на другом. Вот любимый многими протеус - симулятор. То, что Вы делаете, называется макетированием, а макет, в свою очередь - функционально полный образец конечного изделия.
По существу. Во-первых, есть даташит. Там всё описано. Если у Вас есть макет, может проще было бы сначала выполнить времянку из даташита, потом постепенно её упрощать и добившись результата запостить сюда сообщение типа "камрады! оказывается, можно ... и ... и всё работает!"
Исходя из общих соображений, CS (chip select) можно не переключать. Память имеет двунаправленный порт данных и при низком OE (output enable) ноги порта станут выходами КМОП со всеми вытекающими. WE (write enable) записывает данные не по фронту, а защёлкивает их при переходе к высокому уровню. Если Вы подаёте адрес от простого счётчика, то в момент изменения младшего разряда у простых счётчиков происходит гонка переключений на выходах старших разрядов. У любых счётчиков по фронтам сигнала младшего разряда состояние старших разрядов не определено.
|
|
|
|
21.01.2010, 11:48
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Сообщение от makakus
|
|
У любых счётчиков по фронтам сигнала младшего разряда состояние старших разрядов не определено.
|
Посмею с Вами не согласится. Неопределенность старших разрядов счетчиков возникает только в случае асинхронных схем. При использовании синхронного счетчика все выводы изменяют свое состояние одновременно. По крайней мере у меня данные в Winbond W24256 великолепно записываются при формировании WR от самого младшего разряда счетчика.
|
|
|
|
21.01.2010, 13:38
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Сообщение от MisterDi
|
|
Посмею с Вами не согласится. Неопределенность старших разрядов счетчиков возникает только в случае асинхронных схем. При использовании синхронного счетчика все выводы изменяют свое состояние одновременно. По крайней мере у меня данные в Winbond W24256 великолепно записываются при формировании WR от самого младшего разряда счетчика.
|
Вот схема синхронного счётчика.
Совершенно понятно, что сигнал CLK записывает в триггеры следующее состояние счётчика. Выходы Q изменяются одновременно, да. Почему в момент изменения Qa состояние выходов Qb,Qc,Qd должно быть стабильно, я не понимаю.
А! В Вашем случае просто входы RAM фиксируются переходом WR в высокий уровень и ёмкость монтажа-линии просто не успевает разрядиться до защёлкивания. Слегка затянуть WR и будет записываться следующее состояние счётчика
|
|
|
|
21.01.2010, 17:47
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Спасибо за поучения и за русский язык. Так что с проектом-то делать? Он мне не то, чтобы покоя не дает, но раз развязал тему, буду в ней до конца.
|
|
|
|
21.01.2010, 17:57
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Кто-нибудь static ram симмулировал?
Так вроде же
Сообщение от Easyrider83
|
|
Это задачка так, для тренировки мозга.
|
Духом окрепнете в борьбе (с)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:01.
|
|