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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Внешняя SRAM, Выбор скорости
zorromen
сообщение Nov 22 2006, 22:50
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Вапрос таков...Какая должно Быть время доступа к внешней SRAM...чтобы без проблемм работать на 16Mhz...
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 23 2006, 00:04
Сообщение #2


кекс
******

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



Цитата(zorromen @ Nov 22 2006, 22:50) *
Вапрос таков...Какая должно Быть время доступа к внешней SRAM...чтобы без проблемм работать на 16Mhz...

Если речь о настройках задержки шины памяти, то
для 55ns и более быстрой памяти, задержка любая.
для 70ns памяти - +1 холостой такт.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 23 2006, 16:36
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(zorromen @ Nov 22 2006, 19:50) *
Вопрос таков...Какое должно быть время доступа к внешней SRAM...чтобы без проблем работать на 16Mhz...

Основной параметр - время доступа к памяти, он не должен быть больше времени доступа МК к внешней памяти, отсюда и исходите. Например, время доступа к внешней памяти для атмеги128 составляет 3 машинных цикла, т.е. 62.5*3=187.5 нс без дополнительных циклов ожидания.

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

Цитата(defunct @ Nov 22 2006, 21:04) *
Если речь о настройках задержки шины памяти, то для 55ns и более быстрой памяти, задержка любая.
для 70ns памяти - +1 холостой такт.

Зачем нужен холостой такт, там же и так чтение/запись делается за 3 МЦ, вроде бы все проходит и так, скажем, для памяти HM62256B-7 (время доступа 70 нс) или HM62256B-8 (время доступа 85 нс)


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 23 2006, 18:07
Сообщение #4


кекс
******

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



Цитата(=GM= @ Nov 23 2006, 16:36) *
Зачем нужен холостой такт, там же и так чтение/запись делается за 3 МЦ, вроде бы все проходит и так, скажем, для памяти HM62256B-7 (время доступа 70 нс) или HM62256B-8 (время доступа 85 нс)

На свой в очередной раз веселый вопрос, Вы сможете ответить себе самостоятельно после того как заглянете в даташит и посмотрите на длительности сигналов RD/WR.

Веселый термин МЦ применяйте относительно к Ц51, у AVR все меряется тактами.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 23 2006, 18:22
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(defunct @ Nov 23 2006, 18:07) *
Свой веселый термин МЦ применяйте относительно к Ц51, у AVR все меряется тактами.

+1
Еще Microchip любит МЦ, что бы было непонятно, что реальная
производительность =20МГц/4такта. smile.gif
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 23 2006, 19:21
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Тогда ставим более конкретный вапрос ... мега 162 16 мегагерц + HM62256B-7 (время доступа 70 нс) ... Будет нормально работать без потерь в некоторых битах?... в JTAG ведь все видно ...
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 23 2006, 20:14
Сообщение #7


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Nov 23 2006, 15:07) *
Цитата(=GM= @ Nov 23 2006, 16:36) *

Зачем нужен холостой такт, там же и так чтение/запись делается за 3 МЦ, вроде бы все проходит и так, скажем, для памяти HM62256B-7 (время доступа 70 нс) или HM62256B-8 (время доступа 85 нс)

На свой в очередной раз веселый вопрос, Вы сможете ответить себе самостоятельно после того, как заглянете в даташит и посмотрите на длительности сигналов RD/WR.
Веселый термин МЦ применяйте относительно к Ц51, у AVR все меряется тактами.

Минимальная длительность сигналов RD/WR у атмеги128 равна 52,125 нс (документ 2467n, с.331).
Максимальная длительность сигналов ОЕ/WR для HM62256B-7(8) составляет 40(45)/50(55) нс (дейташит на HM62256B, с.7-8). Давайте посмеемся вместе. Где тут надо смеяться(:-)?

