УЗЕЛ-АБОНЕНТ КОММУНИКАЦИОННОЙ СИСТЕМЫ С ФУНКЦИОНАЛЬНО ОТДЕЛЬНЫМ УСТРОЙСТВОМ ПАМЯТИ СОБЫТИЙ ПЕРЕДАЧИ
SUBSCRIBER NODE OF COMMUNICATION SYSTEM HAVING FUNCTIONALLY SEPARATE TRANSMISSION EVENT MEMORY

Настоящее изобретение относится к узлу-абоненту коммуникационной системы. Коммуникационная система включает в себя шину данных, к которой подключены указанный узел-абонент и по меньшей мере еще один узел-абонент. Узел-абонент имеет коммуникационный контроллер, предназначенный для передачи сообщений по шине данных и/или для приема сообщений от шины данных, и устройства памяти сообщений для промежуточного хранения подлежащих передаче и принятых сообщений. Изобретение также относится к коммуникационной системе, включающей в себя шину данных и несколько узлов-абонентов, подключенных к этой шине для передачи данных. Каждый узел-абонент имеет коммуникационный контроллер, предназначенный для передачи сообщений по шине данных и/или для приема сообщений от шины данных, и устройства памяти сообщений для промежуточного хранения подлежащих передаче и принятых сообщений. Наконец, настоящее изобретение относится к способу передачи сообщения от первого узла-абонента коммуникационной системы по шине данных коммуникационной системы второму узлу-абоненту коммуникационной системы. При этом прикладная программа первого узла-абонента сохраняет подлежащее передаче сообщение в устройство памяти сообщений, из которого это сообщение по команде передачи от прикладной программы извлекается коммуникационным контроллером и передается им по шине данных.
Одним примером известной коммуникационной системы вышеназванного типа является коммуникационная система CAN (контроллер Area Network). Эта коммуникационная система является асинхронной последовательной шинной системой, которая была разработана в 1983 г. фирмой Bosch для связывания в сеть блоков управления в автомобилях и которая была представлена ею вместе с фирмой Intel в 1986 г. (см. SAE Paper 860391, International Congress and Exposition, г. Детройт, штат Мичиган, 24-28 февраля 1986 г.) для уменьшения длины кабельных жгутов в автомобилях и, соответственно, получения выигрыша в объеме и весе. Однако применение шины CAN не ограничено автомобилестроительной отраслью. Шина CAN за прошедшее время нашла применение, например, в инженерных коммуникациях зданий и в технологических машинах. Передача данных по протоколу CAN осуществляется информационными кадрами (так называемыми фреймами), в которых помимо передаваемых полезных данных (собственно сообщения) также содержатся конфигурационные данные в начале кадра (заголовок) и контрольные данные в конце кадра (циклический избыточный код). Другими примерами известных коммуникационных систем вышеназванного типа являются шина FlexRay, шина MOST (Media Oriented Systems Transport) или любая иная промышленная шина, например шина LIN (Local Interconnect Network).
В протоколе CAN и других протоколах при передаче сообщений между первым и вторым узлами-абонентами прикладная программа первого узла-абонента копирует подлежащее передаче сообщение в устройство памяти сообщений, из которого это сообщение по команде передачи от прикладной программы извлекается коммуникационным контроллером и передается им по шине данных. При этом часто существует необходимость в том, чтобы информировать прикладную программу о результате обработки заданий на передачу и о возможных отменах заданий на передачу. Это актуально, например, если во время выполнения одного задания на передачу поступает еще одно, более срочное, задание на передачу. В подобном случае выполняемое задание на передачу отменяется, однако процесс передачи, который уже возможно запущен (бит начала кадра (SOF - Start of Frame) уже отправлен), не прерывается, а продолжается до тех пор, пока либо не проигран арбитраж, либо не произошла ошибка, либо сообщение не будет успешно передано. Поскольку в случае протокола CAN и других протоколов данные передаются последовательно, при известных условиях достижение конца информационного кадра может занимать относительно долгое время. В течение этого времени вычислительный блок (ЦП; центральный процессор) узла-абонента практически заблокирован, поскольку он должен дождаться конца информационного кадра. К тому же это может привести к неприемлемой задержке при выполнении другого, более срочного задания на передачу.
Выполнением этого срочного задания на передачу ЦП может заняться только после достижения конца информационного кадра первого задания на передачу. Для этого прикладная программа узла-абонента копирует подлежащее передаче сообщение срочного задания на передачу в устройство памяти сообщений, из которого это сообщение по команде передачи от прикладной программы извлекается коммуникационным контроллером и передается им по шине данных. После выполнения срочного задания на передачу прикладная программа снова продолжает прерванную передачу. Для этого необходимо, чтобы в распоряжении прикладной программы имелись данные о состоянии задания на передачу, обрабатывавшегося перед срочным заданием. Прикладная программа должна иметь возможность получения данных о результате выполнения заданий на передачу и возможных отменах заданий на передачу.
Поэтому у известных узлов-абонентов устройства памяти сообщений, содержимое которых требуется передать, связаны с битами состояния. Часто битами состояния можно указать лишь на успех выполнения задания на передачу. Некоторые результаты обработки заданий на передачу, особенно в случае отмены задания на передачу (Tx-Cancellation), представить с помощью битов состояния невозможно.
Исходя из рассмотренного уровня техники, в основу настоящего изобретения была положена задача выполнения и усовершенствования узла-абонента таким образом, чтобы обеспечить возможность управления данными о заданиях на передачу и сделать эти данные доступными прикладной программе.
Для решения этой задачи предлагается, исходя из узла-абонента указанного в начале описания типа, чтобы узел-абонент имел по меньшей мере одно устройство памяти событий передачи, которое функционально отделено от устройств памяти сообщений и в котором сохраняется событие передачи по меньшей мере для одного подлежащего передаче или переданного сообщения, причем событие передачи указывает на отмену первого задания на передачу, и в устройстве памяти событий передачи сохраняется отметка времени, указывающая на то, когда событие наступило.
Таким образом, в соответствии с изобретением данные о заданиях на передачу сохраняются не в устройствах памяти сообщений, содержимое которых требуется передать, а в отдельном списке как составной части устройства памяти событий передачи. Это имеет то преимущество, что прикладной программе не нужно собирать данные из различных устройств памяти сообщений, а выборку этих данных можно осуществлять в фиксированном месте с сортировкой по времени, и что после отмены задания на передачу устройства памяти сообщений сразу же снова находятся в распоряжении и могут использоваться далее без необходимости ожидания результата этой отмены, В частности, ЦП узла-абонента сразу после отмены задания на передачу может приступить к выполнению следующего задания на передачу и, например, сохранить сообщение в устройстве памяти сообщений. Разумеется, что после такой отмены ЦП может использоваться и для выполнения любых других задач. Таким образом, технический результат, достигаемый при осуществлении изобретения, заключается в ускорении выполнения следующих друг за другом заданий на передачу в случае отмены одного задания на передачу и повышении эффективности ЦП. Кроме того, преимуществом изобретения является также то, что флаги состояния, сообщающие о состоянии задания на передачу, не привязаны к устройству памяти сообщений.
Отметка времени, указывающая на то, когда событие наступило, и сохраняемая в устройстве памяти событий передачи, может быть важна для определенных прикладных программ. Например, прикладная программа, узнав время наступления определенного события отмены задания на передачу, может скорректировать данные, подлежащие передаче в дальнейшем, или быстро принять иные меры. В результате повышается быстродействие системы и ее устойчивость к ошибкам.
В предпочтительном варианте осуществления изобретения событие передачи включает в себя по меньшей мере одно из следующих событий:
- сообщение успешно передано, несмотря на отмену первого задания на передачу,
- отмена первого задания на передачу, передача в соответствии с первым заданием на передачу еще не началась,
- отмена первого задания на передачу, передача в соответствии с первым заданием на передачу прекращена после проигрыша арбитража, и
- отмена первого задания на передачу, передача в соответствии с первым заданием на передачу прекращена после ошибки.
Таким образом, благодаря сохранению событий передачи в устройстве памяти событий передачи прикладная программа узла-абонента может в любое время узнать точное состояние, или результат обработки, предыдущего задания на передачу. Из устройства памяти событий можно извлекать не только данные о том, была ли передача данных успешной, но также дополнительно данные о том, при каких обстоятельствах передача прошла успешно (без отмены задания на передачу или несмотря на отмену задания на передачу), и о том, было ли, и при каких обстоятельствах, задание на передачу отменено (процесс передачи еще не начался (например, поскольку шина данных была занята), процесс передачи прекращен после проигрыша арбитража или процесс передачи прекращен после ошибки). Эти дополнительные данные позволяют прикладной программе при продолжении передачи данных, задание на которую было отменено, принять соответствующие меры, например выдать новое задание на передачу.
В предпочтительном варианте осуществления изобретения в устройстве памяти событий передачи может сохраняться идентификатор по меньшей мере одного подлежащего передаче или переданного сообщения. Идентификатор в предпочтительном случае позволяет однозначно идентифицировать сообщения, или задания на передачу. Благодаря тому что дополнительно к событию передачи для по меньшей мере одного подлежащего передаче или переданного сообщения в устройстве памяти событий передачи сохраняется идентификатор, однозначная связь события передачи с определенным сообщением, или определенным заданием на передачу возможна даже тогда, когда в устройстве памяти событий сохранено несколько событий передачи, относящихся к различным заданиям на передачу. Это позволяет, в рамках емкости устройства памяти событий, в любое время считывать событие передачи для определенного сообщения или для определенного задания на передачу. Чем больше емкость устройства памяти событий, тем больше событий передачи с соответствующими данными в этом устройстве можно сохранить.
Разумеется, что помимо события передачи и идентификатора в устройстве памяти событий передачи могут сохраняться и другие данные. Так, например, в устройстве памяти событий передачи может храниться один или несколько из следующих видов данных:
- адрес устройства памяти сообщений, для которого имелось задание на передачу, и
- счетчик последовательности, идентифицирующий пакеты данных, если несколькими сообщениями с одним и тем же идентификатором последовательно передаются большие объемы данных.
Благодаря этим дополнительным данным облегчается работа прикладной программы с сохраненным событием передачи. Если узел-абонент располагает несколькими устройствами памяти передаваемых сообщений (так называемыми буферами передачи), то по адресу устройства памяти сообщений, для которого имелось задание на передачу, можно определить, какой буфер передачи свободен для новых заданий на передачу. Счетчик последовательности может быть важен, например, при загрузке программного обеспечения, если, например, в конце ленты или во время пребывания в ремонтной мастерской узлы-абоненты коммуникационной сети, выполненные в виде блоков управления, программируются впервые или программируются новой версией программного обеспечения. При этом программное обеспечение разбивается на несколько пакетов данных, например размером 8 байт каждый, и все эти пакеты имеют один и тот же идентификатор. Счетчик последовательности указывает, для которого из пакетов данных в устройстве памяти событий сохранено событие передачи или который из пакетов данных был успешно передан.
Целесообразно, чтобы устройство памяти событий передачи было организовано по типу памяти обратного магазинного типа (FIFO). Предпочтительно, в предпочтительном варианте устройства памяти событий передачи имеет несколько элементов памяти, причем в каждом элементе памяти сохраняются данные, относящиеся к одному подлежащему передаче или переданному сообщению. На практике емкости устройства памяти событий, составляющей несколько элементов памяти, как правило, достаточно. В случае если грозит переполнение устройства памяти событий передачи, поскольку прикладная программа считывает из него данные слишком редко, может выдаваться предупредительный сигнал. Если переполнение памяти действительно произошло, может выдаваться сигнал ошибки. В качестве альтернативы или в дополнение к этому возможен вариант, в котором при превышении емкости устройства памяти событий передачи просто происходит стирание записей, сохраненных первыми.
Целесообразно, чтобы устройство памяти событий передачи содержало память с произвольным доступом (также ЗУПВ - запоминающее устройство с произвольной выборкой). Возможны и иные варианты реализации устройства памяти событий, например, посредством памяти на триггерах, хотя этот вид памяти требует относительно большой площади кремниевого кристалла, а значит, сопряжен с относительно высокими затратами. Особенно выгоден вариант осуществления изобретения, в котором устройство памяти событий передачи выполнено как часть устройства памяти сообщений. Несмотря на функциональное разделение устройства памяти сообщений и устройства памяти событий передачи, оба этих устройства на аппаратном уровне могут быть выполнены в одном и том же элементе памяти, но в различных областях памяти. Целесообразно, чтобы объем устройства памяти событий передачи, в частности число элементов памяти устройства памяти событий, можно было свободно конфигурировать на программном уровне, например посредством битов конфигурации. Это обеспечивает простое и гибкое согласование объема устройства памяти событий с индивидуальными требованиями в каждом конкретном случае.
Объектом настоящего изобретения является также коммуникационная система указанного в начале описания типа, по меньшей мере один из узлов-абонентов которой имеет по меньшей мере одно устройство памяти событий передачи, которое функционально отделено от устройств памяти сообщений и в котором сохраняется событие передачи по меньшей мере для одного подлежащего передаче или переданного сообщения, причем событие передачи указывает на отмену первого задания на передачу, а в устройстве памяти событий передачи сохраняется отметка времени, указывающая на то, когда событие наступило.
В предпочтительных вариантах выполнения предлагаемой в изобретении коммуникационной системы по меньшей мере один узел-абонент этой системы может также обладать признаками одного или нескольких из зависимых пунктов 2-16 формулы изобретения.
Наконец, объектом настоящего изобретения является способ передачи, как он был охарактеризован в начале описания, согласно которому:
- прикладная программа первого узла-абонента копирует подлежащее передаче сообщение в устройство памяти сообщений, из которого это сообщение по команде передачи от прикладной программы извлекается коммуникационным контроллером и передается им по шине данных, и
- по меньшей мере в одном устройстве памяти событий передачи, функционально отдельном от устройства памяти сообщений, для подлежащего отправке или отправленного сообщения сохраняют событие передачи и предоставляют прикладной программе возможность обращения к этому событию передачи в любое время, причем событие передачи указывает на отмену первого задания на передачу, а в устройстве памяти событий передачи сохраняют отметку времени, указывающую на то, когда событие наступило.
Ниже рассматриваются предпочтительные варианты осуществления изобретения, поясняемые чертежами, на которых показано:
на фиг.1 - пример предлагаемой в изобретении коммуникационной сети,
на фиг.2 - пример предлагаемого в изобретении узла-абонента коммуникационной сети, показанной на фиг.1, и
фиг.3 - пример блок-схемы осуществления предлагаемого в изобретении способа передачи сообщений по коммуникационной сети, показанной на фиг.1.
На фиг.1 предлагаемая в изобретении коммуникационная система обозначена в целом номером позиции 1. Сеть 1 включает в себя шину 2 данных, которая символически представлена единственной линией. При этом разумеется, что шина 2 данных может быть выполнена в виде одно-, двух- или многопроводной шины. На физическом уровне шина 2 данных может иметь один или несколько медных проводников, одну или несколько стекловолоконных линий или же оптические (например, инфракрасные) или радиочастотные каналы связи. К шине 2 данных подключено несколько узлов-абонентов 3, из которых на фиг.1 в качестве примера показано лишь три узла-абонента. Каждый узел 3 подключен к шине 2 данных посредством коммуникационного модуля 4 (так называемый коммуникационный контроллер СС). Узлы 3 также имеют хост-приложение 5 (прикладную программу АР).
Передача сообщений 7 по шине 2 данных может осуществляться в соответствии с последовательным коммуникационным протоколом (например, протоколом CAN, FlexRay, LIN, MOST и др.). Коммуникационный модуль 4 отвечает за прием и передачу сообщений 7 по шине 2 данных. Каждое сообщение 7 имеет так называемый заголовок 8 с идентификатором и дополнительными битами конфигурации. Помимо заголовка 8 сообщения 7 также имеют поле 9 полезных данных (так называемая полезная информация) и так называемый концевик 10. Идентификатор обеспечивает однозначную идентификацию сообщений 7. В случае протокола CAN (контроллер Area Network) идентификатор представляет собой, например, своего рода адрес отправителя, по которому можно определить происхождение сообщения 7 и который помечает содержимое 9 сообщения 7.
Логически между прикладной программой 5 и коммуникационным контроллером 4 расположены буфер 11 передачи (Тх) и буфер 12 приема (Rx), являющиеся промежуточными накопителями для исходящих и входящих сообщений 7 соответственно. Физически эти устройства 11, 12 памяти сообщений могут быть выполнены как неотъемлемая составная часть коммуникационного контроллера 4 или отдельно от него. Устройства 11, 12 памяти сообщений предпочтительно организованы по типу памяти обратного магазинного типа (FIFO). Они выполнены, например, в виде устройства памяти с произвольным доступом (так называемого запоминающего устройства с произвольной выборкой - ЗУПВ).
Если прикладная программа 5 одного из абонентов 3 желает отправить сообщение 7 по шине 2 данных другому абоненту 3, сначала она сохраняет подлежащее передаче сообщение 7, или его содержимое 9, в буфер 11 передачи (стрелка 20 на фиг.2). По команде передачи от прикладной программы 5 коммуникационный контроллер 4 извлекает сообщение 7, или его содержимое 9, из буфера 11 передачи (стрелка 21 на фиг.2), приводит его согласно коммуникационному протоколу, по которому в коммуникационной системе 1 передаются сообщения 7, в нужный формат (например, путем добавления заголовка 8 и концевика 10) и передает сообщение 7 по шине 2 данных (стрелка 22 на фиг.2). Передача сообщения 7 по шине 2 данных происходит последовательно и поэтому может длиться относительно долго. Настоящее изобретение касается ситуации, когда в любой момент времени в процессе выполнения задания на передачу это задание может быть отменено, например, потому что сначала должно быть выполнено другое, особенно срочное задание на передачу. Обработка задания на передачу начинается с сохранения сообщения 7, или его содержимого 9, в буфере 11 передачи и заканчивается приемом от коммуникационного контроллера 4 квитанции о том, что сообщение было передано успешно или не было передано.
В подобном случае, а также в других случаях необходимо, чтобы прикладная программа 5 имела информацию о результате обработки задания на передачу и возможной отмене задания на передачу. Поэтому в решениях, известных из уровня техники, буферы 11 передачи связаны с битами состояния, способными давать информацию относительного того, завершено ли задание на передачу успешно или нет. Информацию о других событиях, в частности в случае отмены задания на передачу, получить из битов состояния невозможно. В случае отмены задания на передачу в системе CAN возможно уже запущенный процесс передачи (т.е. при уже переданном начале кадра (SOF)) не прерывается, а продолжается до тех пор, пока либо не будет проигран арбитраж, либо не произойдет ошибка, либо сообщение не будет передано успешно. О том, какое именно событие в конце концов наступило после отмены задания на передачу, прикладная программа 5 не может узнать из битов состояния. Кроме того, прикладная программа 5 должна дожидаться результата обработки задания на передачу и в течение этого времени она в известной степени заблокирована. Усовершенствования в этом отношении обеспечиваются настоящим изобретением.
В соответствии с изобретением в каждом узле-абоненте 3 предусмотрено устройство 13 памяти событий передачи (Тх Stat), функционально отдельное от устройств 11, 12 памяти сообщений и в котором сохраняется событие передачи, или состояние, для по меньшей мере одного подлежащего передаче или переданного сообщения 7. Разумеется, не обязательно, чтобы устройством 13 памяти событий передачи были снабжены все узлы-абоненты 3 коммуникационной сети 1. Устройство 13 памяти событий предпочтительно выполнено в виде памяти с произвольным доступом (ЗУПВ) и организовано по типу памяти обратного магазинного типа (FIFO). Разумеется, устройство 13 памяти событий может быть выполнено и в виде постоянного запоминающего устройства (например флэш-памяти, памяти только для чтения, электрически стираемого программируемого постоянного защитного устройства, ЭСППЗУ). Устройство 13 памяти событий может быть выполнено как неотъемлемая составная часть коммуникационного контроллера 4 или может быть выполнено отдельным от него. Кроме того, устройство 13 памяти событий передачи может быть выполнено отдельным от устройств 11, 12 памяти сообщений или как часть устройства 11, 12 памяти сообщений. Если устройство 13 памяти событий является частью устройства 11, 12 памяти сообщений, объем устройства 13 памяти событий может гибко задаваться на программном уровне соответственно индивидуальным требованиям, например, посредством битов конфигурации.
Таким образом, данные о состоянии заданий на передачу сохраняются уже не в устройстве 11 памяти сообщений, содержимое которых требуется передать, а в отдельном списке событий передачи. Этот список предпочтительно содержит одну запись на каждое событие передачи или отмены передачи. С помощью настоящего изобретения информацией о состоянии заданий на передачу можно управлять в коммуникационном модуле 4 и эту информацию можно сохранять в устройстве 13 памяти событий (стрелка 23 на фиг.2). Прикладная программа 5 может гибко во времени вызывать данные, сохраненные в устройстве 13 памяти событий (стрелка 24 на фиг.2). Особенно выгодным является то, что данные о заданиях на передачу теперь полностью отделены от буфера 11 передачи. Еще одно преимущество заключается в том, что прикладной программе 5 уже не нужно собирать данные о состоянии заданий на передачу из различных устройств 11 памяти сообщений, а выборку этих данных можно осуществлять в фиксированном месте (в списке событий передачи, находящемся в устройстве 13 памяти событий передачи), предпочтительно с сортировкой по времени. После отмены задания на передачу устройство 11 памяти сообщений сразу же может использоваться далее без необходимости ожидания результата обработки задания на передачу или отмены этого задания. Прикладная программа 5 может считать данные, сохраненные в устройстве 13 памяти событий, в более поздний момент времени, она не должна реагировать на них немедленно (например, путем посредством прерывания). Если грозит переполнение устройства 13 памяти событий, поскольку прикладная программа 5 считывает из него данные слишком редко, на первом шаге может выдаваться предупредительный сигнал, который может быть сопряжен с соответствующими мерами по ускоренному или более частому считыванию по меньшей мере одной части указанных данных. Если устройство 13 памяти действительно переполнилось, может быть выдан сигнал ошибки. В этом случае наиболее старые в данный момент записи в устройстве 13 памяти событий передачи могут быть стерты, чтобы создать место для данных о текущих заданиях на передачу.
В простейшем случае устройство 13 памяти событий содержит результаты (сообщение 7 передано, задание на передачу отменяется) заданий на передачу, упорядоченные во времени. Ниже приведены некоторые примеры других событий, которые могут сохраняться в устройстве 13 памяти событий:
1) сообщение 7 передано успешно, несмотря на отмену задания на передачу,
2) задание на передачу отменено, процесс передачи не начался,
3) задание на передачу отменено, процесс передачи прекращен после проигрыша арбитража, и
4) задание на передачу отменено, процесс передачи прекращен после ошибки.
Дополнительно к событиям передачи для подлежащего передаче или переданного сообщения 7 в устройстве 13 памяти событий передачи могут сохраняться и другие данные. Для информационного содержимого элемента памяти устройства 13 памяти существуют различные ступени расширения. Предпочтительным является сохранение в устройстве 13 памяти также идентификаторов (например, идентификаторы протокола CAN) сообщений 7. Идентификатор обеспечивает однозначную идентификацию и соотнесение сохраненных данных с определенными сообщениями, благодаря чему сообщения не обязательно сохранять в устройстве 13 памяти в определенной хронологической последовательности. Возможной является также запись в устройство 13 памяти событий передачи одного или нескольких из следующих типов дополнительных данных:
1) код длины данных, указывающий длину части 9 сообщения (поля) с полезными данными по меньшей мере одного подлежащего передаче или переданного сообщения 7,
2) отметка времени, указывающая на то, когда наступило событие, сохраненное в устройстве 13 памяти,
3) адрес устройства 11 памяти сообщений, для которого имелось задание на передачу, и
4) счетчик последовательности, идентифицирующий пакеты данных, если с помощью транспортного протокола более высокого уровня последовательно в нескольких сообщениях 7 с одним и тем же идентификатором передаются большие объемы данных.
Благодаря этим дополнительным данным облегчается работа прикладной программы 5 с сохраненным событием передачи. Отметка времени может быть важна для определенных прикладных программ 5. Если узел-абонент 3 располагает несколькими буферами 11 передачи, то по адресу устройства 11 памяти сообщений, для которого имелось задание на передачу, можно определить, какой буфер 11 передачи свободен для новых заданий на передачу. Счетчик последовательности может быть важен, например, при загрузке программного обеспечения, если, например, в конце ленты или во время пребывания в ремонтной мастерской узлы-абоненты 3 коммуникационной сети 1, выполненные в виде блоков управления, программируются впервые или программируются новой версией программного обеспечения. При этом программное обеспечение разбивается на несколько пакетов данных, например размером 8 байт каждый, и все эти пакеты имеют один и тот же идентификатор. Счетчик последовательности указывает, для которого из пакетов данных в устройстве 13 памяти событий сохранено событие передачи или который из пакетов данных был успешно передан. Счетчик последовательности записан прикладной программой 5 в устройство 11 памяти сообщений при выдаче задания на передачу.
Ниже со ссылкой на фиг.3 подробнее поясняется предлагаемый в изобретении способ. Осуществление способа начинается в функциональном блоке 30. В функциональном блоке 31 прикладная программа 5 пересылает подлежащие передаче данные в буфер 11 передачи. Команду передачи прикладная программа 5 отправляет в функциональном блоке 32. По этой команде коммуникационный контроллер 4 в функциональном блоке 33 извлекает данные из буфера 11 передачи. Затем контроллер 4 в функциональном блоке 34 помещает эти данные 9 в сообщение 7, соответствующее используемому коммуникационному протоколу, и приводит данные в соответствующий формат. После этого в функциональном блоке 35 сообщение 7 последовательно передается по шине 2 данных. Передача сообщения начинается с отправки бита начала кадра (SOF).
В любой момент времени в процессе выполнения задания на передачу (функциональные блоки 31-35) может произойти событие, которые сделает необходимой отмену задания на передачу, например желание как можно скорее послать другое сообщение, которое является более срочным или более важным, чем сообщение, передаваемое в соответствии с текущим заданием на передачу. Наступление такого события представлено на фиг.3 функциональным блоком 36. В рассматриваемом примере событие 36 наступает во время последовательной передачи сообщения. Прикладная программа 5 отменяет текущее задание на передачу.
После отмены задания на передачу прикладная программа 5 в функциональном блоке 37 сразу же может поместить в буфер 11 передачи новые данные, а именно данные по более срочному или более важному сообщению 7. Прикладной программе 5 не нужно дожидаться конца передачи первого сообщения, или результат обработки первого задания на передачу. Это позволяет повысить загрузку (использование процессорного времени) и эффективность работы главного ЦП, или хост-процессора (центральный процессор), узла-абонента 3. Состояние первого задания на передачу сохраняется коммуникационным контроллером 4 в устройстве 13 памяти событий передачи в более поздний момент времени после завершения передачи первого сообщения. Это может происходить в любой момент времени после окончания передачи первого сообщения и в качестве примера представлено на фиг.3 функциональным блоком 38.
В функциональном блоке 39 прикладная программа 5 посылает команду передачи для передачи другого сообщения. По этой команде коммуникационный контроллер 4 в функциональном блоке 40 извлекает из буфера 11 передачи новые данные. Затем контроллер 4 в функциональном блоке 41 помещает данные 9 во второе сообщение 7, соответствующее используемому коммуникационному протоколу, и приводит эти данные в соответствующий формат. После этого в функциональном блоке 42 осуществляется последовательная передача второго сообщения 7 по шине 2 данных. Передача сообщения начинается с отправки бита начала кадра (SOF). Состояние второго задания на передачу сохраняется коммуникационным контроллером 4 в устройстве 13 памяти событий передачи в любой более поздний момент времени после завершения передачи второго сообщения. Это в качестве примера представлено на фиг.3 функциональным блоком 43.
В любой момент времени после окончания передачи первого сообщения 7 прикладная программа извлекает из устройства 13 памяти событий передачи результат обработки первого задания на передачу. В рассматриваемом примере это происходит в функциональном блоке 44 после завершения передачи второго сообщения 7, которая привела к отмене первого задания на передачу. В зависимости от считанного результата обработки первого задания на передачу прикладная программа 5 в функциональном блоке 45 инициирует повторную передачу первого сообщения 7 (сообщение не было передано успешно) или не делает этого (сообщение было передано успешно). На этом в функциональном блоке 46 осуществление способа завершается.
Важные аспекты настоящего изобретения заключаются в том, что изобретение улучшает загрузку хост-процессора узла-абонента, после отмены задания на передачу позволяет в кратчайшее время приступить к передаче нового сообщения, предоставляет в распоряжение подробные данные об отдельных заданиях на передачу и развязывает во времени сохранение данных о заданиях на передачу в устройстве памяти событий и считывание этих данных, не допуская обусловленного этим блокирования хост-процессора.