Программирование DSP Flash Programmer для I2C EEPROM AT24C64D Tue, October 22 2019  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Flash Programmer для I2C EEPROM AT24C64D Печать
Добавил(а) microsin   

Драйвер Flash Programmer для среды IDE VisualDSP++ [1] для поддержки программирования микросхем последовательной памяти EEPROM с интерфейсом I2C (TWI) AT24C64D.

За основу был взят драйвер для микросхем Serial Flash M25P16 для компании Micron, исходный код которого поставлялся вместе с VisualDSP++ 5.0 (находится в каталоге Blackfin\lib\src\drivers\flash\M25P16\). Возможности и особенности драйвера:

1. Запись и чтение осуществляется блоками размером до страницы (1 .. 32 байт).

Примечание: поскольку в микросхеме AT24C64D находится 256 мелких страниц по 32 байта, и нет физического деления на секторы, в драйвере реализовано логическое деление всей памяти на секторы, в каждом из которых находится по 16 страниц. Благодаря логическому делению на секторы удалось ускорить операции стирания, осуществляемые по командам API Flash Programmer.

2. Для упрощения кода удалена поддержка записи и чтения данных с интервалом (величина параметра Stride может быть только равной 1).

3. Для отладки добавлена возможность вывода сообщений в порт UART0 (макрос umsg).

Микросхема EEPROM подключается к порту TWI0. Драйвер тестировался на микросхеме AT24C64D [2] и процессоре ADSP-BF538F. Драйвер может быть легко адаптирован под другие микросхемы I2C EEPROM и другие процессоры Blackfin.

Схема подключения EEPROM к процессору через порт TWI0:

ADSP BF538 I2C EEPROM AT24C64D

[Что еще можно улучшить в драйвере]

1. Микросхеме AT24C64D требуется определенное время (до 5 мс) для записи страницы. Есть возможность опроса готовности (окончания внутреннего процесса программирования страницы) по возвращаемому биту ACK/NACK в ответ на выдачу по шине адреса устройства. Это позволило бы сократить время программирования каждой страницы. В настоящий момент такой опрос заменен простой задержкой на 5.2 мс.

2. Можно перейти на повышенную скорость обмена по шине (Fast Mode) со скоростью 400 кГц. Пока работа ведется на стандартной скорости 100 кГц.

3. Вернуть поддержку интервалов адреса (stride) при работе с памятью.

Исходный код и исполняемый DXE-файл драйвера можно скачать по ссылке [4].

[Ссылки]

1VisualDSP API программирования FLASH для процессоров Blackfin.
2AT24C64: Serial EEPROM с интерфейсом I2C (TWI).
3ADSP-BF538: контроллеры интерфейса TWI (I2C).
4190207FlashProgrammer-AT24Cxx.zip - исходный код и исполняемый файл драйвера (Debug\FlashDriver_AT24Cxxx.dxe).

 

Добавить комментарий


Защитный код
Обновить

Top of Page