Насчет МЦ. Привык использовать в DSP, слишком много понятий связано с понятием такт, да и тактов разных в процессоре немеряно, поэтому иногда проще поискать эквивалентное понятие, машинный цикл неплохо звучит, не хуже других. Например, у меня два DMACа выполняются за один МС 10нс (machine cycle), как мне говорить, за полтакта? На самом деле, если копнуть чуток поглубже, эта команда размазывается на 8 клоков (тактов) процессора(:-(. Конвейер, понимаете ли, а вы говорите такты! Да и в самих аврках есть одноуровневый конвейер, так что и там такты, как мера выполнения команды сомнительна. Хотя на бытовом уровне, пожалуй, использовать можно(:-).

Цитата(singlskv @ Nov 23 2006, 15:22) *
Цитата(defunct @ Nov 23 2006, 18:07) *

Свой веселый термин МЦ применяйте относительно к Ц51, у AVR все меряется тактами.

+1
Еще Microchip любит МЦ, чтобы было непонятно, что реальная производительность =20МГц/4такта. smile.gif

-2
Вроде еще не пятница, неплохо бы и по делу что-нибудь сказать? Поближе к теме ветки(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 23 2006, 21:33
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Я сандалил W24257-70L но он не шел на 16мгц а только на 4 мгц шел...но когда писа например нули в память некоторые биты записывальсь всеже с ошибками....боп импульсы непомогают... все перепробывал...поэтому и спрашиваю про скорость...получается 70 нс тока на 4 мегагерца идет и то с глюками...
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Nov 24 2006, 00:35
Сообщение #9


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Цитата(zorromen @ Nov 23 2006, 22:33) *
... на 4 мегагерца идет и то с глюками...

Почти наверняка битая SRAM или AVR. Мне ни разу не удалось поймать сбои при работе на 16 мГц и 70нс. Кстати, конденсатор по питанию около памяти очень даже желателен. Ещё посмотреть бы осциллографом сигналы адреса и управления прямо на выводах SRAM. Если проводники тонкие и длинные тогда, возможно, звон портит вам всю картину.


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 24 2006, 00:52
Сообщение #10


кекс
******

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



Цитата(=GM= @ Nov 23 2006, 20:14) *
Минимальная длительность сигналов RD/WR у атмеги128 равна 52,125 нс (документ 2467n, с.331).
Максимальная длительность сигналов ОЕ/WR для HM62256B-7(8) составляет 40(45)/50(55) нс (дейташит на HM62256B, с.7-8). Давайте посмеемся вместе. Где тут надо смеяться(:-)?

что ж, давайте посмеемся.
В даташитах на SRAM обычно не приводят такой параметр как макс. длительность WE строба, следовательно цифры 50(55) приведенные вами есть ни что иное как мин. длительность WE строба.

Получается с одной стороны мин. длительность WE строба (70ns памяти) = 55ns, с другой стороны мин. длительность WE меги 52.125. 55 несколько больше чем 52.125 не так ли? Тут и начинаются глюки. Как они проявляются - можете поэкспеременитировать.
Мне даже не нужно приводить данные из даташитов других производителей памяти (хотя я запросто могу это сделать), достаточно цифр из вашего.

Цитата
Например, у меня два DMACа выполняются за один МС 10нс (machine cycle), как мне говорить, за полтакта?

простите, чего у вас выполняется? Вы постоянно сорите какими-то аббревиатурами которые слабо вяжутся со смыслом.
Go to the top of the page
 
+Quote Post
zorromen
сообщение Nov 24 2006, 07:53
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 13-12-05
Пользователь №: 12 147



Ура...нарыл память с 35нс доступом...думаю теперь проблем небудет)))
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 24 2006, 14:04
Сообщение #12


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Nov 23 2006, 21:52) *
Цитата(=GM= @ Nov 23 2006, 20:14) *

Минимальная длительность сигналов RD/WR у атмеги128 равна 52,125 нс (документ 2467n, с.331).
Максимальная длительность сигналов ОЕ/WR для HM62256B-7(8) составляет 40(45)/50(55) нс (дейташит на HM62256B, с.7-8). Давайте посмеемся вместе. Где тут надо смеяться(:-)?

что ж, давайте посмеемся.
В даташитах на SRAM обычно не приводят такой параметр как макс. длительность WE строба, следовательно цифры 50(55) приведенные вами есть ни что иное как мин. длительность WE строба.

Не, смешнее не стало, но к счастью, разобрался. Всё не так работает. Для конкретности будем говорить о 70-ти наносекундной памяти. Начнем с самого начала. При появлении строба OE статическая память должна выдать данные и как можно быстрее. Максимальное время выдачи для нашей памяти достигает 40 нс, т.е. гарантированно через 40 нс после начала строба чтения появятся достоверные данные. В то же время минимальная длительность строба чтения от атмеги128 составляет 52 нс. Казалось бы все хорошо, ан нет! Судя по временным графикам на МК, необходимо обеспечить наличие достоверных данных за 40 нс до конца строба чтения.

Вывод такой. Для 55-, 70- и 85-наносекундной памяти необходим один дополнительный такт ожидания. Иными словами, для соответствия спецификации чтение SRAM должно осуществляться не менее, чем за 4 такта МК.

Цитата(defunct @ Nov 23 2006, 21:52) *
Получается с одной стороны мин. длительность WE строба (70ns памяти) = 55ns, с другой стороны мин. длительность WE меги 52.125. 55 несколько больше чем 52.125 не так ли? Тут и начинаются глюки. Как они проявляются - можете поэкспеременитировать.
Мне даже не нужно приводить данные из даташитов других производителей памяти (хотя я запросто могу это сделать), достаточно цифр из вашего.

