Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пдавление эха при использовании CAN
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Rusoil
Процессор LPC. Используется драйвер физического уровня CAN подключенный к UART.

Хочу избавиться от эха при передаче, т.к. не требуется.

Делаю так:
После передачи последнего байта в Tx прерывании сбрасываю Rx FIFO - U0FCR_bit.RFR = 1.
И выполняю чтение в цикле из Rx FIFO на всю глубину.

Не срабатывает, постоянно остаються два байта - идет прерывание по IIR_CTI. Из-за этого траблы.
meister
Цитата(Rusoil @ Jun 2 2009, 09:43) *
Хочу избавиться от эха при передаче, т.к. не требуется.


При передаче ножку RX переключать в режим GPIO. Например.
Rusoil
Такой вариант рассматривался и уже работает, но хочеться чтоб по взрослому..
zltigo
Цитата(Rusoil @ Jun 2 2009, 08:43) *
Процессор LPC. Используется драйвер физического уровня CAN подключенный к UART.

Ну и причем тут поминание всуе CAN sad.gif? По форуму поищите посты Ваших многочисленных предшественников озабоченных отключением после предачи передатчиков RS485 подключенных к 8250/82550 UART.
P.S.
Если уж взяли CAN физическй уровень, то уж пользуейтесь ПРЕИМУЩЕСТВОМ такого решение и контролиуйте ВСЮ передачу на предмет колизий при предаче.
meister
Цитата(zltigo @ Jun 2 2009, 11:42) *
контролиуйте ВСЮ передачу на предмет колизий при предаче.


"ВСЮ" - это побитно? На аппаратном UART? Как?
Dog Pawlowa
Цитата(meister @ Jun 2 2009, 11:07) *
"ВСЮ" - это побитно? На аппаратном UART? Как?

Сравнением переданного и принятого, очевидно.

Лучше расскажите, чем такой выбор вызван. Потому как RS485 - это не монтажное ИЛИ, как CAN-bus, и в помехоустойчивости Вы потеряли. Эхо тоже не нужно.
Что остается? - чуть больше защищенность от высокого напряжения? Один провод?
zltigo
Цитата(Dog Pawlowa @ Jun 2 2009, 11:22) *
Сравнением переданного и принятого, очевидно.

Да, и конец своей передачи заодно банально поймаете.
Rusoil
Лучше расскажите, чем такой выбор вызван. Потому как RS485 - это не монтажное ИЛИ, как CAN-bus, и в помехоустойчивости Вы потеряли. Эхо тоже не нужно.
Что остается? - чуть больше защищенность от высокого напряжения? Один провод?


Ну выбор не мой, пока я только пишу для чужих железок. Но предположительно из-за девайса с которым приходиться работать - эл. счетчик Меркурий 230 имеет интерфейс CAN, чисто физически. Сам протокол обмена - клон Модбаса. У заказчика стоят именно версии с CAN.
TanT
Раз зашёл разговор про CAN, хотелось бы выяснить следующее: на какое время можно запретить прерывания по CAN, чтобы избежать потери данных. (естесственно на максимальной скорости 1Мбит/с для LPC2378)?
prgjz
Цитата(TanT @ Jun 18 2009, 05:28) *
Раз зашёл разговор про CAN, хотелось бы выяснить следующее: на какое время можно запретить прерывания по CAN, чтобы избежать потери данных. (естесственно на максимальной скорости 1Мбит/с для LPC2378)?


Примерно 100микро сек. длится трансляция сообщения при 1Мбит/сек с 11бит идентификатором.
Желательно не дольше запрещать.
TanT
prgjz, это вы считали как количество бит в посылке CAN (порядка 100 бит )? поясните ещё, пожалуйста, при отсутвии данных или их малом количестве размер пакета у нас останется всё тежи 100 бит или будет меньше?
adnega
точное число бит указать невозможно, т.к. это переменная величина, зависящая от данных, ибо в протоколе используется bit stuffing
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.