1

Тема: Работа CANNY7 с расширителем портов MCP23017 по I2C

Пример работы контроллера CANNY7 с I2c расширителем портов MCP23017 от компании Microchip.

Диаграмма для организации 16 дополнительных входов контроллера CANNY7 с помощью MCP23017.
Файл проекта i2c_MCP23017_3a.cfd.
Диаграмма разработана в CannyLab версии 1.19 и является полностью рабочим примером, готовым к загрузке в контроллер CANNY7, работающий под управлением системного программного обеспечения версии 1.58 (c7v001058.ccx).

При включении контроллера выполняется настройка MCP23017 для работы всех 16 его портов ввода-вывода в качестве входов, входам устанавливается полярность GND (выдается "1", если на входе GND) и на них включаются подтяжки к "+".
Передача команд инициализации и запросов состояний входов MCP23017 выполняется 20 раз в секунду.
Полученное состояние входов расширителя портов, для контроля изменения их состояния, выдается в CAN.

ВНИМАНИЕ! Напряжение питания и допускаемое напряжение на портах микросхемы MCP23017 составляет 5В! При подключении шины I2C контроллера CANNY7 к MCP23017 необходимо организовать подтяжку линий SDA и SCL к напряжению +5В резисторами 4,7кОм.

Исходные файлы проекта во вложении.

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

Иконка вложения i2c_MCP23017_3a.cfd 5.69 кб, скачивался 517 раз, последний раз 2016-05-20 

2

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

Пример работы контроллера CANNY7 с I2c расширителем портов MCP23017 от компании Microchip.

Диаграмма для организации 16 дополнительных выходов контроллера CANNY7 с помощью MCP23017.
Файл проекта i2c_MCP23017_2a.cfd.
Диаграмма разработана в CannyLab версии 1.19 и является полностью рабочим примером, готовым к загрузке в контроллер CANNY7, работающий под управлением системного программного обеспечения версии 1.58 (c7v001058.ccx).

При включении контроллера выполняется настройка MCP23017 для работы всех конактов его портов ввода-вывода в качестве выходов.
Передача команд инициализации и команд на изменение состояний выходов MCP23017 выполняется 20 раз в секунду.

ВНИМАНИЕ! Напряжение питания и допускаемое напряжение на портах микросхемы MCP23017 составляет 5В! При подключении шины I2C контроллера CANNY7 к MCP23017 необходимо организовать подтяжку линий SDA и SCL к напряжению +5В резисторами 4,7кОм.

Исходные файлы проекта во вложении.

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

Иконка вложения i2c_MCP23017_2a.cfd 6.39 кб, скачивался 475 раз, последний раз 2016-05-23 

3

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

Пример работы контроллера CANNY7 с I2c расширителем портов MCP23017 от компании Microchip.

Диаграмма для организации 8 дополнительных выходов и 8 дополнительных входов контроллера CANNY7 с помощью MCP23017.
Файл проекта i2c_MCP23017_4a.cfd.

При включении контроллера выполняется настройка MCP23017:

  • для работы в качестве входов настраиваются 8 портов ввода-вывода (порт A);

  • для работы в качестве выходов настраиваются 8 портов ввода-вывода (порт B);

  • входам устанавливается полярность GND (выдается "1", если на входе GND) и на них включаются подтяжки к "+".

Передача команд по шине I2C (инициализации, запросов состояний входов и установки состояний выходов MCP23017) выполняется 20 раз в секунду.
Таким образом, в виду поочередной отправки команд на установку состояний выходов и запросов состояний входов, периодичность обновления состояний выходов и данных о состоянии входов составляет 10 раз в секунду.

Полученное состояние входов расширителя портов, для контроля изменения их состояния, выдается в CAN.

ВНИМАНИЕ! Напряжение питания и допускаемое напряжение на портах микросхемы MCP23017 составляет 5В! При подключении шины I2C контроллера CANNY7 к MCP23017 необходимо организовать подтяжку линий SDA и SCL к напряжению +5В резисторами 4,7кОм.

Исходные файлы проекта во вложении.

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

Иконка вложения i2c_MCP23017_4a.cfd 9.08 кб, скачивался 530 раз, последний раз 2016-05-25 

4

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

Можно чуть подробнее по подключению расширителей. Написано что можно до 5 L2C  подключить. К примеру мне нужно 16 входов и 16 выходов сделать. Как совместить два расширителя. Можно схемку плиз)) В канни5нано прям удобная)) Спасибо.

5

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

ivan.a.vishnev пишет:

...Написано что можно до 5 L2C  подключить...

При необходимости, можно подключить и больше (см. https://ru.wikipedia.org/wiki/I%C2%B2C)

ivan.a.vishnev пишет:

...К примеру мне нужно 16 входов и 16 выходов сделать. Как совместить два расширителя....

Можно организовать несколькими способами, логичнее всего подключить на одну шину два расширителя портов, используя перемычки задать им индивидуальные адреса и обращаться к ним по адресу.
Пример такой схемы подключения во вложении. К MCP23017 с обозначением U2 можно будет обращаться по адресу 0x40, а к MCP23017 с обозначением U3 - по адресу 0x48 (на контакт А2 подключен положительный потенциал).

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

lcd_i2c_mcp23017x2.png, 18.7 кб, 539 x 317
lcd_i2c_mcp23017x2.png 18.7 кб, скачивался 204 раз, последний раз 2021-01-25 

6 (25-01-2021 23:01:43 отредактировано ivan.a.vishnev)

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

То есть адрес задаётся путем подключения А1 А2 А3 на плюс или минус.

Нашел ...см.влодение.

Очень удобно)) спасибо.

А с кани5нано так же можно?

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

Иконка вложения Screenshot_2021-01-25-22-53-38-21.jpg 135.79 кб, скачивался 63 раз, последний раз 2021-01-25 

7

Re: Работа CANNY7 с расширителем портов MCP23017 по I2C

ivan.a.vishnev пишет:

Нашел ...см.влодение.

При работе контроллеров CANNY с i2c-устройствами достаточно указать адрес чтения. Бит направления передачи устанавливается автоматически и не требует от пользователя явного указания.

ivan.a.vishnev пишет:

А с кани5нано так же можно?

Можно. Для CANNY 5 nano существует аналогичная тема: https://forum.canny.ru/viewtopic.php?id=250.