Управление буфером RS-485
incredi
Пункты: 3192
Регистрация: 11.12.2014
Можно ли настроить управление направлением буфера RS-485 через произвольный пин?
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Jman
Пункты: 850
Регистрация: 14.01.2019
Добрый день! Скажите пожалуйста, посмотрел ваш пример по ссылке, а как настроить автопереключение п/п на UART 4? Где можно найти информацию об этом? Пин управления подключен к Tx-CSI0_DAT13 M2 CSI0_DAT12, Rx-CSI0_DAT13 M2 CSI0_DAT13 и направление CSI0_DAT17 (gpio6_GPIO[3]).
sasamy
Пункты: 83540
Регистрация: 14.08.2009
Цитата Добрый день! Скажите пожалуйста, посмотрел ваш пример по ссылке, а как настроить автопереключение п/п на UART 4? Где можно найти информацию об этом? Пин управления подключен к Tx-CSI0_DAT13 M2 CSI0_DAT12, Rx-CSI0_DAT13 M2 CSI0_DAT13 и направление CSI0_DAT17 (gpio6_GPIO[3]).
Смотрите файл output/build/linux-custom/arch/arm/boot/dts/imx6qdl-sodimm.dtsi
1) Сначала нужно удалить описание CSI потому что выбранные пины UART4 конфликтуют с ним, найдите и удалите эти блоки
Цитата
v4l2_cap_0 {
compatible = "fsl,imx6q-v4l2-capture";
ipu_id = <0>;
csi_id = <0>;
mclk_source = <0>;
ain_num = <1>;
status = "okay";
};
Цитата
adv7180: adv7180@21 {
compatible = "adv,adv7180";
reg = <0x21>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_csi_sodimm>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <®_3p3v>;
AVDD-supply = <®_3p3v>;
DVDD-supply = <®_3p3v>;
PVDD-supply = <®_3p3v>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
cvbs = <1>;
cam_std = <0>; /* 0 - PAL(default), 1 - NTSC J , 2 - NTSC M */
};
2) Прописать UART4 - добавить то что выделено жирным текстом после того что не выделено
Цитата
uart3 {
pinctrl_uart3_sodimm: uart3-sodimm {
fsl,pins = <
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
>;
};
};
uart4 {
pinctrl_uart4_sodimm: uart4-sodimm {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x1b0b1
>;
};
};
Цитата
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3_sodimm>;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4_sodimm>;
rs485-gpio = <&gpio6 3 0>;
status = "okay";
};
Jman
Пункты: 850
Регистрация: 14.01.2019
Спасибо огромное! Буду пробовать.
Jman
Пункты: 850
Регистрация: 14.01.2019
Добрый день, из-за чего может быть следующая проблема? На порте, куда подключена MAX485 (UART4) происходит следующее. Отправляю пакет например из 4х байт, устройство подключенное к этому порту вместо ответа 4 байт присылает мне в ответ сам запрос и ответ, в сумме 8 байт. Как буд-то Эхо. Но оно вроде отключено. Может ли быть такое, если не верно настроен пин CTS, который управляет направлением приема передатчика MAX485?
sasamy
Пункты: 83540
Регистрация: 14.08.2009