Перейти к содержанию
    

Cтыковка EEPROM AT24C512B с Virtex-5

Доброго дня!

При стыковке Атмеловской EEPROM-ки AT24C512B с ПЛИС Xilinx семейства Virtex-5 перериодически после нескольких операциях записи (количество плавает) по прозвольному (не нулевому) адресу происходит сбой, при котором и перезатираются данные, хранящиеся по нулевому адресу+n адресу (с 00h по 1Fh находится область к которой нет обращений). Блоки данных небольшие, 20байт, адреса, по которым производится обращение далеки от максимальных. Линия SDA изначально подтягивалась внутри ПЛИС, потом были опробованы внешние подтягивающие резисторы номиналом от 2,2кОм до 6,8кОм, результат тот же. Сама EEPROM-ка расположена на одной плате с ПЛИС, длинна дорожек не более 40мм.

В .UCF файле прописаны следующие настройки:

NET "EEPROM_SCL" LOC = AG22;

NET "EEPROM_SDA" LOC = AH22;

NET "EEPROM_SCL" IOSTANDARD = LVCMOS33;

NET "EEPROM_SDA" IOSTANDARD = LVCMOS33;

NET "EEPROM_SDA" DRIVE = 24;

NET "EEPROM_SDA" SLEW = SLOW;

NET "EEPROM_SDA" PULLUP;

 

Во вложениях картинки осциллограммы управляющего слова записи адреса, то же самое в ChipScop-е, и диаграмма выдачи условия стоп в ChipScop (длительность одного такта 0,1мкС).

Так же был опробован, найденный в последней версии Data Sheet на Ep AT24C512B режим Software Reset, применение которого после включения, равно как и перед каждой операцией записи, результата не дало.

 

Собственно вопрос: кто сталкивался с данной проблемой нестабильности адресации и как решал

post-31871-1319540288_thumb.jpg

post-31871-1319540310_thumb.jpg

post-31871-1319540320_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, что это у вас там за пичок треугольный на осцилограмме?

Во вторых - посмотрите осцилограмму фронта сигнала, у вас может там звенеть очень сильно при токе в 24мА. Не надо ставить такой ток на медленные линии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, что это у вас там за пичок треугольный на осцилограмме?

Этот от пичок от предыдущей операции чтения. Пичок дает подтяжка, в момент между 8м битом и синхроимпульсом, по которому выдается АСК, в этот момент линия никем не занята.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дико извеняюсь что лезу в тему. С плисинами не знаком, да и доки по 24C512 последний раз читал лет 5 назад. Но помоему там предельная частота SCK 100 килогерц, в лучщем случае 400, а если особо повезёт, то мегагерц. Но никак не десять o_O

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дико извеняюсь что лезу в тему. С плисинами не знаком, да и доки по 24C512 последний раз читал лет 5 назад. Но помоему там предельная частота SCK 100 килогерц, в лучщем случае 400, а если особо повезёт, то мегагерц. Но никак не десять o_O

Так на осциллограмме период SCL около 4-5мкС, так что частоты до 300кГц. 100нС длительность периода синхросигнала тактирующего ядро, на котором реализован контроллер EEPROM-ки =)

Изменено пользователем big_iluxa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В итоге сейчас пишу по одному байту, пишет без ошибок. Правда скорость раз в 10 ниже, но для моей задачи не критично.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...