ПРОТОКОЛ ПЕРЕДАЧИ ДАННЫХ С СОСТОЯНИЕМ ИСКЛЮЧЕНИЯ ПРОТОКОЛА
DATA TRANSMISSION PROTOCOL WITH PROTOCOL EXCEPTION STATE

Уровень техники
Настоящее изобретение относится к способу обмена данными между абонентами, соединенными друг с другом посредством шинной системы, причем обмен содержащими данные сообщениями осуществляется согласно первому коммуникационному протоколу, сообщения состоят из последовательности битов, и по меньшей мере один управляющий бит, имеющий заданное положение внутри сообщения, передаваемого согласно первому коммуникационному протоколу, должен иметь заданное значение, причем для каждого сообщения один абонент выступает в роли отправителя, а по меньшей мере один другой абонент как получатель принимает сообщение и выполняет в отношении него контроль ошибок.
Подобный способ реализован, например, в коммуникационных контроллерах локальной сети контроллеров (англ.: Controller Area Network, сокр. CAN). Он описывается, например, в представленной фирмой "Бош" спецификации протокола CAN (редакция 2.0), которую можно загрузить на вебсайте http://www.semiconductors.bosch.de фирмы Robert Bosch GmbH. При этом шинная система представляет собой пару проводников, например витую пару медных проводников. Протокол CAN получил широкое распространение, например, в автомобилестроении, в промышленной автоматизации и даже в построении сетей в зданиях. Сообщения, передаваемые согласно протоколу CAN, имеют заголовок, поле данных и концевик, причем передаваемые данные содержатся в поле данных. Заголовок сообщения содержит бит начала кадра, поле арбитража, а также поле управления. Поле арбитража содержит идентификатор, определяющий приоритет сообщения. Протокол CAN поддерживает идентификаторы длиной 11 разрядов (стандартный, или основной, формат) и 29 разрядов (расширенный формат). Поле управления содержит код длины данных (англ. сокр.: DLC), задающий длину поля данных. Концевик сообщения имеет поле циклического избыточного кода (CRC), поле подтверждения и поле конца кадра. Данный протокол CAN в дальнейшем называется нормальным, или классическим, протоколом CAN. При использовании нормального протокола CAN достигаются битовые скорости до 1 Мбит/с (мегабит в секунду).
Роли отправителя и получателя для передаваемых сообщений распределяются среди абонентов путем арбитража на основании информации из заголовка сообщений. В этой связи арбитраж означает, что по содержащемуся в сообщении идентификатору выясняется, какой абонент получит доступ к шине для передачи, если несколько абонентов одновременно пытаются послать сообщение, причем в случае присвоения каждому из абонентов уникального идентификатора доступ к шине для передачи предоставляется по результатам арбитража ровно одному абоненту. По меньшей мере один управляющий бит, необходимый для осуществления настоящего изобретения, в случае протокола CAN содержится в заголовке и является, например, зарезервированным битом в поле арбитража или в поле управления, который должен передаваться с заданным значением, например, всегда доминантным.
Подобные зарезервированные биты, которые всегда передаются с фиксированным значением, известны во многих других коммуникационных системах. В дальнейшем сущность изобретения рассматривается на примере протокола CAN. Однако это не ограничивает возможности осуществления изобретения шинными системами, использующими протокол CAN, напротив - изобретение может использоваться в приложении к любым шинным системам, содержащим родовые признаки заявленного способа.
Внедрение систем со все более высокой степенью объединения компонентов в сети, например, систем помощи водителю в транспортных средствах (так называемых ассистентов) или построенных на основе сетей систем управления в промышленных установках, приводит к общему требованию необходимости увеличения ширины полосы пропускания, т.е. пропускной способности, для последовательной связи.
Эффективную скорость передачи данных в сетях, использующих нормальный протокол CAN, ограничивают два фактора, а именно: с одной стороны - длительность бита, т.е. длина одного бита во времени, которая ограничивается снизу функцией арбитража, предусмотренного протоколом CAN, а с другой стороны - отношение между числом битов данных и управляющих битов, т.е. битов, не содержащих полезные данные, в сообщении CAN.
Из публикации WO 2012136547 А1 известен еще один протокол, называемый протоколом CAN с гибкой (изменяемой) скоростью передачи данных или, сокращенно, CAN FD (Flexible Data Rate). В этом протоколе используется известная из спецификации CAN процедура арбитража, но в нем предусмотрено увеличение битовой скорости за счет переключения на меньшую длительность бита, действующую после завершения арбитража и до бита разделителя CRC (циклического избыточного кода). Кроме того, эффективная скорость передачи данных увеличивается благодаря допуску более длинных полей данных. В случае протокола CAN FD речь также идет о способе обмена данными между абонентами, соединенными друг с другом посредством шинной системы, причем обмен содержащими данные сообщениями осуществляется согласно первому коммуникационному протоколу, сообщения состоят из последовательности битов и внутри каждого сообщения, содержащего данные, по меньшей мере один управляющий бит, имеющий заданное положение внутри последовательности битов, должен иметь заданное значение.
Протокол CAN FD может использоваться для передачи данных вообще, но также в определенных режимах, например для загрузки программного обеспечения, для завершающего производственный процесс программирования или для проведения работ по техническому обслуживанию.
Протоколу CAN FD необходимы два набора регистров конфигурации
битовой синхронизации, которые определяют одну длительность бита для фазы арбитража, а другую - для фазы передачи данных. Длительность бита для фазы арбитража имеет те же ограничения, что и в сетях, использующих нормальный протокол CAN, а длительность бита для фазы передачи данных может быть выбрана меньшей с учетом мощности выбранных приемопередатчиков и требований сети CAN FD.
Сообщение, соответствующее протоколу CAN FD, состоит из тех же, что и сообщение, соответствующее нормальному протоколу CAN, элементов, которые, однако, различаются в деталях. Так, в сообщении, соответствующем протоколу CAN FD, поле данных и поле CRC могут быть длиннее. Примеры сообщений, соответствующих нормальному протоколу CAN и протоколу CAN FD, представлены на фиг. 1.
Протокол CAN FD поддерживает обе длины идентификаторов протокола CAN: идентификаторы длиной 11 битов (разрядов) в стандартном формате, также называемом основным или базовым форматом, и идентификаторы длиной 29 битов в расширенном формате. Сообщения, соответствующие протоколу CAN FD, имеют ту же структуру, что сообщения, соответствующие нормальному протоколу CAN. Различие между сообщениями, соответствующими нормальному протоколу CAN и протоколу CAN FD, обеспечивается зарезервированным битом, который в нормальном протоколе CAN всегда передается доминантным, имеет название "r0" или "r1" и находится в поле управления перед кодом длины данных. В сообщении, соответствующем протоколу CAN FD, этот бит передается рецессивным и называется битом расширенной длины данных (англ. сокр.: EDL). Далее в сообщениях, соответствующих протоколу CAN FD, следуют дополнительные, по сравнению с сообщениями, соответствующими нормальному протоколу CAN, биты поля управления, например бит BRS, указывающий положение, в котором - если бит BRS имеет соответствующее значение - длительность бита в сообщении, соответствующем протоколу CAN FD, переключается на меньшее значение. Это показано на фиг. 1а стрелками, которые делят сообщения на отрезок с названием "фаза передачи данных по протоколу CAN FD", в котором используется высокая битовая скорость, т.е. малая длительность бита, и на два отрезка с названием "фаза арбитража по протоколу CAN FD", где используется меньшая битовая скорость, т.е.  длительность бита.
Число байтов в поле данных указывается кодом длины данных. Этот код
имеет ширину 4 бит и передается в поле управления. Соответствующее кодирование в протоколе CAN FD реализовано иначе, чем в нормальном протоколе CAN. Первые девять кодов (от 0x0000 до 0x1000) одинаковы, но последующие коды (от 0x1001 до 0x1111) соответствуют  полям данных сообщений, соответствующих протоколу CAN FD, например полям данных, имеющим размеры 12, 16, 20, 24, 32, 48 и 64 битов.
Приемопередатчики (трансиверы), работающие по нормальному протоколу CAN, могут использоваться и для работы по протоколу CAN FD; возможны и специальные приемопередатчики, которые при необходимости могут обеспечивать дальнейшее повышение битовой скорости в фазе передачи данных.
Протокол CAN FD описан в соответствующей спецификации под заголовком "CAN with Flexible Data Rate Specification", в дальнейшем называемой спецификацией CAN FD и доступной для загрузки на веб-сайте компании Robert Bosch GmbH по адресу http://www.semiconductors.bosch.de.
В случае использования не модифицированных (в соответствии с изобретением) контроллеров, предназначенных для работы по нормальному протоколу CAN, абоненты, поддерживающие нормальный протокол CAN, и абоненты, поддерживающие протокол CAN FD, могут обмениваться данными во включающей их смешанной сети только в формате нормального протокола CAN. То есть, для осуществления связи по протоколу CAN FD все абоненты в сети должны иметь контроллеры, поддерживающие протокол CAN FD. При этом все контроллеры, поддерживающие протокол CAN FD, способны участвовать в передаче данных по нормальному протоколу CAN.
Причиной такого вынужденного отката к более медленной связи в смешанных сетях является контроль связи участвующими в ней абонентами, которые, например в шинных системах CAN, совместно отвечают за высокую надежность передачи. Поскольку немодифицированные контроллеры, предназначенные для работы по нормальному протоколу CAN, т.е. поддерживающие нормальный протокол CAN, не могут корректно принимать более быстрые биты данных в сообщениях, соответствующих протоколу CAN FD, они будут разрушать такие сообщения своими сообщениями об ошибке (так называемые кадры ошибки). Аналогичным образом контроллеры, предназначенные для работы по протоколу CAN FD, разрушали бы кадрами ошибки сообщения, которые после состоявшегося арбитража другие абоненты пытались бы отправлять, например, с использованием длительности бита, еще
более сокращенной по сравнению со спецификацией протокола CAN FD, или с использованием другого битового кодирования либо иного протокола. Таким образом, в общем случае скорость передачи может ограничиваться одним из более медленных абонентов в сети, т.е. его механизмом контроля.
В частности, если передача данных должна осуществляться между двумя определенными абонентами, которые выполнены для работы по другому, например более быстрому, коммуникационному протоколу, это ограничение необходимо не всегда и может представлять собой недостаток, в частности если в случае этого другого коммуникационного протокола можно отказаться от механизмов контроля, способых приводить к разрушению других или более быстрых сообщений.
Таким образом, по крайней мере в некоторых случаях применения можно достигать значительно более высоких скоростей передачи, если при определенных условиях приостанавливать работу механизма контроля, вызывающего разрушение сообщений кадрами ошибки.
Раскрытие изобретения
Задача, которая решается настоящим изобретением, исходя из решения по публикации WO 2012136547 А1 (ближайший аналог изобретения), заключается в таком усовершенствовании из этой публикации известной шинной системы, чтобы сообщения, передаваемые в известном формате, не разрушались другими абонентами шинной системы, не способными принимать сообщения в этом формате. В настоящем изобретении предлагается способ, решающий эту задачу за счет того, что он предоставляет возможность переключения на более быструю или иным способом модифицированную связь с использованием проводников имеющейся шинной системы без разрушения другими абонентами шины сообщений, передаваемых с более высокой скоростью.
Преимущества изобретения
Объектом настоящего изобретения является способ обмена данными между абонентами, соединенными друг с другом посредством шинной системы, причем обмен содержащими данные сообщениями осуществляется согласно первому коммуникационному протоколу, сообщения состоят из последовательности битов, по меньшей мере один управляющий бит, имеющий заданное положение внутри сообщения, передаваемого согласно первому коммуникационному протоколу, должен иметь заданное значение, для каждого сообщения один абонент выступает в роли отправителя, а по меньшей мере один другой абонент как получатель принимает сообщение и выполняет в отношении него контроль ошибок. Предлагаемый в изобретении способ отличается тем, что при наличии по меньшей мере одного управляющего бита со значением, отличным от заданного, по меньшей мере один получатель входит в состояние исключения протокола, в котором он приостанавливает контроль ошибок до тех пор, пока не будет выполнено условие возобновления использования первого коммуникационного протокола, причем в качестве указанного условия возобновления определено прохождение заданного числа следующих друг за другом рецессивных битов, в результате чего по меньшей мере один получатель в состоянии исключения протокола ожидает, пока не будет передано сообщение. Исходя из того, что управляющий бит с отличным (от заданного) значением сигнализирует о том, что связь по проводнику шины осуществляется не в соответствии с первым коммуникационным протоколом и что этот проводник шины должен использоваться с другой целью, то предлагаемое в изобретении решение позволяет достичь того преимущества, что выполняемый по меньшей мере одним получателем контроль ошибок не помешает и не воспрепятствует указанному использованию шины с другой целью.
В одном целесообразном варианте осуществления изобретения наличие по меньшей мере одного управляющего бита со значением, отличным от заданного, указывает, что отправитель посылает передаваемое им сообщение с использованием коммуникационного протокола, отличного от первого. В этом случае благодаря входу по меньшей мере одного получателя в состояние исключения протокола предотвращается разрушение этим получателем сообщения, передаваемого согласно другому, т.е. отличному от первого, коммуникационному протоколу, которое могло бы случиться вследствие выполнения получателем контроля ошибок или вытекающих из этого контроля мероприятий, таких, например, как выдача кадров ошибки.
В особенно целесообразном варианте осуществления изобретения вышеупомянутый отличный от первого коммуникационный протокол характеризуется меньшей, по сравнению с первым коммуникационным протоколом, длительностью бита в определенной части передаваемого сообщения. Это, например, может соответствовать случаю, когда передаваемым сообщением является сообщение, передаваемое согласно протоколу CAN FD. Данный вариант осуществления изобретения обеспечивает возможность передачи данных отправителем с более высокой скоростью передачи, т.е. за меньшее время.
Также целесообразно, если по меньшей мере один получатель входит в состояние исключения протокола, выполняя перезапуск блока управления протокола или машины состояний протокола. Такой механизм обычно и так предусмотрен в реализациях протоколов, что позволяет осуществлять предлагаемый в изобретении способ с относительно небольшими затратами на основе реализации, характерной для первого коммуникационного протокола.
Как указано выше, в качестве условия возобновления использования первого коммуникационного протокола определено заданное число битов с заданными значениями. В качестве альтернативы, в качестве условия возобновления использования первого коммуникационного протокола можно определять заданную или задаваемую продолжительность отсутствия связи по шине. В частности, после вышеупомянутого перезапуска по меньшей мере один получатель может следить за наступлением указанного условия возобновления с использованием схемы обнаружения фронтов и счетчика для подсчета битов, появляющихся с заданным значением, причем при появлении фронта счетчик перезапускается. Это еще более уменьшает затраты на осуществление способа на основе реализации, характерной для первого коммуникационного протокола, поскольку абоненты таким образом обычно синхронизируются для связи по шине после вызванного ошибкой перезапуска или в начале передачи данных.
Целесообразно, чтобы сообщения, передаваемые согласно первому коммуникационному протоколу, имели заголовок, поле данных и концевик, причем передаваемые данные содержатся в поле данных, а по меньшей мере один управляющий бит содержится в заголовке. Это позволяет заблаговременно в пределах сообщения входить в состояние исключения протокола после считывания управляющего бита и при необходимости переключать отправителя на другой, т.е. отличный от первого, коммуникационный протокол.
Если роли отправителя и получателя распределять среди абонентов путем арбитража, определяя по содержащемуся в заголовке сообщения идентификатору, какой абонент получит доступ к шине для передачи, если несколько абонентов одновременно пытаются послать сообщение, это позволяет эффективно исключить возможность коллизий в процессе передачи данных по шине. В частности, это достигается за счет выполнения арбитража по стандарту ISO 11898-1 на протокол CAN, согласно которому заголовок сообщения содержит бит начала кадра, поле арбитража, поле управления, а концевиксообщения - поле циклического избыточного кода (CRC), поле подтверждения и поле конца кадра.
Объектом изобретения является также устройство, содержащее соответствующие средства для осуществления способа, описанного выше и заявленного в пункте 1 и зависимых от него пунктах формулы изобретения, и обладающее соответствующими преимуществами. В частности, подобное устройство может выгодно применяться в смешанных сетях, где оно будет способствовать быстрой и бесперебойной передаче данных, не препятствуя неоправданным механизмом контроля использованию проводников шины с другой целью, в частности не нарушая и не разрушая сообщений, которые соответствующий отправитель посылает с использованием коммуникационного протокола, отличного от первого.
Краткое описание чертежей
На фиг. 1а представлена базовая структура сообщений, общая для нормального протокола CAN и протокола CAN FD. При этом указаны последовательность и названия участков сообщения (бит начала кадра, поле арбитража, поле управления, поле данных, поле циклического избыточного кода (CRC), поле подтверждения и поле конца кадра). До и после сообщения шина находится в состоянии без передачи данных, что описывается термином "межкадровый промежуток". Как правило, используются английские названия, установленные в стандарте ISO 11898. Переключение битовой скорости, которое может осуществляться в случае сообщений, соответствующих протоколу CAN FD, представлено участками сообщения, передаваемыми со стандартной битовой скоростью и опциональной высокой (повышенной) битовой скоростью и обозначенными соответственно.
На фиг. 1б представлен заголовок, содержащий бит начала кадра, поле арбитража и поле управления, для сообщений, соответствующих нормальному протоколу CAN и протоколу CAN FD, причем для каждого из этих протоколов - в стандартном, или основном, формате и в расширенном формате. В случае сообщений, соответствующих протоколу CAN FD, в фазе передачи данных может происходить переключение битовой скорости.
На фиг. 2 показана смешанная сеть, состоящая из первых абонентов 200 и вторых абонентов 250. Абоненты соединены посредством шинной системы 100, которая может быть выполнена, например, в виде двухжильного кабеля с медными проводниками. Во избежание отражения сообщений к концам проводников могут быть присоединены, например, соответствующие резисторы-терминаторы. Возможны и другие топологии проводников, например кольцевая, звездообразная или древовидная топологии. Первые и вторые абоненты соединены с шинной системой посредством первых и вторых интерфейсов 201, 251. Интерфейсы включают в себя, например, устройства подключения к шине, такие, например, как приемопередатчики CAN, и коммуникационные устройства, такие, например, как контроллеры CAN или CAN FD. Интерфейсы также могут быть выполнены полностью или частично интегрированными с другими компонентами абонентов. Например, обычной комбинацией является интеграция коммуникационного устройства в микропроцессор, также имеющийся у абонента.
Первые абоненты отличаются тем, что согласно изобретению они могут входить в состояние исключения протокола, а вторые абоненты отличаются тем, что они используют второй коммуникационный протокол или могут переключаться на второй коммуникационный протокол. К сети могут быть подключены и другие абоненты при условии, что они не мешают осуществлению описываемого способа. Некоторые из показанных на фиг. 2 абонентов также могут быть факультативными (опциональными) абонентами, подключаемыми только в определенных случаях, например, при выполнении работ по техническому обслуживанию или программированию.
На фиг. 3 в качестве примера приведена структурная схема первого абонента 200, имеющего интерфейс 201. Интерфейс включает в себя устройство 210 подключения к шине, а также коммуникационный контроллер 220, выполненный с возможностью осуществления предлагаемого в изобретении способа. Для этого коммуникационный контроллер 220 содержит счетчик 221 и схему 222 обнаружения фронтов.
Далее рассматривается несколько примеров осуществления изобретения, в которых первыми абонентами и вторыми абонентами используются разные коммуникационные протоколы.
Примеры осуществления изобретения
Пример 1: Толерантность реализаций протокола CAN к сообщениям, соответствующим протоколу CAN FD.
Ниже со ссылкой на фиг. 2 и 3 рассматривается пример осуществления настоящего изобретения на основе сети, работающей по нормальному протоколу CAN. В этом случае первыми абонентами 200 представленной на фиг. 2 сети являются, например, блоки управления, имеющие предлагаемое в изобретении устройство, т.е. коммуникационный контроллер 220 с модифицированной реализацией нормального протокола CAN, представленный на фиг. 3 как часть интерфейса 201. Реализация нормального протокола CAN модифицирована таким образом, чтобы обеспечивать осуществление предлагаемого в изобретении способа. Вторыми абонентами 250 представленной на фиг. 2 сети в данном случае являются, например, блоки управления, имеющие коммуникационный контроллер с реализацией протокола CAN FD.
Под реализациями понимаются аппаратные или программные реализации коммуникационного протокола, например коммуникационные контроллеры CAN или IP-модули, которые содержат коммуникационный контроллер CAN и могут быть интегрированы в более крупный полупроводниковый прибор или интегральную схему.
Благодаря предлагаемой в изобретении модификации, реализации нормального протокола CAN, т.е. реализации, по определению не способные передавать и принимать сообщения, соответствующие протоколу CAN FD, приобретают толерантность ко второму, отличающемуся (от первого), коммуникационному протоколу, т.е. способность допускать связь по этому отличающемуся протоколу. В рассматриваемом варианте осуществления изобретения этим вторым, отличающимся коммуникационным протоколом является протокол CAN FD. Толерантность к отличающемуся коммуникационному протоколу, т.е. способность сосуществовать с ним, означает, что такие реализации нормального протокола CAN, модифицированные согласно изобретению, игнорируют связь, осуществляемую по второму коммуникационному протоколу, т.е. в данном случае - по протоколу CAN FD, и не мешают ей, например путем генерирования кадров ошибки. Это имеет то преимущество, что создается возможность переключения с нормального протокола CAN на более быстрый второй протокол, т.е. CAN FD, причем с применением тех же (уже существующих) проводников шины. После завершения ускоренной связи по второму коммуникационному протоколу CAN FD происходит обратное переключение на исходный нормальный протокол CAN, если выполнено условие возобновления использования первого коммуникационного протокола, т.е. нормального протокола CAN.
Для осуществления настоящего изобретения в рассматриваемом здесь примере две имеющихся функции протокола CAN комбинируются так, чтобы сделать модифицированные таким образом реализации нормального протокола CAN толерантными к протоколу CAN FD. Во-первых, когда реализация нормального протокола CAN синхронизируется для связи по шине, счетчик 221, предусмотренный в реализациях нормального протокола CAN, используется для регистрации появления одиннадцати следующих друг за другом (подряд) рецессивных битов. В нормальном протоколе CAN это происходит, например, после перезапуска или при прохождении так называемой последовательности восстановления из состояния отключения от шины (см. главу 7 "Локализация ошибок" спецификации протокола CAN, ред. 2.0, правило 12). Во-вторых, используется схема 222 обнаружения фронтов, которая раз в единицу времени шины CAN проверяет вход, подключенный к шине CAN, на наличие фронтов, чтобы использовать обнаруженные фронты в качестве основы для битовой синхронизации. (Длительность одного бита в шине CAN складывается из нескольких, например 8-25, единиц времени шины CAN, или "квантов времени", длина которых, в свою очередь, выводится из такта внутреннего опорного генератора соответствующего абонента шины. Подробности приведены в спецификации протокола CAN, ред. 2.0)
Модифицированная реализация протокола CAN, соответствующая рассматриваемому здесь примеру осуществления настоящего изобретения использует следующий механизм: Сначала модифицированная реализация протокола CAN участвует в передаче данных обычным образом, т.е. при наличии подлежащего отправке сообщения она пытается путем передачи заголовка этого сообщения получить в рамках арбитража доступ к шине. Если отправлять нечего, или если она проиграет арбитраж, она наблюдает за передачей сообщений по шине как получатель. Сразу после обнаружения в принятом сообщении, соответствующем нормальному протоколу CAN и имеющем основной формат, рецессивного бита в положении r0, или после обнаружения в принятом сообщении, соответствующем нормальному протоколу CAN и имеющем расширенный формат, рецессивного бита в положении r1 (соответствующем положению бита EDL расширенной длины данных в сообщении протокола CAN FD, см. фиг. 1a и 1б), модифицированная реализация нормального протокола CAN перезапускает свою машину состояний (машину состояний протокола), отвечающую за протокольное декодирование, или предусмотренный для этого блок управления протокола, например аппаратно реализованное устройство управления протокола, не изменяя состояния счетчика ошибок и не отправляя кадр ошибки. Таким образом она входит в состояние исключения протокола, в котором она ожидает наступления условия возобновления. При наступлении условия возобновления пройдет процесс возобновления, подробнее описываемый ниже.
В качестве альтернативы описанному выше, вместо бита r0 в случае основного формата или вместо бита r1 в случае расширенного формата для инициирования состояния исключения протокола может использоваться другой бит с заданным значением в пределах сообщения, соответствующего нормальному протоколу CAN, например бит r0 в расширенном формате.
Состояние исключения протокола:
В состоянии исключения протокола сначала выполняется перезапуск машины состояний протокола или блока управления протокола. После перезапуска абонент с использованием предусмотренного для этого счетчика 221, подсчитывающего биты с заданным значением, ожидает прохождения последовательности из нескольких, в данном примере - одиннадцати, следующих друг за другом рецессивных битов. В пределах этой последовательности не должно быть фронта со сменой рецессивного уровня доминантным, иначе счетчик 221 сбросится. За этим следит имеющаяся схема 222 обнаружения фронтов.
Процесс возобновления:
Если, например, с использованием счетчика 221 и схемы 222 обнаружения фронтов распознается условие возобновления, т.е. в данном примере последовательность из одиннадцати следующих друг за другом рецессивных битов, абонент выходит из состояния исключения протокола и синхронизируется для связи по шине. Таким образом абонент снова готов к отправке или приему сообщений, соответствующих нормальному протоколу CAN, начало которых сигнализируется доминантным битом начала кадра (SOF).
Преимущество представленного механизма заключается в том, что модифицированные абоненты, поддерживающие нормальный протокол CAN, ожидают, пока не будет передано сообщение, соответствующее протоколу CAN FD (или пока оно не будет прервано кадром ошибки, если абонентом, работающим согласно протоколу CAN FD, обнаружена ошибка). Дело в том, что во время передачи сообщения, соответствующего протоколу CAN FD, требование прохождения последовательности из одиннадцати следующих друг за другом рецессивных битов никогда не выполняется, и-модифицированные абоненты, поддерживающие нормальный протокол CAN, не проходят процесс возобновления, как он был описан выше. Таким образом, описанный способ обеспечивает толерантность модифицированных реализаций нормального протокола CAN ко всем сообщениям, соответствующим протоколу CAN FD.
Целесообразно, чтобы длительность бита в пределах фазы передачи данных сообщения, соответствующего протоколу CAN FD (см. фиг. 2), была не меньше единицы времени шины CAN в фазе арбитража протокола CAN FD. Иначе модифицированный абонент, поддерживающий нормальный протокол CAN, в редких случаях сможет считывать одиннадцать следующих друг за другом рецессивных битов в сообщении, соответствующем протоколу CAN FD.
Обнаружение сообщения, соответствующего протоколу CAN FD, не вызывает инкрементирования (приращения показания) счетчика ошибок, благодаря чему модифицированные реализации нормального протокола CAN сразу по окончании более быстрого сообщения, соответствующего протоколу CAN FD, могут продолжать ведение связи по шине согласно нормальному протоколу CAN.
Пример 2: Толерантность модифицированных реализаций протокола CAN FD к сообщениям, соответствующим перспективным усовершенствованным протоколам
Ниже, опять же со ссылкой на фиг. 2 и 3, рассматривается еще один пример осуществления настоящего изобретения, теперь - на основе сети, работающей по протоколу CAN FD. В этом случае первыми абонентами 200 представленной на фиг. 2 сети являются, например, блоки управления, имеющие предлагаемое в изобретении устройство, осуществляющее предлагаемый в изобретении способ, т.е. коммуникационный контроллер 220 с модифицированной реализацией протокола CAN FD, представленный на фиг. 3 как часть интерфейса 201. Вторыми абонентами 250 представленной на фиг. 2 сети в данном примере являются, например, блоки управления, имеющие коммуникационный контроллер, содержащий реализацию другого коммуникационного протокола. Таким другим коммуникационным протоколом может быть, например, усовершенствованная версия протокола CAN FD, допускающая, например - в зависимости от содержимого кода длины данных, еще более длинные поля данных, чем это предусмотрено в CAN FD. Кроме того, в таком другом коммуникационном протоколе могут использоваться дополнительные управляющие биты в поле управления, например, с целью защиты данных или передачи между абонентами дополнительной информации о состоянии. В качестве альтернативы или дополнения, другой коммуникационный протокол может предусматривать модифицированное вычисление (контрольной суммы) в отношении содержимого поля циклического избыточного кода (CRC) и/или иной размер поля циклического избыточного кода (CRC).
Согласно опубликованной спецификации протокол CAN FD также имеет в некоторых заданных положениях внутри сообщения биты с заданными значениями. Например, как показано на фиг. 1б, каждое сообщение, соответствующее протоколу CAN FD в основном формате, а также в расширенном формате, содержит зарезервированный бит r1, являющийся последним битом в поле арбитража, и зарезервированный бит r0, следующий за битом EDL расширенной длины данных в поле управления.
Соответственно этому механизм, описанный выше для модифицированных реализаций нормального протокола CAN, можно аналогично использовать в приложении к модифицированным реализациям протокола CAN FD. Для этого модифицированные реализации протокола CAN FD должны включать в себя оба используемых для этого механизма: с одной стороны - счетчик 221 для подсчета следующих друг за другом битов, в данном примере - одиннадцати подряд рецессивных битов, а с другой стороны - схему 222 обнаружения фронтов. Эти средства обычно присутствуют. В других примерах осуществления изобретения могут использоваться другие механизмы, которые служат для возобновления связи после перезапуска или обнаружения ошибки и которые могут вторично использоваться для осуществления предлагаемого в изобретении способа.
Модифицированная реализация протокола CAN FD, соответствующая рассмотренному примеру осуществления настоящего изобретения использует следующий механизм: Сначала модифицированная реализация протокола CAN FD участвует в передаче данных обычным образом, т.е. при наличии подлежащего отправке сообщения она пытается путем передачи заголовка этого сообщения получить в рамках арбитража доступ к шине. Если отправлять нечего, или если она проиграет арбитраж, она наблюдает за передачей сообщений по шине как получатель. Сразу после обнаружения в сообщении, соответствующем протоколу CAN FD и имеющем основной формат, рецессивного бита в положении r0, или после обнаружения в сообщении, соответствующем протоколу CAN FD и имеющем расширенный формат, рецессивного бита в положении r0 (см. фиг. 1а и 1б) модифицированная реализация протокола CAN FD перезапускает свою машину состояний (машину состояний протокола), отвечающую за протокольное декодирование, или предусмотренный для этого блок управления протокола, например аппаратно реализованное устройство управления протокола, не изменяя состояния счетчика ошибок и не отправляя кадр ошибки. Таким образом она входит в состояние исключения протокола, в котором она ожидает наступления условия возобновления. Условие возобновления и инициируемый его выполнением процесс возобновления выглядят в основном так же, как это уже было описано для первого примера осуществления изобретения. Реализации протокола CAN FD обычно имеют аналогичные механизмы, в частности счетчик 221 рецессивных битов и схему 222 обнаружения фронтов, которые могут использоваться для осуществления изобретения.
В качестве альтернативы, вместо бита r0 в случае основного формата или расширенного формата для инициирования входа в состояние исключения протокола может использоваться другой бит с заданным значением внутри сообщения, соответствующего протоколу CAN FD, например бит r1 в конце поля арбитража.
Преимущество представленного механизма заключается в том, что модифицированные абоненты, поддерживающие протокол CAN FD, ожидают, пока не будет передано сообщение, соответствующее другому коммуникационному протоколу (или пока оно возможно не будет прервано соответствующим механизмом в случае обнаружения ошибки). Условием является реализация другого коммуникационного протокола таким образом, чтобы во время передачи требование прохождения последовательности из одиннадцати следующих друг за другом рецессивных битов никогда не выполнялось, и модифицированные абоненты, поддерживающие протокол CAN FD, не проходили процесс возобновления, как он был описан выше. Таким образом, описанный способ обеспечивает толерантность модифицированных реализаций протокола CAN FD к сообщениям, передаваемым согласно другому коммуникационному протоколу.