|
Какова максимальная пауза между 2-мя пакетами? |
|
|
|
 |
Ответов
|
Jul 9 2010, 11:32
|
Местный
  
Группа: Свой
Сообщений: 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бит
|
|
|
|
|
Jul 9 2010, 21:20
|
Местный
  
Группа: Свой
Сообщений: 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 мкс
|
|
|
|
|
Jul 12 2010, 04:35
|
Местный
  
Группа: Свой
Сообщений: 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_networkSo, 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 клоков после завершения передачи узла с более высоким приоритетом
|
|
|
|
|
Jul 13 2010, 08:38
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Цитата(bookevg @ Jul 12 2010, 16:35)  Как я понимаю этот текст - после того, как сообщение с более высоким приоритетом было отправлено, узел с более низким приоритетом начнет передачу после 6 клоков после завершения передачи узла с более высоким приоритетом Я про фразу "применение бит-стаффинга гарантирует, что пауза между сообщения будет" при чем тут бит-стаффинг? он к паузам никакого отношения не имеет. Изначально вопрос был про таймаут, т.е. не минимум интересен, а максимум. Кстати, на максимум могут повлиять и Error frame при плохой связи.
|
|
|
|
|
Jul 13 2010, 22:11
|
Местный
  
Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348

|
Цитата(Andrew2000 @ Jul 13 2010, 20:38)  Я про фразу "применение бит-стаффинга гарантирует, что пауза между сообщения будет" при чем тут бит-стаффинг? он к паузам никакого отношения не имеет. Изначально вопрос был про таймаут, т.е. не минимум интересен, а максимум. Кстати, на максимум могут повлиять и Error frame при плохой связи. Как я понял постановка задачи была следующая: Зная время передачи пакета, использовать его в приемнике как таймаут ожидания следующего пакета. Уточняющий вопрос: в какой момент собираются запускать таймер таймаут - в момент приема новой посылки или после завершения приема пакета? 1. В случае, если если пакет запускается в момент приема новой посылки, то т.к. время передачи пакета невозможно четко определить на стороне приемника в момент начала приема пакета, то может получится ситуация, когда произойдет потеря следующего пакета, если время таймаут рассчитано на пакет, в котором одни нули. А пакет с передатчика может пойти сразу же, т.к. существуют контроллеры, у которых несколько mailbox по CAN, которые могут сконфигурироваться одновременно на передачу. 2.В случае, если если пакет запускается после завершения приема пакета, то это делать некорректно ,т.к. нарушает спецификация по CAN
|
|
|
|
|
Jul 14 2010, 19:00
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Цитата(bookevg @ Jul 14 2010, 02:11)  прежде чем писать - читайте стандарт, лежит тут http://www.can-cia.de/index.php?id=441
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|