1

Тема: Работа с внешней энергонезависимой памятью по шине I2C

Canny5nano  EEPROM AT24C256 i2C
Перевел прогу c Canny7 на Canny5n.
Не работает - все перерыл, ПОМОГИТЕ!!!
Я думаю это и для вас ценная информация для этого форума
если мы добъем до рабочей версии.
В моей программе все практически как у вас!!!
Единственно, я записываю в память от 0 до 32767 случайные числа (по байтно).
И потом читаю их ...
В своей версии я вывожу (прога индикации отлажена) на индикатор.
Нет информации .....

Вложений в сообщении

Иконка вложения Canny5n_Обмен с памятью_Для Canny_Помощь.cfd 5.59 кб, скачивался 253 раз, последний раз 2019-10-12 

Иконка вложения Canny5n_Обмен с памятью_Для Canny_Помощь.png 199.88 кб, скачивался 84 раз, последний раз 2019-10-12 

Иконка вложения Скриншот 06-10-2019 151149.jpg 291.65 кб, скачивался 82 раз, последний раз 2019-10-12 

2

Re: Работа с внешней энергонезависимой памятью по шине I2C

Скорее всего дело в РЕСТАРТЕ которое есть у 7-ки и нет у 5-ки.
Заменить или смоделировать не хватает квалификации.
Помогите пожалуйста кто может!!!
Спасибо!

3

Re: Работа с внешней энергонезависимой памятью по шине I2C

Вот файл ...

4

Re: Работа с внешней энергонезависимой памятью по шине I2C

Вот что написано у вас в описании по этому поводу:
"...Блок №31 «Копирование» устанавливает значение регистра рестарта I2C в
зависимости от значения сети «чтение»: при чтении регистр будет равен «1», что указывает драйверу
I2C, что сразу после отправки запроса на получение данных из ячейки памяти 24LC64 он должен перейти
а режим приема.

5

Re: Работа с внешней энергонезависимой памятью по шине I2C

Драйвер i2c претерпел некоторые изменения. Диаграмма, которая использовалась в качестве основы, сделана для раннего варианта драйвера и на данный момент не актуализирована. Подробнее о драйвере i2c можно узнать на wiki. Также обратите внимание на особенности работы драйвера и необходимость дополнительной подтяжки канала №4 (SCL).

6

Re: Работа с внешней энергонезависимой памятью по шине I2C

В том и дело, что на wiki нет информации по поводу адреса байта данных, как он формируется.
Адрес устройства - да.
А Адрес данных читаемых и записываемых - нет.
Или я слепой.
Все перепробовал, по аналогии со схемой на Canny7
ДАЙТЕ КРАТКУЮ НО ПОЛНУЮ СХЕМУ КАК ФОРМИРОВАТЬ И ОТПРАВЛЯТЬ АДРЕС ЯЧЕЙКИ ПАМЯТИ ДЛЯ I2C.
ПОЖАЛУЙСТА.
А ЕСЛИ БУДЕТ ПРИМЕР - ВООБЩЕ СУПЕР.
СПАСИБО!

7

Re: Работа с внешней энергонезависимой памятью по шине I2C

Пока в моем понимании расклад такой
D0-непонятно(в Canny7 туда заводят ="A0")
D1-старший байт адреса.
D2-младший байт адреса
D3-байт данных
Это все для семерки, или для старого драйвера наверное (проверить нет возможности).

D0-
D1-
D2-
D3-

Спасибо.

8

Re: Работа с внешней энергонезависимой памятью по шине I2C

vks.com пишет:

...расклад такой
D0-непонятно(в Canny7 туда заводят ="A0")...

Тут все совсем не так. Как отмечалось выше, драйвер i2c претерпел изменения. Описание драйвера (в wiki) актуализировано. На форуме остался старый пример, который нельзя использовать в качестве основы для новых разработок. Для адреса устройства существует отдельный регистр.

vks.com пишет:

...D0-непонятно(в Canny7 туда заводят ="A0")
D1-старший байт адреса.
D2-младший байт адреса
D3-байт данных...

Адрес микросхемы памяти (0x0A), в специальный регистр.
D0-старший байт адреса
D1-младший байт адреса
D2-байт данных
D3-байт данных

Во вложении пример диаграммы. При подаче питания в EEPROM AT24C256, начиная с адреса 0x0001, будет записано 2 байта данных (0xBEEF). После этого, через 1с, начнется цикл чтения записанных данных: чтение будет выполняться каждую секунду, сначала будет установлен адрес начальной ячейки, а следом будет выполнено чтение 2х байт данных.
Если полученные данные соответствуют записанным на начальном этапе (0xBEEF), то на выходе 13 контроллера на 150мс будет установлен положительный потенциал.
Возможности проверить диаграмму в железе, к сожалению, у нас нет.

Вложений в сообщении

Иконка вложения c5nano_i2c_eeprom_at24c256.cfd 4.35 кб, скачивался 255 раз, последний раз 2019-10-21 

9

Re: Работа с внешней энергонезависимой памятью по шине I2C

СПАСИБО!
НО ТАК НЕ ГОДИТЬСЯ - ЕСЛИ ХОТИТЕ РАЗВИВАТЬ СВОЙ ПРОЕКТ, НУЖНЫ ЧЕТКИЕ И ПОНЯТНЫЕ ОПИСАНИЯ.
Две недели потеряны, из-за неверной информации и недостаточно точного описания ......
Выкладываю 100% отлаженную диаграмму для EEPROM AT24C256 I2C.
1. Программа записи - пишется по 1-му байту информации (в этом проекте температура с  датчика DS18B20 последовательно во все 32 тысячи байт EEPROM по кругу, пока вы не остановите процесс.
2. Программа чтения этой информации из этого EEPROMа. Организация та же.
Приведены две графические копии.
В блоках также рабочая (взятая с Форума) диаграмма работы с семи сегментным индикатором - Драйвер четырехразрядного семи сегментного  индикатора на TM1637 v1.23

Вложений в сообщении

Иконка вложения Canny5n_Запись в EEPROM+Инд.+Темпр._Отлажена.cfd 35.15 кб, скачивался 254 раз, последний раз 2019-10-23 

Иконка вложения Canny5n_Чтение из EEPROM+Инд.+Темпр._Отлажена.cfd 33.13 кб, скачивался 258 раз, последний раз 2019-10-23 

Иконка вложения Скриншот 23-10-2019 032825.jpg 562.04 кб, скачивался 92 раз, последний раз 2019-10-23 

10

Re: Работа с внешней энергонезависимой памятью по шине I2C

Еще ...

Вложений в сообщении

Иконка вложения Скриншот 23-10-2019 033012.jpg 448.19 кб, скачивался 85 раз, последний раз 2019-10-23