А что если...прикошачить к МК планку DDR памяти?
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
А что если...прикошачить к МК планку DDR памяти?
Тема такая:
Всякая внешняя память для микроконтроллеров не выгодна по параметру цена/объем памяти.
Умельцы выпаивают из планок комповской оперативки микросхемы и юзают их.
А что если просто использовать цельную планку DDR памяти?
Пример использования:
так как скорость работы любительских МК составляет до 16 МГц, то есть понт заиспользовать высокоскоростную планку пямти в качестве буфера для накопления данных, поступающих, например, от источника в 100Мбайт/сек т.о. 1Гб планка захавает 10 секунд информации от источника. Далее уже МК будет потихоньку анализировать, выбирать нужные данные и отправлять, например по USB в компьютер.
Проблема: не могу найти даташит на разъем DDR памяти! Нашел некие стандарты (JEDEC) на DDR память. но там описаны насколько я разобрался сами микросхемы а не работа с цельными планками.
Всякая внешняя память для микроконтроллеров не выгодна по параметру цена/объем памяти.
Умельцы выпаивают из планок комповской оперативки микросхемы и юзают их.
А что если просто использовать цельную планку DDR памяти?
Пример использования:
так как скорость работы любительских МК составляет до 16 МГц, то есть понт заиспользовать высокоскоростную планку пямти в качестве буфера для накопления данных, поступающих, например, от источника в 100Мбайт/сек т.о. 1Гб планка захавает 10 секунд информации от источника. Далее уже МК будет потихоньку анализировать, выбирать нужные данные и отправлять, например по USB в компьютер.
Проблема: не могу найти даташит на разъем DDR памяти! Нашел некие стандарты (JEDEC) на DDR память. но там описаны насколько я разобрался сами микросхемы а не работа с цельными планками.
Интересно, а как вы себе представляете работу целой планки в качестве буфера? Отдельные микросхемы - да.
Дело в том, что от каждой SDRAM на планке выведена 16-битная шина. Их там 8 штук (если с двух сторон, то банки работают в параллель). Так же, имеются выводы "Chip Select" для каждой микросхемы. Даже если все выходы запараллелить, то информацию, в определенный момент времени, можно считать только из одной микросхемы (причем любой!) активацией линией CS.
Таким образом, вся работа с планкой сводится к работе с одной микросхемой
Дело в том, что от каждой SDRAM на планке выведена 16-битная шина. Их там 8 штук (если с двух сторон, то банки работают в параллель). Так же, имеются выводы "Chip Select" для каждой микросхемы. Даже если все выходы запараллелить, то информацию, в определенный момент времени, можно считать только из одной микросхемы (причем любой!) активацией линией CS.
Таким образом, вся работа с планкой сводится к работе с одной микросхемой
-
DimonPhysic
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Сб май 03, 2008 17:06:01
На старые микросхемы найти мануалы не составит труда. Я, например, пользуюсь сайтом www.alldatasheet.com. Практика показала что если там искомой микросхемы нет, то ее описание в интернете вообще отсутствует... (если конечно китайский знать, то информация на любую ИМС доступна
)
Думаю SDRAM-микросхемы будут работать совместно с МК без проблем.
У банка памяти напряжения питания 3,3 В, рабочая частота в большинстве случаев составляем более 100 - 150 МГц, разрядность данных 16 бит, адресация 12 бит (не уверен!). А организовать два 8-битных порта МК для 16-битной шины для работы с SDRAM проблем не составит. Ну а тактовая частота МК будет лишь детской игрушкой для банков памяти.
Думаю SDRAM-микросхемы будут работать совместно с МК без проблем.
У банка памяти напряжения питания 3,3 В, рабочая частота в большинстве случаев составляем более 100 - 150 МГц, разрядность данных 16 бит, адресация 12 бит (не уверен!). А организовать два 8-битных порта МК для 16-битной шины для работы с SDRAM проблем не составит. Ну а тактовая частота МК будет лишь детской игрушкой для банков памяти.
-
DimonPhysic
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Сб май 03, 2008 17:06:01
Получается, что реальтно полезно будет придумать методику подключения целой планки к контроллеру! Ведь тогда можно будет не думать о напряжениях и распиновке микросхем(ведь планки то все придерживаются общего стандарта). А иметь всегда возможность добавить к контроллеру пару почти бесплатных(хоть и забывчивых;)) метров, по моему, очень удобно.
ЗЫ У меня на планках стоят микросхемы HY57V1680100. Но даташиты в инете есть тока на HY57V168010. Это одно и тоже???
ЗЗЫ Кто-нить занимался чем-то подобным? Если так то поделитесь знаниями или киньте ссылочку!!!
ЗЫ У меня на планках стоят микросхемы HY57V1680100. Но даташиты в инете есть тока на HY57V168010. Это одно и тоже???
ЗЗЫ Кто-нить занимался чем-то подобным? Если так то поделитесь знаниями или киньте ссылочку!!!
-
DimonPhysic
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Сб май 03, 2008 17:06:01
VNN84, прикиньте читал!!! А вы моё ПРАВИЛЬНО прочитали??? Говоря об использовании ЦЕЛОЙ планки я не имел ввиду одновременного использования всех микросхем на ней(!), я хотел подчеркнуть идею НЕИСПОЛЬЗОВАНИЯ выпаянных из неё микросхем(я, кстати, говорил шото про ПАРУ метров!). То есть используется какая-то одна микросхема. Да, если речь идёт о габаритах прибора-это неприменимо, но если речь идёт о возможности быстрого подключения довольно больших обьёмов быстрой дешевой памяти, то это идеальный вариант(сейчас подобные планки тупо выбрасывают)! Кстати, с чего вы взяли, что контроллер не сможет адресовать всю планку? Используйте регистры и каналов вам хватит! А-ну конечно-вы скорость потеряете!!! А теперь подумайте, сколько времени контроллер будет обдумывать, скажем, 2 метра и как часто ему предётся менять микросхемы: это же не пентиум! А кто вообще говорит о скорости? Всё равно оператива будет намного быстрее(и дешевле) чем EEPROM. Можно придумать множество не кретичных к потере данных приложений, в которых о/ва с маленькой батарейкой заменит EEPROM и таких, в которых между приходами пакетов данных будет необходимое для переключения микросхем время. Так что думать есть над чем!
ЗЫ HY57V1680100=HY57V168010???
ЗЫ HY57V1680100=HY57V168010???
Любой уважающий себя инженер или радиолюбитель не будет использовать кусок промышленной платы ради одной ИМС. Он ее выдернет оттуда и оформит в виде самостоятельного блока (или включит ее в состав еще имеющегося). Сам вопрос о том, что использовать всю площадь планки при размерах самого микроконтроллера 4х4 QFN (например) просто не разумен. Даже не стоит разбираться, лучше взять фирменную документацию (если она доступна), качнуть аппноуты и разобраться во всем. Конечно, это более тяжелый труд, но он стоит того - разбираешься с самой ИМС, которая является физической ячейкой (!!!) функционального узла. А от сюда и все ее логические пути использования и развития.
Насчет использования последовательных сдвиговых регистров, которые должны быть 16-битные!, идея неудачная:
- дорогостоящая (пропадает вся "прелесть" использования банков от оперативки);
- скорость обработки информации падает минимум в 16 раз;
- сложность программной реализации (все таки переферия у МК ограничена и предеться вручную реализовывать необходимые сигналы и задержки).
Но это так к слову...
"Всё равно оператива будет намного быстрее (и дешевле) чем EEPROM" - это сравнение двух разных по функциональному назначению товаров. Для справки: цикл записи байта памяти в EEPROM составляет от 1000 машинных тактов. А какой тут скорости может идти речь?
Ну а если все же хочеться организовать быстрый обмен между SDRAM и МК, то последный должен быть как можно с более высокой тактовой частотой (банальность, но...). Например, такие фирмы как Texas, Cypress, Silab и др. выпускают МК с частотой тактового генератора до 300 МГц! Чем вам не Pentium?
Насчет использования последовательных сдвиговых регистров, которые должны быть 16-битные!, идея неудачная:
- дорогостоящая (пропадает вся "прелесть" использования банков от оперативки);
- скорость обработки информации падает минимум в 16 раз;
- сложность программной реализации (все таки переферия у МК ограничена и предеться вручную реализовывать необходимые сигналы и задержки).
Но это так к слову...
"Всё равно оператива будет намного быстрее (и дешевле) чем EEPROM" - это сравнение двух разных по функциональному назначению товаров. Для справки: цикл записи байта памяти в EEPROM составляет от 1000 машинных тактов. А какой тут скорости может идти речь?
Ну а если все же хочеться организовать быстрый обмен между SDRAM и МК, то последный должен быть как можно с более высокой тактовой частотой (банальность, но...). Например, такие фирмы как Texas, Cypress, Silab и др. выпускают МК с частотой тактового генератора до 300 МГц! Чем вам не Pentium?
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
чего думал я думал, пошел пинацт посмотрел
http://pinouts.ru/Memory/DimmSdram168Unbuf_pinout.shtml
все довольно просто выглядит
Можно выдрать или купить (ХДЕ такое продается) сам сокек из старой мамки и сделать все культурно.
Я только надеюсь, что память эта действительно fully static и чтобы данные не развалились ее не надо стробить или еще как-то дергать.
По поводу доступа - а почему не использовать shift регистры (и туда и сюда) на 16 бит или два по 8? Экономия пинов на мк, и даже tiny Сможет поработать тогда. А шифты работают до 100Мгц. И вообще, как без шифтов? Там же данные 32бита!!! Походу там адресация не байтов а DWORD идет.
Только я не понял, зачем надо брать МК с мега скоростью? Вообще идея хорошая, если просто надо хранилище для большого количества данных на время работы.
надо будет как-то собраться духом и попробовать.
http://pinouts.ru/Memory/DimmSdram168Unbuf_pinout.shtml
все довольно просто выглядит
Можно выдрать или купить (ХДЕ такое продается) сам сокек из старой мамки и сделать все культурно.
Я только надеюсь, что память эта действительно fully static и чтобы данные не развалились ее не надо стробить или еще как-то дергать.
По поводу доступа - а почему не использовать shift регистры (и туда и сюда) на 16 бит или два по 8? Экономия пинов на мк, и даже tiny Сможет поработать тогда. А шифты работают до 100Мгц. И вообще, как без шифтов? Там же данные 32бита!!! Походу там адресация не байтов а DWORD идет.
Только я не понял, зачем надо брать МК с мега скоростью? Вообще идея хорошая, если просто надо хранилище для большого количества данных на время работы.
надо будет как-то собраться духом и попробовать.
-
DimonPhysic
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Сб май 03, 2008 17:06:01
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
simm
а вообще все эти современные dimm сложноваты.
Может лучше с SIMM повозиться? Им миллионы должны где то валяться и у них шина адреса 24-32 бита и данные по 8 бит идут. Они есть 30 пиновые и 72 пиновые. И питание у них 5В - удобно.
http://en.wikipedia.org/wiki/SIMM
Может лучше с SIMM повозиться? Им миллионы должны где то валяться и у них шина адреса 24-32 бита и данные по 8 бит идут. Они есть 30 пиновые и 72 пиновые. И питание у них 5В - удобно.
http://en.wikipedia.org/wiki/SIMM
-
vchik
- Первый раз сказал Мяу!
- Сообщения: 25
- Зарегистрирован: Ср фев 13, 2008 04:31:23
- Откуда: Москва
- Контактная информация:
А вот и я
Полуоффтоп:
Тему развернули, на радиокоте однозначно тусуют умные люди с неординарным мышлением! Респект!!
По теме:
Насчет использования отдельных микросхем с планки все же это накладно, вот валяется 3 разных планки дома, поискал для интереса даташиты на микросхемы с них - не нашел ни на одну, это не очень весело. Все же действитльно разъемы ОЗУ стандартизованы, поэтому намного быстрее будет начать работу с готовой планкой, чем заниматься выпаиванием и изучением даташита на отдельную, схему, к тому же чуть что, эту планку вынул, вставил другую и мир снова спасен. Хотя, конечно, смотря какой девайс, миниатюррным он точно не получится, да и врядли пригодятся все N Мб этой ОЗУ
Насчет управления с помощью МК: это конечно не имеет смысла ибо если тогда брать МК с большими скоростями работы, то уже имеет смысл использовать матплату с процессором.
А идея в том чтобы использовать высокоскоростные таймеры-счетчики реализованные в отдельных микросхемах и на частоте там типо 333 или 667 Мгц производить последовательное заполнение памяти информацией от источника. Затем уже медленно считывать ее через МК.
Примеров таких источников много, в собновном это скорее какието датчики: напряжения, тока, температуры, освещенности и т.п., в которых нам вжно отследить малейшие изменения данных во времени.
Наконец про рефрешинг. Из стндарта JEDEC на DDR память, вычитал что она обладает функциями авто-рефрешинга, что правда приводит к паузе в десятки миллисекунд, но тем не менее.
Ой как многа букав....
Полуоффтоп:
Тему развернули, на радиокоте однозначно тусуют умные люди с неординарным мышлением! Респект!!
По теме:
Насчет использования отдельных микросхем с планки все же это накладно, вот валяется 3 разных планки дома, поискал для интереса даташиты на микросхемы с них - не нашел ни на одну, это не очень весело. Все же действитльно разъемы ОЗУ стандартизованы, поэтому намного быстрее будет начать работу с готовой планкой, чем заниматься выпаиванием и изучением даташита на отдельную, схему, к тому же чуть что, эту планку вынул, вставил другую и мир снова спасен. Хотя, конечно, смотря какой девайс, миниатюррным он точно не получится, да и врядли пригодятся все N Мб этой ОЗУ
Насчет управления с помощью МК: это конечно не имеет смысла ибо если тогда брать МК с большими скоростями работы, то уже имеет смысл использовать матплату с процессором.
А идея в том чтобы использовать высокоскоростные таймеры-счетчики реализованные в отдельных микросхемах и на частоте там типо 333 или 667 Мгц производить последовательное заполнение памяти информацией от источника. Затем уже медленно считывать ее через МК.
Примеров таких источников много, в собновном это скорее какието датчики: напряжения, тока, температуры, освещенности и т.п., в которых нам вжно отследить малейшие изменения данных во времени.
Наконец про рефрешинг. Из стндарта JEDEC на DDR память, вычитал что она обладает функциями авто-рефрешинга, что правда приводит к паузе в десятки миллисекунд, но тем не менее.
Ой как многа букав....
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
- ArtemKuchin
- Поставщик валерьянки для Кота
- Сообщения: 2277
- Зарегистрирован: Вс апр 20, 2008 23:34:26
- Откуда: Москва
- Контактная информация:
вот кое что полезное (там реально simm 72 использовали)
http://www.pjrc.com/tech/mp3/simm/simm.html
http://www.pjrc.com/tech/mp3/simm/simm.html
Долой идиотизм!