Project

General

Profile

Feature #1233

Updated by Izerg over 4 years ago

 
 h3. *DDR DIMM SPD адаптер для Raspberry Pi* 

 Сегодня практически каждый модуль DDR памяти имеет в совоем составе небольшую I2C EEPROM память для храненияинформации о производителе, спецификации, конфигурации модуля. Наличие конфигурационной информации позволяет компьютеру определять тип памяти,настраивать интерфейс памяти на корректные значения скорости и напряжения в соответствии со спецификацией модуля памяти. Такой механизм работы основан на стандарте -JEDEC "Serial presence detection specification (SPD)"- (+Доступен для загрузки+). 
 Когда нужно изменить информацию SPD используют программные утилиты для модификаций параметров памяти в составе системы. Данные утилиты очень редко дступны разработчику для использования. 

 Для решения данной проблеммы поставим задачу разработать автономный программатор для чтения/записи SPD. 
 В качестве базовой платформы выбираем Raspberry Pi. Применение данный процессорного модуля - один из сотни возможных путей решения задачи. Причины выбора модуля: широко распространенная Linux платформа, легкая в    освоении и настройке, позволяющая инженерам реализовывать новые возможности встраиваемых ARM платформ. 

 Дополнительное требование к работе программатора: изменения в SPD должны производится таким образом, что бы ислючить повреждение модуля механически или в результате пайки. Для удовлетворения этого требования необходимо применить разъем DIMM. Такой подход позволяет быстрое подключение к SPD без риска повреждения и без паяного неразрывного соединения.  

 h2. +*Основные требования к проекту*+ 

 * Open-source проект, под управлением [[dev.xdevs.com]] и *_mercurial_* DVCS 
 * Полноразмерные DDR3/DDR4 UDIMM/RDIMM разъемы совместимые со стандартными модулями памяти 
 * Стандартный разъем для подключения к Raspberry Pi 
 * I2C EEPROM интерфейс подключен к соответствующему порту Raspberry Pi 
 * напряжение питания SPD +3.3V 
 * переключатель питания модулей памяти для замены без отключения питания Raspberry Pi 
 * переключатель выбора адреса I2C для подключения нескольких адаптеров к одной Raspberry Pi 
 * MCU    -(LPC11U37FBD64)- в составе адаптера для реализации дополнительных функций, автономного программирования без Raspberry Pi (используется для автоматизации процессов) 

 Структура проекта 
 Все проектные файлы а так же сопутствующая документация отслеживается Распределенной Системой Контроля Версий Mercurial DVCS. +Это бесплатная и хорошо поддерживаяемая система контроля версий с поддержкой синтаксиса, аналогично GIT и SVN.+ (_примечание: определение    перенести в нижнюю часть статьи, в качестве справочного уточнения_) 
 Для работы с проектом вы можете получить дерево проекта, выполнив команду:  
 <pre><span>hg clone http://dev.xdevs.com/hg/ddr4s <span></pre> 
 акже можно просмотреть отдельные фалы в дереве проекта [browse project tree here[https://dev.xdevs.com/projects/rpi/repository]]. 

 h1. Разработка аппаратной части 
 Потратив несколько часов получаем схему адаптера:  
 !http://doc.xdevs.com/doc/xDevs.com/DDR4s/img/schematic.png! ([Доступен ([+Доступен PDF формат[https://dev.xdevs.com/projects/rpi/repository/entry/sch/DDR4S.pdf]]). формат+[https://dev.xdevs.com/projects/rpi/repository/entry/sch/DDR4S.pdf]]). 
 Аснова адаптера - простой дизайн с нбольшим количеством компонентов. Часть MCU не является обязательным, не требуется для работы с RPI. 
 Рисунок печатной платы делался для 4-х слоев, материал FR4. Для простоты сборки шелкография компонентов наносится с обеих сторон платы. Большая часть компонентов - для CMD монтажа, исключение: разъемы, переключатели, конденсаторы. Гербер файлы доступны для загрузки. (_+ссылка на гербер внизу статьи+_) 
 Для отдельных приложений DIY сборка платы может быть упрощена. 
 !http://dev.xdevs.com/projects/rpi/repository/entry/doc/simple.png! 
 На схеме показаны pull-up резисторы подтяжки I2C к питанию RPI, а также переключатель питания со светод 
 Внешний вид платы адаптера (ручная сборка): 
 !http://doc.xdevs.com/doc/xDevs.com/DDR4s/img/small/top.jpg! 
 Список компонентов:  
 * Выключатель питания SW4 (двухпозиционный) 
 * I2C pull-up резисторы    R10,R9 (2.2kOhm, 0603 5%) 
 * вспомогательный резистор R7 (0-10 ohm, 0603 5%) 
 * конденсаторы развязки C3,C2 (0.1uF 0603 X7R) 
 * Конденсатор фильтра питания C4 (100-560 uF 6.3-16V 7 mm диаметр, шаг выводов 4 mm) 
 * 2.54mm 26-контактный разъем для RPI порта расширения P1. 
 * разъем DDR3 240-pin DIMM 
 * разъем DDR4 288-pin DIMM (при необходимости) 
 Все компоненты расположены на верхней строне платы. 
 На нижней стороне платы расположены декоративные светодиоды 0603. 
 !http://doc.xdevs.com/doc/xDevs.com/DDR4s/img/small/back.jpg! 
 Питание, I2C, SPI и UART подключены к 26 контактному разъему. подключение к порту расширения Rasberry Pi производится с помощью плоского кабеля. 
 !http://doc.xdevs.com/doc/xDevs.com/DDR4s/img/small/header.jpg! 
 

Back