Способ и устройство для обработки пакетов данных
Иллюстрации
Показать всеИзобретение относится к способу кодирования пакета данных посредством кодирования информации о типе и информации о размере упомянутого пакета данных в одном и том же поле. Технический результат изобретения заключается в обеспечении снижения объема служебной информации и повышении эффективности передачи данных. Изобретение раскрывает способ обработки принимаемых пакетов данных. Пакет данных содержит часть заголовка и часть сообщения. Часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных, при этом способ содержит этап, на котором получают информацию о размере упомянутого пакета данных, на основании упомянутого, по меньшей мере, одного бита. 4 н. и 10 з.п.ф-лы, 3 ил.
Реферат
2420-182556RU/081
Область техники, к которой относится изобретение
Настоящее изобретение относится к связи двух устройств, и в частности к обработке пакетов данных, передаваемых от второго устройства первому устройству.
Уровень техники изобретения
Передача информации от одного устройства другому устройству производится во всех областях техники; например, информация передается посредством пакетов данных от одного мобильного телефона другому, или от сервера клиенту, и т.д. Пакеты данных могут передаваться по проводам, например, телефонной линии, сетевой линии, и т.д. Также пакеты данных могут передаваться беспроводным образом, например, при помощи технологии Связи в Ближнем Поле (NFC), или при помощи технологии спутниковой связи, и т.д.
Пакет данных, как правило, содержит часть заголовка и часть сообщения. Часть заголовка используется для указания некоторой основной информации, относящейся к пакету данных, такой как: тип пакета данных; информация о размере (т.е. длине) пакета данных; и т.д., которая также может пониматься как «метаданные» или «служебные данные». Часть сообщения используется для переноса сообщения (т.е. информации), для переноса которого и предназначен пакет данных.
В некоторых случаях, различные типы пакета данных могут иметь разный размер части сообщения. Если пакету данных требуется нести в себе информацию о размере пакета данных, то, как правило, для переноса данной информации о размере используется часть заголовка. Например, часть заголовка имеет две секции, одна для указания типа пакета данных, а другая для указания информации о размере пакета данных. В качестве примера, часть заголовка имеет два байта, первый байт используется для указания информации о типе, а второй байт для указания размера пакета данных.
Задача и краткое описание сущности изобретения
Тем не менее, в некоторых других случаях, поскольку требуется, чтобы пакет данных был как можно меньше, то часть заголовка имеет очень ограниченное число бит и должна использоваться для указания типа пакета данных; а дополнительные биты для указания размера пакета данных отсутствуют.
Например, в беспроводной системе передачи энергии, передатчик используется для передачи энергии приемнику индуктивно при помощи, по меньшей мере, одной первичной катушки индуктивности (передающей катушки индуктивности) и, по меньшей мере, одной вторичной катушки индуктивности (принимающей катушки индуктивности), и, например, приемнику требуется отправить передатчику пакеты данных, несущие в себе информацию о конфигурации, так, чтобы передатчик знал потребности в энергии приемника и знал как сконфигурировать соответствующие параметры передатчика до того, как передатчик начнет передавать энергию приемнику.
Одним из походов к передаче этих конфигурирующих пакетов данных является так называемая модуляция нагрузки, т.е. передатчик применяет (передает) энергию приемнику, а приемник изменяет свое энергопотребление для того чтобы тем самым закодировать бинарные сигналы, т.е. пакеты данных. При таком подходе к передаче данных, для передачи каждого дополнительного байта длительность, требуемая для передачи пакета данных, увеличивается на примерно 5,5 мс. Вследствие этого, желательно чтобы служебные данные пакета данных оставались как можно меньше. Как результат, часть заголовка данного конфигурирующего пакета данных задается так, чтобы содержать только один байт. Данный байт используется для указания типа пакета данных. Дополнительного байта для указания размера пакета данных не существует.
С первым аспектом настоящего изобретения целесообразно предложить пакет данных несущий в себе информацию о размере упомянутого пакета данных. Пакет данных содержит часть заголовка и часть сообщения, причем упомянутая часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных, при этом упомянутый, по меньшей мере, один бит также ассоциирован с информацией о размере упомянутого пакета данных.
Со вторым аспектом данного изобретения предлагается способ кодирования пакета данных, обладающего, по меньшей мере, одним битом для представления как информации о типе, так и информации о размере упомянутого пакета; также предлагается кодировщик для кодирования такого пакета данных; и предлагается устройство, содержащее кодировщик. Устройство кодирует пакет данных и отправляет его другому устройству для осуществления связи с упомянутым другим устройством.
С третьим аспектом данного изобретения предлагается способ обработки пакетов данных, принимаемых от второго устройства первым устройством. Пакет данных содержит часть заголовка и часть сообщения. Часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных. Способ содержит этап, на котором получают информацию о размере упомянутого пакета данных, на основании упомянутого, по меньшей мере, одного бита, который используется для указания типа пакета данных.
Обладать информацией о размере пакета данных чрезвычайно полезно. Например, если передатчик не знает размер пакета данных, то передатчик не знает, закончен или нет пакет данных, и не может определить местоположение различных частей пакета данных. Первым устройством может быть реализовано множество разных действий, только когда получена информация о размере пакета данных.
В контексте данного изобретения, поскольку иногда, фиксированными частями являются части отличные от части сообщения пакета данных, заданные стандартом подобны протоколу, то размер пакета данных зависит от размера части сообщения пакета данных. Другими словами, как только известен размер части сообщения, то сразу может быть известен размер пакета данных, и наоборот.
В соответствии с вариантом осуществления изобретения, способ может дополнительно содержать этап, на котором идентифицируют упомянутую часть сообщения в упомянутом пакете данных в соответствии с полученной информацией о размере.
В соответствии с вариантом осуществления изобретения, упомянутый пакет данных дополнительно содержит часть контрольной суммы, указывающую первое значение для проверки корректности пакета данных. Местоположение части контрольной суммы может определяться в соответствии с полученной информацией о размере. Способ дополнительно содержит этап, на котором вычисляют второе значение, при помощи идентифицированной части сообщения; и этап на котором определяют, корректен или нет упомянутый пакет данных, посредством сравнения упомянутого первого значения с упомянутым вторым значением.
Если этап определения определяет, что пакет данных некорректен; то способ дополнительно содержит этап, на котором отбрасывают упомянутый пакет данных.
В соответствии с вариантом осуществления изобретения, упомянутый пакет данных ассоциируется с пакетом неизвестного типа, который указывается упомянутым, по меньшей мере, одним битом.
Обычно, протокол, например стандарт, задает множество разных типов пакетов данных для передачи между двумя устройствами разного рода информации. По некоторым причинам, например для того, чтобы предоставить возможность задания в будущем некоторых новых типов сообщений, в предыдущей версии протокола некоторые значения битов, используемых для указания типа пакета данных, являются зарезервированными на будущее. Каким образом задать и использовать эти зарезервированные значения на момент определения предшествующей версии протокола неизвестно; и эти зарезервированные значения, возможно, будут заданы (т.е. ассоциированы с конкретным типом пакета) в будущей версии протокола, например в модернизированной версии. По-новому заданный пакет, который отправляется устройством нового поколения, рассматривается как пакет неизвестного типа, когда он принимается устройством старого поколения.
В контексте данного изобретения, если устройство, принимающее пакет данных, знает какого типа данный пакет, т.е. часть заголовка ассоциирована с пакетом известного типа, то данный пакет данных именуется как «пакет известного типа»; а если устройство, принимающее пакет, не знает, какого типа данный пакет, т.е. часть заголовка в соответствии со сведениями данного устройства ассоциирована с неизвестным типом, то данный пакет данных именуется как «пакет неизвестного типа». Например, если часть заголовка для указания информации о типе составляет один байт, из которого задан диапазон от 0 до 180, а диапазон от 181 до 256 зарезервирован для будущего использования, то пакет данных, который имеет байт заголовка со значением между 181 и 256, именуется пакетом неизвестного типа.
Пакет неизвестного типа может приниматься, например, если устройство, которое отправляет пакет, является устройством нового поколения, в котором заданы некоторые новые типы пакетов, тем не менее, устройство, которое принимает пакет, является устройством старого поколения, в котором эти новые типы, заданные в новом поколении, являются незаданными/зарезервированными в старом поколении.
Обычно, когда устройство старого поколения принимает пакет неизвестного типа, то оно незамедлительно отбрасывает данный пакет, поскольку никто не реализовал то, что существует потребность в дополнительной информации пакета неизвестного типа. Тем не менее, авторы данного изобретения выяснили, что будет полезно получить информацию о размере такого пакета неизвестного типа.
Вследствие этого, в соответствии с вариантом осуществления изобретения, раскрывается способ получения информации о размере пакета данных неизвестного типа. При помощи информации о размере такого пакета неизвестного типа, устройством, принимающим данный пакет неизвестного типа, могут быть реализованы некоторые полезные этапы.
В соответствии с вариантом осуществления данного изобретения, первое устройство соответствует передатчику, второе устройство соответствует приемнику, передатчик передает энергию приемнику индуктивно; и приемник отправляет пакет данных посредством модулирования отбираемой у упомянутого передатчика энергии. Если пакет данных ассоциирован с неизвестным типом пакета в соответствии с, по меньшей мере, одним битом, и если этап определения определяет, что пакет данных некорректен; то способ дополнительно содержит этап прекращения передачи энергии приемнику.
С четвертым аспектом данного изобретения предлагается первое устройство для обработки пакета данных, принимаемого от второго устройства. Пакет данных содержит часть заголовка и часть сообщения. Часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных. Первое устройство содержит первый модуль для получения размера упомянутого пакета данных, на основании упомянутого, по меньшей мере, одного бита.
В соответствии с вариантом осуществления данного изобретения первое устройство дополнительно содержит второй модуль для идентификации упомянутой части сообщения в упомянутом пакете данных в соответствии с полученной информацией о размере.
В соответствии с вариантом осуществления данного изобретения, в котором упомянутый пакет данных дополнительно содержит часть контрольной суммы, указывающую первое значение, первое устройство дополнительно содержит третий модуль для вычисления второго значения при помощи упомянутой идентифицированной части сообщения, и четвертый модуль для определения того, корректен или нет упомянутый пакет данных, посредством сравнения упомянутого второго значения с упомянутым первым значением. Второй модуль вычисляет второе значение в соответствии с алгоритмом исключающего-ИЛИ.
В соответствии с вариантом осуществления данного изобретения, первое устройство дополнительно содержит пятый модуль для отбрасывания пакета данных, когда определено, что пакет данных некорректен.
В соответствии с вариантом осуществления данного изобретения, в котором первое устройство соответствует передатчику, а второе устройство соответствует приемнику, причем передатчик передает энергию приемнику индуктивно; приемник отправляет пакет данных посредством модулирования отбираемой у упомянутого передатчика энергии; и пакет данных ассоциирован с пакетом неизвестного типа в соответствии с упомянутым, по меньшей мере, одним битом. Первое устройство дополнительно содержит шестой модуль для прекращения передачи энергии, когда определено, что пакет данных некорректен.
С пятым аспектом данного изобретения предлагается пакет данных. Пакет данных содержит часть заголовка и часть сообщения, причем часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных, и, по меньшей мере, один бит также ассоциирован с информацией о размере упомянутого пакета данных. Пакет данных также может содержать часть контрольной суммы для проверки того, корректен или нет пакет данных.
Эти и другие характеристики, признаки и преимущества настоящего изобретения станут очевидны из нижеследующего подробного описания, рассматриваемого совместно с сопроводительными чертежами, которые иллюстрируют, в качестве примера, принципы изобретения. Описание дано исключительно в качестве примера, не ограничивая объем изобретения.
Упоминаемые ниже ссылочные Фигуры относятся к прилагаемым чертежам.
Перечень фигур чертежей
Изобретение в качестве примера и более подробно объясняется со ссылкой на сопроводительные чертежи, в которых:
Фиг.1 показывает блок-схему в соответствии с вариантом осуществления данного изобретения;
Фиг.2 изображает пример структуры пакета 200 данных;
Фиг.3 иллюстрирует структурную схему первого устройства 300.
Пунктирные линии на Фигурах указывают соответствующие этапы или блоки, которые являются опциональными; в некоторых вариантах осуществления, они могут быть опущены.
Во всех вышеупомянутых чертежах понимается, что подобные цифровые обозначения относятся к подобным, аналогичным или соответствующим признакам или функциям.
Подробное описание
С первым аспектом настоящего изобретения предлагается пакет данных, содержащий часть заголовка и часть сообщения. Часть заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных, и, по меньшей мере, один бит также ассоциирован с информацией о размере пакета данных.
Таким образом, информация о размере пакета данных может быть закодирована в часть заголовка ограниченного размера упомянутого пакета данных и получена устройством, принимающим пакет данных. Дополнительных специальных битов для указания информации о размере пакета данных не существует.
Предлагается кодировщик для кодирования такого пакета данных. Кодировщик может быть реализован посредством аппаратного или программного обеспечения, или их сочетанием. Например, он может быть реализован посредством памяти, хранящей в себе набор команд, или посредством процессора или микросхемы, и т.д.
Предлагается устройство, содержащее вышеупомянутый кодировщик, при этом устройство, содержащее модуль для отправки пакета данных другому устройству.
Ассоциация между информацией о размере и частью заголовка может быть реализована посредством введения поисковой таблицы, хранящейся в устройстве, принимающем пакет данных. Поисковая таблица перечисляет биты, которые используется для указания типа пакета данных и информации о размере данного типа пакета данных.
Как указано выше, во многих случаях, поскольку часть сообщения является единственной частью, чей размер может отличаться в зависимости от типа, то размер части сообщения (также именуемый как «длина части сообщения») является единственной информацией о размере, которую требуется закодировать.
Для указания информации о размере может использоваться концепция размерных классов, при этом размерный класс является рядом из типов пакетов, все из которого имеют одинаковый размер. Например, размерный класс 1 означает, что часть сообщения состоит из одного байта, а размерный класс 7 означает, что часть сообщения состоит из 7 байтов. Предполагая, что часть заголовка имеет один байт, это обеспечивает 256 размерных классов, где каждый размерный класс может иметь 1...256 пакетов (с ограничением, что суммарное число пакетов не превышает 256).
Таблица 1 показывает пример данного варианта реализации. Должно быть отмечено, что для реализации данного изобретения из таблицы 1 требуются только столбец 1 и столбец 2. Столбец 3 не нужен для этапа ассоциирования информации о размере с частью заголовка; он используется только в целях иллюстрации концепции изобретения.
Как показано в таблице 1, части заголовка со значениями от 0x00 до 0x0F отражает длину сообщения размерного класса 1, что означает, что тип пакета, представленный любой частью заголовка со значениями от 0x00 до 0x0F, имеют часть сообщения состоящую из 1 байта. Таким образом, устройство, принимающее пакет данных, может получить информацию о размере пакета данных из таблицы 1.
Из таблицы 1, может быть видно, что с информацией о размере ассоциирован как заданный тип, так и зарезервированный тип. Вследствие этого, устройство, принимающее пакет неизвестного типа, также может получить информацию о размере такого пакета неизвестного типа; и если требуется задать новый тип пакета с 7-байтовой частью сообщения в модернизированной (будущей) версии протокола, то можно выбрать любой из зарезервированных типов пакета в группе размерного класса 7, т.е. часть заголовка выбранного типа пакета, имеющего 7-байтовую часть сообщения, должна находиться в диапазоне значений между 0x52 и 0x57. В результате, несмотря на то, что устройство старой версии не знает вновь заданный тип пакета исходя из поисковой таблицы старой версии, однако устройство старой версии может получить информацию о размере данного неизвестного (незаданного) пакета. Например, применительно к байту 0x1F заголовка, несмотря на то, что таблица 1 показывает, что пакет является «зарезервированным» типом пакета, размер его части сообщения может быть получен, и будет равен 2.
Это гарантирует восходящую совместимость с будущими версиями, без внесения изменений в существующий размер и структуру пакета.
Таблица 1 | ||
Столбец 1 | Столбец 2 | Столбец 3 |
Байт заголовка | Размерный класс | Тип пакета |
0x00 | 1 | Зарезервирован |
0x01 | 1 | Мощность сигнала |
0x02 | 1 | Конец Передачи Энергии |
… | ||
0x05 | 1 | Состояние Зарядки |
0x06 | 1 | Зарезервирован |
… | 1 | Зарезервирован |
0x0F | 1 | Зарезервирован |
0x10 | 2 | Зарезервирован |
… | 2 | Зарезервирован |
0x1F | 2 | Зарезервирован |
… | ||
0x50 | Зарезервирован | |
0x51 | 7 | Идентификация |
0x52 | 7 | Зарезервирован |
… | 7 | Зарезервирован |
0x57 | 7 | Зарезервирован |
… | ||
0xFC | 31 | Зарезервирован |
0xFD | 31 | Зарезервирован |
0xFE | 32 | Зарезервирован |
0xFF | 32 | Зарезервирован |
Поскольку это потребует существенного пространства для хранения таблицы, которая ассоциирует информацию о размере пакета данных с частью заголовка (такой как таблица 1), то в преимущественном варианте реализации, информация о размере может вычисляться из части заголовка при помощи простой формулы, т.е., ассоциируя информацию о размере с частью заголовка через формулу, например формулу вида: заголовок/8+1, где деление является целочисленным делением (т.е. отбрасывая любой ненулевой остаток); что означает для заголовка с одним байтом для указания типа пакета данных, причем заголовка, обладающего 256 разными значениями, представляющими собой 256 типов, что данная формула обеспечивает 32 размерных класса, каждый из которых имеет 8 возможных типов пакетов. Например, если заголовок равен: 0x52, тогда информация о размере должна быть: 0x52/8+1=11, что означает, например, что часть сообщения составляет 11 байтов.
Формула может отличаться на основании того как много требуется размерных классов и как много типов пакетов требуется для каждого размерного класса.
Без потери универсальности, в нижеследующем, устройство, принимающее пакет данных, именуется как первое устройство, а устройство для отправки пакета данных именуется как второе устройство. Первое устройство и второе устройство могут быть любыми устройствами, до тех пор, пока второе устройство может отправлять данные первому устройству, а первое устройство может принимать данные и интерпретировать данные таким образом, чтобы выполнять заранее определенное действие в соответствии с принятыми данными. Способы и первое устройство для обработки пакетов данных здесь проиллюстрированы подробно в качестве примера, не накладывая ограничений на объем правовой охраны данного изобретения.
Фиг.1 показывает блок-схему способа обработки пакета данных первым устройством в соответствии с вариантом осуществления данного изобретения.
Фиг.2 показывает пример структуры пакета 200 данных. Пакет 200 данных состоит из четырех частей, а именно, части 201 преамбулы, части 202 заголовка, части 203 сообщения и части 204 контрольной суммы. Часть 201 преамбулы сигнализирует начало пакета данных. Часть 202 заголовка указывает тип и размер пакета данных. Часть 203 сообщения несет в себе сообщение, которое второе устройство намеревается передать первому устройству. Часть 204 контрольной суммы предназначена использоваться посредством первого устройства для проверки того, корректен или нет пакет 200 данных.
Первая часть, которая следует за преамбулой 201, является частью 202 заголовка. Часть 202 заголовка используется для указания типа пакета 200 данных; в сценарии данного изобретения, предполагается, что часть заголовка должна быть небольшой; она составляет, например, всего 8 бит (1 байт).
За частью 202 заголовка следует часть 203 сообщения. Часть 203 сообщения состоит из нескольких бит для переноса сообщения. Как указано выше, для различных типов пакетов данных размер части сообщения может быть разным. Некоторым типам пакета может потребоваться всего лишь 1 байт в качестве части сообщения, в то время как другим типам пакета для переноса сообщения может потребоваться намного больше, чем 1 байт.
Фиг.3 схематически иллюстрирует структурную схему первого устройства 300.
Теперь, обращаясь к Фиг.1-3, первое устройство 300 содержит память 307 для хранения пакета 200 данных, который принят от второго устройства. Принятый пакет 200 данных содержит часть 202 заголовка и часть 203 сообщения. Часть 202 заголовка содержит, по меньшей мере, один бит для указания типа упомянутого пакета данных, например часть 202 заголовка состоит из 1 байта (b0, b1, …, b7) для указания типа пакета 200 данных. Первое устройство 300 содержит первый модуль 301 для выполнения этапа 101 по получению информации о размере упомянутого пакета 200 данных на основании b0~b7.
Опционально, этап 101 получения может выполняться посредством проверки поисковой таблицы, ассоциирующей b0~b7 с информацией о размере пакета 200. Поисковая таблица должна быть заранее сохранена на первом устройстве 300. Примером такой поисковой таблицы являются столбец 1 и столбец 2 таблицы 1. Например, в соответствии с таблицей 1, применительно к значению 0xFC, размер части сообщения принадлежит классу 31, что означает, например, что часть сообщения содержит 31 байт.
Преимущественно, этап 101 получения может выполняться посредством вычисления размера пакета на основании значения части 202 заголовка в соответствии с заранее определенной формулой, которая заранее сохранена в первом устройстве 300.
Таблица 2 показывает пример заранее сохраненных формул для вычисления размера пакета (размера части сообщения) в соответствии со значением части 202 заголовка.
Таблица 2 | |
Заголовок | Размер Сообщения |
0x00~0x1F | 1+(заголовок-0)/32 |
0x20~0x7F | 2+(заголовок-32)/16 |
0x80~0xDF | 8+(заголовок-128)/8 |
0xE0~0xFF | 20+(заголовок-224)/4 |
Как показано в таблице 2, применительно к части заголовка со значениями от 0x20 до 0x7F, формулой для вычисления размера части сообщения является (2+(заголовок-32)/16). Например, если часть 202 заголовка имеет значение 0x52, то размер части сообщения пакета 200 должен быть: 2+(0x52-32)/16=2+(82-32)/16=5, что означает, что размер части сообщения пакета 200 составляет 5 байтов (40 бит).
Знание информации о размере пакета 200 данных помогает идентифицировать (определить местоположение) различных частей пакета.
Преимущественно первое устройство 300 может содержать второй модуль 302 для выполнения этапа 102 идентификации упомянутой части сообщения в упомянутом пакете данных в соответствии с полученной информацией о размере. Как результат, может быть определено какие биты принадлежат части 203 сообщения, а какие биты принадлежат части контрольной суммы. Другими словами, может быть определено местоположение части сообщения.
Когда определяется местоположение других частей пакета данных, тогда первое устройство 300 имеет возможность дополнительно выполнить некоторые действия. Например, зная какие биты принадлежат байту контрольной суммы, первое устройство затем способно проверить корректность принятого пакета 200 данных.
Преимущественно, первое устройство 300 содержит третий модуль 303 для выполнения этапа 103 по вычислению второго значения в соответствии с идентифицированной частью сообщения; четвертый модуль 304 для выполнения этапа 104 по определению того, корректен или нет упомянутый пакет данных, посредством сравнения первого значения, указанного частью 204 контрольной суммы, с вычисленным вторым значением.
Часть контрольной суммы имеет элемент данных фиксированного размера вычисленный из произвольного блока цифровых данных с целью обнаружения случайных ошибок, которые могут быть внесены во время передачи или хранения пакета. Целостность пакета данных может быть проверена в любой последующий момент времени посредством повторного вычисления значения контрольной суммы и сравнения ее с сохраненным значением. Если контрольные суммы не совпадают, то данные почти наверняка были изменены (либо умышленно, либо непреднамеренно). Процедура, которая получает контрольную сумму из данных, именуется функцией вычисления контрольной суммы или алгоритмом вычисления контрольной суммы. Хороший алгоритм вычисления контрольной суммы получит с высокой вероятностью другой результат, когда данные случайно повреждены; если контрольные суммы совпадают, то с высокой вероятностью в данных отсутствуют случайные ошибки.
Часть 204 контрольной суммы содержит, например, один байт, указывающий первое значение для проверки того, корректен или нет пакет 200 данных, т.е. проверки того, были или нет корректно приняты данные пакета 200, после того как пакет 200 принят первым устройством от второго устройства.
Для определения того, является ли пакет 200 корректным, сначала первое устройство должно получить первое значение из части 204 контрольной суммы. Поскольку часть 204 контрольной суммы следует за частью 203 сообщения, то местоположение байта 204 контрольной суммы может быть определено, как только определено местоположение части 203 сообщения.
Первое значение, представляемое байтом 204 контрольной суммы, вычисляется в соответствии с заранее определенным алгоритмом посредством второго устройства и добавляется в пакет 200 в качестве байта контрольной суммы до того, как пакет 200 отправлен первому устройству 300. Если первое устройство 300 вычисляет второе значение в соответствии с тем же самым заранее определенным алгоритмом, то второе значение должно быть точно таким же, как и первое значение. Если два значения контрольных сумм одинаковы, то пакет 200 был передан корректно, т.е. пакет 200 корректен; тем не менее, если они не одинаковы, то во время передачи пакета произошла ошибка передачи.
Существует множество алгоритмов для вычисления первого и второго значения, например продольная проверка по четности, которая разбивает данные на «слова» с фиксированным количеством n битов, а затем вычисляет исключающее-ИЛИ (именуемое как XOR) всех этих слов. Результат прикрепляется к пакету в качестве дополнительного слова. Для проверки целостности сообщения, первое устройство вычисляет исключающее-ИЛИ всех своих слов (байта заголовка, части сообщения, и байта контрольной суммы); если результат не является словом с n нулями, то первое устройство знает, что произошла ошибка передачи.
В качестве примера, алгоритм следующий: байт заголовка XOR 1-ый байт сообщения XOR 2-ой байта сообщения XOR ... XOR последний байт сообщения. Рассмотрим, например, последовательность байтов 0x23 0x10 0x35 0x06 0x45. Пакет начинается с первого байта последовательности, т.е. байтом заголовка является 0x23. Это означает, что размер сообщения в пакете равен 2 байтам, в соответствии с таблицей 2, т.е. 0x10 0x35. Байт, следующий за сообщением, является контрольной суммой, т.е. 0x06, которая вычисляется как 0x23 XOR 0x10 XOR 0x35. Последний байт в последовательности (т.е. 0x45) фактически не является частью пакета (и должен быть отброшен передатчиком).
В качестве альтернативы, могут использоваться любые другие известные алгоритмы вычисления контрольной суммы.
Преимущественно, первое устройство дополнительно содержит пятый модуль 305 для выполнения этапа 105 по отбрасыванию упомянутого пакета 200 данных, когда четвертый модуль 304 определяет, что пакет 200 данных некорректен.
Поскольку было проверено, что пакет 200 некорректен, то передатчик должен отбросить пакет данных и ожидать следующего пакета данных, вне зависимости от того, является ли принятый пакет данных пакетом известного типа или пакетом неизвестного типа.
Если часть 202 заголовка соответствует пакету неизвестного типа, то это означает, что первое устройство 300 не знает, каким типом является пакет 200 данных, и вследствие этого первое устройство 300 не может использовать данный пакет данных. В данном случае, первое устройство должно отбросить принятый пакет 200 данных вне зависимости от того корректен или некорректен пакет, чтобы гарантировать, то что первое поколение, например, передатчика останется совместимым с будущими поколениями приемников.
Преимущественно, первое устройство 300 соответствует передатчику, второе устройство соответствует приемнику. Передатчик содержит одну или более первичные катушки индуктивности, которые связаны с одной или более вторичными катушками индуктивности приемника. Первичная катушка индуктивности используется с AC источником питания, чтобы генерировать магнитное поле, которое индуцирует напряжение во вторичной катушке индуктивности; таким образом, передатчик может передавать энергию приемнику. Когда передатчик применяет энергию к приемнику, приемник может отправить пакет 200 данных посредством модуляции отбираемой у упомянутого передатчика энергии, т.е. посредством изменения величины энергии потребляемой из упомянутого передатчика. Первое устройство 300 дополнительно содержит шестой модуль 306 для выполнения этапа 106 по прекращению передачи энергии, когда четвертый модуль 304 определяет, что пакет данных некорректен. Если пакет 200 данных отправлен таким образом, то некорректность пакета 200 данных указывает на присутствие проблемы в передаче энергии, поскольку пакет данных модулируется по электрическому сигналу.
Существуют многочисленные способы реализации функций посредством элементов аппаратного, или программного обеспечения, или их сочетания. В этом отношении, чертежи являются всего лишь иллюстративными, и каждый представляет только один возможный вариант осуществления изобретения. Например, упомянутый выше модуль 301, 302, 303, 304, 305, 306 может быть реализован посредством одного или множества запоминающих устройств, хранящих различные наборы команд. Эти модули также могут быть реализованы посредством одной, или множества печатных плат, или посредством одного или множества процессоров.
Должно быть отмечено, что описанные выше варианты осуществления представлены для описания, нежели с целью ограничить изобретение, и должно быть понятно, что могут быть выполнены модификации и вариации, не отступая от сущности и объема изобретения, как легко понимают специалисты в соответствующей области. Такие модификации и вариации рассматриваются как находящиеся в рамках объема изобретения и прилагаемой формулы изобретения. Объем правовой охраны изобретения определяется сопроводительной формулой изобретения. В дополнение, любые цифровые обозначения в формуле изобретения не должны трактоваться как ограничение формулы изобретения. Использование глагола «содержащий» и его спряжений не исключает наличие элементов или этапов, отличных от тех, что заявлены в пункте формулы изобретения. Указания на единственное число, предшествующие элементу или этапу, не исключают наличия множества таких элементов или этапов.
1. Способ обработки пакета данных, содержащего часть, соответствующую заголовку, и часть, соответствующую сообщению, причем упомянутая часть, соответствующая заголовку, содержит по меньшей мере один бит для указания типа упомянутого пакета данных, при этом способ содержит этап, на котором:получают (101) информацию о размере упомянутого пакета данных на основе упомянутого по меньшей мере одного бита, причем этот по меньшей мере один бит содержится в байте, имеющем значение x, относящееся к размеру упомянутой части, соответствующей сообщению, согласно следующей таблице:
2. Способ по п. 1, дополнительно содержащий этап, на котором идентифицируют (102) упомянутую часть, соответствующую сообщению, в упомянутом пакете данных в соответствии с полученной информацией о размере.
3. Способ по п. 2, в котором упомянутый пакет данных дополнительно содержит часть, соответствующую контрольной сумме, которая указывает первое значение; при этом упомянутый способ дополнительно содержит этапы, на которых:вычисляют (103) второе значение в соответствии с упомянутой идентифицированной частью, соответствующей сообщению;определяют (104), корректен ли упомянутый пакет данных или нет, путем сравнения упомянутого второго значения с упомянутым первым значением.
4. Способ по п. 3, в котором на упомянутом этапе вычисления вычисляют второе значение в соответствии с алгоритмом исключающего - ИЛИ.
5. Способ по п. 3, в котором, если на упомянутом этапе определения определено, что упомянутый пакет данных некорректен, то упомянутый способ дополнительно содержит этап, на котором отбрасывают (105) упомянутый пакет данных.
6. Способ по любому из пп. 1-5, в котором упомянутый пакет данных ассоциирован с неизвестным типом пакета в соответствии с упомянутым по меньшей мере одним битом.
7. Способ по п. 3, в котором упомянутый пакет данных принимается передатчиком от приемника и ассоциирован с неизвестным типом пакета в соответствии с упомянутым по меньшей мере одним битом, причем передатчик передает энергию приемнику индуктивно; приемник отправляет упомянутый пакет данных посредством модуляции энергии, отбираемой от передатчика; при этом, если на упомянутом этапе определения определено, что упомянутый пакет данных некорректен, то упомянутый способ дополнительно содержит этап, на котором прекращают (106) передачу энергии приемнику.
8. Устройство (300) для обработки пакета данных, содержащего часть, соответствующую заголовку, и часть, соответствующую сообщению, причем упомянутая часть, соответствующая заголовку, содержит по меньшей мере один бит для указания типа упомянутого пакета данных, при этом упомянутое устройство содержит:первый модуль (301) для получения информации о размере упомянутого пакета данных на основе упомянутого по меньшей мере одного бита, причем этот по меньшей мере один бит содержится в байте, имеющем значение x, относящееся к размеру упомянутой части, соответствующей сообщению, согласно следующей таблице: