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

 
 
> Какова максимальная пауза между 2-мя пакетами?
Yaumen
сообщение Jul 7 2010, 14:00
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213



При приеме данных длиной более 8-ми байт, передающая сторона разбивает их на несколько пакетов, в каждом из которых передается по 8-м байт. Передача ведется последовательно пакет за пакетом. Однако каждый CAN пакет имеет целый набор дополнительных полей, который практически удваивает объем передаваемой информации:
1) 8 байт данных + 4 байта ID + 1 байт DLC + 2 байта CRC + 1 байт EOF = 16 байт
2) Каждый байт передается с помощью 10-ти бит (8 бит данных + Старт бит + Стоп бит)
3) Итого передача одного пакета занимает 16*10 = 160 бит.
4) Для скорости 1 Мбит это означает 160 мкс на одну посылку.

Можно ли утверждать, что полученное время и есть минимальное время следования CAN пакетов при свободной шине или есть есть еще накладные расходы, которые я забыл учесть?
Это время планирую использовать в приемнике как таймаут ожидания следующего пакета.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bookevg
сообщение Jul 9 2010, 11:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(Yaumen @ Jul 7 2010, 18:00) *
При приеме данных длиной более 8-ми байт, передающая сторона разбивает их на несколько пакетов, в каждом из которых передается по 8-м байт. Передача ведется последовательно пакет за пакетом. Однако каждый CAN пакет имеет целый набор дополнительных полей, который практически удваивает объем передаваемой информации:
1) 8 байт данных + 4 байта ID + 1 байт DLC + 2 байта CRC + 1 байт EOF = 16 байт
2) Каждый байт передается с помощью 10-ти бит (8 бит данных + Старт бит + Стоп бит)
3) Итого передача одного пакета занимает 16*10 = 160 бит.
4) Для скорости 1 Мбит это означает 160 мкс на одну посылку.

Можно ли утверждать, что полученное время и есть минимальное время следования CAN пакетов при свободной шине или есть есть еще накладные расходы, которые я забыл учесть?
Это время планирую использовать в приемнике как таймаут ожидания следующего пакета.

А зачем ожидать - применение бит-стаффинга гарантирует, что пауза между сообщения будет короткая и составляет минимум - 5бит+1бит
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jul 9 2010, 21:20
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(bookevg @ Jul 9 2010, 15:32) *
А зачем ожидать - применение бит-стаффинга гарантирует, что пауза между сообщения будет короткая и составляет минимум - 5бит+1бит

а это вообще что такое написано?

"Each DATA FRAME and REMOTE FRAME is delimited by a flag sequence consisting
of seven ’recessive’ bits"

посмотрел старые зарисовки - на скорости 250k период can-телеграмм (от начала одной до начала след.) плавает где-то от 540 до 560 мкс
Go to the top of the page
 
+Quote Post
bookevg
сообщение Jul 12 2010, 04:35
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(Andrew2000 @ Jul 10 2010, 01:20) *
а это вообще что такое написано?

"Each DATA FRAME and REMOTE FRAME is delimited by a flag sequence consisting
of seven ’recessive’ bits"

посмотрел старые зарисовки - на скорости 250k период can-телеграмм (от начала одной до начала след.) плавает где-то от 540 до 560 мкс

Давайте не будем путать структуру FRAME и паузу между сообщениями. То что Вы привели относится к структуре FRAME.
На читаем на wiki (и я с этим согласен - т.к. если CAN делать на FPGA, то надо задавать четко все временные):
http://en.wikipedia.org/wiki/Controller_area_network
So, if you are transmitting a recessive bit, and someone sends a dominant bit, you see a dominant bit, and you know there was a collision. (All other collisions are invisible.) A dominant bit is asserted by creating a voltage across the wires while a recessive bit is simply not asserted on the bus. If any node sets a voltage difference, all nodes will see it. Thus there is no delay to the higher priority messages, and the node transmitting the lower priority message automatically attempts to re-transmit 6 bit clocks after the end of the dominant message.
Как я понимаю этот текст - после того, как сообщение с более высоким приоритетом было отправлено, узел с более низким приоритетом начнет передачу после 6 клоков после завершения передачи узла с более высоким приоритетом
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jul 13 2010, 08:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(bookevg @ Jul 12 2010, 16:35) *
Как я понимаю этот текст - после того, как сообщение с более высоким приоритетом было отправлено, узел с более низким приоритетом начнет передачу после 6 клоков после завершения передачи узла с более высоким приоритетом

Я про фразу "применение бит-стаффинга гарантирует, что пауза между сообщения будет" при чем тут бит-стаффинг? он к паузам никакого отношения не имеет.
Изначально вопрос был про таймаут, т.е. не минимум интересен, а максимум.
Кстати, на максимум могут повлиять и Error frame при плохой связи.
Go to the top of the page
 
+Quote Post
bookevg
сообщение Jul 13 2010, 22:11
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(Andrew2000 @ Jul 13 2010, 20:38) *
Я про фразу "применение бит-стаффинга гарантирует, что пауза между сообщения будет" при чем тут бит-стаффинг? он к паузам никакого отношения не имеет.
Изначально вопрос был про таймаут, т.е. не минимум интересен, а максимум.
Кстати, на максимум могут повлиять и Error frame при плохой связи.

Как я понял постановка задачи была следующая:
Зная время передачи пакета, использовать его в приемнике как таймаут ожидания следующего пакета.
Уточняющий вопрос: в какой момент собираются запускать таймер таймаут - в момент приема новой посылки или после завершения приема пакета?
1.
В случае, если если пакет запускается в момент приема новой посылки, то т.к. время передачи пакета невозможно четко определить на стороне приемника в момент начала приема пакета, то может получится ситуация, когда произойдет потеря следующего пакета, если время таймаут рассчитано на пакет, в котором одни нули. А пакет с передатчика может пойти сразу же, т.к. существуют контроллеры, у которых несколько mailbox по CAN, которые могут сконфигурироваться одновременно на передачу.
2.В случае, если если пакет запускается после завершения приема пакета, то это делать некорректно ,т.к. нарушает спецификация по CAN
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jul 14 2010, 19:00
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(bookevg @ Jul 14 2010, 02:11) *

прежде чем писать - читайте стандарт, лежит тут
http://www.can-cia.de/index.php?id=441
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Yaumen   Какова максимальная пауза между 2-мя пакетами?   Jul 7 2010, 14:00
- - Andrew2000   Цитата(Yaumen @ Jul 7 2010, 18:00) 2) Каж...   Jul 7 2010, 17:21
|- - Yaumen   Цитата(Andrew2000 @ Jul 7 2010, 20:21) + ...   Jul 7 2010, 17:39
- - cant   если есть возможность, лучше не таймаут использова...   Jul 8 2010, 07:17
|- - Yaumen   Цитата(cant @ Jul 8 2010, 10:17) если ест...   Jul 8 2010, 09:43
|- - cant   Цитата(Yaumen @ Jul 8 2010, 13:43) Именно...   Jul 15 2010, 07:05
- - редактор   Если в сети несколько устройств, то время доставки...   Jul 8 2010, 16:24
|- - Yaumen   Цитата(редактор @ Jul 8 2010, 19:24) Если...   Jul 8 2010, 20:15
|- - Andrew2000   тогда только осциллограф - передатчик-то не свой   Jul 9 2010, 09:47
|- - Yaumen   Цитата(bookevg @ Jul 9 2010, 14:32) А зач...   Jul 9 2010, 14:41
|- - bookevg   Цитата(Andrew2000 @ Jul 14 2010, 23:00) п...   Jul 15 2010, 05:54
- - galjoen   Цитата(Yaumen @ Jul 7 2010, 18:00) 2) Каж...   Jul 13 2010, 02:47


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

 


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


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