|
|
  |
Пдавление эха при использовании CAN |
|
|
|
Jun 2 2009, 05:43
|
Участник

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

|
Процессор LPC. Используется драйвер физического уровня CAN подключенный к UART.
Хочу избавиться от эха при передаче, т.к. не требуется.
Делаю так: После передачи последнего байта в Tx прерывании сбрасываю Rx FIFO - U0FCR_bit.RFR = 1. И выполняю чтение в цикле из Rx FIFO на всю глубину.
Не срабатывает, постоянно остаються два байта - идет прерывание по IIR_CTI. Из-за этого траблы.
|
|
|
|
|
Jun 2 2009, 07:24
|
Участник

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

|
Такой вариант рассматривался и уже работает, но хочеться чтоб по взрослому..
|
|
|
|
|
Jun 2 2009, 07:42
|

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

|
Цитата(Rusoil @ Jun 2 2009, 08:43)  Процессор LPC. Используется драйвер физического уровня CAN подключенный к UART. Ну и причем тут поминание всуе CAN  ? По форуму поищите посты Ваших многочисленных предшественников озабоченных отключением после предачи передатчиков RS485 подключенных к 8250/82550 UART. P.S. Если уж взяли CAN физическй уровень, то уж пользуейтесь ПРЕИМУЩЕСТВОМ такого решение и контролиуйте ВСЮ передачу на предмет колизий при предаче.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 2 2009, 08:22
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(meister @ Jun 2 2009, 11:07)  "ВСЮ" - это побитно? На аппаратном UART? Как? Сравнением переданного и принятого, очевидно. Лучше расскажите, чем такой выбор вызван. Потому как RS485 - это не монтажное ИЛИ, как CAN-bus, и в помехоустойчивости Вы потеряли. Эхо тоже не нужно. Что остается? - чуть больше защищенность от высокого напряжения? Один провод?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jun 18 2009, 02:28
|

Участник

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

|
Раз зашёл разговор про CAN, хотелось бы выяснить следующее: на какое время можно запретить прерывания по CAN, чтобы избежать потери данных. (естесственно на максимальной скорости 1Мбит/с для LPC2378)?
--------------------
Если вы не можете объяснить что-то шестилетнему ребенку, значит, вы сами этого не понимаете. Альберт Эйнштейн
|
|
|
|
|
Jun 18 2009, 10:38
|
Участник

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

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

Участник

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

|
prgjz, это вы считали как количество бит в посылке CAN (порядка 100 бит )? поясните ещё, пожалуйста, при отсутвии данных или их малом количестве размер пакета у нас останется всё тежи 100 бит или будет меньше?
--------------------
Если вы не можете объяснить что-то шестилетнему ребенку, значит, вы сами этого не понимаете. Альберт Эйнштейн
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|