Настройка RTS/CTS на UART нужна помощь
VladimirS
Пункты: 1016
Регистрация: 20.06.2017
Цитата Вы знаете, я случайно увидел в I.MX Pin Tool. Пин RTS у 6-х imx-ов - это вход, а CTS- выход. И на тот момент очень вовремя увидел. Я как-то привык к ситуации наоборот. И направление их не меняется.
Да, всё верно. То что они обозначают буквами CTS в названии своих пинов является выходом. Он как-бы и должен являться выходом для режима DCE, но тогда RX тоже должен быть выходом:
Код
DTE ________ DCE
RX <---------- RX
TX ----------> TX
RTS ----------> RTS
CTS <--------- CTS
Но у них RX - вход.
В итоге наименования пинов не верны ни для DCE, ни для DTE.
Elijah1978
Пункты: 573
Регистрация: 01.08.2017
Доброго времени суток!
Есть плата на основе SK-imx6-MB-SODIMM. Пытаюсь настроить uart4 на ногах 30 32 по Manual_SK-iMX6-SODIMM.pdf
uart4 {
pinctrl_uart4_sodimm: uart4-sodimm {
fsl,pins = <
MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x1b0b1
/*MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1*/
MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x1b0b1
/*MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 */
MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1
MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1
>;
};
};
......................................................................
uart4: serial@021f0000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
reg = <0x021f0000 0x4000>;
interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_UART_IPG>,
<&clks IMX6QDL_CLK_UART_SERIAL>;
clock-names = "ipg", "per";
dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
dma-names = "rx", "tx";
fsl,uart-has-rtscts;
status = "okey";
};
проверяю через nanocom. Видим на осцилографе, что сигналы на потребителя не уходят. Это я что-то не так настраиваю или плата кривая?
Elijah1978
Пункты: 573
Регистрация: 01.08.2017
Ноги
MX6QDL_PAD_EIM_A22__GPIO2_IO16 MX6QDL_PAD_EIM_D27__GPIO3_IO27
везде в других местах убрал...
sasamy
Пункты: 77103
Регистрация: 14.08.2009
Цитата
Есть плата на основе SK-imx6-MB-SODIMM. Пытаюсь настроить uart4 на ногах 30 32 по Manual_SK-iMX6-SODIMM.pdf
если вы про это
30 UART4_TX F24: EIM_ADDR22, GPIO2_IO16 ...
32 UART4_RX E25: EIM_D27, UART2_RX, GPIO3_IO27
как uart4 на imx6 эти пины работать не будут - названия цепей не соответствуют функциональному назначению пинов в данном случае.
Pavel Ivanchenko
Admin
Пункты: 91412
Регистрация: 24.03.2009
Пол: Мужчина
Цитата названия цепей не соответствуют функциональному назначению пинов
Как раз название цепей говорит, что там нет UART функции (цепи названы как GPIO). Злую шутку играет название функции на SODIMM разъеме, которая может не совпадать, поэтому сами цепи подходящие к этим контактам названы как GPIO (тогда как на них 7 функций), а не UART ...
Если выводить на эти пины именно UART, тогда не получилось бы вывести CSI или I2S функционал (4 и 5 UART-ы на этих пинах).
UART4_RX - 74 и 82 пины модуля
UART4_TX - 76 и 84 пины
UART5_RX - 70 и 80 пины
UART5_TX - 72 и 78 пины