Способ и устройство для повышения надежности передачи при последовательной передаче данных с гибким размером сообщений
Иллюстрации
Показать всеИзобретение относится к вычислительным сетям передачи данных. Технический результат заключается в последовательной передаче данных в шинной системе. Указанный результат достигается за счет применения способа взаимодействия абонентов шины, обменивающихся по шине сообщениями. При этом этапы способа предусматривают выполнение: доступа к шине для передачи любого сообщения по методу арбитража, соответствующему стандарту ISO 11898-1 на протокол сети контроллеров (CAN); сообщения имеют логическую структуру стандарта CAN; при наличии условия заполнения в сообщение между передаваемыми битами данных вставляют дополняющие биты; в начале сообщения дополнительно к вычислению содержимого поля CRC запускают вычисление одной другой последовательности CRC посредством порождающего полинома, отличающегося от стандарта на протокол CAN; в зависимости от соответствующей метки (EDL) решают, результат которого из параллельно запущенных вычислений содержимого поля CRC будет использоваться для проверки правильности передачи данных; для значений указанной метки проверяют дополнительное условие, при наличии которого передатчиком в отдельные части сообщения вставляются последовательности фиксированных дополняющих битов. 5 н. и 24 з.п. ф-лы, 11 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для последовательной передачи данных между по меньшей мере двумя абонентами в последовательной шинной системе.
Уровень техники
Известен, например из семейства стандартов ISO 11898-1…-5, протокол сети контроллеров (CAN - сокр. от англ. "Controller Area Network"), а также расширение протокола CAN, называемое синхронизированным по времени, или синхро-временным, протоколом CAN (TTCAN, сокр. от англ. "Time-Triggered CAN"), ниже также называемые стандартом на протокол CAN. Используемый протоколом CAN метод управления доступом к среде передачи основан на побитовом арбитраже. При побитовом арбитраже несколько абонентских станций могут одновременно передавать данные по каналу шинной системы, не создавая помех для передачи данных. Кроме того, абонентские станции при передаче бита по каналу могут определять логическое состояние канала (0 или 1). Если значение посланного бита не соответствует определенному логическому состоянию канала, то доступ абонентской станции к каналу прекращается. В случае протокола CAN побитовый арбитраж обычно выполняется на основе идентификатора, содержащегося в передаваемом по каналу сообщении. После того как абонентская станция полностью отправила идентификатор в канал, она знает, что у нее есть право монопольного (исключительного) доступа к каналу. Таким образом, окончание передачи идентификатора соответствует началу временного интервала разрешения доступа, в течение которого абонентская станция может пользоваться каналом монопольно. Согласно протоколу CAN другие абонентские станции не могут обращаться к каналу, т.е. посылать в этот канал данные, до тех пор, пока ведущая передачу абонентская станция не передаст поле контрольной суммы, или циклического избыточного кода (CRC), также называемое контрольной суммой CRC и входящее в структуру сообщения. Таким образом, момент окончания передачи поля CRC соответствует концу временного интервала разрешения доступа. Еще одна особенность спецификации протокола CAN заключается в том, что после любых пяти битов, имеющих одинаковое значение, передатчиком, т.е. передающим сообщение абонентом (узлом) шины, в поток данных вставляется добавочный бит, называемый дополняющим битом (стаф-битом) и имеющий противоположное значение, чтобы обеспечить прохождение фронтов сигнала, необходимых для синхронизации абонентов шины, в частности моментов выборки (считывания) значений битов. Вставленные передатчиком дополняющие биты на приемной стороне, т.е. в приемнике, или принимающем сообщение абоненте (узле) шины, отбрасываются. Они не подлежат учету при вышеупомянутой проверке контрольной суммы CRC.
Соответственно, согласно протоколу CAN по каналу передается то сообщение, которое выиграло процедуру арбитража, причем передача сообщений является надежной и не сопряжена с опасностью потери их целостности (неразрушающая передача). Протоколы CAN особенно хорошо подходят для передачи коротких сообщений в условиях реального времени, причем за счет присвоения сообщениям соответствующих идентификаторов можно гарантировать то, что особо важные сообщения почти всегда будут выигрывать арбитраж и успешно передаваться.
Благодаря передаче поля CRC с контрольной суммой, предварительно вычисляемой посредством порождающего полинома на основе передаваемых в сообщениях данных, и выполнению на приемной стороне CRC-контроля, т.е. проверки контрольной суммы CRC, обеспечивается высокая надежность передачи данных и вероятность обнаружения в них ошибок. Вставка вышеупомянутых дополняющих битов в тех местах внутри сообщения, в которых передаются пять идущих подряд одинаковых битов, в сочетании с ресинхронизацией битового хронирования по фронтам между битами с различными значениями обеспечивает высокую невосприимчивость к отклонениям частоты используемых опорных генераторов.
С неуклонно возрастающей степенью объединения оборудования современных транспортных средств сетями передачи данных и с внедрением дополнительных систем, улучшающих эксплуатационные качества транспортных средств, например в плане обеспечения безопасности движения или комфорта водителя и пассажиров, растут требования к передаваемым объемам данных, скорости и надежности передачи данных и к допустимым временам задержки при передаче данных. Примерами таких систем являются системы управления динамикой движения, например электронная система поддержания курсовой устойчивости (ESP), системы помощи водителю, например система автоматического регулирования дистанции (САРД), или системы информирования водителя, например система распознавания дорожных знаков (см., например, описания соответствующих систем в Автотехническом справочнике фирмы "Бош" (Bosch Kraftfahrtechnisches Handbuch), 27-ое издание, 2011, изд-во Vieweg+Teubner).
В статье G. Cena и A. Valenzano под названием "Overclocking of Controller Area Networks" ("Как повысить тактовую частоту в сетях контроллеров"), Electronics Letters, том 35, №22 (1999), стр.1924, рассматриваются факторы влияния повышения опорной частоты шины в отдельных частях сообщений на достигаемую эффективную скорость передачи данных.
В опубликованном 02.05.2011 на Интернет-странице http://www.semiconductors.bosch.de/ документе "CAN with Flexible Data-Rate (Протокол CAN с гибкой скоростью передачи данных), технический документ, версия 1.0", представлен модифицированный протокол передачи данных, который обеспечивает, в том числе, увеличение поля данных, а также - для части сообщения CAN - сокращение длительности бита. Согласно этому протоколу, обозначенному как CAN FD, дополняющие биты, появляющиеся до начала поля CRC, учитываются при CRC-контроле, что само по себе обеспечивает более высокую безопасность данных. Однако дополняющие биты, появляющиеся внутри поля CRC, по-прежнему исключаются из CRC-контроля. Это является ограничением по надежности используемых протоколом механизмов обнаружения ошибок. Из цитируемых выше источников видно, что уровень техники не дает удовлетворительных во всех отношениях результатов.
Раскрытие изобретения
Ниже рассматриваются сущность изобретения и его преимущества, а возможности осуществления изобретения представлены ниже в описании, поясняемом чертежами. Предмет изобретения не ограничивается представленными и рассматриваемыми вариантами его осуществления.
Преимущества изобретения
Объектом настоящего изобретения является способ последовательной передачи данных в шинной системе, включающей в себя по меньшей мере два абонента шины (узла шины), обменивающихся по шине сообщениями, причем доступ к шине для передачи любого сообщения предоставляют абоненту шины по методу арбитража, соответствующему стандарту ISO 11898-1 на протокол CAN, сообщения имеют логическую структуру, соответствующую стандарту на протокол CAN, т.е. состоят из бита начала кадра, поля арбитража, поля управления, поля данных, поля циклического избыточного кода (CRC), поля подтверждения и поля конца кадра, в начале сообщения дополнительно к вычислению содержимого поля CRC, соответствующему стандарту на протокол CAN, параллельно запускают вычисление по меньшей мере одного другого содержимого поля CRC посредством порождающего полинома, отличающегося от стандарта на протокол CAN, по меньшей мере при одном из дополнительно выполняемых вычислений содержимого поля CRC также учитывают дополняющие биты, которые по правилам стандарта на протокол CAN были вставлены в отдельные части сообщения, находящиеся до начала поля CRC, и в зависимости от соответствующей метки (EDL) решают, результат которого из параллельно запущенных вычислений содержимого поля CRC будет использоваться для проверки правильности передачи данных.
Предлагаемый в изобретении способ отличается тем, что в случае соответствующей метки проверяют дополнительное условие, при наличии которого по меньшей мере в части сообщения вставляют последовательности фиксированных дополняющих битов, состоящие из одного или нескольких битов. Достигаемый при этом полезный эффект заключается в возможности целенаправленного генерирования в сообщениях фронтов, которые могут быть полезными, например, для контроля и коррекции синхронизации абонентов шины друг с другом, в частности если, как это предусмотрено в особенно целесообразном варианте осуществления изобретения, первый вставленный бит последовательности фиксированных дополняющих битов имеет значение, противоположное предшествующему биту.
В особенно целесообразном варианте осуществления изобретения дополнительное условие задано таким образом, что оно наступает с регулярными промежутками, в результате чего последовательности фиксированных дополняющих битов, состоящие из одного или нескольких битов, вставляют в сообщение в заданных местах последнего. Это позволяет особенно просто вставлять биты перед отправкой сообщений и удалять вставленные биты в принимающих абонентах шины. Поскольку вставка последовательностей фиксированных дополняющих битов осуществляется не в зависимости от данных, а, например, в зависимости от показаний счетчика, достигаемый при этом полезный эффект заключается в невозможности размножения двух ошибок, возникших вследствие какого-либо возмущения и помехи в этих частях передаваемого битового потока, с возникновением множества ошибок за счет того, что в результате битовых ошибок в одном месте сообщения дополняющий бит превращается в мнимый бит данных, а в другом месте сообщения бит данных превращается во мнимый дополняющий бит.
Далее, целесообразно, чтобы между любыми двумя вставленными последовательностями фиксированных дополняющих битов находилось не более четырех битов данных, поскольку таким образом можно избежать нарушения предусмотренного стандартом правила заполнения (подстановки дополняющих битов), а именно, появления шести идущих подряд битов одинаковой полярности, а положение фиксированных дополняющих битов определено таким образом единообразно и независимо от данных. Понятие "бит данных" служит здесь для отграничения от дополняющих битов и характеризует те биты, которые должны передаваться передатчиком приемнику или приемникам как составная часть формата сообщений, т.е. в качестве бита начала кадра, в составе поля арбитража, поля управления, поля данных, поля CRC, поля подтверждения и поля конца кадра.
При наличии указанного дополнительного условия целесообразно вставлять последовательности фиксированных дополняющих битов по меньшей мере в поле CRC снабженного меткой, т.е. маркированного, сообщения, но вместе с тем, последовательности фиксированных дополняющих битов также могут вставляться по всему сообщению. В особенно целесообразном варианте осуществления изобретения последовательностями фиксированных дополняющих битов дополняется только поле CRC. В еще одном, также целесообразном, варианте осуществления изобретения поле CRC снабженных меткой сообщений имеет отличное от предусмотренного стандартом на протокол CAN, в частности большее, число битов. Передаваемое поле CRC начинается, кроме того, такой последовательностью фиксированных дополняющих битов, что обеспечивает надежную отработку возникшего в конце поля данных условия заполнения и позволяет единообразно задавать положения последовательностей фиксированных дополняющих битов. Таким образом, за счет очень надежного распознавания ошибок передачи гарантируется оптимальная надежность передачи данных.
Кроме того, целесообразно, чтобы для сообщений с основной адресацией (в основном формате CAN) первая метка была реализована рецессивным вторым битом в поле управления, а для сообщений с расширенной адресацией (в расширенном формате CAN) - рецессивным первым и/или вторым битом в поле управления. Благодаря этому абоненты шины могут четко отличать модифицированные сообщения от обычных стандартных сообщений. В предпочтительном варианте осуществления изобретения при наличии первой метки поле управления в сообщениях содержит, в отличие от стандарта на протокол CAN, более шести битов, причем, в частности, за рецессивным битом первой метки во всех информационных сообщениях следует по меньшей мере один доминантный бит.При наличии первой метки фронт между рецессивным битом первой метки и по меньшей мере одним следующим доминантным битом может выгодно использоваться для ресинхронизации или жесткой синхронизации битового хронирования (структуры битового интервала) абонентов шины, что повышает надежность передачи данных и ее устойчивость к ошибкам, в особенности при последующем переключении длительности бита.
Также целесообразен вариант осуществления изобретения, в котором при наличии первой метки поле данных в сообщениях может содержать, в отличие от стандарта на протокол CAN, более восьми байт, поскольку таким образом достигается увеличение объема передаваемой в одном сообщении информации, а значит, и повышение эффективной скорости передачи данных. В этом случае для установления размера поля данных значения четырех битов кода длины данных интерпретируют, по меньшей мере частично, иначе по сравнению со стандартом на протокол CAN.
В целесообразном варианте осуществления изобретения первую метку оценивают в абонентах шины и в зависимости от метки и кода длины данных адаптируют процесс приема сообщения к размеру поля данных. Таким образом обеспечивается оптимальная гибкость передачи данных.
Кроме того, при наличии второй метки длительность бита по меньшей мере для одной заданной или задаваемой области в пределах сообщения принимает значение, уменьшенное по сравнению с длительностью бита, используемой до появления второй метки, причем указанная область начинается не ранее чем со второй меткой и заканчивается не позднее чем с разделителем CRC, что позволяет передать сообщение по шине за меньшее время. Вторая метка дает то преимущество, что благодаря двухэтапному переключению, т.е. с одной стороны, переключению между значениями размера поля данных, а с другой стороны, переключению между значениями длительности бита в частях сообщения, осуществляемым посредством соответствующих отдельных меток, преимущества этих двух мероприятий также можно, по возможности, использовать в отдельности. Например, даже в случае, если по причинам, связанным с топологией шины, переключение на меньшую длительность бита невозможно, изобретение позволяет и далее пересылать сообщения с более высоким объемом данных. Кроме того, при появлении ошибок в сообщениях с сокращенной длительностью бита сначала можно переключиться на нормальную длительность бита, не жертвуя преимуществами увеличения области данных.
Далее, для целей маркировки и синхронизации целесообразно, чтобы вторая метка также была реализована рецессивным битом в поле управления, передаваемым во времени после бита первой метки, в частности, если этот рецессивный бит отделен от рецессивного бита первой метки по меньшей мере одним доминантным битом.
В целесообразном варианте осуществления изобретения при наличии первой метки в абонентах шины оценивают вторую метку и в зависимости от значения второй метки адаптируют процесс приема сообщения к различным значениям длительности бита внутри сообщения. Таким образом обеспечивается уверенное распознавание сообщений, передаваемых ускоренно, т.е. в быстром режиме.
В предпочтительном варианте осуществления изобретения, обеспечивающем минимизацию затрат на его реализацию, по меньшей мере два различных значения длительности бита внутри сообщения реализуют в процессе работы путем использования по меньшей мере двух различных коэффициентов масштабирования, или предделителей, для установки шинной единицы (кванта) времени по отношению к наименьшей единице времени или к такту опорного генератора.
Достоинством предлагаемого в изобретении способа является возможность его применения при нормальной эксплуатации транспортного средства для передачи данных между по меньшей мере двумя блоками управления транспортного средства, соединенными подходящей шиной данных. Вместе с тем, предлагаемый в изобретении способ может в равной мере эффективно применяться в процессе производства или технического обслуживания транспортного средства для передачи данных между программатором, соединенным с подходящей шиной данных с целью программирования, и по меньшей мере одним соединенным с этой шиной данных блоком управления транспортного средства. Осуществление изобретения также выгодно при эксплуатации промышленных систем управления, в частности в случае протяженных линий соединения. Во всех случаях выгодной отличительной особенностью изобретения является гибкость выбора скорости передачи данных при одновременно очень высокой надежности передачи, что позволяет адаптировать способ передачи данных к имеющимся условиям, например, к временам прохождения сигналов.
Еще одно преимущество предлагаемого способа заключается в том, что контроллер, поддерживающий обычный режим CAN, требует внесения лишь минимальных изменений для того, чтобы он мог работать в соответствии с изобретением. Предлагаемый в изобретении коммуникационный контроллер, способный работать также в обычном режиме CAN, лишь незначительно больше обычного контроллера, поддерживающего обычный режим CAN. Соответствующую прикладную программу изменять не требуется, и даже тогда достигаются преимущества в скорости передачи данных.
Преимуществом является также возможность использования значительных частей теста соответствия CAN (стандарт ISO 16845). В предпочтительном варианте своего осуществления предлагаемый в изобретении способ передачи данных может комбинироваться с дополнениями, предусмотренными протоколом TTCAN (стандарт ISO 11898-4).
Краткое описание чертежей
Ниже подробнее рассматривается осуществление изобретения, поясняемое следующими чертежами.
На фиг. 1а показаны две альтернативы структуры информационных сообщений, соответствующей стандарту ISO 11898-1 на протокол CAN, а именно сообщений в основном и расширенном форматах CAN.
На фиг. 1б показано два примера формата сообщений, модифицированных по сравнению с уровнем техники в соответствии с предлагаемым в изобретении способом передачи данных в режиме удлиненных сообщений CAN с измененным полем управления и гибким размером поля данных и поля CRC. Представлены как модификация сообщения CAN в основном формате, так и модификация сообщения CAN в расширенном формате.
На фиг. 1в, 1г, 1д показано несколько вариантов предлагаемой в изобретении модификации передаваемого поля CRC, предусматривающей вставку добавочных фиксированных дополняющих битов или последовательностей фиксированных дополняющих битов.
На фиг. 2 представлены различные возможности того, как содержимое кода длины данных может интерпретироваться в случае предлагаемой в изобретении передачи данных иначе по сравнению со стандартом ISO 11898-1 на протокол CAN.
На фиг. 3 схематически представлен пример реализации процесса приема сообщения в предлагаемой в изобретении абонентской станции, работающей в шинной системе в режиме удлиненных сообщений CAN с гибкой скоростью передачи данных ("CAN FD Long").
На фиг. 4 показано два других примера сообщений, которые при осуществлении предлагаемого в изобретении способа передачи данных модифицированы для применения в быстром режиме CAN с гибкой скоростью передачи данных ("CAN FD Fast") и в которых, по сравнению с фиг. 1б, в пределах сообщения дополнительно заданы области, в которых в соответствии с изобретением используется иная длительность бита.
На фиг. 5 схематически представлен пример реализации процесса приема в предлагаемой в изобретении абонентской станции, работающей в шинной системе в быстром режиме CAN с гибкой скоростью передачи данных ("CAN FD Fast").
На фиг. 6а схематически показан фрагмент узла управления, который в предлагаемых в изобретении устройствах выполняет вставку добавочных фиксированных дополняющих битов или последовательностей фиксированных дополняющих битов в посылаемые сообщения.
На фиг. 6б схематически показан фрагмент узла управления, который в предлагаемых в изобретении устройствах выполняет удаление добавочных фиксированных дополняющих битов или последовательностей фиксированных дополняющих битов из принимаемых сообщений.
Осуществление изобретения
На фиг. 1а представлена структура сообщений в том виде, как она используется для передачи данных по шине CAN. Показаны оба различающихся формата сообщений, а именно основной (стандартный) и расширенный форматы. Предлагаемый в изобретении способ применим, в соответствующих вариантах его осуществления, к обоим форматам.
Сообщение начинается битом начала кадра (SOF - сокр. от "Start of Frame"), также называемым стартовым битом и сигнализирующим о начале сообщения. К этому биту примыкает участок, который служит, в первую очередь, для идентификации сообщения и на основании которого абоненты шинной системы решают, принимать или не принимать это сообщение. Этот участок сообщения называется полем арбитража и содержит идентификатор.
Далее следует поле управления (контрольное поле), которое содержит, в том числе, код длины данных. Код длины данных содержит информацию о размере поля данных сообщения. К полю управления примыкает поле данных, содержащее собственно данные, которыми между собой обмениваются абоненты шинной системы. Далее следует поле циклического избыточного кода (CRC) с содержащей 15 битов контрольной суммой и разделителем, а затем - два бита подтверждения (АСК), которые служат для того, чтобы сигнализировать отправителю об успешном приеме сообщения. Завершается сообщение последовательностью конца кадра (EOF - сокр. от "End of Frame").
При осуществлении способа передачи данных по протоколу CAN поле данных может содержать максимум 8 байт, т.е. 64 бит, информации. Код длины данных содержит согласно стандарту четыре бита, т.е. может принимать шестнадцать различных значений. Из этой области значений в современных шинных системах используется лишь восемь различных значений для различных размеров поля данных от 1 до 8 байт. Поле данных размером 0 байт в стандарте на протокол CAN не рекомендуется, а размеры поля данных свыше 8 байт не допускаются. Соотношение значений кода длины данных с размерами поля данных для обычных сообщений по стандарту на протокол CAN представлено в таблице на фиг. 2, в столбце "обычн. CAN".
На фиг. 1б в аналогичном фиг. 1а представлении показаны модифицированные сообщения, передаваемые в соответствии с изобретением и построенные, соответственно, на основе двух предусмотренных стандартом форматов. Они отличаются от показанных на фиг. 1а сообщений, соответствующих стандарту, тем, что в поле управления включено несколько дополнительных битов, которые обозначены как EDL, BRS, ESI и назначение которых поясняется ниже. Кроме того, соответствующие изобретению сообщения отличаются переменным размером поля данных и поля CRC. Поэтому такие сообщения называются удлиненными сообщениями CAN с гибкой скоростью передачи данных ("CAN FD Long").
При осуществлении способа передачи данных, модифицированного в соответствии с изобретением, поле данных может содержать уже более 8 байт, а именно, в рассматриваемом случае, до К байт. В отличие от стандарта CAN, другие значения, принимаемые кодом длины данных, используются для обозначения больших полей данных. Например, вышеупомянутые четыре бита кода длины данных могут использоваться для представления значений от нуля до 15 байт. Вместе с тем, можно использовать и другие соотношения, например, значение кода длины данных DLC=0b0000, которое в настоящее время в сообщениях CAN обычно не используется, можно использовать для еще одного возможного размера поля данных, например для размера 16 байт.
Эти две возможности представлены в приведенной на фиг. 2 таблице столбцами DLC 1 и DLC 2. Максимальный размер поля данных К имеет в этих случаях значение 15 и 16 байт, соответственно. Еще одна возможность заключается в том, чтобы для значений кода длины данных, превышающих 0b1000 и составляющих до 0b1111, соответствующие размеры поля данных увеличивались с большим приращением (инкрементом). Пример такого случая представлен в таблице столбцом DLC 3. Максимальный размер поля данных К достигает в этом варианте значения 64 байт. Разумеется, можно выбирать и другое приращение, составляющее, например, четыре байта.
Для обеспечения возможности определения предлагаемым в изобретении коммуникационным контроллером того, каким образом он должен интерпретировать содержимое кода длины данных, целесообразно, чтобы он самостоятельно узнавал, осуществляется ли связь в шинной системе по стандарту на протокол CAN или согласно предлагаемому в изобретении способу. Одна из возможностей для этого заключается в использовании бита, который находится внутри поля арбитража или поля управления и в соответствии со стандартом на протокол CAN всегда передается с фиксированным значением, для обозначения (маркировки) сообщения меткой, чтобы из этой первой метки коммуникационный контроллер мог вывести первое условие переключения (т.е. сделать вывод о наличии такого условия переключения), в зависимости от которого коммуникационный контроллер выбирает подлежащий применению способ передачи данных.
Обозначение сообщений при основной адресации: В обычных информационных сообщениях, или кадрах данных, соответствующих стандарту на протокол CAN и имеющих основной формат, второй бит поля управления всегда передается доминантным, как это показано на фиг. 1а в ее верхней части, и этот бит обозначен как r0. В примере соответствующего изобретению сообщения с основной адресацией (т.е. с полем арбитража, соответствующим основному формату протокола CAN), представленном на фиг. 1б в ее верхней части, этот второй бит поля управления используют в качестве метки, или маркера, передавая его рецессивным. Соответственно, рецессивное значение второго бита поля управления в подобном сообщении указывает на то, что далее сообщение передастся в формате, отличающемся от предусмотренного стандартом. Этот передаваемый рецессивным второй бит поля управления сообщения с основным форматом поля арбитража называется битом увеличенной длины данных (EDL - сокр. от "Extended Data Length"). Бит r0, который согласно стандарту на протокол CAN всегда передается доминантным, в соответствующих изобретению сообщениях замещается рецессивным битом EDL, или в соответствующих изобретению сообщениях он смещается на одно положение назад, занимая место между рецессивным битом EDL и битом переключения битовой скорости (BRS - сокр. от "Bit Rate Switch"), также являющимся рецессивным при переключении длительности бита. Кроме того, в поле управления можно вставлять и другие биты. Например, на фиг.16 показан бит, называемый индикатором состояния по отношению к ошибкам (ESI - сокр. от "Error State Indicator") и подробнее рассматриваемый ниже. В это место можно вставить также два или более бита, не оказывая влияния на осуществление предлагаемого в изобретении способа.
Таким образом, в целом битовая последовательность в поле управления сообщений в основном формате по стандарту на протокол CAN: {IDE, r0, DLC3, DLC2, DLC1, DLC0}, заменяется в соответствующих изобретению сообщениях следующей последовательностью: {IDE, EDL, N следующих битов, DLC3, DLC2, DLC1, DLC0}.
В представленном на фиг. 1б примере со вставленными битами r0, BRS, ESI число N равно трем. Вместе с тем, N может принимать и любые другие значения, большие нуля. Бит BRS может потребоваться - по рассматриваемым ниже причинам - вставлять в битовую последовательность после бита, всегда передаваемого доминантным, например в сочетании с битом r0 и непосредственно за ним.
Обозначение сообщений при расширенной адресации: В обычных информационных сообщениях (кадрах данных), соответствующих стандарту на протокол CAN и имеющих расширенный формат, первые два бита поля управления всегда передаются доминантными, как это показано на фиг. 1а в ее нижней части, и обозначены как r1 и r0. В примере соответствующего изобретению сообщения с расширенной адресацией (т.е. с полем арбитража, соответствующим расширенному формату протокола CAN), представленном на фиг. 1б в ее нижней части, первый бит r1 поля управления используют в качестве метки, или маркера, передавая его рецессивным. В данном случае рецессивное значение первого бита поля управления в подобном сообщении указывает на то, что далее сообщение передается в формате, отличающемся от предусмотренного стандартом. Этот передаваемый рецессивным бит поля управления и здесь называется битом увеличенной длины данных (EDL - сокр. от "Extended Data Length"). Он замещает зарезервированный доминантный бит r1, предусмотренный в обычных сообщениях, соответствующих стандарту на протокол CAN и имеющих расширенный формат. В качестве альтернативы этому решению доминантный бит r1 также может сохраниться и сместиться назад на одно положение, что соответствовало бы вставке бита EDL в качестве добавочного бита между битом удаленного запроса (RTR) и битом r1. Также возможна вставка бита EDL (рецессивный) в качестве добавочного бита между битом r1 (доминантный) и битом r0 (доминантный). И в этом случае затем в поле управления могут быть вставлены и другие биты. Например, на фиг. 1б опять же изображен бит ESI, который подробнее рассматривается ниже. В битовую последовательность также можно вставлять два или более бита, не оказывая влияния на осуществление предлагаемого в изобретении способа. Таким образом, в целом битовая последовательность в поле управления сообщений в расширенном формате по стандарту на протокол CAN: {r1, r0, DLC3, DLC2, DLC1, DLC0}, заменяется в соответствующих изобретению сообщениях следующей последовательностью: {EDL, N следующих битов, DLC3, DLC2, DLC1, DLC0} или следующей последовательностью: {r1, EDL, М следующих битов, DLC3, DLC2, DLC1, DLC0}.
Представленный на фиг. 1б пример относится к первому из двух вышеназванных вариантов при N=3, а именно, со вставкой битов r0, BRS, ESI. Вместе с тем, параметры N и М также могут принимать любые иные значения, большие нуля. В данном случае бит BRS также может потребоваться - по рассматриваемым ниже причинам - вставлять в битовую последовательность после бита, всегда передаваемого доминантным, например в сочетании с битом r0 и непосредственно за ним.
В качестве альтернативы, предлагаемый в изобретении способ может использоваться в подходящих коммуникационных контроллерах, которые даже не рассчитаны на осуществление связи в соответствии со стандартом на протокол CAN. В этом случае можно обходиться и без установления наличия или отсутствия вышеназванного первого условия переключения, например в зависимости от соответствующей метки, обозначающей сообщения. Напротив, коммуникационные контроллеры работают в этом случае исключительно согласно одному из описанных способов, и соответственно этому могут применяться только в шинных системах, в которых используются исключительно такие выполненные согласно изобретению коммуникационные контроллеры.
В случае увеличения поля данных сообщений, как это предусмотрено в изобретении, также может быть целесообразным адаптировать используемый метод контроля целостности данных с помощью циклического избыточного кода (CRC), чтобы достичь достаточной устойчивости к ошибкам. В частности, в этом отношении может быть выгодным использовать иной полином CRC, например полином более высокого порядка, и соответственно предусмотреть в модифицированных в соответствии с изобретением сообщениях поле CRC, отличающееся по размеру от предусмотренного стандартом. Это отражено на фиг. 1б, где показано, что в представленном примере поле CRC в соответствующих изобретению сообщениях имеет длину L бит, причем число L, в отличие от стандарта на протокол CAN, может быть неравным 15, в частности может быть больше 15.
Об использовании модифицированного метода вычисления контрольной суммы CRC абонентам шины можно сигнализировать посредством другой, т.е. дополнительной, метки, представляющей другое, т.е. дополнительное, условие переключения. В предпочтительном варианте осуществления изобретения эта другая метка может совпадать с первой меткой и/или первым условием переключения.
В соответствующих стандарту на протокол CAN контроллерах код CRC посылаемых сообщений CAN генерируется посредством сдвигового регистра с обратной связью, на вход которого поочередно подаются последовательно посылаемые биты сообщения. Ширина, или разрядность, сдвигового регистра соответствует порядку полинома CRC. Кодирование кодом CRC осуществляется путем логического объединения содержимого регистра с полиномом CRC во время операций сдвига. Соответственно, при приеме сообщений CAN последовательно принимаемые биты сообщения подаются в сдвиговый регистр CRC. Контроль с помощью кода CRC считается успешным, если в конце поля CRC все биты сдвигового регистра имеют значение "ноль". Как генерация кода CRC в случае передачи, так и контроль с помощью кода CRC в случае приема выполняются на аппаратном уровне, не требуя вмешательства в программные средства. Таким образом, модификация кодирования кодом CRC не затрагивает прикладного программного обеспечения.
Согласно установленному стандартом протоколу CAN дополняющие биты, находящиеся внутри сообщения CAN (см. стандарт ISO 11898-1, гл. 10.5), не включаются в вычисление или проверку контрольной суммы CRC (циклической контрольной суммы) или проверку целостности данных с ее помощью (см. стандарт ISO 11898-1, гл. 10.4.2.6:"… битовый поток с учетом битовой последовательности после дестаффинга, т.е. очистки битового потока от дополняющих битов…"). Следствием этого является то, что в редких случаях в сообщении невозможно обнаружить две битовых ошибки (также называемых ошибками бита), хотя вообще проверка с помощью кода CRC при расстоянии Хэмминга, равном шести, должна выявлять в сообщении до пяти случайно распределенных битовых ошибок. Это может иметь место, например, если из-за битовых ошибок в определенном месте сообщения дополняющий бит превращается в мнимый бит данных или в определенном месте сообщения бит данных превращается в мнимый дополняющий бит (см. Unruh, Mathony и Kaiser: "Error Detection Analysis of Automotive Communication Protocols" (Анализ коммуникационных протоколов, используемых в автомобилестроении, в отношении обнаружения ошибок), SAE International Congress, №900699, Детройт, США, 1990). Например две битовых ошибки, появившихся в переданном сообщении, заполненном дополняющими битами, вследствие какого-либо возмущения или помехи, например электромагнитных воздействий, могут таким образом размножиться с возникновением множества несоответствий между исходно посылавшимся потоком данных до его заполнения дополняющими битами и принятым потоком данных, очищенным от дополняющих битов. Такое множество несоответствий при определенных обстоятельствах уже может быть невозможно обнаружить путем контроля при помощи циклического избыточного кода.
При осуществлении модифицированного способа передачи данных, с одной стороны, кодирование CRC-кодом изменяется по сравнению с известным способом таким образом, что при вычислении содержимого поля CRC или при контроле при помощи циклического избыточного кода учитываются также дополняющие биты, вставленные в пределах сообщения до начала поля CRC. Это означает, что в этой форме осуществления изобретения дополняющие биты, относящиеся к полю арбитража, полю управления и полю данных, рассматриваются как часть данных, защищаемых посредством контроля при помощи циклического избыточного кода. Это устраняет риск размножения двух ошибок, появившихся в этих частях передаваемого битового потока в результате какого-либо возмущения или помехи, с возникновением множества ошибок, как это было описано выше.
Но все же остается некоторый - пусть и гораздо меньший - риск того, что внутри поля CRC при его передаче могут появиться, например, две битовые ошибки, которые при удалении дополняющих битов размножатся с возникновением соответствующего множества несоответствий.
Для этого случая надежность передачи данных можно еще более повысить, вставляя добавочные фиксированные дополняющие биты или последовательности фиксированных дополняющих битов в заданных положениях в поле CRC. (Ниже по тексту различие между фиксированными дополняющими битами и последовательностями фиксированных дополняющих битов больше не проводится, так как под последовательностями фиксированных дополняющих битов понимаются и одиночные