реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Пдавление эха при использовании CAN
Rusoil
сообщение Jun 2 2009, 05:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



Процессор LPC. Используется драйвер физического уровня CAN подключенный к UART.

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

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

Не срабатывает, постоянно остаються два байта - идет прерывание по IIR_CTI. Из-за этого траблы.
Go to the top of the page
 
+Quote Post
meister
сообщение Jun 2 2009, 06:28
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 219
Регистрация: 20-11-07
Пользователь №: 32 484



Цитата(Rusoil @ Jun 2 2009, 09:43) *
Хочу избавиться от эха при передаче, т.к. не требуется.


При передаче ножку RX переключать в режим GPIO. Например.
Go to the top of the page
 
+Quote Post
Rusoil
сообщение Jun 2 2009, 07:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



Такой вариант рассматривался и уже работает, но хочеться чтоб по взрослому..
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 2 2009, 07:42
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



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

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
meister
сообщение Jun 2 2009, 08:07
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 219
Регистрация: 20-11-07
Пользователь №: 32 484



Цитата(zltigo @ Jun 2 2009, 11:42) *
контролиуйте ВСЮ передачу на предмет колизий при предаче.


"ВСЮ" - это побитно? На аппаратном UART? Как?
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 2 2009, 08:22
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



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

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

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 2 2009, 08:30
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Dog Pawlowa @ Jun 2 2009, 11:22) *
Сравнением переданного и принятого, очевидно.

Да, и конец своей передачи заодно банально поймаете.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rusoil
сообщение Jun 2 2009, 12:09
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



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


Ну выбор не мой, пока я только пишу для чужих железок. Но предположительно из-за девайса с которым приходиться работать - эл. счетчик Меркурий 230 имеет интерфейс CAN, чисто физически. Сам протокол обмена - клон Модбаса. У заказчика стоят именно версии с CAN.

Сообщение отредактировал Rusoil - Jun 2 2009, 12:22
Go to the top of the page
 
+Quote Post
TanT
сообщение Jun 18 2009, 02:28
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 22-11-05
Из: Россия->Омск
Пользователь №: 11 210



Раз зашёл разговор про CAN, хотелось бы выяснить следующее: на какое время можно запретить прерывания по CAN, чтобы избежать потери данных. (естесственно на максимальной скорости 1Мбит/с для LPC2378)?


--------------------
Если вы не можете объяснить что-то шестилетнему ребенку, значит, вы сами этого не понимаете.
Альберт Эйнштейн
Go to the top of the page
 
+Quote Post
prgjz
сообщение Jun 18 2009, 10:38
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 3-01-07
Из: Germany
Пользователь №: 24 071



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


Примерно 100микро сек. длится трансляция сообщения при 1Мбит/сек с 11бит идентификатором.
Желательно не дольше запрещать.
Go to the top of the page
 
+Quote Post
TanT
сообщение Jun 23 2009, 04:00
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 22-11-05
Из: Россия->Омск
Пользователь №: 11 210



prgjz, это вы считали как количество бит в посылке CAN (порядка 100 бит )? поясните ещё, пожалуйста, при отсутвии данных или их малом количестве размер пакета у нас останется всё тежи 100 бит или будет меньше?


--------------------
Если вы не можете объяснить что-то шестилетнему ребенку, значит, вы сами этого не понимаете.
Альберт Эйнштейн
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 26 2009, 13:58
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



точное число бит указать невозможно, т.к. это переменная величина, зависящая от данных, ибо в протоколе используется bit stuffing
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 05:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01481 секунд с 7
ELECTRONIX ©2004-2016