Способ и устройство для проверки правильности функционирования последовательной передачи данных
Иллюстрации
Показать всеИзобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных в сети. В способе доступ к шине для передачи любого сообщения предоставляют абоненту шины, который при этом становится передатчиком этого сообщения, по методу арбитража, соответствующему стандарту ISO 11898-1 на протокол CAN, сообщения имеют логическую структуру, соответствующую стандарту на протокол CAN, т.е. состоят из бита начала кадра, поля арбитража, поля управления, поля данных, поля циклического избыточного кода (CRC), поля подтверждения и поля конца кадра, правильность функционирования передачи данных проверяют во время передачи путем сравнения посланного в блок подключения к шине передаваемого сигнала с полученным блоком подключения к шине принимаемым сигналом (CAN_RX), способ отличается тем, что в передатчике обеспечивают передаваемый сигнал (CAN_TX_DEL), задержанный относительно передаваемого сигнала (CAN_TX) на время задержки (T_DELAY), причем в зависимости от переключения для проверки правильности функционирования передачи данных используют незадержанный передаваемый сигнал (CAN_TX) или задержанный передаваемый сигнал (CAN_TX_DEL). 5 н. и 28 з.п. ф-лы, 3 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для последовательной передачи данных между по меньшей мере двумя абонентами в шинной системе.
Уровень техники
Известен, например из семейства стандартов ISO 11898-1…-5, протокол сети контроллеров (CAN - сокр. от англ. "Controller Area Network"), а также расширение протокола CAN, называемое синхронизированным по времени, или синхро-временным, протоколом CAN (TTCAN, сокр. от англ. "Time-Triggered CAN"), ниже также называемые стандартом на протокол CAN. Используемый протоколом CAN метод управления доступом к среде передачи основан на побитовом арбитраже. По протоколу CAN побитовый арбитраж выполняется на основании идентификатора, проходящего в начале передаваемого по шине сообщения.
При побитовом арбитраже несколько абонентских станций могут одновременно передавать данные по шинной системе, не создавая помех для передачи данных. Абонентские станции при передаче бита по шине (передаваемый сигнал) параллельно могут определять логическое состояние (0 или 1) шины (принимаемый сигнал). Для этого посылаемый в канал передачи передаваемый сигнал постоянно сравнивается с принимаемым сигналом. Если в некоторый момент времени, соответствующий точке выборки значения бита, значения сравниваемых сигналов не совпадут, абонент шины прекращает работу на передачу, так как это означает, что другой абонент шины пытается передать сообщение с более высоким приоритетом и, соответственно, меньшим идентификатором. Принимаемый сигнал представляет собой наложение битов сообщений всех абонентов шины, которые во время арбитража пытаются получить доступ к шине. Из-за наличия определенных времен прохождения сигналов по линиям шины и присущих блокам подключения к шине (приемопередатчикам) собственных времен задержки сигналов результат наложения этих сигналов появляется в пределах битового интервала довольно поздно, вследствие чего точку выборки приходится сдвигать относительно далеко назад в пределах битового интервала. Этот факт, помимо прочего, ограничивает снизу допустимые длительности бита в шине CAN. Это делает невозможным сокращение длительности бита без дополнительных мероприятий.
После того как абонентская станция полностью отправила идентификатор, можно констатировать, что эта станция выиграла арбитраж, и поэтому у нее есть право монопольного (исключительного) доступа к шине. Согласно спецификации протокола CAN другие абонентские станции не могут отправлять данные по шине до тех пор, пока ведущая передачу абонентская станция не передаст поле контрольной суммы, или циклического избыточного кода (CRC), также называемое контрольной суммой CRC и входящее в структуру сообщения. Таким образом, момент окончания передачи поля CRC соответствует концу интервала, в котором передающая абонентская станция в качестве принимаемого сигнала видит лишь посылаемый ею самой передаваемый сигнал, который запаздывает по существу только из-за собственного времени задержки в блоке подключения к шине. В этом интервале описанное выше сравнение передаваемого и принимаемого сигналов выполняется дальше и используется для обнаружения ошибок при передаче данных или фиксации сообщений об ошибках, передаваемых другими абонентами шины.
Согласно протоколу CAN по шине передается то сообщение, отправитель (передатчик) которого выиграл процедуру арбитража, причем передача сообщений является надежной и не сопряжена с опасностью потери их целостности (неразрушающая передача). Протоколы CAN особенно хорошо подходят для передачи коротких сообщений в условиях реального времени, причем за счет присвоения сообщениям соответствующих идентификаторов можно гарантировать то, что для особо важных сообщений арбитраж будет выигрываться почти всегда, и соответствующее сообщение будет успешно передано.
Например, благодаря передаче поля CRC с контрольной суммой, предварительно вычисляемой посредством порождающего полинома на основе передаваемых в сообщениях данных, и выполнению на приемной стороне CRC-контроля, т.е. проверки контрольной суммы CRC, а также благодаря непрерывной проверке совпадения передаваемого и принимаемого сигналов обеспечивается высокая надежность передачи данных и вероятность обнаружения в них ошибок.
С неуклонно возрастающей степенью объединения оборудования современных транспортных средств сетями передачи данных и с внедрением дополнительных систем, улучшающих эксплуатационные качества транспортных средств, например в плане обеспечения безопасности движения или комфорта водителя и пассажиров, растут требования к передаваемым объемам данных, скорости и надежности передачи данных и к допустимым временам задержки при передаче данных. Примерами таких систем являются системы управления динамикой движения, например электронная система поддержания курсовой устойчивости (ESP), системы помощи водителю, например система автоматического регулирования дистанции (САРД), или системы информирования водителя, например система распознавания дорожных знаков (см., например, описания соответствующих систем в Автотехническом справочнике фирмы "Бош" (Bosch Kraftfahrtechnisches Handbuch), 27-oe издание, 2011, изд-во Vieweg + Teubner).
В опубликованном 02.05.2011 на Интернет-странице http://www.semiconductors.bosch.de/ документе "CAN with Flexible Data-Rate
Протокол CAN с гибкой скоростью передачи данных, технический документ, версия 1.0", представлен модифицированный протокол передачи данных, который обеспечивает, в том числе, увеличение поля данных, а также - для части сообщения CAN - выполняемое после завершившегося арбитража сокращение длительности бита. Сокращение длительности бита в этой области сообщения ограничено, помимо прочих факторов, собственным временем задержки блоков подключения к шине, поскольку перед передачей бита необходимо проверить совпадение передаваемого и принимаемого сигналов для предыдущего бита. Из цитируемых выше источников видно, что уровень техники в том, что касается скорости и/или надежности передачи данных, не дает удовлетворительных во всех отношениях результатов.
Раскрытие изобретения
Ниже рассматриваются сущность изобретения и его преимущества, а возможности осуществления изобретения представлены ниже в описании, поясняемом чертежами. Предмет изобретения не ограничивается представленными и рассматриваемыми вариантами его осуществления.
Преимущества изобретения
Объектом настоящего изобретения является способ последовательной передачи данных в шинной системе, включающей в себя по меньшей мере два абонента шины, обменивающихся по шине сообщениями, причем доступ к шине для передачи любого сообщения предоставляют абоненту шины, который при этом становится передатчиком этого сообщения, по методу арбитража, соответствующему стандарту ISO 11898-1 на протокол CAN, сообщения имеют логическую структуру, соответствующую стандарту на протокол CAN, т.е. состоят из бита начала кадра, поля арбитража, поля управления, поля данных, поля циклического избыточного кода (CRC), поля подтверждения и поля конца кадра, а правильность функционирования передачи данных непрерывно проверяют путем сравнения посланного в блок подключения к шине передаваемого сигнала (CAN_TX) с полученным блоком подключения к шине принимаемым сигналом (CAN_RX).
Предлагаемый в изобретении способ отличается тем, что в передатчике обеспечивают передаваемый сигнал, задержанный относительно передаваемого сигнала на время задержки, причем в зависимости от переключения для проверки правильности функционирования передачи данных используют незадержанный передаваемый сигнал или задержанный передаваемый сигнал. Достигаемое при этом преимущество заключается в том, что в случаях, когда между передаваемым и принимаемым сигналами имеется по существу постоянная временная задержка, изобретение позволяет компенсировать эту временную задержку до проверки правильности функционирования передачи данных.
Возможность выполняемого в процессе передачи одного сообщения переключения между использованием незадержанного передаваемого сигнала и использованием задержанного передаваемого сигнала имеет то преимущество, что предлагаемый в изобретении способ может целенаправленно применяться только в областях сообщения, в которых между передаваемым и принимаемым сигналами имеется по существу постоянная временная задержка. В частности, изобретение позволяет обеспечить выполнение переключения не ранее чем после предоставления абоненту шины доступа для передачи.
В случае, если возникающие временные задержки по существу не зависят от внешних параметров, например температуры и т.д., целесообразно, чтобы время задержки было жестко задано или задавалось, например, в рамках первоначальной настройки (конфигурирования). В особенно целесообразном варианте осуществления изобретения время задержки является динамически задаваемым и зависящим от результата определения временной задержки. Это позволяет учитывать в процессе работы текущие изменения временной задержки, что, помимо прочего, повышает робастность способа.
Целесообразно, чтобы вышеупомянутое определение временной задержки включало в себя определение по меньшей мере одной смены уровня или фронта в незадержанном передаваемом сигнале и в принимаемом сигнале, поскольку подобные смены уровня сигнала особенно хорошо подходят для запуска и завершения измерения времени. Помимо времени задержки, по результату измерения времени также целесообразно определять момент (Т_СМР) сравнения значений сигналов для проверки правильности функционирования передачи данных, поскольку затем этот момент времени можно оптимально адаптировать к имеющейся временной задержке между передаваемым и принимаемым сигналами, и опять же повышается робастность проверки. Если в данном случае использовать сумму полученной временной задержки и половины длительности бита (битового времени), то выборка значения всегда будет выполняться в середине принятого сигнала. Это особенно полезно для надежного считывания и проверки значения принимаемого сигнала.
Если переключение происходит за счет достижения или оценки заданного или задаваемого бита внутри только что посланного сообщения, то предлагаемый в изобретении способ является особенно понятным и простым в реализации. Преимущество переключения за счет поступления предусмотренного для этого сигнала в узел переключения заключается в том, что переключение может выполняться, например, коммуникационным контроллером или микропроцессором, особенно гибким образом.
Сообщения, которые должны проверяться предлагаемым в изобретении способом, целесообразно обозначать соответствующей меткой, поскольку так предлагаемые в изобретении устройства, обменивающиеся сообщениями, могут узнавать, осуществляется ли связь в соответствии со стандартом или же в соответствии с предлагаемым в изобретении способом. При наличии этой метки поле управления в сообщениях имеет - в целесообразном варианте осуществления изобретения - более шести битов. Таким образом, метка может быть реализована рецессивным битом, за которым во всех информационных сообщениях, или кадрах данных, следует по меньшей мере один доминантный бит. В этом случае этот фронт между рецессивным битом первой метки и по меньшей мере одним следующим доминантным битом может использоваться для определения временного сдвига между незадержанным передаваемым сигналом и принимаемым сигналом, с тем преимуществом, что за счет этого повышается точность определения временной задержки, в частности, если фронты, обусловленные переходом с рецессивного уровня на доминантный, являются особенно крутыми.
Одновременное увеличение поля данных в соответствующих изобретению сообщениях до размеров свыше восьми байт обеспечивает то дополнительное преимущество, что внутри сообщения могут передаваться большие объемы данных с выгодным изменением отношения полезных данных к служебным данным протокола. Тогда для установления размера поля данных значения четырех битов кода длины данных должны интерпретироваться, по меньшей мере частично, иначе по сравнению со стандартом на протокол CAN.
Еще одно преимущество предлагаемого в изобретении способа достигается в случае, если по меньшей мере для одной заданной или задаваемой области в пределах сообщения длительность бита дополнительно принимает значение, уменьшенное по сравнению с использовавшейся до этого длительностью бита. В данном случае особым преимуществом предлагаемого в изобретении способа является возможность использования значений длительности бита, находящихся ниже, т.е. меньших, собственных временных задержек блока подключения к шине. Без предлагаемой в изобретении компенсации сравнение незадержанного передаваемого сигнала и принимаемого сигнала в этом случае привело бы к ложному обнаружению ошибки передачи. Модифицированные подобным образом сообщения можно сделать узнаваемыми посредством второй метки. Эта модификация также позволяет еще более повысить объем данных, передаваемый в единицу времени. Целесообразно, чтобы вышеупомянутая область начиналась не ранее чем со второй меткой и заканчивалась не позднее чем с разделителем CRC. Различные значения длительности бита целесообразно реализовать применением различных коэффициентов масштабирования (предделителей, или коэффициентов предварительного деления) для установки шинной единицы времени по отношению к наименьшей единице времени или к такту опорного генератора. Робастность предлагаемого в изобретении способа еще более повышается, если в областях большей и меньшей длительности бита использовать различные значения параметров синхронизации битового хронирования, или интервала битового времени.
Вторая метка имеет то преимущество, что преимущества двух мероприятий также можно использовать в отдельности. Например, даже в случае, если по причинам, связанным с топологией шины, переключение на меньшую длительность бита невозможно, изобретение позволяет и далее проверять сообщения предлагаемым способом и пересылать их с более высоким объемом данных. Кроме того, при появлении ошибок в сообщениях с сокращенной длительностью бита сначала можно переключиться на нормальную длительность бита, не жертвуя другими преимуществами.
Достоинством предлагаемого в изобретении способа является возможность его применения при нормальной эксплуатации транспортного средства для передачи данных между по меньшей мере двумя блоками управления транспортного средства, соединенными подходящей шиной данных. Вместе с тем, предлагаемый в изобретении способ может в равной мере эффективно применяться в процессе производства или технического обслуживания транспортного средства для передачи данных между программатором, соединенным с подходящей шиной данных с целью программирования, и по меньшей мере одним соединенным с этой шиной данных блоком управления транспортного средства. Осуществление изобретения также выгодно при эксплуатации промышленных систем управления, в частности в случае протяженных линий соединения. Во всех случаях выгодной отличительной особенностью изобретения является гибкость выбора скорости передачи данных при одновременно очень высокой надежности передачи, что позволяет адаптировать способ передачи данных к имеющимся условиям, например, к временам прохождения сигналов.
Еще одно преимущество предлагаемого способа заключается в том, что контроллер, поддерживающий обычный режим CAN, требует внесения лишь минимальных изменений для того, чтобы он мог работать в соответствии с изобретением. Предлагаемый в изобретении коммуникационный контроллер, способный работать также в обычном режиме CAN, лишь незначительно больше обычного контроллера, поддерживающего обычный режим CAN. Соответствующую прикладную программу изменять не требуется, и даже тогда достигаются преимущества в скорости передачи данных.
Преимуществом является также возможность использования значительных частей теста соответствия CAN (стандарт ISO 16845). В предпочтительном варианте своего осуществления предлагаемый в изобретении способ передачи данных может комбинироваться с дополнениями, предусмотренными протоколом TTCAN (стандарт ISO 11898-4).
Краткое описание чертежей
Ниже подробнее рассматривается осуществление изобретения, поясняемое следующими чертежами.
Краткое описание чертежей
Ниже подробнее рассматривается осуществление изобретения, поясняемое следующими чертежами.
На фиг. 1а показаны две альтернативы структуры информационных сообщений, соответствующей стандарту ISO 11898-1 на протокол CAN, а именно сообщений в основном и расширенном форматах CAN.
На фиг. 1б показано два примера формата сообщений, модифицированных по сравнению с уровнем техники и используемых в режиме удлиненных сообщений CAN с измененным полем управления и гибким размером поля данных и поля CRC. Представлены как модификация сообщения CAN в основном формате, так и модификация сообщения CAN в расширенном формате.
На фиг. 1в показано два других примера сообщений, которые при осуществлении предлагаемого в изобретении способа передачи данных модифицированы для применения в быстром режиме CAN с гибкой скоростью передачи данных ("CAN FD Fast") и в которых, по сравнению с фиг. 16, в пределах сообщения дополнительно заданы области, в которых используется иная длительность бита.
На фиг. 2а в качестве примера показана предусмотренная изобретением задержка передаваемого сигнала на промежуток времени T_DELAY, в основном компенсирующая временную задержку принимаемого сигнала, обусловленную блоком подключения к шине.
На фиг. 2б показана схема измерения временной задержки DELTA_T между передаваемым сигналом CAN_TX и принимаемым сигналом CAN_RX по заданному фронту сигнала, обусловленному переходом от рецессивного к доминантному биту.
На фиг. 2в схематически представлено влияние предусмотренной изобретением компенсации временной задержки передаваемого сигнала на предлагаемый способ проверки правильности передачи данных.
На фиг. 3 показаны составные части предлагаемой в изобретении схемы в одном примере осуществления изобретения.
Осуществление изобретения
На фиг. 1а представлена структура сообщений в том виде, как она используется для передачи данных по шине CAN. Показаны оба различающихся формата сообщений, а именно основной (стандартный) и расширенный форматы. Предлагаемый в изобретении способ применим, в соответствующих вариантах его осуществления, к обоим форматам.
Сообщение начинается битом начала кадра (SOF - сокр. от "Start of Frame"), также называемым стартовым битом и сигнализирующим о начале сообщения. К этому биту примыкает участок, который служит, в первую очередь, для идентификации сообщения и на основании которого абоненты шинной системы решают, принимать или не принимать это сообщение. Этот участок сообщения называется полем арбитража и содержит идентификатор.
Далее следует поле управления (контрольное поле), которое содержит, в том числе, код длины данных. Код длины данных содержит информацию о размере поля данных сообщения. К полю управления примыкает поле данных, содержащее собственно данные, которыми между собой обмениваются абоненты шинной системы. Далее следует поле циклического избыточного кода (CRC) с содержащей 15 битов контрольной суммой и разделителем, а затем - два бита подтверждения (АСК), которые служат для того, чтобы сигнализировать отправителю об успешном приеме сообщения. Завершается сообщение последовательностью конца кадра (EOF - сокр. от "End of Frame").
При необходимости передачи по шине сообщения во время арбитража выполняется обычный способ проверки, предусматривающий сравнение незадержанного передаваемого сигнала с принимаемым сигналом, поскольку в этой фазе на шине могут работать или к шине могут обращаться еще несколько передатчиков, и поэтому в общем случае между передаваемым и принимаемым сигналами отсутствует жесткое временное соотношение. После завершившегося арбитража, когда абонент шины получил роль передатчика сообщения, робастность и точность сравнения передаваемого сигнала и принимаемого сигнала, можно повысить, компенсируя теперь уже по существу известную временную задержку между передаваемым сигналом и принимаемым сигналом.
Принцип действия, лежащий в основе предлагаемого в изобретении способа, отражен на фиг. 2а. Кривыми CAN_TX и CAN_RX обозначено изменение во времени передаваемого и принимаемого сигналов, проходящих через соответствующие выводы предлагаемого в изобретении устройства, например коммуникационного контроллера. Сигналы принимают чередующиеся значения напряжения, соответствующие логической единице ("1") и логическому нулю ("0"). Для наглядности на фиг. 2а представлена только битовая последовательность 1-0-1-0, на примере которой иллюстрируется осуществление изобретения. Конкретные характеристики формы сигналов, например крутизна фронтов и т.д., зависят от подробностей исполнения соответствующей схемы, которые для схематического представления принципа действия, положенного в основу предлагаемого способа, значения не имеют.
Сравнение, или проверка, двух логических сигналов CAN_TX и CAN RX выполняется при осуществлении обычного способа соответствующей схемой, например логической схемой (вентилем) "исключающее ИЛИ", предусмотренной с этой целью в соответствующем устройстве. Это устройство выдает на выходе, например, логический "0" при совпадении входных сигналов и логическую "1" при несовпадении входных сигналов. Получаемая в результате форма сигнала в качественном представлении показана на фиг. 2а в виде сигнала D1. Для проверки правильности передачи данных полученный в результате логической операции сигнал D1 считывается в определенный момент времени, а именно в точке выборки. Как видно на чертеже, точка выборки должна быть задана из условия ее попадания в ту область каждого бита, в которой сигнал D1 имеет значение "0". С увеличением задержки между передаваемым и принимаемым сигналами эта область становится все меньше, а надлежащий выбор точки выборки из условия, чтобы при правильной передаче в сигнале D1 считывался "0", становится все труднее.
Для исправления этой ситуации и повышения робастности предлагаемый в изобретении способ предусматривает задерживание передаваемого сигнала на заданное или задаваемое время задержки T_DELAY. Для этого предлагаемое в изобретении устройство предпочтительно дополнительно снабжено соответствущим узлом задержки. Результат этого мероприятия также представлен на фиг. 2а в виде полученного задержанного во времени передаваемого сигнала CAN_TX_DEL. Если такой задержанный сигнал подать в предусмотренную изобретением схему, например логическую схему "исключающее ИЛИ" и там скомбинировать, или сравнить, его с принимаемым сигналом, то в результате соответствующей логической операции будет получен сигнал D2, также схематически представленный на фиг. 2а. Благодаря такой компенсации собственной временной задержки блока подключения к шине сигнал D2 соответствует логическому "0" в своих обширных областях. В зоне изменений уровня сигнала вследствие неточностей в уровнях сигнала или компенсированного времени задержки в сигнале D2 имеются также логические значения "1". Теперь осуществление надлежащего выбора точки выборки из условия, чтобы при правильно прошедшей передаче данных результат сравнения надежно выдавал "0", упростилось.
Ввиду различия условий во время арбитража (по существу постоянная временная задержка отсутствует) и после него (по существу постоянная временная задержка присутствует) описанный выше способ должен предусматривать возможность переключения, чтобы в фазе арбитража применялся обычный способ проверки правильности передачи, а в более поздней фазе передачи данных выполнялся предлагаемый в изобретении способ проверки правильности передачи. В этой более поздней фазе передачи данных или на ее отдельных участках также может осуществляться переключение на меньшие значения длительности бита, которое подробнее рассматривается ниже. В этом случае предлагаемый в изобретении способ имеет особое преимущество, заключающееся в возможности использования значений длительности бита, примерно соответствующих по величине собственной временной задержке блока подключения к шине или даже находящихся ниже ее. Без предлагаемой в изобретении компенсации это было бы невозможным, так как сравнение незадержанного передаваемого сигнала и принимаемого сигнала в этом случае привело бы к ложному обнаружению ошибки передачи.
Значение времени задержки T_DELAY может быть либо жестко заданным (постоянным), либо задаваемым. Жестко заданное время задержки имеет смысл, прежде всего, если собственная временная задержка применяемого блока подключения к шине не изменяется в очень широких пределах. Задаваемое время задержки целесообразно в случае, если собственная временная задержка зависит от определенных величин, характеризующих состояние абонента шины. Например, если в абоненте шины имеется информация о температуре и соответственно этому различные значения времени задержки могут задаваться в зависимости от температуры, таким образом можно компенсировать зависимость от температуры.
В предпочтительном варианте осуществления изобретения используемое время задержки T_DELAY основывается на результате ранее выполненного измерения временного сдвига между передаваемым сигналом и принимаемым сигналом. Для этого, например, можно оценивать фронт, обусловленный переходом с рецессивного уровня на доминантный и имеющийся внутри сообщений после завершения арбитража.
Целесообразно, чтобы предлагаемый в изобретении коммуникационный контроллер самостоятельно узнавал, осуществляется ли связь в шинной системе по стандарту на протокол CAN или согласно предлагаемому в изобретении способу. Одна из возможностей для этого заключается в использовании бита, который находится внутри поля арбитража или поля управления и в соответствии со стандартом на протокол CAN всегда передается с фиксированным значением, для обозначения (маркировки) сообщения меткой, чтобы из этой первой метки коммуникационный контроллер мог вывести первое условие переключения (т.е. сделать вывод о наличии такого условия переключения), в зависимости от которого коммуникационный контроллер выбирает подлежащий применению способ проверки правильности передачи.
На фиг. 1б показаны модифицированные форматы сообщений, построенные, соответственно, на основе двух предусмотренных стандартом форматов. Они отличаются от показанных на фиг. 1а сообщений, соответствующих стандарту, тем, что в поле управления включены дополнительные биты, в данном примере - биты EDL, BRS, ESI, подробнее описываемые ниже. Кроме того, соответствующие изобретению сообщения в представленном примере отличаются от соответствующих стандарту сообщений переменным размером поля данных и поля CRC, причем поле данных может содержать уже более 8 байт, а именно, в рассматриваемом случае, до К байт. Вместе с тем, для реализации предлагаемого в изобретении способа поле данных и поле CRC также могут иметь размер, предусмотренный стандартом.
Обозначение сообщений при основной адресации:
В обычных информационных сообщениях, или кадрах данных, соответствующих стандарту на протокол CAN и имеющих основной формат, второй бит поля управления всегда передается доминантным, как это показано на фиг. 1а в ее верхней части, и этот бит обозначен как r0. В примере соответствующего изобретению сообщения с основной адресацией (т.е. с полем арбитража, соответствующим основному формату протокола CAN), представленном на фиг. 1б в ее верхней части, этот второй бит поля управления используют в качестве метки, или маркера, передавая его рецессивным. Соответственно, рецессивное значение второго бита поля управления в подобном сообщении указывает на то, что далее используется способ проверки правильности передачи и формат сообщений, отличающиеся от предусмотренных стандартом. Этот передаваемый рецессивным второй бит поля управления сообщения с основным форматом поля арбитража называется битом увеличенной длины данных (EDL - сокр. от "Extended Data Length"). Бит r0, который согласно стандарту на протокол CAN всегда передается доминантным, в соответствующих изобретению сообщениях замещается рецессивным битом EDL, или в соответствующих изобретению сообщениях он смещается на одно положение назад, занимая место между рецессивным битом EDL и битом переключения битовой скорости (BRS - сокр. от "Bit Rate Switch"), также являющимся рецессивным при переключении длительности бита. Кроме того, в поле управления можно вставлять и другие биты. Например, на фиг. 1б показан бит, называемый индикатором состояния по отношению к ошибкам (ESI - сокр. от "Error State Indicator"). В это место можно вставить также два или более бита, не оказывая влияния на осуществление предлагаемого в изобретении способа.
Таким образом, в целом битовая последовательность в поле управления сообщений в основном формате по стандарту на протокол CAN: {IDE, r0, DLC3, DLC2, DLC1, DLC0}, заменяется в соответствующих изобретению сообщениях следующей последовательностью: {IDE, EDL, N следующих битов, DLC3, DLC2, DLC1, DLC0}.
В представленном на фиг.1б примере со вставленными битами r0, BRS, ESI число N равно трем. Вместе с тем, N может принимать и любые другие значения, большие нуля.
Обозначение сообщений при расширенной адресации:
В обычных информационных сообщениях (кадрах данных), соответствующих стандарту на протокол 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 и М также могут принимать любые иные значения, большие нуля.
Для сообщений, имеющих метку или формат, подобные описанным выше, измерение фактического временного сдвига между передаваемым сигналом и принимаемым сигналом может быть реализовано представленным на фиг. 2б образом: при соответствующем выборе битов, вставляемых в сообщение, между битами, например между рецессивным битом метки EDL и следующим за ним битом r0, всегда имеется фронт, обусловленный переходом с рецессивного уровня на доминантный. Кроме того, постоянное появление фронта, обусловленного переходом с рецессивного уровня на доминантный, в сообщениях, обозначаемых метками в соответствии с изобретением, может быть обеспечено и иным образом, например путем вставки соответствующих зарезервированных битов. Такой фронт хорошо подходит для измерения времени. Например, если такой фронт в передаваемом сигнале вызывает запуск счетчика, а соответствующий фронт в принимаемом сигнале вызывает остановку счетчика, это позволяет измерять фактическую временную задержку DELTA_T, как показано на фиг. 2б, для каждого отдельного сообщения.
В качестве альтернативы фронту, обусловленному переходом с рецессивного уровня на доминантный, также можно использоваться постоянно появляющийся фронт, обусловленный переходом с доминантного уровня на рецессивный. Соответствующее измерение может проводиться с регулярным интервалом или только один раз. Регулярное измерение временной задержки, в частности выполняемое для каждого сообщения, имеет то преимущество, что оно позволяет надежно компенсировать изменения фактической временной задержки, которые могут возникать, например, под влиянием изменений температуры.
Как было указано выше, для определения задержки DELTA_T целесообразно оценивать фронт, обусловленный переходом с рецессивного уровня на доминантный и проходящий внутри сообщений после завершения арбитража. Поскольку в данном случае на шине уже достоверно нет конкурирующих передатчиков, у остающегося в роли передатчика абонента шины имеется по существу постоянное временное отношение между передаваемым и принимаемым сигналами. Если биты, вставляемые в поле управления, выбраны, например, так, как это показано на фиг. 1 в, то обусловленный переходом с рецессивного уровня на доминантный фронт между битом EDL и битом r0 будет единственным всегда спадающим фронтом в сообщении формата CAN FD (CAN с гибкой скоростью передачи данных) до начала передачи поля данных, при которой уже достоверно нет конкурирующего передатчика. Таким образом, определение задержки DELTA_T по этому фронту дает хороший результат, если только на шине не будет иных помех.
Такие иные помехи, способные негативно сказаться на качестве измерения внутренней задержки DELTA_T блока подключения к шине, могут вызываться, например, любого рода повреждениями линий передачи, воздействием электромагнитных излучений, индуктивными или емкостными наводками и иными факторами. Появление помехи во время измерения, с одной стороны, может привести к тому, что передатчик обнаружит ложную ошибку бита и прервет передачу сообщения. С другой стороны, может быть получено ошибочно измеренное значение задержки DELTA_T, которое не будет распознано как ошибочное. В любом случае последующая компенсация временной задержки в результате действия помехи ухудшится. Поэтому для уменьшения влияния одиночной ошибки при определении задержки DELTA_Т на осуществление предлагаемого в изобретении способа предлагается формировать на основании результатов нескольких измерений задержки DELTA_T среднее значение задержки DELTA_T_MEAN, что обеспечивает достижение более надежного результата.
Среднее значение DELTA_T_MEAN формируется па основании нескольких определяемых друг за другом значений, например значений задержки DELTA_T, измеряемых в нескольких посылаемых друг за другом сообщениях по прохождению фронта бита EDL. При этом для формирования среднего значения могут использоваться любые возможные для решения подобных задач известные специалисту методы усреднения и фильтрации, например определение взвешенного или невзвешенного скользящего среднего.
В особенно целесообразном варианте осуществления изобретения при формировании среднего значения из расчета исключаются (отсортировываются) те измеренные значения, которые сильно отличаются от последнего определенного среднего значения. Таким значениям соответствует, например, более высокая вероятность того, что результат измерения искажен помехой, и потому эти значения можно отбрасывать. Целесообразно устанавливать пороговое значение разност