Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для передачи данных между по меньшей мере двумя абонентами шинной системы с возможностью переключения длительности передаваемых битов (битового интервала) между по меньшей мере двумя различными значениями.
Уровень техники
Из публикации DE 10000305А1, например, известна локальная сеть контроллеров (CAN, сокр. от англ. "Controller Area Network"), а также расширение протокола CAN с детерминированной во времени пересылкой сообщений, называемое синхронизированным по времени, или синхро-временным протоколом CAN (TTCAN, сокр. англ. "Time-Triggered CAN"). Используемый протоколом CAN метод управления доступом к среде передачи основан на побитовом арбитраже. При побитовом арбитраже несколько абонентских станций могут одновременно передавать данные по каналу шинной системы, не создавая помех для передачи данных. Кроме того, абонентские станции при передаче по каналу одного бита могут определять логическое состояние канала (0 или 1). Если значение посланного бита не соответствует определенному логическому состоянию канала, то доступ абонентской станции к каналу прекращается. Согласно протоколу CAN побитовый арбитраж обычно выполняется в поле арбитража, входящем в структуру кадра данных, передаваемого по каналу. После того как абонентская станция полностью отправила в канал поле арбитража, она знает, что у нее есть право монопольного доступа к каналу. Таким образом, конец передачи поля арбитража соответствует началу временного интервала разрешения доступа, в течение которого абонентская станция может пользоваться каналом монопольно. Согласно спецификации протокола CAN другие абонентские станции не могут обращаться к каналу, т.е. посылать в этот канал данные, до тех пор пока ведущая передачу абонентская станция не передаст поле контрольной суммы (CRC - контроль с помощью циклического избыточного кода), входящее в структуру кадра данных. Таким образом, момент окончания передачи поля CRC соответствует концу временного интервала разрешения доступа.
Благодаря побитовому арбитражу, т.е. арбитражу на битовом уровне, достигается передача кадра данных по каналу без нарушения целостности кадра (неразрушающая передача данных). Это дает протоколу CAN хорошие характеристики работы в реальном времени, тогда как способы управления доступом к среде передачи, при осуществлении которых кадр данных, посланный одной абонентской станцией, ввиду его коллизии с другим кадром данных, посланным другой абонентской станцией, может быть потерян во время передачи по каналу, имеют гораздо худшие показатели работы в реальном времени, поскольку вследствие коллизии и необходимой из-за этого новой передачи кадра данных возникает задержка в передаче данных.
Протоколы CAN особенно хорошо подходят для передачи коротких сообщений в условиях реального времени. Если же через домен CAN должны передаваться большие блоки данных, то относительно низкая битовая скорость передачи данных в канале становится ограничивающим фактором. Для обеспечения правильной работы побитового арбитража необходимо выдерживать минимальную длительность передачи одного бита, зависящую, в первую очередь, от протяженности шинной системы, скорости распространения сигналов по каналу и собственных времен обработки сигналов в интерфейсных модулях абонентов шины, поскольку у абонентов шины должны быть единая картина состояния шины ("0" или "1") и равноправный доступ к состоянию шины. Поэтому просто за счет уменьшения длительности отдельных битов битовую скорость передачи данных повысить невозможно.
Чтобы все же обеспечить возможность достаточно быстрой передачи относительно большого блока данных, необходимого для программирования блока управления, через коммуникационный интерфейс, предусмотренный собственно для подключения к домену сети CAN, в публикации DE 10153085А1 предлагается для передачи такого блока данных временно переключать коммуникационный интерфейс в другой режим передачи данных, в котором побитовый арбитраж не проводится, а значит, можно получить относительно высокую битовую скорость передачи данных. Однако при этом передачу данных по протоколам CAN приходится прерывать на определенное время. Если, например, вследствие той или иной ошибки работу шинной системы по протоколу CAN возобновить невозможно, это приведет к отказу шинной системы. Кроме того, передача относительно большого блока данных ведет к значительной задержке посылок данных, которые должны выполняться по протоколу CAN впоследствии, что отрицательно сказывается на характеристиках работы сети CAN в реальном времени.
В публикации DE 10311395 А1 описана система, в которой асинхронная последовательная связь в качестве альтернативы может осуществляться посредством асимметричного физического или симметричного физического протокола CAN, за счет чего для асинхронной связи достигается более высокая скорость или безопасность передачи данных.
В публикации DE 102007051657 А1 предлагается осуществлять в выделяемых на исключительной основе временных окнах протокола TTCAN асинхронную быструю передачу данных, не соответствующую протоколу CAN, чтобы повысить объем передаваемых данных.
В статье G. Cena и A. Valenzano под названием "Overclocking of Controller Area Networks" (Как повысить тактовую частоту в локальных сетях контроллеров). Electronics Letters, том 35, №22 (1999), стр.1924, с теоретической стороны рассматриваются факторы влияния повышения опорной частоты шины в отдельных частях кадра данных на достигаемую эффективную скорость передачи данных, но без углубления в детали соответствующей методики и различных состояний абонентов шины, а также переходов между этими состояниями.
Из цитируемых выше публикаций видно, что уровень техники не дает удовлетворительных во всех отношениях результатов.
Раскрытие изобретения
Таким образом, задача настоящего изобретения заключается в разработке способа, который позволил бы передавать кадры данных в сети CAN за более короткое время и одновременно сохранил бы важные свойства протокола CAN в отношении обнаружения и обработки ошибок, а также непротиворечивости (состоятельности) данных во всей сети. С этой целью предлагается модифицированный по сравнению с протоколом CAN по стандартам ISO от 11898-1 до 11898-4 (который в дальнейшем называется нормальным режимом CAN) способ передачи данных (который в дальнейшем называется быстрым режимом CAN).
Вышеуказанная задача решается в этом способе передачи данных, охарактеризованном признаками пункта 1 формулы изобретения, а также в устройстве, описанном в другом независимом пункте.
Преимущества изобретения
Описанная выше задача решается в соответствии с изобретением за счет того, что длительность бита в пределах кадра данных может принимать по меньшей мере два различных значения, причем для одной задаваемой области в пределах кадра данных длительность бита для всех абонентов на шине оставляют неизменной, об изменениях значения длительности бита сигнализируют посредством содержащегося в том же кадре данных идентификатора, и эти изменения значения длительности реализуют в процессе работы с применением по меньшей мере двух различных коэффициентов масштабирования для перехода между шинной единицей времени и наименьшей единицей времени или тактом опорного генератора.
Преимущество заявленного способа состоит в том, что при этом модификация протокола CAN ограничивается до минимума, в частности сохраняется структура кадров данных CAN по меньшей мере для области, находящейся между битом начала кадра (SOF) и разделителем поля циклического избыточного кода, или контрольной суммы (CRC). Интерфейс сопряжения с прикладной программой остается неизменным. Контроллеры, поддерживающие быстрый режим CAN, могут применяться и в сетях, работающих в нормальном режиме CAN. В сети же, содержащей только абоненты с контроллерами, поддерживающими быстрый режим CAN, все абоненты после арбитража переключаются в быстрый режим, в результате чего все механизмы синхронизации и обнаружения ошибок могут и дальше выполнять свою задачу.
Еще одно преимущество этого способа заключается в том, что контроллер, поддерживающий нормальный режим CAN, требует внесения лишь минимальных изменений для того, чтобы он мог работать в качестве контроллера, поддерживающего быстрый режим CAN. Контроллер, поддерживающий быстрый режим CAN и также способный работать в нормальном режиме CAN, лишь незначительно больше контроллера, поддерживающего нормальный режим CAN. Прикладную программу изменять не требуется, возможно использование значительных частей теста соответствия CAN (ISO 16845).
Для управляемой событиями передачи данных с арбитражем сокращение длительности бита осуществляется только после состоявшегося арбитража, поскольку, как было отмечено выше, для арбитража требуется соблюдение непротиворечивости данных во всей шине. Также быстрый режим CAN протокол можно комбинировать с синхро-временным протоколом TTCAN, поскольку и в TTCAN все данные передаются в кадрах данных CAN, принципиальная структура которых соответствует предписаниям ISO 11898-1. В этом случае, по крайней мере в исключительных временных окнах матрицы (матричного цикла) TTCAN, в которых арбитраж не осуществляется, а доступ к шине предоставляется на исключительной основе, при сокращенной длительности бита также могут передаваться, полностью или частично, поле адреса и поле управления (контрольное поле).
Еще одним преимуществом является то, что переходы между различными значениями длительности бита могут быть описаны с помощью простой модели состояния с просто реализуемыми условиями перехода.
Также преимуществом является то, что переключение длительности бита может происходить за счет простой коррекции, или адаптации, коэффициента масштабирования между периодом опорного генератора или наименьшей единицей (квантом) времени и шинной единицей времени, например посредством делителя частоты генератора скорости передачи (Baud Rate Prescaler). Разумеется, это возможно при том условии, что период опорного генератора достаточно мал.
Краткое описание чертежей
Рассматриваемые ниже варианты осуществления изобретения поясняются чертежами, на которых показано:
на фиг.1 - схематически изображенный граф состояний с различными состояниями, которые контроллер, поддерживающий быстрый режим CAN, может принимать применительно к предлагаемому в изобретении способу, а также с условиями переходов;
на фиг.2 - пример настроек битового хронирования (структуры битового интервала), различающихся в зависимости от скорости передачи данных;
на фиг.3 - структура кадра данных CAN в основном и расширенном форматах с предлагаемым в изобретении делением на области с различной длительностью бита и с идентификацией посредством зарезервированного бита;
на фиг.4 - пример расширения области уменьшенной длительности бита в случае комбинации предлагаемого в изобретении способа с синхро-временным (управляемым по времени) методом передачи по протоколу TTCAN, представленный системной матрицей;
на фиг.5 - возможность деления кадра данных в исключительном временном окне протокола TTCAN на области с различной длительностью бита;
на фиг.6 - расширенные по сравнению с уровнем техники критерии допустимости для разделителя CRC или бита подтверждения.
Осуществление изобретения
В дальнейшем на примерах рассматриваются варианты осуществления изобретения в отношении предлагаемых способа и устройства. Эти конкретные примеры приведены для пояснения возможностей осуществления изобретения, но не ограничивают объема решения, положенного в основу изобретения.
Сначала в рамках первого примера осуществления изобретения со ссылкой на фиг.1-3 рассматриваются состояния предлагаемого в изобретении контроллера, поддерживающего быстрый режим CAN, и соответствующие характеристики передачи данных, а также переходы между этими состояниями и необходимые для этого условия.
На фиг.1 изображены три рабочих состояния контроллера, поддерживающего быстрый режим CAN: состояние 101 работы в нормальном режиме CAN, состояние 102 арбитража в быстром режиме CAN и состояние 103 передачи данных в быстром режиме CAN.
В рабочем состоянии 101 контроллер работает в нормальном режиме CAN. В рабочем состоянии 102, соответствующем арбитражу в быстром режиме CAN, контроллер ведет себя, как контроллер, поддерживающий нормальный режим CAN, но также может переключиться в состояние 103, соответствующее передаче данных в быстром режиме CAN. В состоянии 103 он работает, как контроллер, поддерживающий нормальный режим CAN, но с более коротким битовым временем, т.е. длительностью одного бита. После включения контроллер находится в состоянии 102 арбитража в быстром режиме CAN, если это требуется прикладной программой. В ином случае он находится после включения в состоянии 101 работы в нормальном режиме CAN.
Изобретением предусмотрено осуществляемое в процессе работы шины изменение значений длительности бита путем изменения коэффициента масштабирования (делителя, англ. prescaler), выражающего отношение между шинной единицей времени (квант времени) и наименьшей единицей времени (минимальный квант времени) или тактом опорного генератора. За счет этого устанавливается, или настраивается, длительность шинных единиц времени, а значит, и длительность битов. Временные сегменты битового интервала, длительность которых измеряется в шинных единицах времени, остаются неизменными, как и правила ресинхронизации, а также положение точки выборки. В состоянии 102 арбитража в быстром режиме CAN и в состоянии 101 работы в нормальном режиме CAN используется длительная шинная единица времени, а в состоянии 103 передачи данных в быстром режиме CAN - короткая шинная единица времени. В качестве альтернативы, изменяться в зависимости от состояния и используемой шинной единицы времени также могут установки временных сегментов битового интервала, что подробнее поясняется со ссылкой на фиг.2.
В состоянии 102 арбитража в быстром режиме CAN в качестве идентификатора посылается, например, имеющий рецессивный уровень зарезервированный бит RO, находящийся в кадре CAN перед кодом длины поля данных (DLC - англ. сокр. от "Data Length Code"). В протоколе нормального режима CAN указано, что этот бит должен посылаться доминантным. Если контроллер, поддерживающий быстрый режим CAN, принимает этот бит доминантным, он на длительное время переходит в состояние работы в нормальном режиме CAN (смена состояний Т1 или Т2). Этим гарантируется возможность применения в одной и той же сети контроллеров, поддерживающих быстрый и нормальный режимы CAN, и тогда оба контроллера будут работать в нормальном режиме CAN. Вместе с тем, в качестве идентификатора может быть выбран и другой бит, для которого в протоколе нормального режима CAN задано постоянное значение.
Контроллер, поддерживающий быстрый режим CAN и находящийся в состоянии 102 арбитража в быстром режиме CAN, получив в качестве идентификатора, например, рецессивный зарезервированный бит RO перед кодом длины поля данных (DLC) или успешно послав этот бит рецессивным уровнем, переключается, начиная с точки выборки этого бита, на более короткую шинную единицу времени, переключив коэффициент масштабирования, и переходит в состояние 103 передачи данных в быстром режиме CAN (смена состояний Т3). Эта смена состояний также может осуществляться по прошествии промежутка времени, являющегося, по меньшей мере приближенно, постоянным, или по истечении заданного числа шинных единиц времени после вышеупомянутой точки выборки.
Контроллер, поддерживающий быстрый режим CAN и находящийся в состоянии 103 передачи данных в быстром режиме CAN, остается в этом состоянии до наступления одного из двух условий:
(А) он видит причину для отправки кадра ошибки по протоколу CAN, или
(Б) в кадре CAN достигнут разделитель CRC.
При выполнении условия (А) или (Б) контроллер переключается обратно в состояние 102 арбитража в быстром режиме CAN (смена состояний Т4).
В области между кодом длины поля данных (DLC) и разделителем CRC в соответствии с протоколом CAN существуют две причины для отправки кадра ошибки: (А1) передающий узел видит ошибку бита, или (А2) приемный узел видит ошибку бит-стафинга. В конце возможно перекрываемого флага ошибки, начале разделителя ошибки, все контроллеры в сети находятся в состоянии 102 арбитража в быстром режиме CAN.
Как в случае условий (А1) и (А2), так и случае условия (Б) переход Т4 в состояние 102 арбитража в быстром режиме CAN, а значит, и переключение коэффициента масштабирования осуществляется в точке выборки, в которой наступает соответствующее условие, или по прошествии после этой точки промежутка времени, являющегося, по меньшей мере приближенно, постоянным. Смена состояний также может осуществляться по истечении заданного числа шинных единиц времени после вышеупомянутой точки выборки, например в конце 2-го фазового буферного сегмента (см. фиг.2).
На фиг.2 описывается разделение каждого передаваемого бита на временные сегменты битового интервала, длительность которых измеряется в шинных единицах времени. Эти установки обычно задаются при конфигурировании в каждом абоненте шины и служат для выравнивания времен прохождения сигналов на шине и компенсации допусков по точности применяемых тактовых или опорных генераторов. В контроллерах, поддерживающих в соответствии с изобретением быстрый режим CAN, можно теперь предусмотреть возможность индивидуальной установки временных сегментов битового интервала в зависимости от состояния и/или используемой в данный момент шинной единицы времени. Для этого соответствующие регистры, в которых хранятся конфигурационные настройки, должны быть предусмотрены в удвоенном количестве. В рассматриваемом примере представлены отдельные сегменты для одного бита 210 в случае шинной единицы времени 200 не, а также сегменты для четырех следующих друг за другом битов 220 в случае шинной единицы времени 50 не. Для бита 210 сегмент времени распространения длится в течение только одной шинной единицы времени, тогда как 1-й и 2-й фазовые буферные сегменты занимают по четыре шинных единицы времени. В случае же каждого из битов 220 длительность сегмента времени распространения, а также каждого из 1-го и 2-го фазовых буферных сегментов составляет три шинных единицы времени.
В состоянии 102 арбитража в быстром режиме CAN и состоянии 101 работы в нормальном режиме CAN используется длительная шинная единица времени, а временные сегменты битового интервала соответствуют временным сегментам представленной структуры бита 210, а в состоянии 103 передачи данных в быстром режиме CAN используется короткая шинная единица времени, а временные сегменты битового интервала соответствуют временным сегментам представленной структуры бита 220.
В частности, целесообразно, чтобы в предусмотренном изобретением случае в состоянии передачи данных в быстром режиме CAN сегмент времени распространения выбирался как можно меньшим, т.е. длящимся, например, только одну шинную единицу времени, а оба фазовых буферных сегмента соответственно выбирались как можно большими, чтобы с помощью механизма ресинхронизации, предусмотренного протоколом CAN, как можно лучше компенсировать отклонения опорных генераторов по точности, которые могут быть значимы, в частности, при высоких скоростях передачи данных в состоянии передачи в быстром режиме CAN.
Со ссылкой на фиг.3 ниже рассматривается структура используемых кадров данных, включающая области с различной длительностью бита, их зависимость от состояния контроллера и применяемые в соответствие с изобретением идентификаторы.
На фиг.3 показана структура кадра данных CAN по стандарту ISO 11898-1 в двух возможных вариантах, соответствующих основному формату и расширенному формату. Для обоих вариантов на схемах структуры кадра показаны области, на стыке которых в соответствии с изобретением происходит переключение между состоянием 102 арбитража в быстром режиме CAN и состоянием 103 передачи данных в быстром режиме CAN. Также на чертеже отражено сопутствующее этому переключение длительности бита, а также соответствующее изменение коэффициента масштабирования. Наконец, изображено также выбранное в данном варианте осуществления изобретения положение предусмотренного изобретением идентификатора в зарезервированном бите RO, передаваемом перед кодом длины поля данных (DLC).
Полезный эффект предлагаемого в изобретении способа в первом варианте его осуществления с точки зрения скорости передачи данных наглядно демонстрируется следующим расчетом: имеем длину поля данных 8 байт, кадр данных в основном формате с 11-битовой адресацией, а также скорость передачи данных 500 кбит/с. Положим далее, что коэффициент масштабирования после зарезервированного бита RO увеличивается в четыре раза. В этом случае длительность бита после зарезервированного бита RO уменьшается с 2 микросекунд до 0,5 микросекунд. Если пренебречь возможными стаф-битами, то в данном примере в одном кадре данных 27 бит (SOF - бит начала кадра, идентификатор, RTR - бит удаленного запроса, IDE - флаг расширенного формата, бит RO, АСК - поле подтверждения, EOF - поле конца кадра, Intermission - поле паузы) передаются при нормальной длительности бита, а 84 бит (DLC - код длины поля данных, поле данных, поле CRC, разделитель CRC) - передаются при сокращенной длительности бита, что в результате обеспечивает передачу 111 бит за 96 микросекунд. Это соответствует, при той же загрузке шины, скорости передачи данных, увеличенной по сравнению с нормальным, немодифицированным, протоколом передачи CAN в 2,3 раза.
Если при тех же условиях используется расширенный формат с 29-битовой адресацией, то в одном кадре данных 47 бит передаются при нормальной длительности бита, а 84 бит передаются при сокращенной длительности бита, что в результате обеспечивает передачу 131 бит за 136 микросекунд. Это соответствует, при той же загрузке шины, скорости передачи данных, увеличенной по сравнению с нормальной скоростью в 1,9 раза.
Ниже рассматривается еще один вариант осуществления изобретения, поясняемый на фиг.4 и 5.
На фиг.4 показана системная матрица сети TTCAN, соответствующей стандарту ISO 11898-4 с описанными в нем основными циклами и временными окнами (также называемыми временными интервалами или слотами). Циклы включают в себя временные окна, обозначенные как "сообщение А", "сообщение С" и т.д. и используемые на исключительной основе для передачи определенных кадров данных, в то время как в других временных окнах, обозначенных как "арбитраж", доступ к шине предоставляется путем обычного арбитража по протоколу CAN.
Во втором варианте осуществления изобретения со всеми кадрами данных, для которых не указано ничего иного, обходятся в соответствии со способом, используемым в первом варианте осуществления изобретения. Кроме того, для определенных заранее заданных и выделяемых на исключительной основе временных окон сокращение длительности бита путем коррекции коэффициента масштабирования выполняется еще раньше, например начиная с бита начала кадра (SOF), и сохраняется, например, до конца поля CRC. Пример кадра данных, передаваемого таким модифицированным способом, представлен на фиг.5. В качестве идентификатора, или метки, для предстоящей быстрой передачи может использоваться, например, зарезервированный бит предыдущего опорного сообщения. Установка этого бита в рассматриваемом случае будет сигнализировать о том, что кадры данных, передаваемые в исключительных временных окнах следующего основного цикла, ускоряются, т.е. передаются при уменьшенной длительности бита, начиная уже с бита начала кадра (SOF) и до конца поля CRC.
В предпочтительном варианте осуществления изобретения дополнительное ускорение предлагаемым в изобретении способом может осуществляться только для тех исключительных кадров данных, которые передаются в каждом основном цикле, т.е. с коэффициентом повторения "один". Этот случай представлен на фиг.4. Таким образом, в приведенной для примера системной матрице кадры данных, обозначенные как "сообщение А" и "сообщение С", передаются ускоренно в соответствии с рассмотренным способом, с соответствующей идентификацией этого в соответственно предшествующих опорных сообщениях.
При осуществлении описанного выше способа в его втором варианте можно также отказаться от использования идентификатора и установить, что передача кадров данных при сокращенной длительности бита осуществляется в заданной области, например между битом начала кадра (SOF) и концом поля CRC, в принципе во всех исключительных временных окнах. По этой причине на фиг.4 идентификатор указан как факультативный.
Полезный эффект способа в представленном втором варианте осуществления изобретения выше, чем в первом варианте, поскольку в пределах исключительных временных окон быстро передаются также биты полей арбитража и управления. Фактически достигаемая скорость передачи данных зависит по меньшей мере от доли исключительных временных окон и вида адресации.
При работе контроллера, поддерживающего быстрый режим CAN, для обработки подтверждения передачи (разделитель CRC и слот подтверждения) может потребоваться способ, модифицированный относительно описанного в стандарте ISO 11898-1 способа, как это подробнее поясняется ниже со ссылкой на фиг.6.
На фиг.6 в диаграмме "А" показан идеальный процесс перехода из состояния передачи данных в быстром режиме CAN в состояние арбитража в быстром режиме CAN при очень малых временах обработки и прохождения сигналов. Передающий узел посылает разделитель CRC в виде одного рецессивного бита и в соответствии с описанными выше вариантами осуществления настоящего изобретения переключается, например в точке выборки этого бита разделителя CRC или после прохождения 2-го фазового буферного сегмента, в состояние арбитража в быстром режиме CAN. Принимающие узлы, или получатели сообщения, также переключаются, например в этом положении бита, в состояние арбитража в быстром режиме CAN. В различных абонентах шины эти переходы Т4 между состояниями с возвратом коэффициента масштабирования к начальному значению могут не точно совпадать во времени как следствие, например, времен прохождения сигналов или времен внутренней обработки сигналов. Таким образом, абоненты шины, т.е. устройства обработки данных, участвующие в передаче данных по шине, переводят свой коэффициент масштабирования шинной единицы времени снова в исходное состояние не в точно совпадающие моменты времени. Отсюда следует, что моменты начала следующего бита у абонентов шины будут различаться.
После приема разделителя CRC каждый приемный узел, если в нем проверка с помощью циклического избыточного кода (CRC) прошла положительно, посылает один доминантный бит подтверждения. Если это происходит относительно поздно из-за того, что, например, приемные узлы подключены в удаленных концах шины, рецессивный бит разделителя CRC может выглядеть более долгим, чем один бит. Этот случай показан на фиг.6 в диаграмме "В". Кроме того, из-за наложения битов подтверждения слот подтверждения может выглядеть более долгим, чем один бит, как это показано на фиг.6 в диаграмме "С". Для того чтобы при необходимости можно было выравнивать смещенные по фазе моменты отправки этих битов подтверждения, т.е. компенсировать это смещение по фазе, обработка этих битов в контроллерах, поддерживающих быстрый режим CAN, может быть изменена таким образом, чтобы в состоянии арбитража в быстром режиме CAN доминантный слот подтверждения длиной в один или два бита, начинающийся сразу после разделителя CRC или же на один бит позже, признавался действительным подтверждением.
После этого абоненты шины снова синхронизированы по спадающему фронту бита подтверждения в рамках обычного механизма ресинхронизации. Если после первого бита разделителя CRC передающим узлом принимаются не один лишь, а еще два рецессивных бита, это означает для него ошибку подтверждения. Если после второго доминантного бита подтверждения принимается третий доминантный бит, это означает для всех узлов ошибку формата.
За слотом подтверждения следует, как и в случае нормального протокола CAN, рецессивный разделитель подтверждения длиной в один бит. Как и в случае нормального протокола CAN, приемный узел, работающий в быстром режиме CAN и обнаруживший ошибку CRC, отправит кадр ошибки только в бите, следующем после разделителя подтверждения.
Подводя итог, поставленная задача решена согласно изобретению в способе, обеспечивающем возможность передачи в сети CAN кадров данных за более короткое время и одновременно сохраняющем важные свойства стандарта CAN в отношении обнаружения и обработки ошибок, а также непротиворечивости (состоятельности) данных во всей сети.
Изобретение относится к передаче данных с переключаемой скоростью передачи. Достигаемый технический результат - повышение битовой скорости передачи больших объемов данных в сети при сохранении свойств обнаружения и обработки ошибок. Способ передачи данных в сети и устройство для передачи данных в сети содержат два устройства обработки данных, являющихся абонентами сети, и обменивающихся по сети кадрами данных, которые имеют логическую структуру, длительность бита в пределах кадра данных может принимать, по меньшей мере, два различных значения, для первой задаваемой области в пределах кадра данных длительность бита больше или равна заданному минимальному значению, а в, по меньшей мере, одной второй задаваемой области в пределах кадра данных длительность бита составляет не более половины, предпочтительно - менее половины длительности бита в первой области, а изменения значений длительности бита реализуют использованием двух различных коэффициентов масштабирования для установки шинной единицы времени по отношению к наименьшей единице времени или к такту опорного генератора. 2 н. и 15 з.п. ф-лы, 6 ил.
1. Способ передачи данных в сети, включающей в себя по меньшей мере два устройства обработки данных, являющихся абонентами сети и обменивающихся по сети кадрами данных, причем:
- посылаемые кадры данных имеют логическую структуру, соответствующую спецификации протокола локальной сети контроллеров (CAN) по стандарту ISO 11898-1, - длительность бита в пределах кадра данных может принимать по меньшей мере два различных значения:
для первой задаваемой области в пределах кадра данных длительность бита больше или равна заданному минимальному значению, составляющему около микросекунды, а в по меньшей мере одной второй задаваемой области в пределах кадра данных длительность бита составляет не более половины, а предпочтительно - менее половины, длительности бита в первой области, отличающийся тем, что изменения значения длительности бита реализуют в процессе работы путем использования по меньшей мере двух различных коэффициентов масштабирования для установки шинной единицы времени по отношению к наименьшей единице времени или к такту опорного генератора.
2. Способ по п.1, отличающийся тем, что вторая область заканчивается у абонентов шины непосредственно после обнаружения причины для отправки кадра ошибки или непосредственно после достижения бита, заданного для обратного переключения, и коэффициент масштабирования устанавливается в абонентах шины на значение первой области.
3. Способ по п.1, отличающийся тем, что доступ к шине предоставляют посредством арбитража, описанного в стандарте ISO 11898-1, причем задаваемая вторая область в пределах кадра данных начинается не ранее чем с первым битом кода длины поля данных и заканчивается не позднее чем с битом разделителя циклического избыточного кода (CRC).
4. Способ по п.1, отличающийся тем, что об изменениях значения длительности бита сигнализируют посредством идентификатора, находящегося в пределах первой задаваемой области.
5. Способ по п.4, отличающийся тем, что в качестве идентификатора используют зарезервированный бит, находящийся в пределах поля управления кадра данных.
6. Способ по п.1, отличающийся тем, что доступ к шине предоставляют по описанному в стандарте ISO 11898-4 синхро-временному методу, причем задаваемая вторая область в пределах кадра данных начинается не ранее чем с битом начала кадра данных и заканчивается не позднее чем с битом разделителя CRC.
7. Способ по п.1, или 2, или 6, отличающийся тем, что адреса кадров данных и области в пределах кадров данных, в которых происходит изменение значения длительности бита, задают в рамках настройки синхро-временной передачи данных по шине.
8. Способ по п.1, или 2, или 6, отличающийся тем, что об изменениях значения длительности сигнализируют посредством идентификатора, находящегося в посылаемом перед ними опорном сообщении.
9. Способ по п.1, отличающийся тем, что переход ко второй области осуществляют в абонентах шины непосредственно после обнаружения заданного для переключения идентификатора или заданного для переключения бита и изменяют значение коэффициента масштабирования.
10. Способ по п.1, отличающийся тем, что коммуникационный протокол изменяют таким образом, чтобы передающие абоненты шины допускали и не рассматривали как ошибку слишком позднее на один бит по сравнению со спецификацией ISO 11898-1 подтверждение (Acknowledge) корректного приема кадра данных одним или несколькими приемными узлами и/или слот подтверждения длиной не более двух битов.
11. Способ по п.1, отличающийся тем, что в первой области и во второй области для разделения битового интервала на временные сегменты используют различные значения.
12. Устройство для передачи данных в сети, включающее в себя по меньшей мере два устройства обработки данных, являющихся абонентами сети, и соединение для передачи кадров данных, причем:
посылаемые кадры данных имеют логическую структуру, соответствующую спецификации протокола CAN по стандарту ISO 11898-1,
для установки шинной единицы времени по отношению к наименьшей единице времени или к такту опорного генератора используются по меньшей мере два различных коэффициента масштабирования,
получаемая в результате указанной установки длительность бита при по меньшей мере одной установке больше или равна заданному минимальному значению, составляющему около микросекунды, а при по меньшей мере одной второй установке составляет не более половины, а предпочтительно - менее половины, значения при первой установке,
отличающееся тем, что оно выполнено с возможностью переключения установок в процессе работы.
13. Устройство по п.12, отличающееся тем, что по меньшей мере два различных значения коэффициента масштабирования, используемого для установки шинной единицы времени, или базовое значение коэффициента масштабирования, а также по меньшей мере один соответствующий множитель и/или делитель могут устанавливаться посредством записи по меньшей мере в одном предусмотренном для этого регистре или поле данных.
14. Устройство по п.12, отличающееся тем, что по меньшей мере два различных значения, используемых для установки временных сегментов битового интервала, могут устанавливаться посредством записи по меньшей мере в одном предусмотренном для этого регистре или поле данных.
15. Устройство по п.12, отличающееся тем, что переключение между по меньшей мере двумя различными коэффициентами масштабирования осуществляется в соответствии со способом по одному из пп.2-9.
16. Устройство по п.12, отличающееся тем, что при обнаружении причины для отправки кадра ошибки или при приеме значения идентификатора, не сигнализирующего об использовании различных коэффициентов масштабирования, коэффициент масштабирования устанавливается в абонентах шины на такое значение, что длительность бита во всем кадре данных является одинаковой и соответствует допустимому значению по стандарту ISO 11898-1.
17. Устройство по одному из пп.12-16, отличающееся тем, что передающий посредством него абонент шины допускает и не рассматривает как ошибку слишком позднее на один бит по сравнению со спецификацией ISO 11898-1 подтверждение (Acknowledge) корректного приема кадра данных одним или несколькими приемными узлами и/или слот подтверждения длиной не более двух битов.
СИСТЕМА И СПОСОБ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ВЫПОЛНЕНИЯ ПЕРЕДАЧИ ОБСЛУЖИВАНИЯ В СИСТЕМЕ СВЯЗИ ШИРОКОПОЛОСНОГО БЕСПРОВОДНОГО ДОСТУПА | 2004 |
|
RU2333604C2 |
Способ приготовления мыла | 1923 |
|
SU2004A1 |
DE 102007051657 A1, 30.04.2009 | |||
DE 10311395 A1, 23.09.2004. |
Авторы
Даты
2016-02-20—Публикация
2011-09-20—Подача