СПОСОБ И УСТРОЙСТВО ДЛЯ ПРОВЕРКИ ПРАВИЛЬНОСТИ ФУНКЦИОНИРОВАНИЯ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ
METHOD AND DEVICE FOR TESTING CORRECT FUNCTION OF SERIAL DATA TRANSMISSION

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для последовательной передачи данных между по меньшей мере двумя абонентами в шинной системе.
Уровень техники
Известен, например из семейства стандартов 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. При этом для формирования среднего значения могут использоваться любые возможные для решения подобных задач известные специалисту методы усреднения и фильтрации, например определение взвешенного или невзвешенного скользящего среднего.
В особенно целесообразном варианте осуществления изобретения при формировании среднего значения из расчета исключаются (отсортировываются) те измеренные значения, которые сильно отличаются от последнего определенного среднего значения. Таким значениям соответствует, например, более высокая вероятность того, что результат измерения искажен помехой, и потому эти значения можно отбрасывать. Целесообразно устанавливать пороговое значение разности или предельное значение отношения текущего измеренного значения и последнего определенного среднего значения DELTA_T_MEAN, и, начиная с этого порогового или предельного значения, отличие от среднего значения или отношение к среднему значению можно классифицировать как слишком большое по величине.
Для формирования среднего значения, например скользящего среднего, в соответствующих коммуникационных контроллерах выделяется подходящая область памяти для организации списка из N записей DELTA_T_1, …, DELTA_T_N. Этот список учитываемых измеренных значений работает, например, по принципу памяти обратного магазинного типа (FIFO), т.е. каждое новейшее измеренное значение заменяет собой соответственно старейшее измеренное значение. На основании значений из списка соответствующим узлом управления (контроллером) формируется требуемое среднее значение DELTA_T_MEAN, которое, как указано выше, может вычисляться, например, как арифметическое среднее значение, взвешенное среднее значение, квадратичное среднее или любым иным методом, реализуемым аппаратными средствами. Затем это среднее значение сохраняется в запоминающем устройстве для использования при осуществлении предлагаемого в изобретении способа.
После включения запоминающего устройства вышеупомянутый список из N измеренных значений, по которым должно формироваться среднее значение, сначала пуст или содержит случайные записи. Поскольку среднее значение DELTA_T_MEAN должно формироваться методом, реализованным аппаратными средствами, или узлом управления, на основании внесенных в список записей DELTA_T_1, …, DELTA_T_N, необходимо задать процедуру формирования требуемого среднего значения на случай, если некоторые из записей списка недействительны. Например, можно использовать три следующие стратегии:
Стратегия 1: Аппаратные средства расширяются таким образом, чтобы записи списка необходимо было активировать, или разблокировать, путем соответствующих измерений, прежде чем эти записи смогут участвовать в формировании среднего значения. Таким образом, на первом шаге формирование среднего значения выполняется с использованием только одного измеренного значения (например, значения DELTA_T_1, если соответствующая запись заполнена результатом измерения первой), затем на втором шаге - с использованием двух измеренных значений, и так далее до тех пор, пока на результатах измерений не будут основываться все записи списка, которые таким образом будут активированы. Логика, необходимая для осуществления этой процедуры, приводит к увеличению схемы.
Стратегия 2: При пуске системы в начале сообщения замеряются все обусловленные переходом с рецессивного уровня на доминантный фронты вплоть до фронта между битами EDL и r0, с тем чтобы - при условии, что длина списка N меньше числа появляющихся в сообщениях до этого места фронтов, обусловленных переходом с рецессивного уровня на доминантный - уже при первом формировании среднего значения использовались все записи списка, относящиеся к более или менее точным отдельным измерениям временной задержки DELTA_T. В этом случае схема увеличивается лишь незначительно.
Стратегия 3: Для первичного заполнения списка первое значение DELTA_T_1, полученное при прохождении требуемого фронта, например фронта, обусловленного переходом с рецессивного уровня на доминантный между битами EDL и r0, записывают во все позиции списка. Затем другие измеряемые значения последовательно записывают в позиции списка со второго по N-й. В данном случае схема также увеличивается лишь незначительно.
Во всех трех случаях метод, согласно которому измеренные значения, сильно отличающиеся от последнего полученного среднего значения DELTA_T_MEAN, исключаются из расчета, - если такое исключение вообще предусмотрено, - может приостанавливать вычисление среднего по меньшей мере до тех пор, пока все записи списка не будут основаны только на измерениях, выполненных при прохождении требуемого фронта (например фронта EDL-r0) в различных сообщениях.
Ниже по тексту под значением DELTA_T всегда понимается также среднее значение DELTA_T_MEAN, полученное на основании нескольких измеренных значений любым из рассмотренных выше методов формирования среднего значения.
Затем на основании определенной временной задержки DELTA_T, или ее среднего значения DELTA_T_MEAN, получают время задержки T_DELAY, которое, например, пропускают через фильтр или корректируют либо подгоняют к целому кратному определенного базового временного отрезка, например к длительности бита, или округляют до такого временного отрезка. В особенно простом варианте осуществления изобретения время задержки T_DELAY определяется частным (DELTA_T / длительность бита), округленным до ближайшего целого числа и умноженным на длительность бита. Тогда если измеренная временная задержка DELTA_T составила 150 наносекунд, а длительность бита равна, например, 250 наносекундам (соответственно скорости передачи данных 4 Мбит/с), то время задержки T_DELAY составит 250 наносекунд. Если измеренная временная задержка DELTA_T составила 100 наносекунд, то значение T_DELAY будет равно нулю.
Сгенерированное таким образом время задержки T_DELAY служит входной величиной для узла задержки, выполненного с возможностью выдачи передаваемого сигнала CAN_TX_DEL, задержанного на это время T_DELAY относительно первоначального передаваемого сигнала CAN_TX, как это показано на фиг. 2а. Если теперь указанный задержанный передаваемый сигнал CAN_TX_DEL использовать для сравнения с принимаемым сигналом CAN_RX, или выполнения вместе с ним логической операции "исключающее ИЛИ", влияние собственной временной задержки блока подключения к шине на результат значительно уменьшается, как это видно на фиг. 2а по схематически представленному результирующему сигналу D2.
Переключение на предлагаемый в изобретении способ проверки правильности передачи, предусматривающий использование задержанного передаваемого сигнала, происходит в целесообразном варианте осуществления изобретения сразу после выполненного измерения временной задержки, например в точке выборки бита r0 или в точке выборки следующего за ним бита BRS. Вместе с тем, переключение может выполняться и в более поздний момент времени, например на одном из других битов, вставляемых в поле управления. Если в более поздний момент времени в сообщениях осуществляется переключение на меньшие значения длительности бита, целесообразно, чтобы переключение на предлагаемый в изобретении способ проверки правильности передачи выполнялось не позднее чем с переключением на меньшие значения длительности бита. Обратное переключение в этом случае происходит не ранее чем после переключения на большие значения длительности бита, но также может происходить только после завершения передачи сообщения.
Фронт сигнала, обусловленный переходом с рецессивного уровня на доминантный, также может использоваться для улучшения синхронизации между абонентами шины, что является преимуществом, в частности, при переключении на меньшие значения длительности бита.
При осуществлении способа передачи данных по протоколу CAN поле данных может содержать максимум 8 байт, т.е. 64 бит, информации. Код длины данных содержит согласно стандарту четыре бита, т.е. может принимать шестнадцать различных значений. Из этой области значений используется лишь восемь различных значений для различных размеров поля данных от 1 до 8 байт. Поле данных размером 0 байт в стандарте на протокол CAN не рекомендуется, а размеры поля данных свыше 8 байт не допускаются.
В отличие от стандарта на протокол CAN, в представленных на фиг. 1б сообщениях другие значения, принимаемые кодом длины данных, используются для обозначения больших полей данных. Например, для значений кода длины данных, превышающих 0b1000 и составляющих до 0b1111, соответствующие размеры поля данных могут увеличиваться с большим приращением, чем один байт, например на два, три или четыре байта, или могут увеличиваться нерегулярно. Соотношение этих значений кода длины данных с размерами поля данных может устанавливаться по существу свободно. Такие сообщения называются удлиненными сообщениями CAN с гибкой скоростью передачи данных ("CAN FD Long").
В случае описанного выше увеличения поля данных сообщений также может быть целесообразным адаптировать используемый метод контроля целостности данных с помощью циклического избыточного кода (CRC), чтобы достичь достаточной устойчивости к ошибкам. В частности, в этом отношении может быть выгодным использовать иной полином CRC, например полином более высокого порядка, и соответственно предусмотреть в модифицированных в соответствии с изобретением сообщениях поле CRC, отличающееся по размеру от предусмотренного стандартом. Это отражено на фиг. 1б, где показано, что в представленном примере поле CRC в соответствующих изобретению сообщениях имеет длину L бит, причем число L, в отличие от стандарта на протокол CAN, может быть неравным 15, в частности может быть больше 15.
В предпочтительном варианте осуществления изобретения коммуникационный контроллер рассчитывают таким образом, чтобы он обладал совместимостью со стандартом на протокол CAN, т.е. чтобы в шинной системе CAN он работал согласно стандарту на соответствующий протокол, а в шинной системе, модифицированной в соответствии с изобретением, он применял предлагаемый в изобретении способ проверки правильности передачи данных, допускал в сообщениях большие поля данных, а также обеспечивал адаптированные к этим изменениям вычисление и проверку контрольной суммы CRC.
Поскольку в начале приема сообщения еще не известно, является ли принимаемое сообщение соответствующим стандарту на протокол CAN или модифицированным в соответствии с изобретением, в предлагаемом в изобретении коммуникационном контроллере реализовано несколько параллельно работающих сдвиговых регистров CRC. После приема разделителя CRC, когда в приемнике (получателе сообщения) выполняется анализ кода CRC, на основании предусмотренной изобретением другой (дополнительной) метки можно констатировать, какой способ передачи данных использовался, и тогда анализироваться будет сдвиговый регистр, соответствующий этому способу передачи данных. Другая метка, как это было уже отмечено выше, может совпадать с первой меткой, относящейся к размеру поля данных и к интерпретации кода длины данных.
Передатчику (отправителю сообщения) в начале посылки сообщения уже известно, какой способ должен использоваться для передачи данных. Однако поскольку может случиться так, что арбитраж за доступ к шине будет проигран, и начавшееся сообщение не отправится, а вместо этого будет приниматься другое сообщение, несколько сдвиговых регистров CRC параллельно включаются и в этом случае.
На фиг. 1в показано два других примера модифицированных в соответствии с изобретением сообщений, у которых, по сравнению с фиг. 1б, в пределах сообщения дополнительно заданы области, в которых в соответствии с изобретением используется иная длительность бита, а значит, отдельные биты передаются по шине быстрее. Такие сообщения носят обозначение "CAN FD Fast", т.е. используются в быстром режиме CAN с гибкой скоростью передачи данных. Для двух вышеупомянутых возможных вариантов адресации сообщений, а именно основного формата и расширенного формата, на фиг. 1в обозначены области, в которых выполняется переключение между двумя состояниями, называемыми состоянием арбитража в быстром режиме CAN и состоянием передачи данных в быстром режиме CAN. Это переключение между двумя состояниями ведет к тому, что для соответствующей части сообщения значения длительности бита (битового времени) уменьшаются, чем достигается более быстрая передача отдельных битов по шине. Благодаря этому можно сократить время передачи сообщения по сравнению со способом, соответствующим стандарту. Соответствующее чередование значений длительности бита может быть реализовано в процессе работы ("на лету"), например, путем использования по меньшей мере двух различных коэффициентов масштабирования (предделителей, или коэффициентов предварительного деления) для установки шинной единицы времени (кванта времени) по отношению к наименьшей единице времени или к такту опорного генератора. Переключение длительности бита, а также соответствующее изменение коэффициента масштабирования также представлены на фиг. 1в в качестве примера.
Переход между состояниями арбитража в быстром режиме CAN и передачи данных в быстром режиме CAN происходит в сообщениях, имеющих первую метку EDL, в зависимости от второй метки, сигнализирующей участвующим в передаче данных абонентам о применении сокращенной длительности бита. В представленном здесь варианте осуществления изобретения положением этой метки является дополнительный бит (разряд) в поле управления, называемый битом переключения битовой скорости (BRS - сокр. от Bit Rate Switch). В представленном примере он передается как четвертый бит поля управления.
Если внутри сообщения осуществляется рассмотренное выше переключение на меньшие значения длительности бита, целесообразно, чтобы переключение на предлагаемый в изобретении способ проверки правильности передачи выполнялось не позднее чем с переключением на меньшие значения длительности бита. В предпочтительном варианте осуществления изобретения переключение на предлагаемый в изобретении способ проверки правильности передачи происходит одновременно с передачей второй метки BRS.
Это схематически представлено на фиг. 2в. Передаваемый сигнал CAN_TX содержит на изображенном участке битовую последовательность EDL, r0, BRS, ESI, А, В, С, D. При этом битами А, В, С, D могут быть четыре бита кода длины данных или же другие биты, дополнительно вставленные в поле управления. Принимаемый сигнал CAN_RX задержался на значение временной задержки DELTA_T, которая определяется по прохождению фронта между битами EDL и r0, как это описано при рассмотрении фиг. 2б. Для проверки успешности передачи сигнал D1, получаемый в результате логической операции "исключающее ИЛИ", оценивается в обозначенных крестиками точках выборки. В точке выборки бита BRS выполняется переключение на меньшую длительность бита. Поскольку меньшая длительность бита в представленном случае сравнима с временной задержкой DELTA_T, сигнал D1 почти непрерывно выдает значение "1", которое соответствует несовпадению передаваемого и принимаемого сигналов. Поэтому проверка правильности передачи с помощью сигнала D1 уже невозможна.
На фиг. 2в также изображен передаваемый сигнал CAN_TX_DEL, задержанный на время задержки T_DELAY. На основании определенной временной задержки DELTA_T генерируется значение времени задержки T_DELAY, или посредством результата измерения актуализируется уже имеющееся значение. Вместе с тем, также может использоваться заданное значение времени задержки. В результате выполнения логической операции "исключающее ИЛИ" в отношении задержанного передаваемого сигнала CAN_TX_DEL и принимаемого сигнала CAN_TX получают, как показано на фиг. 2в, сигнал D2, представляющий собой сигнал сравнения, имеющий на протяжении достаточного периода времени значение "0", т.е. сигнализирующий о совпадении передаваемого и принимаемого сигналов. При надлежащем выборе моментов сравнения - которые опять же обозначены крестиками - обеспечивается робастность проверки передачи данных.
Таким образом можно гарантированно исключить негативное влияние собственной временной задержки блока подключения к шине на результат сравнения в случае использования меньших значений длительности бита. Обратное переключение на соответствующий стандарту способ проверки и способ передачи данных происходит в этом варианте осуществления изобретения сразу после достижения бита, установленного для обратного переключения, например бита-разделителя CRC, или в случае распознавания причины для отправки кадра ошибки.
Согласно стандарту длительность бита, или битовое время, т.е. время передачи одного бита, в принципе разделено на следующие неперекрывающиеся сегменты:
- сегмент синхронизации (SYNC_SEG)
- сегмент времени распространения (PROP_SEG)
- 1-й фазовый буферный сегмент (PHASE_SEG1)
- 2-й фазовый буферный сегмент (PHASE_SEG2),
назначение которых заключается в следующем:
Сегмент SYNC_SEG служит для синхронизации различных абонентов шины. В этом сегменте ожидаются фронты сигнала на шине.
Сегмент PROP_SEG служит для компенсации физических времен задержки в пределах сети.
Сегменты PHASE_SEG1 и PHASE SEG2 служат для компенсации различий в положении фронтов сигналов. Они динамически корректируются в рамках ресинхронизации. Точка, или момент, выборки находится в конце сегмента PHASE_SEG1.
При осуществлении предлагаемого в изобретении способа значения длительности отдельных сегментов для областей сообщений с различными значениями длительности бита обеспечиваются с многократным резервированием, в представленном примере - дублируются, и помещаются, например, в два регистра конфигурации. Таким образом, в частности, положение точки выборки может конфигурироваться по-разному в зависимости от длительности бита. Кроме того, в конфигурации, используемой в области с уменьшенными значениями длительности бита, сегмент распространения может быть минимизирован или сконфигурирован на нулевую длительность, чтобы сократить длительность бита.
На фиг. 3 показаны относящиеся к осуществлению изобретения составные части схемы, обеспечивающей выполнение предлагаемого в изобретении способа в предлагаемом в изобретении устройстве. Схема содержит сдвиговый регистр 300 передачи, счетчик 305 задержки, узел 310 задержки, узел 320 сравнения, узел 330 переключения, устройство 340 анализа данных, а также узел 350 стандартного сравнения. Разумеется, что эти некоторые из этих составных частей также могут быть выполнены скомбинированными или интегрированными.
Из сдвигового регистра 300 передачи, управляемого по соответствующей линии соединения битами тактовой синхронизации CLK_BIT, с каждым тактом битового интервала, т.е. один раз в битовое время (длительность бита), выдается по одному биту передаваемого последовательного потока данных в виде передаваемого сигнала CAN_TX, направляемого по соответствующей линии соединения в блок подключения к шине. Принимаемый сигнал CAN_RX, получаемый по линии соединения блоком подключения к шине, поступает на вход узла 320 сравнения и узла 350 стандартного сравнения. Путем анализа соответствующих фронтов, например фронта между битами EDL и r0, передаваемого сигнала CAN_TX и принимаемого сигнала CAN_RX в устройстве вырабатываются сигналы пуска и останова для счетчика 305 задержки, который по этим сигналам определяет, например, путем подсчета циклов генератора, временную задержку DELTA_T. Кроме того, счетчик задержки генерирует точку сравнения Т_СМР в зависимости от измеренной временной задержки. Например эта точка сравнения может генерироваться как сумма определенной временной задержки DELTA_T и заданной или задаваемой доли длительности бита, в частности половины длительности бита. Точка сравнения определяет то, в какой момент времени результат логической операции "исключающее ИЛИ" в отношении задержанного передаваемого сигнала CAN_TX_DEL и принимаемого сигнал CAN_RX оценивается в узле 320 сравнения.
Узел 310 задержки генерирует на основании передаваемого сигнала CAN_TX и временной задержки DELTA_T, переданной ему счетчиком 305 задержки, передаваемый сигнал CAN_TX_DEL, задержанный на время задержки T_DELAY. В особенно простом варианте реализации время задержки T_DELAY может быть целым кратным длительности бита (сокращенной длительности бита), благодаря чему узел задержки лишь смещает битовую последовательность на один или несколько битов. Это может быть особенно просто реализовано подходящими аппаратными регистрами. Узел 320 сравнения получает принимаемый сигнал CAN_RX и задержанный передаваемый сигнал CAN_TX_DEL. Кроме того, узел 320 сравнения получает от счетчика 305 задержки информацию Т_СМР о подходящей точке, или моменте, сравнения, в которой(-ый) нужно считать результат сравнения принимаемого сигнала CAN_RX и задержанного передаваемого сигнала CAN_TX_DEL. Узел 320 сравнения таким образом генерирует выходной сигнал, воспроизводящий результат сравнения и направляемый в узел 330 переключения, например мультиплексор. Параллельно узел 350 стандартного сравнения, который может быть выполнен, например, в виде логической схемы "исключающее ИЛИ", вырабатывает второй выходной сигнал, воспроизводящий результат сравнения CAN_TX и CAN_RX и также направляемый в узел 330 переключения. Устройство переключает узел 330 переключения между двумя сигналами, например с помощью соответствующего сигнала переключения SWT и/или на основе выполнения заданных условий, которые могут включать в себя, например, достижение или оценку заданного или задаваемого бита, вследствие чего в устройство 340 анализа данных поступает выходной сигнал либо от узла 350 стандартного сравнения, либо от узла 320 сравнения. Например, устройство переключает узел переключения после прохождения бита BRS, если произошло переключение на меньшие значения длительности бита. В этом случае в устройство 340 анализа данных поступают значения сигналов D1 и D2, обозначенные на фиг. 2в крестиками. Тогда в устройстве анализа данных в сконфигурированной точке выборки T_SMP считывается сигнал, пропускаемый узлом переключения, и в случае обнаружения несовпадения может быть сгенерирован сигнал BERR ошибки бита. Как показано выше, предлагаемое в изобретении устройство в представленном исполнении обеспечивает возможность надежной проверки правильности передачи данных и при сокращенной длительности бита.
Представленный способ передачи данных пригоден при нормальной эксплуатации транспортного средства для передачи данных между по меньшей мере двумя блоками управления транспортного средства, соединенными подходящей шиной данных. Вместе с тем, предлагаемый в изобретении способ может в равной мере эффективно применяться в процессе производства или технического обслуживания транспортного средства для передачи данных между программатором, соединенным с подходящей шиной данных с целью программирования, и по меньшей мере одним соединенным с этой шиной данных блоком управления транспортного средства. Кроме того, предлагаемый в изобретении способ может применяться в промышленной автоматике, например для передачи управляющей информации между распределенными, соединенными друг с другом шиной устройствами управления, которые управляют выполнением промышленного технологического процесса. В этой среде также могут использоваться линии шины очень большой протяженности, и потому может быть особенно целесообразным эксплуатировать шинную систему так, чтобы в фазе арбитража она работала при относительно большой длительности бита, например 16, 32 или 64 микросекунды, что позволяло бы сигналам на шине распространяться в процессе арбитража требуемым образом по всей шинной системе. Тогда впоследствии для части сообщения можно переключаться, как было описано, на меньшие значения длительности бита, чтобы не давать средней скорости передачи стать слишком малой.
В целом предлагаемый в изобретении способ представляет собой способ передачи данных, который отличается тем, что контроллер, поддерживающий обычный режим CAN, требует внесения лишь минимальных изменений для того, чтобы он мог работать в соответствии с изобретением. Предлагаемый в изобретении коммуникационный контроллер, способный работать также в обычном режиме CAN, лишь незначительно больше обычного контроллера, поддерживающего обычный режим CAN. Благодаря использованию увеличенного размера поля данных и сокращенной длительности бита можно ощутимо увеличить скорость передачи данных. Могут использоваться обширные части теста соответствия CAN (ISO 16845). Кроме того, предлагаемый в изобретении способ передачи данных может комбинироваться с дополнениями, предусмотренными протоколом TTCAN (ISO 11898-4).