Перейти к содержимому

EKCP-LLP

Модуль контроллера на базе одноплатника Luckfox Lyra.

Основные характеристики:

  • одноплатник Luckfox Lyra или Luckfox Lyra Plus
  • интерфейс Ethernet (при установке Luckfox Lyra Plus)
  • интерфейс DSI - для сенсорных экранов
  • 2 интерфейса CAN2.0
  • 2 интерфейса RS-485
  • USB

Модуль можно собирать как с моделью Luckfox Lyra, так и с моделью Luckfox Lyra Plus. Посадочное место у контроллеров одинаковое, у модели Plus есть дополнительный интерфейс Ethernet.

Через интерфейс DSI можно подключать дисплеи с тач-скринами:

Операционная система - Linux, собираемая с помощью Buildroot. Производитель Luckfox предоставляет SDK для сборки образа. При сборке также назначается фунциональность ножек контроллера (Rockchip Matrix). Необходимая настройка дерева устройств приведена в разделе Настройка Device Tree.

При сборке модуля на контроллер Luckfox Lyra загружается прошивка со всеми необходимыми настройками.

2 интерфейса CAN 2.0. Один из интерфейсов подключен к межмодульной шине IBus, второй полностью независим. Взаимодействовать с шиной можно через драйверы SocketCAN.

2 интерфейса RS-485. Возможна программная реализация протоколов на основе RS-485 - например, Modbus RTU.

В модуле устанавливается чип часов реального времени (RTC) DS3231M. Работа часов при отсутствии питания обеспечивается батарейкой формата CR1220.

Для подключения устройств в порт USB потребуется кабель MX1.25 4Pin To USB, например https://www.waveshare.com/mx1.25-4p-to-usb-cable.htm

Заданная конфигурация: Скопировано

Стоимость: $

1. Тип контроллера

EKCP-LLP - вид сверху
EKCP-LLP - вид снизу
Скачать 3D STEP

Для работы с подключенными интерфейсами перед сборкой образа необходимо настроить дерево устройств (Device Tree). В файл kernel/arch/arm/boot/dts/rk3506-luckfox-lyra.dtsi необходимо добавить следующие строки:

&i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&rm_io5_i2c0_scl &rm_io4_i2c0_sda>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
pinctrl-names = "default";
pinctrl-0 = <&rm_io25_can0_tx &rm_io24_can0_rx>;
status = "okay";
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
pinctrl-names = "default";
pinctrl-0 = <&rm_io3_can1_tx &rm_io2_can1_rx>;
status = "okay";
};
&uart1 {
pinctrl-0 = <&rm_io31_uart1_tx &rm_io29_uart1_rx>;
status = "okay";
pinctrl-names = "default";
};
&uart2 {
pinctrl-0 = <&rm_io28_uart2_tx &rm_io26_uart2_rx>;
status = "okay";
pinctrl-names = "default";
};

После сборки образа и загрузки прошивки на контроллер в системе появятся следующие интерфейсы:

  • /dev/i2c-0 - интерфейс I²C₀. Для связи с микросхемой часов реального времени DS3231.
  • /dev/i2c-2 - интерфейс I²C₂. Настроен в прошивке по умолчанию, используется для связи с тач-контроллером дисплея в интерфейсе DSI.
  • /dev/can0 - интерфейс CAN₀. Подключен к коннектору межмодульной шины IBus.
  • /dev/can1 - интерфейс CAN₁.
  • /dev/ttyS1 - интерфейс UART1. Через устройство /dev/gpiochip1, линия 26 необходимо управлять сигналом RTS (Request To Send).
  • /dev/ttyS2 - интерфейс UART2. Через устройство /dev/gpiochip1, линия 18 необходимо управлять сигналом RTS (Request To Send).

В этом же файле DTSI файле необходимо настроить интерфейс DSI для подключения экрана. С настройками по умолчанию можно подключить экран 10.1”. Настройки для других экранов описаны в вики производителя - https://wiki.luckfox.com/Luckfox-Lyra/Device-Tree#3-device-tree-configuration.

DS3231M даташитСкачатьСсылка
RK3506B даташитСкачатьСсылка