У меня есть дизайн с использованием LPC1788 вместе с модулем SDRAM от ISSI ( IS42S32800D ). Это 32-битный интерфейс.
Я разработал этот дизайн и сделал прототип с изготовителем печатной платы, который делает 6-слойные прототипы. Прототип печатной платы работает отлично. Затем я подумал, что получу печатную плату небольшого объема (100) от моего обычного поставщика печатных плат. Я дал им информацию о стеке, которую использовал мой прототип, чтобы не было проблем.
Однако! У меня огромные проблемы с производственной платой. Сначала я не мог получить какой-либо ответ от SDRAM, несмотря на тот же код, который я использовал в моей плате-прототипе. Предыдущая плата работала на частоте 120 МГц, поэтому я был уверен, что что-то не так с этой новой платой. Затем я нашел сообщение, в котором люди предлагали использовать режим повторителя для линий данных SDRAM (я не использовал это ранее), и это вызвало ответ от SDRAM, однако он не стабилен. Я могу записать по 16 или около того адресам, но затем при последующем чтении возвращаемые данные (по каждому адресу) - это данные, которые я написал последними (вероятно, из-за режима повторителя). Когда я отключаю режим повторителя, возвращаются данные 0xFFFFFFF. Сейчас я пытаюсь подключиться к 48 МГц, самая низкая конфигурация, для которой у меня есть время.
Я использую одинаковые нагрузочные резисторы (на линиях данных) по 22 Ом на обеих платах, линии данных в среднем имеют длину 3 см. Линия часов длиной 2,4 см. Длина адресных строк составляет 3,8 см.
Это слишком нехарактерно, стоит ли задерживать часы дольше, если они существенно короче? Я действительно застрял здесь, так как я ничего не изменил в дизайне, который я надеялся на бесперебойное производство этих плат.
Maximum Data Line Length: 59mm (Although this includes the branch to the NAND Flash)
Minimum Data Line Length (Ctrl to Res): 18mm
Maximum Address Line Length: 44mm
Minimum Address Line Length: 24mm
CLK: 24.5mm
CKE: 25mm
CAS: 28mm
RAS: 28.7mm
Вот конфигурация стека печатной платы для исходного (рабочего) прототипа:
Вот конфигурация стека печатных плат для производственных (нерабочих) печатных плат
Вот маршрутизация для SDRAM: