Добавить
Уведомления

arduino uno (atmega328p) запись spi eeprom 25aa080a, 25lc080a по SPI шине в proteus

Как происходит запись в симуляторе spi eeprom 25aa080a proteus. Смотрите на spi отладчик. В нём показываются подаваемые комманды в каждом фрейме (нижние байты между активным и неактивным состоянием шины). Первый фрейм: 05 FF - это чтение статуса микросхемы (подключена или нет, на какие из четырёх блоков установлена защита от записи, необязательная комманда). Второй фрейм: 06 (комманда снятия защиты от записи со всех блоков). Третий фрейм: 02 (комманда записи) 00 00 (адрес записи) AE 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (записываемый блок из 16-ти произвольных байт). Затем повторяется шаблон третьего фрейма с другим адресом и другими произвольными байтами. Возможна также побайтная запись. Тогда первый фрейм 06. Второй 02 (комманда записи) 00 00 (адрес записи) AE (произвольный байт данных). Каждый фрейм должен открываться и закрываться в вашем коде. Другие параметры - это: линия CS при работе (внутри фрейма) должна быть в низком состоянии, при выключеном состоянии (вне фрейма) в высоком. Тактирование микросхемы должно быть 3 МГЦ, можно выше но на 5 вольтах, а не 3.3. Байт данных всегда передаётся старшим байтом вперёд MSB. Этот код тестировался только на симуляции. Реальную SPI EEPROM 25aa080a я записал через блоки makerhub в labview community edition побайтно. И там требовалось перед каждым байтом всегда снимать защиту от записи, т.е первый фрейм: 06, второй фрейм 02 00 00 B5(любой байт), третий фрейм 06(опять), четвёртый фрейм 02 00 01 CA(любой байт). Прошивка на языке си прилагается. Как на видео вам надо установить переключатель режимов в 5-е состояние для записи массива данных из кода (флэш-память). В реальной ардуино у меня - это переключатель двоичных состояний на 16 режимов (пять ножек одна минус, остальные плюсы). Использовал протеус версии 8.15. исходник на языке си для atmega328p d в proteus в папке: \\andis2 2018\ucxogHuK 328p\default\328p.elf ссылка на файлы:https://disk.yandex.ru/d/Cnneb6UIeMeslg

12+
13 просмотров
24 дня назад
12+
13 просмотров
24 дня назад

Как происходит запись в симуляторе spi eeprom 25aa080a proteus. Смотрите на spi отладчик. В нём показываются подаваемые комманды в каждом фрейме (нижние байты между активным и неактивным состоянием шины). Первый фрейм: 05 FF - это чтение статуса микросхемы (подключена или нет, на какие из четырёх блоков установлена защита от записи, необязательная комманда). Второй фрейм: 06 (комманда снятия защиты от записи со всех блоков). Третий фрейм: 02 (комманда записи) 00 00 (адрес записи) AE 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (записываемый блок из 16-ти произвольных байт). Затем повторяется шаблон третьего фрейма с другим адресом и другими произвольными байтами. Возможна также побайтная запись. Тогда первый фрейм 06. Второй 02 (комманда записи) 00 00 (адрес записи) AE (произвольный байт данных). Каждый фрейм должен открываться и закрываться в вашем коде. Другие параметры - это: линия CS при работе (внутри фрейма) должна быть в низком состоянии, при выключеном состоянии (вне фрейма) в высоком. Тактирование микросхемы должно быть 3 МГЦ, можно выше но на 5 вольтах, а не 3.3. Байт данных всегда передаётся старшим байтом вперёд MSB. Этот код тестировался только на симуляции. Реальную SPI EEPROM 25aa080a я записал через блоки makerhub в labview community edition побайтно. И там требовалось перед каждым байтом всегда снимать защиту от записи, т.е первый фрейм: 06, второй фрейм 02 00 00 B5(любой байт), третий фрейм 06(опять), четвёртый фрейм 02 00 01 CA(любой байт). Прошивка на языке си прилагается. Как на видео вам надо установить переключатель режимов в 5-е состояние для записи массива данных из кода (флэш-память). В реальной ардуино у меня - это переключатель двоичных состояний на 16 режимов (пять ножек одна минус, остальные плюсы). Использовал протеус версии 8.15. исходник на языке си для atmega328p d в proteus в папке: \\andis2 2018\ucxogHuK 328p\default\328p.elf ссылка на файлы:https://disk.yandex.ru/d/Cnneb6UIeMeslg

, чтобы оставлять комментарии