Вообще, замечу в скобках, именно для памяти длительность строба чтения может быть любая, но не меньше допустимого времени на выдачу достоверных данных. То что вы процитировали - 55 нс - это минимальное время записи для 85-нс памяти, для 70-ти нс памяти это время будет равно 50 нс (конкретно на запись). Но с записью в память почти всегда полный порядок, проблемы с чтением из памяти.
Цитата(defunct @ Nov 23 2006, 21:52) *
Цитата
Например, у меня два DMACа выполняются за один МС 10нс (machine cycle), как мне говорить, за полтакта?

простите, чего у вас выполняется? Вы постоянно сорите какими-то аббревиатурами которые слабо вяжутся со смыслом.

Прошу прощения за непонятки. Как всегда предполагается, что все люди делают примерно тоже самое, и нет нужды повторяться. Поясню смысл аббревиатуры. DMAC это команда цифрового сигнального процессора TMS320F2812. D-double, т.е. двойной, MAC-multiply and accumulate. То есть берется два 16-битных операнда из разных участков памяти, перемножаются, получается 32-битный результат, который складывается с содержимым аккумулятора. За один такт (10 нс !) выполняется два таких MACа, отсюда DMAC. Не знаю как вас, но меня такой результат впечатляет. Чтобы добиться подобного результата, применяют конвейерную обработку, каждая команда разбивается на 8 частей и в процессоре одновременно выполняются 8 команд на разной стадии выполнения. Для стороннего наблюдателя процесс выглядит как если бы одна команда выполнялась за ОДИН такт, хотя на самом деле она выполняется за 8 тактов. Вот тот ОДИН такт и называют машинным циклом, возможно неправомерно, но так уж сложилось. Надеюсь, теперь вам стало более понятно, что я имел в виду?

Упоминая о DMAC, я просто хотел показать, что имеет смысл применять понятие машинный цикл (МЦ) вместо слова "такт".


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
ps1x
сообщение Nov 24 2006, 14:26
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Я конечно не очень разбираюсь в памяти для АВР, но может сделать двухканальную, типа РЕЙД массива, пишется попеременно то в одну то в другую, и читается также... Если уж быстродействия МС памяти не хватает...
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 24 2006, 16:10
Сообщение #14


кекс
******

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



Цитата(=GM= @ Nov 24 2006, 14:04) *
Не, смешнее не стало, но к счастью, разобрался. Всё не так работает. Для конкретности будем говорить о 70-ти наносекундной памяти. Начнем с самого начала. При появлении строба OE статическая память должна выдать данные и как можно быстрее. Максимальное время выдачи для нашей памяти достигает 40 нс, т.е. гарантированно через 40 нс после начала строба чтения появятся достоверные данные. В то же время минимальная длительность строба чтения от атмеги128 составляет 52 нс. Казалось бы все хорошо, ан нет! Судя по временным графикам на МК, необходимо обеспечить наличие достоверных данных за 40 нс до конца строба чтения.

Достойный ответ, и, что радует - без смайликов.
искрене рад за Вас, что в итоге здравый смысл победил амбиции и желание просто поспорить.

Цитата
Вывод такой. Для 55-, 70- и 85-наносекундной памяти необходим один дополнительный такт ожидания. Иными словами, для соответствия спецификации чтение SRAM должно осуществляться не менее, чем за 4 такта МК.

Согласен с выводом, тем более он не противоречит рекомендациям от Atmel.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Nov 24 2006, 16:55
Сообщение #15


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(defunct @ Nov 24 2006, 13:10) *
Достойный ответ, и, что радует - без смайликов.
искрене рад за Вас, что в итоге здравый смысл победил амбиции и желание просто поспорить.

Что вы так прицепились к этим смайликам(:-)? На мой взгляд они добавляют немного живости к обсуждаемым темам и показывают эмоции автора. "Суха теория, мой друг, но древо жизни вечно зеленеет" (С)Гейне. Вы что, всегда по жизни такой мрачный? Меняйтесь пока не поздно, а то не доживете до пенсии(:-).

И, позвольте, какие амбиции? Я ж ВАС спрашивал, почему нельзя использовать три такта, а не утверждал, что можно их использовать (см. пост №3). Высказывал, так сказать, сомнения.

Последнее, пожалуйста, отвечайте адекватнее по поводу веселых вопросов и смайликов, поскольку ничего веселого в моем изначальном посте (№3) не было и смайликов тоже, формулировка "веселые вопросы" появилась в вашем посте.

Цитата(defunct @ Nov 24 2006, 13:10) *
Цитата
Вывод такой. Для 55-, 70- и 85-наносекундной памяти необходим один дополнительный такт ожидания. Иными словами, для соответствия спецификации чтение SRAM должно осуществляться не менее, чем за 4 такта МК.

Согласен с выводом, тем более он не противоречит рекомендациям от Atmel.

Зато он противоречит вашей рекомендации для 55-ти нс памяти (см. пост №2).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

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

 


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


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