УСТРОЙСТВО И СПОСОБ ИНТЕРФЕЙСА С ВЫСОКОЙ СКОРОСТЬЮ ПЕРЕДАЧИ ДАННЫХ
DEVICE AND METHOD OF INTERFACE WITH HIGH DATA TRANSFER RATE

Притязание на приоритет
Настоящая заявка на патент притязает на приоритет предварительной заявки на патент США № 60/554309 от 17 марта 2004 г., имеющей название "Switchable Threshold Differential Interface", и заявки США № 60/556345 от 24 марта 2004 г., имеющей название "Switchable Threshold Differential Interface", права на обе из которых принадлежат заявителю настоящего изобретения и тем самым в явном виде включены сюда путем ссылки.
Предпосылки создания изобретения
Область техники
Варианты осуществления настоящего изобретения, раскрытые в этом описании, относятся к протоколу цифрового сигнала, к способу и к устройству, содержащему интегральные микросхемы и компоненты, предназначены для поддержания связи или для передачи сигналов между главным устройством и клиентским устройством с высокими скоростями передачи данных. В частности, раскрытие изобретения относится к способу передачи мультимедийных цифровых сигналов и цифровых сигналов иных типов из главного или управляющего устройства в клиентское устройство для их воспроизведения или отображения для конечного пользователя с использованием маломощного средства передачи данных с высокой скоростью, имеющего внутренние и внешние области применения устройства.
Уровень техники
За несколько последних лет произошел существенный прогресс в области компьютеров, продукции, связанной с электронными играми, и в различных видеотехнологиях (например, универсальные цифровые диски (DVD) и видеомагнитофоны с высокой четкостью изображения), обеспечивающий воспроизведение неподвижных, видео, видео, предоставляемых по заказу (video-on-demand), и графических изображений с все более и более высокой разрешающей способностью даже в том случае, когда эти изображения содержат некоторые типы текста, конечным пользователям такого оборудования. Этот прогресс, в свою очередь, вынудил использовать электронные воспроизводящие устройства с более высокой разрешающей способностью, например мониторы высокой четкости, телевизионные мониторы высокой четкости, ТВЧ (HDTV), или специализированные компоненты для проецирования изображений. Объединение таких визуально воспринимаемых изображений со звуковыми данными высокой четкости или высокого качества, например, при использовании устройств воспроизведения звука с компакт-дисков (CD), с универсальных цифровых дисков (DVD), устройств объемного звучания и иных устройств, также имеющих соответствующие выходы для звукового сигнала, используют для создания более реалистичного, содержательного или правильного восприятия мультимедийной информации для конечного пользователя. Кроме того, были разработаны высокомобильные, высококачественные акустические системы и музыкальные транспортные механизмы, например устройства воспроизведения звуковых файлов в формате MP3 (MP3-плейеры), предназначенные только для воспроизведения звука для конечных пользователей. Это привело к возросшим ожиданиям у типичных пользователей серийно выпускаемых электронных устройств, от компьютеров до телевизоров и даже телефонов, привыкающих теперь к высококачественной продукции или продукции еще более высокого качества и ожидающих ее появления.
В типичном сценарии воспроизведения видеоинформации с применением изделия электронной промышленности передачу видеоинформации обычно осуществляют с использованием современных способов со скоростями передачи от одного до десятков килобит в секунду, которую наилучшим образом можно именовать медленной или средней. Эти данные затем либо буферизуют, либо запоминают в запоминающих устройствах для временного хранения данных или в запоминающих устройствах для более долговременного хранения данных для последующего проигрывания на желательном просмотровом устройстве. Например, изображения могут быть переданы "через" или используя сеть Интернет с использованием программы, находящейся в компьютере, имеющем модем или устройство соединения с сетью Интернет иного типа для приема или передачи данных, пригодных для цифрового представления изображения. Аналогичная передача может иметь место при использовании беспроводных устройств, например портативных компьютеров, снабженных беспроводными модемами, беспроводных персональных информационных устройств (PDAs) или телефонов беспроводной связи.
После того как данные приняты, производят их локальное запоминание в запоминающих элементах, схемах или устройствах, например в оперативном запоминающем устройстве (ОЗУ) или во флэш-памяти, в том числе во внутренних или во внешних запоминающих устройствах, например в малогабаритных накопителях на жестких дисках, для воспроизведения. В зависимости от объема данных и разрешающей способности изображения воспроизведение может быть начато либо сравнительно быстро, либо с длительной задержкой. Таким образом, в некоторых случаях воспроизведение изображения позволяет в определенной степени осуществлять воспроизведение в реальном масштабе времени для изображений с очень малой или низкой разрешающей способностью, не требующих большого объема данных, или с использованием какого-либо типа буферизации для того, чтобы произвести воспроизведение некоторого материала после небольшой задержки во время того, как производят передачу большей части этого материала. При условии отсутствия перерывов в канале передаче или помех от других систем или абонентов для используемого канала передачи, после начала воспроизведения передача является достаточно прозрачной для конечного пользователя просмотрового устройства. Естественно, в том случае, когда один канал связи, например проводное соединение с сетью Интернет, совместно используется множеством пользователей, передачи могут прерываться или могут быть более медленными, чем требуется.
Данные, используемые для создания неподвижных изображений или движущихся видеоизображений, часто являются сжатыми с использованием одного из нескольких известных способов, например стандартов, установленных Объединенной экспертной группой в области фотографии (JPEG), Экспертной группой по вопросам движущихся изображений (MPEG) и иными известными организациями по стандартизации или компаниями в области средств массовой информации, компьютерной промышленности и промышленности средств связи для ускорения передачи данных по линии связи. Это позволяет осуществлять передачу изображений или данных быстрее за счет использования меньшего количества битов для передачи заданного объема информации.
После того как данные переданы в "локальное" устройство, например в компьютер, имеющий средство хранения, например запоминающее устройство, либо магнитные или оптические запоминающие элементы, или в иные устройства-получатели, результирующую информацию распаковывают (или воспроизводят с использованием специальных декодирующих устройств воспроизведения) и при необходимости декодируют и подготавливают к надлежащему воспроизведению на основании соответствующей разрешающей способности, доступной при воспроизведении, и управляющих элементов. Например, типичная разрешающая способность видеоинформации для компьютера, выраженная в единицах разрешающей способности экрана X на Y элементов изображения, обычно принимает значения в интервале от низкой разрешающей способности, равной 480×640 элементов изображения, через 600×800 до 1024×1024 элементов изображения, хотя, как правило, возможно множество других значений разрешающей способности, которые являются либо желательными, либо необходимыми.
На воспроизведение изображения также оказывает влияние содержимое изображения и способность конкретных видеоконтроллеров производить манипуляции с изображением с точки зрения определенных заранее заданных уровней цвета или глубины цвета (количества битов на элемент изображения, используемого для генерации цветов) и интенсивностей и любых дополнительно используемых служебных битов. Например, при типичном воспроизведении на компьютере ожидают наличия приблизительно от 8 до 32 или более битов на элемент изображения для отображения различных цветов (полутонов и оттенков), хотя встречаются и другие значения.
Из приведенных выше значений видно, что для заданного изображения, выводимого на экран, потребуется передача от приблизительно 2,45 мегабит (Мб) до приблизительно 33,55 Мб данных в диапазоне от соответственно самых низких до самых высоких типичных значений разрешающей способности и глубины цвета. При просмотре видеоинформации или движущихся изображений с частотой 30 кадров в секунду требуемый объем данных составляет, приблизительно, от 73,7 до 1006 мегабит данных в секунду (Мб/с), или приблизительно от 9,21 до 125,75 мегабайт в секунду (МБ/с). Кроме того, может быть выражено желание воспроизвести звуковые данные вместе с изображениями, например, для воспроизведения мультимедийной информации или в качестве самостоятельного воспроизведения звука с высоким качеством, например музыки с таким же качеством звучания, как на компакт-диске (CD). Также могут быть использованы дополнительные сигналы, связанные с интерактивными командами, средствами управления или сигналами. Каждая из этих возможностей добавляет еще больший объем данных, подлежащих передаче. Кроме того, более новые технологии передачи, в том числе программ телевидения высокой четкости (ТВЧ) и записей кинофильмов, могут добавлять еще больший объем данных и управляющей информации. В любом случае, когда кто-либо желает осуществить передачу данных об изображении с высоким качеством или с высоким разрешением и высококачественную звуковую информацию или информационные сигналы конечному пользователю для создания восприятия с богатым информационным наполнением, то необходимо наличие линии связи с высокой скоростью передачи данных между узлами, обеспечивающими воспроизведение, и источником или главным устройством, которое сконфигурировано таким образом, что предоставляет данные таких типов.
Некоторые современные последовательные интерфейсы могут обычно работать со скоростями передачи данных приблизительно 115 килобайт в секунду (КБ/с), или 920 килобит в секунду (Кбит/с). Другие интерфейсы, например последовательные интерфейсы универсальной последовательной шины (USB), могут быть приспособлены для передачи данных со скоростями передачи до 12 мегабайт в секунду (МБ/с), а специализированные высокоскоростные передачи, например, те передачи, которые сконфигурированы с использованием стандарта IEEE 1394 Института инженеров по электронике и радиотехнике (IEEE), могут быть произведены со скоростями передачи порядка 100-400 мегабайт в секунду (МБ/с). К сожалению, эти скорости передачи оказываются недостаточными для получения рассмотренных выше желательных высоких скоростей передачи данных, которые предполагается использовать с будущими устройствами беспроводной передачи данных и для иных услуг для обеспечения выходных сигналов с высоким разрешением и богатым информационным наполнением для приведения в действие портативных устройств визуального отображения или звуковоспроизводящих устройств. Таким устройствами являются, в том числе, компьютеры для деловых и иных презентаций, игровые устройства и т.д. Кроме того, эти интерфейсы для своей работы требуют использования существенного объема программного обеспечения в главном устройстве или системного и клиентского программного обеспечения. Их программные протокольные стеки также создают нежелательно большое количество служебных данных и сигналов, в особенности, в том случае, когда предполагается использование мобильных беспроводных устройств или телефонов. Такие устройства имеют жесткие ограничения на емкость запоминающих устройств и на потребляемую мощность, а также на уже установленную производительность вычислений. Кроме того, некоторые из этих интерфейсов используют громоздкие кабели, которые являются слишком тяжелыми и не удовлетворяющими высоким эстетическим требованиям мобильных применений, сложные соединители, которые вносят дополнительную стоимость или просто потребляют слишком большую мощность.
Имеются другие известные интерфейсы, такие как, например, аналоговый графический видеоадаптер (AVGA), интерфейсы Digital Video Interactiv (DVI) или Gigabit Video Interface (GVIF). Первые два из них являются интерфейсами параллельного типа, которые обрабатывают данные с более высокими скоростями передачи, но также в них применяются тяжелые кабели, и они потребляют большую мощность порядка нескольких ватт. Ни одна из этих характеристик не позволяет использовать их в портативных бытовых электронных устройствах. Даже третий интерфейс имеет слишком большое потребление энергии, и в нем используют дорогие или громоздкие соединители.
Некоторые из вышеупомянутых интерфейсов и иных систем/протоколов передачи или средств передачи с очень высокими скоростями передачи данных, связанных с передачей данных для стационарного компьютерного оборудования, имеют другой основной недостаток. Адаптация к желательным скоростям передачи данных также требует существенных величин мощности и/или работы с высокими уровнями электрического тока. Это значительно уменьшает пригодность таких способов для продукции, ориентированной на высокомобильного потребителя.
Как правило, для адаптации к таким скоростям передачи данных с использованием альтернативных способов, которыми, например, являются соединения и передающие элементы оптоволоконного типа, также требуется несколько дополнительных преобразователей и элементов, наличие которых приводит к намного более высокой сложности и стоимости, чем те, которые являются желательными для коммерческой продукции, действительно ориентированной на потребителя. Помимо того, что пока еще оптические системы обычно являются дорогостоящими, потребляемая ими мощность и сложность препятствует их широкому использованию в легких, маломощных, портативных устройствах для прикладных задач.
Отрасль промышленности, производящая портативную, беспроводную или мобильную аппаратуру, нуждалась в способе, обеспечивающем высококачественное воспроизведение для его восприятия вне зависимости от того, основано ли оно на звуковой, видео или мультимедийной информации, для высокомобильных конечных пользователей. То есть при использовании портативных компьютеров, беспроводных телефонов, персональных информационных устройств (PDA) или иных устройств связи или оборудования, обеспечивающих очень высокую степень подвижности, используемые в настоящее время системы или устройства воспроизведения видеоинформации и звука просто не могут обеспечивать подачу выходных данных с желательным высоким уровнем качества. Недостаточное воспринимаемое качество часто является результатом недостижимости высоких скоростей передачи данных, необходимых для передачи данных, обеспечивающих высокое качество воспроизведения. Это может включать в себя как передачу данных в более высокопроизводительные, усовершенствованные или имеющие большое количество функциональных возможностей внешние устройства для их воспроизведения для конечного пользователя, так и передачу данных между главными и клиентскими устройствами, находящимися внутри портативных устройств, например компьютеров, игровых автоматов, и беспроводных устройств, например телефонных аппаратов мобильной связи.
В этом последнем случае были достигнуты большие успехи по добавлению внутренних видеоэкранов с все более и более высокой разрешающей способностью и иных специальных устройств ввода и/или вывода и соединений к беспроводным устройствам, таким как, например, так называемые телефонные аппараты третьего поколения, и к так называемым портативным компьютерам. Однако внутренние шины данных и соединения могут содержать соединения через вращающийся или скользящий шарнир или шарнироподобные конструкции, которые служат для прикрепления или присоединения видеоэкранов или иных элементов к основному корпусу, в котором расположены главный узел и/или различные иные управляющие элементы и узлы вывода. Обычно они представляют собой широкополосные интерфейсы или интерфейсы с высокой пропускной способностью. Используя способы из предшествующего уровня техники, в которых для достижения желательной пропускной способности, например, в беспроводном телефоне, который приведен в качестве одного из примеров, может потребоваться до 90 или более проводов, очень трудно создать интерфейсы для передачи данных с высокой пропускной способностью. Существующие в настоящее время решения обычно подразумевают использование интерфейсов параллельного типа с относительно высокими уровнями сигнала, которые могут приводить к более высокой стоимости, меньшей надежности межсоединений и к потенциальной возможности генерации излучений, которые могут мешать выполнению функций устройства. Это приводит к необходимости преодоления множества проблем, связанных с изготовлением, стоимостью и надежностью.
Такие проблемы и требования также видны и в случае стационарно установленного оборудования, где, в качестве одного из примеров, устройства связи или вычислительные устройства добавлены к бытовым приборам и к иным потребительским устройствам для обеспечения повышенной пропускной способности для данных, соединений с сетью Интернет и для передачи данных или встроенных развлечений. Другим примером являются самолеты и автобусы, в которых индивидуальные экраны для воспроизведения видеоинформации и звука вмонтированы в спинки кресел. Однако в этих ситуациях размещение основного запоминающего устройства, устройств обработки или блоков управления связью на расстоянии от видимых экранов или средств вывода звука при помощи соединительной линии связи или соединительного канала связи для воспроизведения информации часто является более удобным, эффективным и простым в обслуживании. Как описано выше, для достижения желательной пропускной способности эта линия связи должна обеспечивать транспортировку значительного объема данных.
Следовательно, необходим новый механизм передачи для увеличения пропускной способности между главными устройствами, предоставляющими данные, и клиентскими устройствами отображения или компонентами, воспроизводящими выходные данные для конечных пользователей.
Такие новые механизмы передачи были предложены заявителями в заявке на патент США № 10/020520 от 14 декабря 2001 г., которая теперь является патентом США № 6760772, выданным 6 июля 2004 г. Зу и др. (Zou et al.), и в заявке на патент США № 10/236657 от 6 сентября 2002 г., обе из которых имеют название "Generating And Implementing A Communication Protocol And Interface For High Data Rate Signal Transfer", при этом права на обе из них переданы заявителю настоящего изобретения, и они включены сюда путем ссылки. Также сюда включена заявка на изобретение США № 10/860116 от 2 июня 2004 г., имеющая название "Generating and Implementing a Signal Protocol and Interface for Higher Data Rates". Способы, описанные в этих заявках, могут обеспечить значительное повышение скорости передачи больших объемов данных в сигналах высокоскоростной передачи данных. Однако продолжается рост потребностей в постоянном увеличении скорости передачи данных, в особенности применительно к воспроизведению видеоинформации. Даже с учетом других непрерывных достижений в развитии технологии в области сигналов передачи данных по-прежнему существует необходимость стремления к еще более высоким скоростям передачи, к еще большей эффективности линий связи и к обеспечению более мощных линий связи. Следовательно, существует постоянная потребность в разработке нового или усовершенствованного механизма передачи, необходимого для увеличения пропускной способности между главным и клиентским устройствами.
Краткое изложение сущности изобретения
Варианты осуществления настоящего изобретения, в которых были разработаны новый протокол и средство передачи данных, способ и механизм передачи данных между главным устройством и клиентским устройством-получателем с высокими скоростями передачи данных, направлены на устранение вышеупомянутого недостатка и других недостатков, существующих в данной области техники.
Варианты осуществления настоящего изобретения направлены на создание цифрового интерфейса передачи данных для мобильных устройств (MDDI), предназначенного для передачи цифровых данных с высокой скоростью передачи между главным устройством и клиентским устройством по каналу связи, в котором используют множество или последовательность структур пакетов для формирования протокола связи для передачи заранее выбранного набора цифровых управляющих данных и данных, предназначенных для воспроизведения, между главным и клиентским устройствами. Протокол передачи сигналов или канальный уровень используется физическим уровнем контроллеров канала связи, приемников или формирователей, имеющихся в главном устройстве или в клиентском устройстве. По меньшей мере, один контроллер или формирователь канала связи, находящийся в главном устройстве, соединен с клиентским устройством через канал или линию связи и сконфигурирован таким образом, что осуществляет генерацию, передачу и прием пакетов, образующих протокол связи, и формирует из цифровых данных, предназначенных для воспроизведения, пакеты данных одного или большего количества типов. Интерфейс обеспечивает передачу информации в двух направлениях между главным устройством и клиентским устройством, оба из которых могут находиться внутри общего корпуса или несущей конструкции.
Обычно весь он реализован, по сути, в цифровом виде, за исключением формирователей и приемников дифференциального канала, которые могут быть легко реализованы на цифровой микросхеме с КМОП-структурой (структурой на основе комплементарного металло-оксидного полупроводника, CMOS), требующей всего лишь 6 сигналов и работающей почти при любой скорости передачи данных, которая является удобной для специалиста по разработке систем. Простой протокол физического и канального уровня облегчает интеграцию, и эта простота плюс наличие состояния "спячки" обеспечивает для портативной системы возможность иметь очень низкое энергопотребление системы.
Интерфейс лишь незначительно увеличивает стоимость устройства, предусмотрено очень небольшое его энергопотребление, при этом обеспечена способность подачи питания в устройства отображения через интерфейс с использованием стандартных напряжений аккумулятора, и он может быть приспособлен для устройств, имеющие форм-фактор, обеспечивающий возможность их ношения в кармане, что содействует использованию интерфейса и его одобрению потребителем. Интерфейс является масштабируемым для поддержки более высоких значений разрешающей способности, чем ТВЧ, обеспечивает поддержку одновременно видеоинформации со стереофоническим звуком и многоканального звука типа 7.1 для устройства отображения, выполняет условные обновления любой области экрана и обеспечивает поддержку передачи множества типов данных в обоих направлениях.
Согласно дальнейшим аспектам вариантов осуществления настоящего изобретения в клиентском устройстве расположен, по меньшей мере, один клиентский контроллер канала связи, приемник, устройство или формирователь, и он соединен с главным устройством через канал или линию связи. Контроллер канала связи клиентского устройства также выполнен таким образом, что способен осуществлять генерацию, передачу и прием пакетов, образующих протокол связи, и формирование из цифровых данных, предназначенных для воспроизведения, пакетов данных одного или большего количества типов. Для обработки пакетов данных, используемых в командах, или для определенных типов подготовки сигнала и обработки запросов главное устройство или контроллер канала связи обычно используют конечный автомат, но для манипуляций с данными и с некоторыми из менее сложных пакетов, используемых в протоколе связи, может быть использован более медленный универсальный процессор. Контроллер главного устройства содержит один или большее количество формирователей дифференциального канала, а приемник клиентского устройства содержит один или большее количество приемников дифференциального канала, соединенных с каналом связи.
Пакеты сгруппированы в кадрах с аудиовизуальной информацией, имеющих заранее заданную фиксированную длину и заранее заданное количество пакетов, имеющих различные переменные значения длины, передачу которых осуществляют между главным устройством и клиентским устройством. Каждый из пакетов содержит поле длины пакета, одно или большее количество полей данных пакета и поле контроля посредством циклического избыточного кода. В начале передач других пакетов из контроллера канала связи главного устройства передают или располагают пакет заголовка подкадра. В соответствии с протоколом связи для передачи данных, которые по своему типу относятся к видеоинформации, и данных, которые по своему типу относятся к звуковой информации, из главного устройства в клиентское устройство по линии прямой связи для их воспроизведения для пользователя клиентского устройства используют соответственно один или большее количество пакетов типа "поток видеоинформации" (Video Stream) и пакетов типа "поток звуковой информации" (Audio Stream). Для передачи данных из клиентского устройства в контроллер канала связи главного устройства в протоколе связи используют один или большее количество пакетов типа "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). В некоторых вариантах осуществления изобретения эти передачи содержат передачу данных из внутренних контроллеров, имеющих, по меньшей мере, одно устройство с интерфейсом MDDI, во внутренние видеоэкраны. Другие варианты осуществления изобретения содержат передачу данных во внутренние звуковые системы и передачи данных из различных устройств ввода, в том числе джойстиков и сложных клавиатур, во внутренние главные устройства.
Контроллер канала связи главного устройства осуществляет генерацию пакетов типа "заполнитель" (Filler) для того, чтобы занять ими те периоды передачи по линии прямой связи, в которых отсутствуют данные. Для передачи видеоинформации в протоколе связи используют множество других пакетов. Такими пакетами являются, в том числе, пакеты следующих типов: "карта цветов" (Color Map), "передача блока данных растрового изображения" (Bitmap Block Transfer), "закрашивание участка растрового изображения" (Bitmap Area Fill), "заполнение узором из растровых изображений" (Bitmap Pattern Fill) и "разрешен прозрачный цвет" (Transparent Color Enable). Для передачи данных, определяемых пользователем интерфейса, в протоколе связи используют пакеты типа "поток, определяемый пользователем" (User-Defined Stream). Для передачи данных в пользовательские устройства ввода, связанные с упомянутым клиентским устройством, или из них в протоколе связи используют пакеты следующих типов: "данные клавиатуры" (Keyboard Data) и "данные координатно-указательного устройства" (Pointing Device Data). Для прекращения передачи данных в любом направлении по упомянутому каналу связи в протоколе связи используют пакет типа "отключение линии связи" (Link Shutdown).
Для обеспечения структуры, средства или способа установки аппаратных средств контроллера конкретного устройства отображения в состояние с низким энергопотреблением тогда, когда клиентское устройство, которым, например, является устройство отображения, не используется или не является активно используемым в текущий момент времени, чтобы свести к минимуму мощность, потребляемую системой, или непроизводительное расходование системных ресурсов, осуществляют генерацию пакетов "состояние энергопотребления устройством отображения" (Display Power State). В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно реагировать на пакеты "состояние энергопотребления устройством отображения" (Display Power State), используя бит номер 9 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability).
Что касается формата пакета "состояние энергопотребления устройством отображения" (Display Power State), то в одном из вариантов осуществления пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient", "состояние энергопотребления" и "циклический избыточный код (ЦИК)". Пакет этого типа обычно обозначают как пакет "типа 75" в 2-байтовом поле типа. 2-байтовое поле "идентификатор hClient" содержит информацию или значения, которые зарезервированы для идентификатора клиентского устройства. В поле "состояние энергопотребления" указана информация, используемая для установки конкретного устройства отображения в указанное состояние энергопотребления согласно значению определенных заранее выбранных битов. В 2-байтовом поле "ЦИК" указан или это поле содержит ЦИК всех байтов в пакете, в том числе длины пакета.
Канал связи обычно содержит или в нем использован кабель, имеющий набор из четырех или более проводов, и защитный экран. Кроме того, при желании могут быть использованы печатные проводники или провода, причем некоторые из них могут находиться на гибких подложках.
Контроллер канала связи главного устройства выдает запрос на получение из клиентского устройства информации о функциональных возможностях устройства отображения для определения того, какие именно данные и с какими скоростями передачи данных способно принимать упомянутое клиентское устройство посредством упомянутого интерфейса. Клиентский контроллер канала связи передает сведения о функциональных возможностях устройства отображения или воспроизведения в контроллер канала связи главного устройства с использованием, по меньшей мере, одного пакета типа "возможности клиентского устройства" (Client Capability). В протоколе связи используют множество режимов передачи, причем каждый из них позволяет осуществлять параллельную передачу различного максимального количества битов данных за заданный промежуток времени, при этом каждый режим выбирают по согласованию между контроллерами канала связи главного устройства и клиентского устройства. Эти режимы передачи являются динамически регулируемыми во время передачи данных, и нет необходимости в использовании на линии обратной связи того же самого режима, который использован на линии прямой связи.
Согласно другим аспектам некоторых вариантов осуществления настоящего изобретения главное устройство содержит устройство беспроводной связи, например беспроводной телефон, беспроводное персональное информационное устройство (PDA) или портативный компьютер, снабженный имеющимся в нем беспроводным модемом. Типичное клиентское устройство содержит портативное устройство визуального отображения, например микродисплей, и/или портативную систему воспроизведения звука. Кроме того, главное устройство может использовать средство запоминания информации или запоминающие элементы для хранения данных, предназначенных для воспроизведения, или мультимедийных данных, подлежащих передаче, для их воспроизведения для пользователя клиентского устройства.
Согласно еще одним аспектам некоторых вариантов осуществления изобретения главное устройство содержит контроллер или устройство управления линией связи с описанными ниже формирователями, расположенный в портативном электронном устройстве, например в устройстве беспроводной связи, таком как, например, беспроводной телефон, беспроводное персональное информационное устройство (PDA) или портативный компьютер. Типичное клиентское устройство в этой конфигурации содержит клиентскую схему, или интегральную микросхему, или модуль, соединенный с главным устройством и находящийся в этом же устройстве, и с внутренним устройством визуального отображения, например с экраном для мобильного телефона, имеющим высокую разрешающую способность, и/или с портативной системой воспроизведения звука, или в альтернативном варианте - с какой-либо системой ввода или с каким-либо устройством ввода.
Краткое описание чертежей
Ниже приведено подробное описание дополнительных признаков и преимуществ различных вариантов осуществления настоящего изобретения, а также их структуры и функционирования, со ссылкой на сопроводительные чертежи. На чертежах одинаковыми номерами позиций, как правило, обозначены идентичные, аналогичные по функциям и/или аналогичные по структуре элементы или операции обработки.
На фиг.1A показана базовая среда, в которой могут функционировать варианты осуществления настоящего изобретения, содержащие использование микродисплея или проектора вместе с портативным компьютером или иным устройством обработки данных.
На фиг.1В показана базовая среда, в которой могут функционировать варианты осуществления настоящего изобретения, содержащие использование микродисплея или проектора и звуковоспроизводящих компонентов, используемых вместе с беспроводным приемопередатчиком.
На фиг.2A показана базовая среда, в которой могут функционировать варианты осуществления настоящего изобретения, содержащие использование внутреннего устройства отображения или устройств воспроизведения звука, используемых в портативном компьютере.
На фиг.2В показана базовая среда, в которой могут функционировать варианты осуществления настоящего изобретения, содержащие использование внутреннего устройства отображения или звуковоспроизводящих компонентов, используемых в беспроводном приемопередатчике.
На фиг.3 проиллюстрирована общая концепция цифрового интерфейса передачи данных для мобильных устройств (MDDI) с соединением главного устройства с клиентским устройством.
На фиг.4 проиллюстрирована структура пакета, пригодного для реализации передач данных из клиентского устройства в главное устройство.
На фиг.5 проиллюстрировано использование контроллера канала связи интерфейса MDDI и показаны типы сигналов, передаваемых между главным устройством и клиентским устройством по физическим проводникам канала передачи данных для интерфейса типа 1.
На фиг.6 проиллюстрировано использование контроллера канала связи интерфейса MDDI и показаны типы сигналов, передаваемых между главным устройством и клиентским устройством по физическим проводникам канала передачи данных для интерфейсов типов 2, 3 и 4.
На фиг.7 проиллюстрирована структура кадров и подкадров, используемых для реализации протокола интерфейса.
На фиг.8 проиллюстрирована общая структура пакетов, используемых для реализации протокола интерфейса.
На фиг.9 проиллюстрирован формат пакета "заголовок подкадра" (Sub-frame Header).
На фиг.10 проиллюстрирован формат и содержимое пакета "заполнитель" (Filler).
На фиг.11 проиллюстрирован формат пакета "поток видеоинформации" (Video Stream).
На чертежах фиг.12A-12E проиллюстрирован формат и содержимое дескриптора "формат видеоинформации", использованного на фиг.11.
На фиг.13 проиллюстрировано использование упакованных и распакованных форматов данных.
На фиг.14 проиллюстрирован формат пакета "поток звуковой информации" (Audio Stream).
На фиг.15 проиллюстрировано использование форматов c выравниванием по границе байта и упакованных форматов для данных с импульсно-кодовой модуляцией (ИКМ).
На фиг.16 проиллюстрирован формат пакета "поток, определяемый пользователем" (User-Defined Stream).
На фиг.17 проиллюстрирован формат пакета "карта цветов" (Color Map).
На фиг.18 проиллюстрирован формат пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation).
На фиг.19 проиллюстрирован формат пакета "возможности клиентского устройства" (Client Capability).
На фиг.20 проиллюстрирован формат пакета "данные клавиатуры" (Keyboard Data).
На фиг.21 проиллюстрирован формат пакета "данные координатно-указательного устройства" (Pointing Device Data).
На фиг.22 проиллюстрирован формат пакета "отключение линии связи" (Link Shutdown).
На фиг.23 проиллюстрирован формат пакета "запрос клиентского устройства и его состояние" (Client Request and Status).
На фиг.24 проиллюстрирован формат пакета "передача блока данных растрового изображения" (Bitmap Block Transfer).
На фиг.25 проиллюстрирован формат пакета "закрашивание участка растрового изображения" (Bitmap Area Fill).
На фиг.26 проиллюстрирован формат пакета "заполнение узором из растровых изображений" (Bitmap Pattern Fill).
На фиг.27 проиллюстрирован формат пакета "канал передачи данных по линии связи" (Communication Link Data Channel).
На фиг.28 проиллюстрирован формат пакета "состояние энергопотребления устройством отображения" (Display Power State).
На фиг.29 проиллюстрирован формат пакета "выполнить переключение в режим указанного типа" (Perform Type Handoff).
На фиг.30 проиллюстрирован формат пакета "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable).
На фиг.31 проиллюстрирован формат пакета "частота дискретизации звука в линии обратной связи" (Reverse Audio Sample Rate).
На фиг.32 проиллюстрирован формат служебного пакета "защита цифрового информационного содержимого" (Digital Content Protection Overhead Packet).
На фиг.33 проиллюстрирован формат пакета "разрешен прозрачный цвет" (Transparent Color Enable).
На фиг.34 проиллюстрирован формат пакета "измерение двусторонней задержки" (Round Trip Delay Measurement).
На фиг.35 проиллюстрирована временная диаграмма событий во время прохождения пакета "измерение двусторонней задержки" (Round Trip Delay Measurement).
На фиг.36 проиллюстрирован типовой вариант реализации генератора ЦИК и проверочного устройства, пригодный для реализации изобретения.
На фиг.37A проиллюстрирована временная диаграмма сигналов контроля посредством ЦИК для устройства из фиг.36 при передаче пакетов данных.
На фиг.37В проиллюстрирована временная диаграмма сигналов контроля посредством ЦИК для устройства из фиг.36 при приеме пакетов данных.
На фиг.38 проиллюстрированы операции обработки для типичного запроса на обслуживание без конкуренции.
На фиг.39 проиллюстрированы операции обработки для типичного запроса на обслуживание, выданного после начала последовательности операций по возобновлению канала связи, при наличии конкуренции за установление канала связи.
На фиг.40 проиллюстрировано то, каким образом может быть осуществлена передача последовательности данных с использованием кодирования сигнала "данные" - стробирующего сигнала (DATA-STB).
На фиг.41 проиллюстрированы схемы, пригодные для генерации сигналов "данные" (DATA) и стробирующих сигналов (STB) из входных данных в главном устройстве и для последующего восстановления данных в клиентском устройстве.
На фиг.42 проиллюстрированы формирователи и нагрузочные резисторы, пригодные для реализации одного из вариантов осуществления изобретения.
На чертежах фиг.43A-43С проиллюстрированы операции и уровни сигналов, используемые клиентским устройством для гарантированного получения обслуживания из главного устройства, и главным устройством для обеспечения такого обслуживания.
На фиг.44 проиллюстрирован относительный интервал между переходами в линии передачи данных Data0, в других линиях передачи данных (DataX) и в линиях стробирующего сигнала (Stb).
На фиг.45 проиллюстрировано наличие задержки ответа, которая может возникать тогда, когда главное устройство после передачи пакета отключает формирователь, имеющийся в главном устройстве.
На фиг.46 проиллюстрировано наличие задержки ответа, которая может возникать тогда, когда главное устройство разрешает формирователю, находящемуся в главном устройстве, произвести передачу пакета.
На фиг.47 проиллюстрирован анализ токов утечки.
На фиг.48 проиллюстрированы характеристики переключения и относительные временные зависимости для промежутков времени, в течение которых главному устройству и клиентскому устройству разрешен и запрещен вывод данных.
На фиг.49 проиллюстрирована диаграмма высокого уровня, на которой показаны операции обработки сигналов и условия, посредством которых может быть реализована синхронизация с использованием конечного автомата.
На фиг.50 проиллюстрированы типичные величины задержки, имеющие место при обработке сигналов в трактах прямой и обратной передачи в системе, в которой используют интерфейс MDDI.
На фиг.51 проиллюстрировано измерение предельной двусторонней задержки.
На фиг.52A проиллюстрированы изменения скорости передачи данных по линии обратной связи.
На фиг.52В проиллюстрирован пример усовершенствованной выборки данных, переданных по обратному каналу.
На фиг.53 проиллюстрировано графическое представление зависимости значений делителя скорости передачи по обратному каналу от скорости передачи данных по линии прямой связи.
На чертежах фиг.54A и 54В проиллюстрированы операции, выполняемые при работе интерфейса.
На фиг.55 проиллюстрирован общий вид устройства интерфейса, производящего обработку пакетов.
На фиг.56 проиллюстрирован формат пакета, передаваемого по линии прямой связи.
На фиг.57 проиллюстрированы типичные значения задержки при прохождении сигнала и перекоса задержки в интерфейсе линии связи типа 1.
На фиг.58 проиллюстрирована временная диаграмма передачи данных, стробирующих сигналов (Stb) и восстановления тактовых импульсов в линии связи типа 1 для примера обработки сигналов посредством интерфейса.
На фиг.59 проиллюстрированы типичные значения задержки при прохождении сигнала и перекоса задержки в интерфейсах линий связи типа 2, типа 3 или типа 4.
На чертежах фиг.60A, фиг.60В и фиг.60С проиллюстрированы различные возможности для синхронизации двух сигналов данных и стробирующего сигнала MDDI_Stb по времени друг относительно друга в тех случаях, когда они являются соответственно идеальными, преждевременными и запоздавшими.
На фиг.61 проиллюстрирована приведенная в качестве примера схема контактов интерфейса с их назначением, используемая в интерфейсах типа 1/типа 2.
На чертежах фиг.62A и фиг.62В проиллюстрированы возможные формы сигналов данных MDDI_Data и стробирующего сигнала MDDI_Stb для интерфейсов обоих типов соответственно для интерфейса типа 1 и для интерфейса типа 2.
На фиг.63 проиллюстрирована диаграмма высокого уровня, на которой показаны альтернативные операции обработки сигналов и условия, посредством которых может быть реализована синхронизация с использованием конечного автомата.
На фиг.64 проиллюстрирована приведенная в качестве примера диаграмма относительного распределения временных интервалов между последовательностью периодов тактовых импульсов и временной диаграммой различных битов пакетов, передаваемых по линии обратной связи, и значений делителя.
На фиг.65 проиллюстрирован пример обработки передачи кода ошибки.
На фиг.66 проиллюстрировано устройство, пригодное для обработки передачи кода ошибки.
На фиг.67A проиллюстрирована обработка передачи кода ошибки для переопределения кода.
На фиг.67В проиллюстрирована обработка передачи кода ошибки для приема кода.
На фиг.68A проиллюстрированы операции обработки для активизации после бездействия, инициированной главным устройством.
На фиг.68В проиллюстрированы операции обработки для активизации после бездействия, инициированной клиентским устройством.
На фиг.68С проиллюстрированы операции обработки для активизации после бездействия, инициированной главным устройством и клиентским устройством, с наличием конкуренции.
На фиг.69 проиллюстрирован формат пакета "запрос о предоставлении функции виртуальной панели управления (ВПУ)" (Request Virtual Control Panel (VCP) Feature).
На фиг.70 проиллюстрирован формат пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply).
На фиг.71 проиллюстрирован формат перечня ответов на запрос о предоставлении функции ВПУ" (VCP Feature Reply List).
На фиг.72 проиллюстрирован формат пакета "задать функцию ВПУ" (Set VCP Feature).
На фиг.73 проиллюстрирован формат пакета "запрос о предоставлении допустимого параметра" (Request Valid Parameter).
На фиг.74 проиллюстрирован формат пакета "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply).
На фиг.75 проиллюстрирован формат пакета "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability).
На фиг.76 проиллюстрирован формат пакета "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup).
На фиг.77 проиллюстрирован формат пакета "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement).
На фиг.78 проиллюстрирован формат пакета "масштабированный поток видеоинформации" (Scaled Video Stream).
На фиг.79 проиллюстрирован формат пакета "запрос сведений о конкретном состоянии" (Request Specific Status).
На фиг.80 проиллюстрирован формат пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List).
На фиг.81 проиллюстрирован формат пакета "возможности персонального устройства отображения" (Personal Display Capability).
На фиг.82 проиллюстрированы элементы, содержащиеся в перечне точек искривления поля изображения" (Points of Field Curvature List).
На фиг.83 проиллюстрирован формат пакета "сообщение клиентского устройства об ошибках" (Client Error Report).
На фиг.84 проиллюстрирован формат элемента перечня сообщений об ошибках (Error Report List).
На фиг.85 проиллюстрирован формат пакета "идентификация клиентского устройства" (Client Identification).
На фиг.86 проиллюстрирован формат пакета "возможности альтернативного устройства отображения" (Alternate Display Capability).
На фиг.87 проиллюстрирован формат пакета "доступ к регистрам" (Register Access).
На чертежах фиг.88A-88С проиллюстрировано использование двух дисплейных буферов для уменьшения видимых искажений изображения.
На фиг.89 показаны два буфера с более быстрой регенерацией изображения на экране, чем передача изображения.
На фиг.90 показаны два буфера с более медленной регенерацией изображения на экране, чем передача изображения.
На фиг.91 показаны два буфера с намного более быстрой регенерацией изображения на экране, чем передача изображения.
На фиг.92 показаны три буфера с более быстрой регенерацией изображения на экране, чем передача изображения.
На фиг.93 показаны три буфера с более медленной регенерацией изображения на экране, чем передача изображения.
На фиг.94 показан один буфер с более быстрой регенерацией изображения на экране, чем передача изображения.
На фиг.95 показано соединение главного устройства с клиентскими устройствами через последовательное подключение и через концентратор.
На фиг.96 показаны клиентские устройства, соединенные через комбинацию концентраторов и последовательных подключений.
На фиг.97 показана карта цветов.
ПОДРОБНОЕ ОПИСАНИЕ
I. ОБЩИЙ ОБЗОР
Общей задачей настоящего изобретения является создание описанного ниже цифрового интерфейса передачи данных для мобильных устройств (MDDI), который в результате предоставляет или обеспечивает рентабельный механизм передачи с низким энергопотреблением, который позволяет осуществлять передачу данных с высокими или с очень высокими скоростями по линии связи малой дальности между главным устройством и клиентским устройством, например узлом визуального отображения, с использованием линии или канала передачи данных "последовательного" типа. Этот механизм предоставляет возможность его реализации посредством миниатюрных соединителей и тонких гибких кабелей, что является особенно полезным при соединении внутренних (внутренних относительно корпуса или несущей конструкции) узлов, или устройств визуального отображения или вывода, или устройств ввода с центральным контроллером, или с модулем, или устройством связи. Кроме того, этот механизм соединения очень полезен для соединения внешних узлов или устройств визуального отображения, например носимых микродисплеев (очков или проекторов), или устройств воспроизведения визуальной, звуковой, тактильной информации иных типов с портативными компьютерами, устройствами беспроводной связи или развлекательными устройствами.
Хотя термины "мобильный" и "устройство отображения" связаны с наименованием протокола, следует понимать, что это сделано только лишь для удобства с точки зрения наличия стандартного названия, легко понимаемого специалистами в данной области техники, работающими с интерфейсом и протоколом, поскольку это относится к стандарту Ассоциации по стандартам в области видеоэлектроники (VESA) и к различным применениям этого стандарта. Однако после рассмотрения приведенных ниже вариантов осуществления изобретения легко понять, что применение этого протокола, результирующей структуры интерфейса или механизма передачи принесет пользу для многих областей применения, не связанных с мобильной техникой и с устройствами отображения, и подразумевают, что обозначение "MDDI" не влечет за собой каких-либо ограничений на сущность или на применимость настоящего изобретения или различных вариантов его осуществления.
Преимущество вариантов осуществления настоящего изобретения, которое является несложным, недорогим, имеет высокую надежность, хорошо согласуется со средой использования и является очень устойчивым к ошибкам, оставаясь при этом очень гибким.
Варианты осуществления настоящего изобретения могут быть использованы в разнообразных ситуациях для передачи или пересылки больших объемов данных, в основном для звуковых, видео или мультимедийных приложений, из главного устройства или устройства-источника, в котором осуществляют генерацию таких данных, производят манипуляции с ними, например для передачи в конкретные устройства, или их иную обработку, или их запоминание, в клиентское устройство или в приемное устройство, например в устройство визуального отображения или в проекционный узел, в громкоговорители или в иное устройство воспроизведения с высокой скоростью передачи. Типичной областью применения, которая рассмотрена ниже, является передача данных из портативного компьютера либо из беспроводного телефона или модема в устройство визуального отображения, например в небольшой видеоэкран или в носимое устройство, представляющее собой микродисплей, например, в виде очков или шлемов, содержащих небольшие проекционные линзы и экраны, или из главного устройства в клиентское устройство, находящееся внутри таких компонентов. А именно из процессора или контроллера во внутренний экран или в иной узел воспроизведения, а также из различных внутренних или внешних устройств ввода, использующих клиентское устройство, в главное устройство, расположенное внутри (расположенное внутри того же самого корпуса или несущей конструкции устройства) или соединенное с ними кабелем или проводами.
Характеристики или атрибуты интерфейса MDDI таковы, что они являются независимыми от конкретного устройства отображения или технологии воспроизведения. Он представляет собой очень гибкий механизм для передачи данных с высокой скоростью независимо ни от внутренней структуры этих данных, ни от функциональных аспектов данных или команд, которые он реализует. Это позволяет регулировать привязку передаваемых пакетов данных по времени таким образом, чтобы приспособиться к характерным особенностям конкретных клиентских устройств, например, для удовлетворения уникальных желаний относительно отображения информации для определенных устройств или для удовлетворения требованиям, которые предъявляет объединенная звуковая и видеоинформация, для некоторых аудиовизуальных (A-V) систем или для определенных устройств ввода, таких как, например, джойстики, сенсорные панели и т.д. Интерфейс является очень агностическим к узлам отображения или к клиентским устройствам, пока придерживается выбранного протокола. Кроме того, объем совокупных данных, передаваемых через последовательные каналы, или скорость передачи данных могут отличаться по величине более чем на несколько порядков, а это позволяет разработчику системы связи или главного устройства оптимизировать стоимость, энергопотребление, сложность клиентского устройства и частоты обновления для клиентского устройства.
Предложенный интерфейс передачи данных предназначен, главным образом, для использования при передаче больших объемов данных с высокой скоростью передачи по "проводной" линии передачи сигналов или по небольшому кабелю. Однако в некоторых областях применения также может быть целесообразно использован канал беспроводной связи, в том числе оптические линии связи, при условии, что он сконфигурирован с возможностью использования такой же самой структуры пакетов и данных, которая была разработана для протокола интерфейса, и может поддерживать желательный уровень по скорости передачи при достаточно низком энергопотреблении или имея достаточно низкую сложность, чтобы оставаться полезным для практического применения.
II. ВНЕШНЯЯ СРЕДА
Типичную область применения можно увидеть на фиг.1A и фиг.1В, на которых показан портативный или переносной компьютер 100 и беспроводной телефон или беспроводное персональное информационное устройство (PDA) 102, осуществляющие обмен данными с устройствами отображения соответственно 104 и 106, а также с системами 108 и 112 воспроизведения звука. Кроме того, на фиг.1A показаны возможные соединения с устройством отображения или экраном 114 большего размера или с проектором 116 изображений, которые для ясности изложения показаны только на одном чертеже, но также могут быть соединены с беспроводным устройством 102. Беспроводное устройство может получать данные в текущий момент времени или иметь определенное количество мультимедийных данных, заранее запомненных в запоминающем элементе или устройстве для их воспроизведения впоследствии для просмотра и/или прослушивания конечным пользователем беспроводного устройства. Поскольку типичное беспроводное устройство большую часть времени используют для связи с передачей речевой и простой текстовой информации, оно имеет весьма небольшой экран устройства отображения и простую звуковую систему (громкоговорители) для сообщения информации пользователю устройства 102.
Компьютер 100 имеет экран намного большего размера, но по-прежнему не отвечающую соответствующим требованиям внешнюю звуковую систему, и по-прежнему недостаточное количество других устройств воспроизведения мультимедийной информации, например телевизора высокой четкости или экранов для показа кинофильмов. Компьютер 100 использован в иллюстративных целях, и изобретение также может быть использовано для других типов устройств обработки информации, интерактивных видеоигр или устройств бытовой электроники. В компьютере 100 может быть использован беспроводной модем или иное встроенное устройство для беспроводной связи, или при желании он может быть соединен с таким устройством с использованием кабеля или канала беспроводной связи, но эти примеры не являются ограничивающим признаком.
Это делает воспроизведение более сложных или "содержательных" данных не очень удобным или приятным событием. Следовательно, промышленность разрабатывает другие средства и устройства для воспроизведения информации для конечных пользователей и для обеспечения минимального уровня желательного удовольствия или положительного опыта.
Как уже описано выше, уже было разработано или в настоящее время разрабатывается несколько типов устройств отображения для воспроизведения информации для конечных пользователей устройства 100. Например, одной или большим количеством компаний были разработаны наборы носимых очков, которые проецируют изображение перед глазами пользователя устройства для воспроизведения видимого изображения. При правильном расположении такие устройства эффективно "проецируют" мнимое изображение, воспринимаемое глазами пользователя, которое является намного большим, чем элемент, обеспечивающий визуальный вывод. То есть очень малый проекционный элемент позволяет глазу (глазам) пользователя "видеть" изображения в намного большем масштабе, чем тот масштаб, который возможен при использовании обычных экранов жидкокристаллических дисплеев (LCD) и т.п. Использование изображений большего размера на виртуальном экране также позволяет использовать изображения с намного более высокой разрешающей способностью, чем та, которая возможна в устройствах отображения с жидкокристаллическим экраном, имеющих более ограниченный размер. Другими устройствами отображения могут являться, в том числе, жидкокристаллические дисплеи с малым экраном или различные отображающие элементы с плоской индикаторной панелью, проекционные линзы и устройства управления дисплеями, предназначенные для проецирования изображений на поверхности, и т.д., но эти примеры не являются ограничивающим признаком.
Также могут присутствовать дополнительные элементы, соединенные с беспроводным устройством 102 или компьютером 100 либо связанные с его использованием, для предоставления выходных сигналов другому пользователю или для их передачи в другое устройство, которое, в свою очередь, передает сигналы в какое-либо иное место или запоминает их. Например, данные могут быть запомнены во флэш-памяти, в оптическом виде, например с использованием носителя информации в виде перезаписываемого компакт-диска, или на магнитных носителях, например в устройстве записи на магнитную ленту, и в аналогичных устройствах, для их использования впоследствии.
Кроме того, многие беспроводные устройства и компьютеры теперь имеют встроенные возможности декодирования музыки в формате MP3, а также другие современные устройства и системы декодирования звука. В портативных компьютерах, как правило, используют возможности воспроизведения компакт-дисков (CD) и универсальных цифровых дисков (DVD), и некоторые из них имеют небольшие специализированные устройства считывания с флэш-памяти, предназначенные для получения заранее записанных звуковых файлов. Проблема, связанная с наличием таких возможностей, состоит в том, что цифровые музыкальные файлы обещают значительное более богатое деталями восприятие, но только в том случае, если процесс декодирования и воспроизведения могут идти синхронно. То же самое справедливо и для файлов цифровой видеоинформации.
На фиг.1A показаны внешние громкоговорители 114, содействующие воспроизведению звука, которым также могут сопутствовать дополнительные элементы, например низкочастотные динамики (сабвуферы) или громкоговорители "системы объемного звучания" для проекции звука спереди и сзади. Одновременно с этим громкоговорители или наушники 108 обозначены как встроенные в несущую конструкцию или в опорный механизм микродисплея 106 из фиг.1В. Известно, что могут быть использованы и другие компоненты для воспроизведения звука или аудиовоспроизведения, в том числе устройства усиления мощности или формирования звукового сигнала.
Как упомянуто выше, в любом случае, когда кто-либо желает произвести передачу данных об изображении высокого качества или с высоким разрешением и высококачественную звуковую информацию или сигналы данных из источника данных конечному пользователю по одной или по большему количеству линий 110 связи, требуется высокая скорость передачи данных. То есть понятно, что линия 110 передачи, как описано выше, является вероятным узким местом при передаче данных и ограничивает производительность системы, так как существующие в настоящее время механизмы передачи не обеспечивают достижение обычно желаемых высоких скоростей передачи данных. Как описано выше, например, для более высоких значений разрешающей способности изображения, таких как, например, 1024 на 1024 элемента изображения, со значениями глубины цвета 24-32 бита на каждый элемент изображения и при скоростях передачи данных 30 кадров в секунду значения скорости передачи данных могут приближаться к скоростям передачи свыше 755 мегабит в секунду (Мб/с) или более того. Кроме того, воспроизведение таких изображений может производиться как часть воспроизведения мультимедийной информации, которая содержит звуковые данные и, возможно, дополнительные сигналы, связанные с проведением интерактивных игр или с интерактивной связью, или различные команды, элементы управления или сигналы, что приводит к дополнительному увеличению объема данных и скорости передачи данных.
Также понятно, что наличие меньшего количества кабелей или межкомпонентных соединений, требуемых для установления канала передачи данных, означает следующее: мобильные устройства, связанные с устройством отображения, являются более удобными в использовании, и существует большая вероятность того, что они будут одобрены более широким кругом пользователей. Это особенно справедливо в том случае, когда множество устройств совместно используют для создания полного восприятия аудиовизуальной информации, и это становится еще более справедливым по мере повышения уровня качества устройств отображения и устройств вывода звука.
Другое типичное применение, связанное со многими из вышеупомянутых и иных усовершенствований видеоэкранов и иных устройств ввода или вывода, можно увидеть на фиг.1В и фиг.1С, на которых показан портативный или переносной компьютер 130 и беспроводной телефон или персональное информационное устройство (PDA) 140, производящие обмен данными с "внутренними" устройствами отображения соответственно 134 и 144, а также с системами 136 и 146 воспроизведения звука.
На фиг.2A и фиг.2В небольшие вырезанные участки полных изображений электронных устройств или изделий использованы для того, чтобы показать местоположение одного или большего количества внутренних главных устройств и контроллеров в одной части устройства с обобщенной линией связи, которая обозначена здесь номерами позиций соответственно 138 и 148, соединяющей их с компонентами устройства визуального отображения или экранами, снабженными соответствующими клиентскими устройствами, проходя через шарнирное соединение какого-либо известного типа, широко используемое в настоящее время в электронной промышленности. Видно, что объем данных, задействованных в этих передачах, требует, чтобы линии 138 и 148 связи содержали большое количество проводников. Согласно проведенной оценке, вследствие того что для передачи таких данных пригодны интерфейсы параллельного типа или интерфейсная техника иных известных типов, для удовлетворения современных растущих потребностей в использовании в таких устройствах улучшенных цветов, усовершенствованных графических интерфейсов и отображающих элементов, количество проводников в таких линиях связи приближается к 90 или является еще более высоким.
К сожалению, более высокие скорости передачи данных превышают имеющиеся возможности современной техники для передачи данных как с точки зрения исходного объема данных, который должен быть передан за единицу времени, так и с точки зрения изготовления надежных, рентабельных физических средств передачи.
Необходима технология, структура, средство или способ передачи данных с более высокими скоростями передачи для линии передачи данных или для канала связи между компонентами, осуществляющими воспроизведение, и источником данных, которые позволяют реализовать постоянно низкую (более низкую) мощность, малый вес и имеют настолько простую и экономичную структуру кабельных соединений, насколько это возможно. Заявителями была разработана новая техника, или способ и устройство, для достижения этих и иных целей, позволяющая множеству мобильных, портативных или даже стационарных устройств осуществлять передачу данных в желательные устройства отображения, в микродисплеи или в звуковоспроизводящие элементы с очень высокими скоростями передачи данных, сохраняя при этом желательное низкое потребление энергии и оставаясь несложными.
III. АРХИТЕКТУРА СИСТЕМЫ ИНТЕРФЕЙСА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ЦИФРОВЫХ ДАННЫХ
Для создания и эффективного использования нового устройства, представляющего собой интерфейс, были разработаны протокол сигнала и архитектура системы, которые обеспечивают очень высокую скорость передачи данных с использованием сигналов малой мощности. Протокол основан на структуре или на структурах пакетов и общих кадров, связанных одна с другой таким образом, что образуют протокол для передачи заранее выбранного набора данных или типов данных вместе со структурой команд или операций, наложенной на интерфейс.
A. Общий обзор
Устройства, соединенные линией связи типа MDDI или обменивающиеся информацией по этой линии связи, именуют главным устройством и клиентским устройством, при этом клиентским устройством является устройство отображения некоторого типа, хотя предусмотрено, что им могут быть иные устройства ввода и вывода. Данные из главного устройства в устройство отображения проходят в прямом направлении (что именуют прямым потоком информационного обмена, или линией прямой связи), а данные из клиентского устройства в главное устройство проходят в обратном направлении (обратный поток информационного обмена, или линия обратной связи), когда это разрешено главным устройством. Это проиллюстрировано в базовой конфигурации, показанной на фиг.3. Как показано на фиг.3, главное устройство 202 соединено с клиентским устройством 204 с использованием канала 206 двусторонней связи, который показан на чертеже как содержащий линию 208 прямой связи и линию 210 обратной связи. Однако эти каналы сформированы посредством общего набора проводников, передачу данных по которым фактически переключают между операциями передачи по линии прямой связи или по линии обратной связи. Это позволяет значительно уменьшить количество проводников, непосредственно решая одну из многих проблем, с которой сталкиваются в существующих в настоящее время подходах к решению проблемы высокоскоростной передачи данных в условиях малого энергопотребления, например, для мобильных электронных устройств.
Как описано в ином месте, главное устройство содержит одно из нескольких типов устройств, которые могут извлечь пользу от использования настоящего изобретения. Например, главным устройством 202 может являться портативный компьютер в виде карманного, переносного или подобного мобильного вычислительного устройства. Им также может являться персональное информационное устройство (PDA), пейджер или один из множества беспроводных телефонов или модемов. В качестве альтернативы, главным устройством 202 может являться портативное развлекательное устройство или устройство воспроизведения, например портативный проигрыватель универсальных цифровых дисков (DVD) или компакт-дисков (CD), либо игровое устройство.
Кроме того, главное устройство может находиться в качестве главного устройства или управляющего элемента во множестве других широко используемых или запланированных к выпуску промышленных изделиях, для которых желательно наличие высокоскоростной линии связи с клиентским устройством. Например, главное устройство может быть использовано для передачи данных с высокими скоростями передачи из устройства видеозаписи в клиентское устройство, расположенное в запоминающем устройстве, для обеспечения улучшенного отклика, или в экран большего размера, имеющий высокую разрешающую способность, для воспроизведения. Бытовой прибор, например холодильник, который содержит встроенную систему управления запасами или вычислительную систему и/или беспроводные соединения на основе технологии Bluetooth с другими бытовыми приборами, может улучшить возможности отображения, работая в режиме подключения к сети Интернет или к системе Bluetooth, или иметь меньшие потребности в разводке проводов для устройств отображения, расположенных в двери (клиентское устройство), и кнопочных панелей или сканирующих устройств (клиентское устройство), в то время как электронная компьютерная система или система управления (главное устройство) находится в другом месте в шкафу. Вообще говоря, для специалистов в данной области техники понятно, что существует широкое разнообразие современных электронных устройств и приборов, которые могут извлечь пользу из использования этого интерфейса, а также что существует возможность модернизации старых устройств, обеспечивая транспортировку информации с более высокой скоростью передачи данных, используя ограниченное количество проводников, имеющихся во вновь добавленных или в существующих соединителях или кабелях.
При этом клиентское устройство 204 может содержать множество устройств, пригодных для воспроизведения информации для конечного пользователя или для предоставления информации от пользователя в главное устройство. Ими являются, например, микродисплей, включенный в состав очков или защитных очков, проекционное устройство, встроенное в головной убор или шлем, небольшой экран или даже голографический элемент, встроенный в автомобиль, например в окне или на ветровом стекле, или различные громкоговорители, наушники или звуковые системы для воспроизведения звука или музыки с высоким качеством. Другими устройствами воспроизведения являются, в том числе, проекторы или проекционные устройства, используемые для воспроизведения информации для собраний или для показа кинофильмов и телевизионных изображений. Другим примером является использование сенсорных панелей или сенсорных устройств, устройств ввода для распознавания речи, сканеров для обеспечения безопасности и т.д., которые можно привлечь для передачи значительного объема информации из устройства или от пользователя системы путем незначительного фактического "ввода данных", иного, чем прикосновение или звук от пользователя. Кроме того, установочные станции для компьютеров и комплекты для автомобилей или настольные комплекты и держатели для беспроводных телефонов могут действовать в качестве интерфейсов для конечных пользователей или для других устройств и аппаратуры и использовать или клиентские устройства (устройства ввода или вывода, например манипуляторы типа "мышь"), или главные устройства для содействия в передаче данных, в особенности, при наличии высокоскоростных сетей.
Однако специалисты в данной области техники легко поймут, что настоящее изобретение не ограничено этими устройствами, на рынке имеется множество других устройств, предлагаемых для использования, которые предназначены для предоставления конечным пользователям высококачественных изображений и высококачественного звука или с точки зрения хранения и транспортировки, или с точки зрения воспроизведения при проигрывании. Настоящее изобретение полезно для увеличения пропускной способности канала передачи данных между различными компонентами или устройствами для того, чтобы он был приспособлен для высоких скоростей передачи данных, необходимых для реализации желательного восприятия пользователем.
Предложенный в изобретении интерфейс MDDI и протокол передачи сигналов по каналу связи могут быть использованы для упрощения межкомпонентного соединения между главным устройством обработки, контроллером или (например) компонентом схемы и устройством отображения, расположенным внутри устройства или корпуса устройства или конструкции (что именуют внутренним режимом), для уменьшения стоимости или сложности и соответствующих требований, предъявляемых к мощности и к управлению, или ограничений, налагаемых этими соединениями, и для улучшения надежности не только для соединений с внешними компонентами, устройствами или оборудованием, но и для самих этих устройств (что именуют внешним режимом).
Совокупная скорость передачи данных по последовательной линии связи для каждой пары сигналов, используемой в этой структуре интерфейса, может изменяться по величине на многие порядки, что позволяет разработчику системы или устройства легко оптимизировать стоимость, мощность, сложность реализации и частоту регенерации изображения на устройстве отображения для заданного применения или назначения. Атрибуты интерфейса MDDI являются независимыми от технологии, примененной в устройстве отображения или ином устройстве воспроизведения (целевом клиентском устройстве). Распределение пакетов данных, передаваемых через интерфейс, во времени может быть легко отрегулировано таким образом, чтобы приспособить его к индивидуальным особенностям конкретных клиентских устройств, например устройств отображения, звуковых систем, запоминающих устройств и управляющих элементов, или к совместным требованиям аудио-видеосистем, предъявляемым к синхронизации. Для использования протокола MDDI, по меньшей мере, на некотором уровне в различных клиентских устройствах наличие буферов кадров не является необходимым условием, несмотря на то что это позволяет иметь систему с очень малой потребляемой мощностью.
B. Типы интерфейса
Полагают, что интерфейс MDDI относится, по меньшей мере, к четырем, а возможно, к большему количеству немного отличающихся друг от друга физических типов интерфейсов, встречающихся в промышленности средств связи и в компьютерной промышленности. Они обозначены просто как тип 1, тип 2, тип 3 и тип 4, хотя специалистами в данной области техники могут быть применены другие обозначения или наименования в зависимости от конкретных областей применения, для которых их используют, или от той отрасли промышленности, с которой они связаны. Например, в простых звуковых системах используют меньшее количество соединений, чем в более сложных мультимедийных системах, и ссылаться на такие признаки, как, например, "каналы", могут по-разному и т.д.
Интерфейс типа 1 выполнен в виде 6-проводного интерфейса или интерфейса с шестью проводниками или проводящими элементами иного типа, что делает его пригодным для мобильных или беспроводных телефонов, персональных информационных устройств (PDA), электронных игр и портативных устройств воспроизведения носителей информации, например проигрывателей компакт-дисков или MP3-плейеров, и аналогичных устройств или устройств, используемых в электронной бытовой техники подобных типов. В одном из вариантов осуществления изобретения интерфейс может быть выполнен в виде 8-проводного интерфейса (интерфейса с восемью проводниками), который является более пригодным для портативного компьютера, блокнотного компьютера или настольных персональных компьютеров и для аналогичных устройств или применений, которые не требуют быстрого обновления данных и не имеют встроенного контроллера канала связи типа MDDI. Этот тип интерфейса также отличим по использованию дополнительного интерфейса двухпроводной Универсальной последовательной шины (USB), который является чрезвычайно полезным, будучи приспособленным для существующих операционных систем или программного обеспечения, имеющегося в большинстве персональных компьютеров.
Интерфейсы типа 2, типа 3 и типа 4 являются пригодными для высокопроизводительных клиентских устройств или компонентов и используют намного более сложную кабельную разводку с дополнительными проводниками типа витой пары для обеспечения надлежащего экранирования и передачи с низкими потерями для сигналов передачи данных.
Интерфейс типа 1 передает сигналы, которые могут содержать визуально отображаемую, звуковую, управляющую и ограниченную служебную информацию, и его обычно используют для мобильных клиентских устройств или клиентских устройств, которые не требуют полной скорости передачи видеоинформации с высокой разрешающей способностью. Интерфейс типа 1 может легко обеспечивать поддержку разрешающей способности стандарта улучшенной матрицы видеографики (SVGA) с частотой 30 кадров в секунду плюс многоканального звука типа 5.1 и в минимальной конфигурации может использовать всего только три пары проводов: две пары для передачи данных и одну пару для подачи электропитания. Интерфейс этого типа, главным образом, предназначен для таких устройств, как, например, мобильные беспроводные устройства, в которых хост-контроллер шины USB для соединения и передачи сигналов обычно отсутствует в таком устройстве. В такой конфигурации мобильное беспроводное устройство является главным устройством в интерфейсе MDDI и действует как "ведущее устройство", которое осуществляет управление линией связи из главного устройства, которое обычно посылает данные клиентскому устройству (прямой поток информационного обмена или линия прямой связи) для их воспроизведения, отображения или проигрывания.
В этом интерфейсе главное устройство обеспечивает возможность приема данных, передаваемых из клиентского устройства, главным устройством (обратный поток информационного обмена или линия обратной связи) путем передачи в клиентское устройство особой команды или пакета особого типа, которые разрешают ему произвести захват шины (линии связи) в течение промежутка времени указанной длительности и передать данные в главное устройство в виде обратных пакетов. Это проиллюстрировано на фиг.4, где для обеспечения передачи пакетов по линии передачи в обратном направлении использован тип пакета, именуемый "пакетом инкапсуляции" (описание которого приведено ниже), что создает линию обратной связи. Промежуток времени, выделенный для того, чтобы главное устройство опросило клиентское устройство о наличии данных, является заранее заданным главным устройством и основан на требованиях, предъявляемых каждой конкретной областью применения. Этот тип полудуплексной двусторонней передачи данных особенно целесообразен в тех случаях, когда порт шины USB недоступен для передачи информации или данных из клиентского устройства.
Для обеспечения воспроизведения видеофильмов кинематографического качества высококачественные устройства отображения, способные поддерживать ТВЧ или подобные высокие значения разрешающей способности, требуют потоков данных со скоростью передачи приблизительно 1,5 гигабита в секунду (Гбит/с). Интерфейс типа 2 обеспечивает поддержку высоких скоростей передачи данных путем параллельной передачи 2 битов, интерфейс типа 3 - путем параллельной передачи 4 битов, а интерфейс типа 4 осуществляет параллельную передачу 8 битов. Интерфейсы типа 2 и типа 3 используют тот же самый кабель и тот же самый соединитель, что и интерфейс типа 1, но могут работать со скоростью передачи данных, которая является в два и в четыре раза более высокой, для обеспечения поддержки более высокопроизводительных видеоприложений в портативных устройствах. Интерфейс типа 4 пригоден для очень высокопроизводительных клиентских устройств или устройств отображения и требует немного большего кабеля, который содержит дополнительную витую пару для передачи сигналов данных.
Протокол, используемый интерфейсом MDDI, обычно позволяет главному устройству каждого из типов 1, 2, 3 или 4 поддерживать связь с клиентским устройством любого типа 1, 2, 3 или 4 путем согласования наиболее высокой возможной скорости передачи данных, которая может быть использована. Для установления рабочих характеристик линии связи используют сведения о возможностях или доступные признаки того, что может быть названо "устройством с наименьшими возможностями". Как правило, даже для систем, в которых оба устройства - главное устройство и клиентское устройство - способны использовать интерфейсы типа 2, типа 3 или типа 4, оба из них начинают работу как интерфейс типа 1. Затем главное устройство определяет возможности целевого клиентского устройства и согласовывает операцию реконфигурации, или переключения, в какой-либо из режимов: в режим типа 2, в режим типа 3 или в режим типа 4, который является подходящим для конкретного применения.
Как правило, главное устройство может использовать надлежащий протокол канального уровня (более подробное описание этого приведено ниже) и ступенчато понижать скорость или вновь производить реконфигурацию функционирования, как правило, в любой момент времени, переходя в более медленный режим для экономии энергии, или ступенчато повышать скорость, переходя в более быстрый режим для поддержания более высоких скоростей передачи, например, для информационного содержимого, отображаемого с более высокой разрешающей способностью. Например, главное устройство может изменить типы интерфейса при переключении питания системы с источника питания, например аккумулятора, на сеть переменного тока, или при переключении источника отображаемой аудиовизуальной информации на формат с более низкой или с более высокой разрешающей способностью, или же сочетание этих или иных условий или событий может считаться основанием для изменения типа интерфейса или режима передачи.
Система также может производить передачу данных, используя один режим в одном направлении и другой режим в другом направлении. Например, для передачи данных в устройство отображения с высокой скоростью передачи может быть использован режим интерфейса типа 4, а при передаче данных в главное устройство из периферийных устройств, например из клавиатуры или из координатно-указательного устройства, используют режим типа 1. Для специалистов в данной области техники понятно, что главные устройства и клиентские устройства могут производить передачу исходящих данных с различными скоростями передачи.
Пользователи протокола (интерфейс) MDDI часто могут отличать "внешний" режим от "внутреннего" режима. Термин "внешний режим" описывает использование протокола и интерфейса для соединения главного устройства, находящегося в одном устройстве, с клиентским устройством, находящимся вне этого устройства, то есть на расстоянии приблизительно до 2 метров или около того от главного устройства. В этой ситуации главное устройство может также подавать мощность питания во внешнее клиентское устройство для того, чтобы оба устройства могли легко работать в мобильной среде. Термин "внутренний режим" описывает тот случай, когда главное устройство соединено с клиентским устройством, содержащимся внутри того же самого устройства, например внутри общего корпуса, или несущей конструкции, или конструкции какого-либо иного вида. Примером являются варианты применения внутри беспроводного телефона или иного беспроводного устройства либо портативного компьютера или игрового устройства, где клиентским устройством является устройство отображения или устройство управления дисплеем, или внутри устройства ввода, например кнопочной панели или сенсорной панели, или звуковой системы, а главным устройством является один из следующих элементов: центральный контроллер, графическая машина или центральный процессор (ЦП). Поскольку в областях применения с использованием внутреннего режима клиентское устройство расположено намного ближе к главному устройству, в отличие от областей применения с использованием внешнего режима, то здесь не рассмотрены какие-либо требования к соединению для подачи питания в клиентское устройство в таких конфигурациях, так как они обычно отсутствуют.
C. Физическая структура интерфейса
На фиг.5 и фиг.6 показана общая схема расположения устройства или контроллера канала связи для установления связи между главным устройством и клиентским устройством. Как показано на фиг.5 и фиг.6, контроллер 402 и 502 канала связи интерфейса MDDI показан установленным в главном устройстве 202, а контроллер 404 и 504 канала связи интерфейса MDDI показан установленным в клиентском устройстве 204. Как и ранее, главное устройство 202 соединено с клиентским устройством 204 с использованием канала 406 двусторонней связи, содержащего группу проводников. Как описано ниже, оба контроллера: контроллер канала связи главного устройства и контроллер канала связи клиентского устройства, могут быть изготовлены в виде интегральной микросхемы с использованием схемного решения в виде единой схемы, которая может быть задана, настроена или запрограммирована таким образом, что срабатывает либо как контроллер главного устройства (формирователь), либо как контроллер клиентского устройства (приемник). Это обеспечивает более низкие затраты вследствие более крупномасштабного производства устройства, имеющего единую схему.
На фиг.6 контроллер 502 канала связи интерфейса MDDI показан установленным в главном устройстве 202', а контроллер 504 канала связи интерфейса MDDI показан установленным в клиентском устройстве 204'. Как и раньше, главное устройство 202' соединено с клиентским устройством 204' с использованием канала 506 двусторонней связи, содержащего группу проводников. Как описано выше, оба контроллера: контроллер канала связи главного устройства и контроллер канала связи клиентского устройства, могут быть изготовлены в виде интегральной микросхемы с использованием схемного решения в виде единой схемы.
На фиг.5 и фиг.6 также показаны сигналы, прошедшие между главным устройством и клиентским устройством, например устройством отображения, по линии связи интерфейса MDDI или по использованным физическим проводникам. На фиг.5 и 6 видно, что в основном тракте, или механизме передачи, данных через интерфейс MDDI использованы сигналы данных, обозначенные как MDDI_Data0 +/- и MDDI_Stb +/-. Каждый из них представляет собой низковольтный сигнал данных, который передают по дифференциальной двухпроводной линии (дифференциальной паре) по паре проводов в кабеле. Для каждого бита, переданного через интерфейс, имеет место только один переход: или в паре MDDI_Data0, или в паре MDDI_Stb. Это представляет собой механизм передачи, основанный на напряжении, а не на токе, поэтому статическое потребление тока почти равно нулю. Главное устройство передает стробирующие сигналы MDDI_Stb в клиентское устройство отображения.
Так как поток данных может проходить по двухпроводным линиям MDDI_Data в обоих направлениях: в прямом направлении и в обратном направлении, то есть этот тракт является двусторонним трактом передачи, то главное устройство является ведущим устройством, или контроллером, канала передачи данных. Тракты передачи сигналов MDDI_Data0 и MDDI_Stb работают в дифференциальном режиме для обеспечения максимальной помехоустойчивости. Скорость передачи данных для сигналов по этим линиям передачи определяется частотой тактовых импульсов, переданных главным устройством, и является переменной в интервале от приблизительно 1 килобит в секунду (кбит/с) до 400 мегабит в секунду (Мб/с) или более.
Интерфейс типа 2 содержит одну дополнительную двухпроводную линию передачи данных или пару проводников или трактов для передачи данных, именуемую MDDI_Data1+/-, помимо тех, которые имеются в интерфейсе типа 1. Интерфейс типа 3 содержит две дополнительные двухпроводные линии передачи данных, или два дополнительных тракта передачи сигналов, именуемые MDDI_Data2+/- и MDDI_Data3+/-, помимо тех, которые имеются в интерфейсе типа 2. Интерфейс типа 4 содержит еще четыре двухпроводные линии передачи данных, или тракта передачи сигналов, именуемые соответственно: MDDI_Data4+/-, MDDI_Data5 +/-, MDDI_Data6 +/- и MDDI_Data7+/-, помимо тех, которые имеются в интерфейсе типа 3. В каждой из вышеупомянутых конфигураций интерфейса главное устройство может подавать электропитание в клиентское устройство или в устройство отображения с использованием пары проводов или сигналов, обозначенных как HOST_Pwr (электропитание_из_главного_устройства) и HOST_Gnd (земля_электропитания_из_главного_устройства). Как более подробно описано ниже, при использовании интерфейса такого типа, в котором используется меньшее количество проводников, чем то, которое имеется или предоставлено для других режимов, при желании подача электропитания в некоторых конфигурациях также может быть произведена по проводникам MDDI_data4+/-, MDDI_Data5+/-, MDDI_Data6+/- или MDDI_Data7 +/-. Такую подачу электропитания обычно используют для внешних режимов, необходимость в этом для внутренних режимов обычно отсутствует, хотя для некоторых применений может быть справедливо иное.
В приведенной ниже таблице I проиллюстрирован итоговый перечень сигналов, проходящих между главным устройством и клиентским устройством (устройством отображения) по линии связи интерфейса MDDI, для различных режимов в соответствии с типом интерфейса.
<b>Таблица I</b>
<b>Тип 1</b><b>HOST_Pwr/Gnd</b>
<b>Тип 2</b><b>HOST_Pwr/Gnd</b>
<b>Тип 3</b><b>HOST_Pwr/Gnd</b>
<b>Тип 4</b><b>HOST_Pwr/Gnd</b>
MDDI_Stb+/-MDDI_Data0+/-
MDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-
MDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-MDDI_Data2+/-MDDI_Data3+/-
MDDI_Stb+/-MDDI_Data0+/-MDDI_Data1+/-MDDI_Data2+/-MDDI_Data3+/-
Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)
Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)
Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)Pwr (необязательный)
MDDI_Data4+/-MDDI_Data5+/-MDDI_Data6+/-MDDI_Data7+/-
Также следует отметить, что соединения HOST_Pwr/Gnd для подачи электропитания из главного устройства обычно предусмотрены для внешних режимов. Внутренние применения, или внутренние режимы работы, обычно имеют те клиентские устройства, которые получают электропитание напрямую из иных внутренних ресурсов и не используют интерфейс MDDI для управления распределением мощности, что является очевидным для специалиста в данной области техники, поэтому более подробное описание такого распределения здесь не приведено. Однако для специалиста в данной области техники понятно, что, конечно же, может быть предоставлена возможность распределения мощности через интерфейс MDDI, например, для обеспечения возможности определенных видов управления мощностью, синхронизации или для удобства межкомпонентного соединения.
Кабельная разводка, обычно используемая для реализации вышеупомянутой структуры и функционирования на номинальной длине порядка 1,5 метров, обычно имеет длину 2 метра или меньше и содержит три витых пары проводников, каждый из которых, в свою очередь, представляет собой многожильный провод, номинально между проводом диаметра 32 согласно американскому сортаменту проводов (AWG) и проводом диаметра 28 согласно AWG. Хотя диаметр провода не ограничен этими пределами, но для специалистов в данной области техники понятно, что должны быть удовлетворены технические условия на электротехническое оборудование или ограничения на максимальное общее сопротивление между концами, на максимальную емкость на фут длины, на полное сопротивление каждой пары и на перекрестные помехи.
Поверх всего набора или всей группы витых пар, количество которых здесь равно трем, намотано или иным способом сформировано покрытие в виде экрана из фольги, и имеется провод заземления в качестве дополнительного заземляющего провода. Витые пары и проводник заземления экрана заканчиваются в соединителе с клиентским устройством, при этом экран соединен с экраном клиентского устройства, и имеется изолирующий слой, покрывающий весь кабель, что является известным уровнем техники. Провода объединены в пары следующим образом: HOST_Gnd с HOST_Pwr; MDDI_Stb+ с MDDI_Stb-; MDDI_Data0+ с MDDI_Data0-; MDDI_Data1+ с MDDI_Data1- и т.д. Однако из известного уровня техники понятно, что в зависимости от конкретных применений может быть использовано множество вариантов проводников и кабелей для реализации вариантов осуществления настоящего изобретения. Например, в некоторых областях применения для защиты кабеля могут быть использованы более толстые внешние покрытия или даже слои металла, в то время как для других областей применения хорошо подходящими могут являться более тонкие, более плоские структуры типа проводящей ленты.
D. Типы данных и скорости передачи данных
Для успешной реализации интерфейса, пригодного для всей сферы его практического использования и для всевозможных его применений пользователем, интерфейс MDDI обеспечивает поддержку множества клиентских устройств и видов отображаемой информации, преобразователей звука, клавиатур, координатно-указательных устройств и многих других устройств ввода или вывода, которые могут быть объединены с устройством мобильной связи, с вычислительным устройством или с устройством отображения либо работать совместно с ним, а также управляющей информации и их комбинаций. Интерфейс MDDI выполнен таким образом, что способен обеспечивать потоки данных множества возможных типов, проходящие между главным устройством и клиентским устройством в любом направлении: как по линии прямой связи, так и по линии обратной связи, с использованием минимального количества кабелей или проводников. Обеспечена поддержка как изохронных потоков, так и асинхронного потока (обновлений). Возможно множество комбинаций типов данных до тех пор, пока совокупная скорость передачи данных является меньшей или равной максимальной желательной скорости передачи по линии связи интерфейса MDDI, которая ограничена максимальной скоростью последовательной передачи и количеством используемых двухпроводных линий передачи данных. Они могут содержать те элементы, которые перечислены в приведенных ниже таблицах II и III, но эти примеры не являются ограничивающим признаком.
<b>Таблица II</b>
Передача из главного устройства в клиентское устройство
Изохронная видеоинформация
720×480, 12 бит,30 кадров в секунду
~124,5 Мб/с
Изохронные стереофонические звуковые данные
44,1 кГц, 16 бит, стерео
~1,4 Мб/с
Асинхронные графические данные
800×600, 12 бит, 10 кадров в секунду, стерео
~115,2 Мб/с
Асинхронное управление
Минимальная
<<1,0 Мб/с
<b>Таблица III</b>
Передача из клиентского устройства в главное устройство
Изохронная речевая информация
8 кГц, 8 бит
<<1,0 Мб/с
Изохронная видеоинформация
640×480, 12 бит,24 кадра в секунду
~88,5 Мб/с
Асинхронные данные о состоянии, данные, введенные пользователем, и т.д.
Минимальная
<<1,0 Мб/с
Интерфейс не является неизменным, а является расширяемым для того, чтобы он мог поддерживать передачу информации множества "типов", которая содержит определяемые пользователем данные, для обеспечения гибкости системы в будущем. Конкретными примерами данных, поддержку которых он должен обеспечивать, являются следующие: видеофильмы кинематографического качества в виде полноэкранных растровых изображений или в виде растровых изображений, занимающих часть поля экрана, либо в виде сжатого видеоизображения; статические растровые изображения, передаваемые с низкими скоростями передачи для экономии энергии и для уменьшения затрат на реализацию; звуковые данные с импульсно-кодовой модуляцией (ИКМ) или сжатые звуковые данные с множеством значений разрешающей способности или скоростей передачи; положение координатно-указательного устройства и выбранные посредством него данные и определяемые пользователем данные для возможностей, которые еще подлежат определению. Такие данные также могут быть переданы вместе с управляющей информацией или с информацией о состоянии для выявления возможностей устройства или для установки рабочих параметров.
Варианты осуществления настоящего изобретения обеспечивают прогресс в данной области техники для следующих областей их использования при передачах данных: просмотр кинофильма (отображение видеоинформации и воспроизведение звука); использование персонального компьютера с ограниченными возможностями личного просмотра (отображение графической информации, иногда объединенной с видео и звуковой информацией); игра в видеоигру на персональном компьютере (ПК), пульте или персональном устройстве (отображение движущейся графической информации или синтезированной видео и звуковой информации); "блуждание" в сети Интернет с использованием устройств в виде видеотелефона (двусторонняя передача видео и звуковой информации с низкой скоростью передачи), фотокамеры для неподвижных цифровых изображений или видеокамеры для съемки цифровых видеоизображений; использование телефона, компьютера или персонального информационного устройства (PDA), состыкованного с проектором для воспроизведения или состыкованного с настольной установочной станцией, соединенной с видеомонитором, клавиатурой и манипулятором типа "мышь"; и для повышения производительности обработки данных из сотовых телефонов, интеллектуальных телефонов или персональных информационных устройств (PDA), содержащих беспроводные координатно-указательные устройства и клавиатуры, или для их использования в развлекательных целях, но эти примеры не являются ограничивающим признаком.
Описанный ниже интерфейс высокоскоростной передачи данных представлен в контексте обеспечения передачи больших объемов данных аудиовизуального (A-V) типа по линии связи или передачи, которая обычно выполнена как линия связи проводного или кабельного типа. Однако легко понять очевидность того, что структура сигнала, протоколы, временная диаграмма или механизм передачи могут быть отрегулированы таким образом, что обеспечивают линию связи в виде оптической или беспроводной передающей среды, если она может поддерживать передачу данных на желаемом уровне.
Для сигналов интерфейса MDDI использовано такое понятие, известное как "общая частота кадров" (CFR) для основного протокола передачи сигналов или структуры. Помимо использования общей частоты кадров, идея состоит в том, чтобы обеспечить импульс синхронизации для одновременных изохронных потоков данных путем передачи пакетов "заголовок подкадра" (Sub-frame Header) с такой частотой, которая может быть использована для получения тактовых импульсов или синхронизации кадров для множества потоков. Частотой, с которой производят передачу пакетов "заголовок подкадра" (Sub-frame Header), является общая частота кадров. Клиентское устройство может использовать эту общую частоту кадров в качестве опорного синхронизирующего сигнала. Низкое значение общей частоты кадров (CFR) увеличивает коэффициент использования канала за счет уменьшения служебных операций для передачи заголовка подкадра. С другой стороны, высокое значение общей частоты кадров (CFR) уменьшает время задержки и позволяет использовать меньший буфер данных регулируемой емкости для выборок звуковых данных. Общая частота кадров (CFR) в предложенном в настоящем изобретении интерфейсе является динамически программируемой и может быть установлена равной одному из многих значений, соответствующих изохронным потокам, используемым в конкретной области применения. То есть желательное значение общей частоты кадров (CFR) выбирают таким образом, чтобы оно наилучшим образом соответствовало данной конфигурации клиентского устройства и главного устройства.
Количество байтов, обычно требуемое на каждый подкадр, которое является регулируемым или программируемым, для изохронных потоков данных, которые с наибольшей вероятностью будут использованы в такой области применения, как, например, отображение видеоинформации или микродисплей, показано в таблице IV.
<b>Таблица IV</b>
Общая частота кадров (CFR)=300 Гц
<b>X</b>
<b>Y</b>
<b>Количество бит</b>
<b>Частота кадров</b>
<b>Количество каналов</b>
<b>Скорость передачи (Мб/с)</b>
<b>Количество байтов на подкадр</b>
Компьютерная игра
720
480
24
30
1
248,832
103680
Компьютерная графика
800
600
24
10
1
115,200
48000
Видео
640
480
12
29,97 или 30
1
221,184
92160
Звук с качеством звучания компакт-диска (CD)
1
1
16
44100
2
1,4112
588
Речь
1
1
8
8000
1
0,064
26-2/3
Дробные значения количества байтов на подкадр легко получают с использованием программируемого счетчика M/N, имеющего простое устройство. Например, количество байтов на подкадр, равное 26-2/3, реализовано путем передачи 2 подкадров, каждый из которых содержит 27 байтов, после которых следует один подкадр, содержащий 26 байтов. Для получения целого числа байтов на подкадр может быть выбрано меньшее значение общей частоты кадров (CFR). Однако, вообще говоря, для реализации простого счетчика M/N аппаратными средствами должна потребоваться меньшая площадь на кристалле интегральной микросхемы или электронного модуля, используемого для реализации части или всех вариантов осуществления настоящего изобретения, чем площадь, необходимая для обеспечения большей емкости буфера обратного магазинного типа (FIFO) для выборок звуковых данных.
Приведенной в качестве примера областью применения, которая иллюстрирует влияние различных скоростей передачи данных и типов данных, является система караоке. Караоке представляет собой систему, в которой конечный пользователь или пользователи поют вместе с показом музыкальной видеопрограммы. Слова песни отображают в каком-либо месте экрана, обычно внизу экрана, таким образом, пользователь знает слова, которые следует спеть, и приблизительный хронометраж песни. Для этой области применения требуется устройство визуального отображения с нечастыми обновлениями графической информации и микширование голоса пользователя или голосов пользователей с потоком стереофонического звука.
Если предположить, что общая частота кадров равна 300 Гц, то тогда каждый подкадр будет состоять из 92160 байтов видеосодержимого и 588 байтов звукового содержимого (на основании 147 16-битовых выборок в стереофоническом формате), передаваемых по линии прямой связи в клиентское устройство, и, в среднем, 26,67 (26-2/3) байтов голосовой информации передают обратно из микрофона в мобильное устройство с системой караоке. Между главным устройством и клиентским устройством, которым, возможно, является надеваемый на голову шлем-дисплей, передают асинхронные пакеты. Это включает в себя обновление слов песни в нижней четверти высоты экрана через промежутки времени или периоды, равные 1/30 секунды, и другие разнообразные команды управления и определения состояния, передаваемые в подкадрах тогда, когда не происходит обновления слов песни.
В таблице V показано то, каким образом распределены данные в подкадре для примера системы караоке. Общая используемая скорость передачи выбрана равной приблизительно 279 мегабит в секунду (Мб/с). Немного более высокая скорость передачи, равная 280 мегабит в секунду (Мб/с), позволяет передать в каждом подкадре еще приблизительно 400 байтов данных, что обеспечивает возможность использования нерегулярно передаваемых управляющих сообщений и сообщений о состоянии.
<b>Таблица V</b>
<b>Категория элемента данных</b>
<b>Количество служебных байтов на подкадр</b>
<b>Количество байтов аудиовизуальной информации на подкадр</b>
Музыкальная видеоинформация с разрешением 640×480 элементов изображения и частотой 30 кадров в секунду
2·28=56
92160
Слова песни с разрешением 640×120 элементов изображения и частотой 1 кадр в секунду. Обновление через 10 подкадров, 1/30 секунды.
28
23040
Звук с качеством звучания компакт-диска (CD) с частотой дискретизации 44100 выборок в секунду, стерео, 16-бит
2·16=32
588
Голос с частотой дискретизации 8000 выборок в секунду, моно, 8-бит
28+8+8+(4·16)+(3·27)=125
26,67 (максимально 27)
Заголовок подкадра
22
Общее количество байтов/CF
263
115815
Общая скорость передачи (Мб/с)
(263+115815)·8·300=278,5872
III. (Продолжение) АРХИТЕКТУРА СИСТЕМЫ ИНТЕРФЕЙСА ДЛЯ ВЫСОКОСКОРОСТНОЙ ПЕРЕДАЧИ ЦИФРОВЫХ ДАННЫХ
E. Канальный уровень
Данные, переданные с использованием сигналов высокоскоростной последовательной передачи данных интерфейса MDDI, состоят из потока пакетов с временным мультиплексированием, которые являются связанными, следуя один за другим. Даже в том случае, когда в передающем устройстве отсутствуют данные, предназначенные для передачи, контроллер канала связи интерфейса MDDI обычно автоматически передает пакеты-заполнители, поддерживая таким образом поток пакетов. Использование простой структуры пакета обеспечивает надежную изохронную настройку для видео и звуковых сигналов или для потоков данных.
32
16
Группы пакетов содержатся в элементах или структурных компонентах сигнала, именуемых подкадрами, а группы подкадров содержатся в элементах или структурных компонентах сигнала, именуемых кадром с аудиовизуальной информацией. Подкадр содержит один или большее количество пакетов, что зависит от их соответствующего размера и режимов передачи данных, а кадр с аудиовизуальной информацией содержит один или большее количество подкадров. Наибольший подкадр, обеспечиваемый протоколом, который используется в представленных здесь вариантах осуществления изобретения, имеет размер порядка 2-1, или 4294967295 байт, а наибольший размер кадра с аудиовизуальной информацией в таком случае становится равным порядка 2-1, или 65535 подкадров.
Особый пакет "заголовок подкадра" содержит уникальный идентификатор, который, как описано ниже, появляется в начале каждого подкадра. Этот идентификатор также используют для получения синхронизации кадров в клиентском устройстве при инициировании связи между главным устройством и клиентским устройством. Обеспечение синхронизации линии связи по времени более подробно описано ниже.
При показе видеофильма кинематографического качества обновление изображения на экране устройства отображения, как правило, производят один раз в каждом кадре с аудиовизуальной информацией. Частота кадров в устройстве отображения является той же самой, что и частота кадров с аудиовизуальной информацией. Протокол линии связи обеспечивает поддержку полноэкранного отображения видеофильма кинематографического качества на устройстве отображения или только небольшой области содержимого видеофильма кинематографического качества, окруженного статическим изображением, что зависит от желательного применения. В некоторых областях применения мобильных устройств малой мощности, например при просмотре web-страницы или электронной почты, необходимое обновление изображения на экране устройства отображения может производиться не постоянно, а только лишь изредка. В этих случаях целесообразно произвести передачу одного подкадра, а затем отключить линию связи или перевести ее в неактивный режим, чтобы свести к минимуму потребление мощности. Интерфейс также поддерживает такие эффекты, как, например, стереоскопическое визуальное представление и обработка графических примитивов.
Подкадры позволяют системе периодически разрешать передачу высокоприоритетных пакетов. Это обеспечивает возможность сосуществования одновременных изохронных потоков при минимальном объеме буферизации данных. Обеспечение возможности, по существу, совместного использования общего канала множеством потоком данных (высокоскоростная передача видеоинформации, речевой информации, управляющих данных, данных о состоянии, данных, поступающих из координатно-указательного устройства, и т.д.) является одним из преимуществ вариантов осуществления настоящего изобретения для процесса отображения. Это обеспечивает передачу информации с использованием относительно небольшого количества сигналов. Это также обеспечивает возможность существования действий, характерных для технологии, на которой основано конкретное устройство отображения, например импульсов строчной синхронизации и интервалов гашения обратного хода луча для видеоконтрольного устройства на основе электронно-лучевой трубки (ЭЛТ), или иных действий, характерных для технологии, на которой основано конкретное клиентское устройство.
F. Контроллер канала связи
Контроллер канала связи интерфейса MDDI, показанный на фиг.5 и фиг.6, выполнен или скомпонован таким образом, что является полностью цифровой реализацией, за исключением приемников дифференциального канала, которые используют для приема данных интерфейса MDDI и стробирующих сигналов. Однако даже формирователи и приемники дифференциального канала могут быть реализованы в тех же самых цифровых интегральных микросхемах вместе с контроллером канала связи, например, при изготовлении интегральных микросхем типа КМОП (со структурой на основе комплементарного металло-оксидного полупроводника, CMOS). Для восстановления битов или для реализации аппаратных средств для контроллера канала связи не требуются аналоговые функции или схемы фазовой автоподстройки частоты (ФАПЧ). Контроллеры канала связи главного устройства и клиентского устройства содержат очень сходные функции, за исключением интерфейса клиентского устройства, который содержит конечный автомат для синхронизации линии связи. Следовательно, варианты осуществления настоящего изобретения обеспечивают возможность наличия практического преимущества, заключающегося в способности создания контроллера, имеющего единую конструкцию или схему, которая может быть сконфигурирована как любое из устройств: или как главное устройство или как клиентское устройство, что в целом может уменьшить стоимость изготовления контроллеров канала связи.
IV. ПРОТОКОЛ ЛИНИИ СВЯЗИ ИНТЕРФЕЙСА
A. Структура кадра
Протокол передачи сигналов, или структура кадра, использованная для реализации передачи пакетов по линии прямой связи, проиллюстрирована на фиг.7. Как показано на фиг.7, информация или цифровые данные сгруппированы в элементы, известные как пакеты. Множество пакетов, в свою очередь, сгруппировано друг с другом, образуя то, что именуют "подкадром", и множество подкадров, в свою очередь, сгруппировано друг с другом, образуя кадр "с аудиовизуальной информацией". Для управления формированием кадров и передачей подкадров каждый подкадр начинается с особого заранее заданного пакета, именуемого пакетом "заголовок подкадра" (Sub-frame Header) (SHP).
Главное устройство выбирает скорость передачи данных, которая будет использована для заданной передачи. Эта скорость передачи может быть динамически изменена главным устройством на основании не только максимальной пропускной способности главного устройства или максимально возможной скорости передачи данных, извлекаемых из источника главным устройством, но и максимальных возможностей клиентского устройства или иного устройства, в которое передают данные.
Главное устройство способно выдавать в клиентское устройство-получатель, предназначенное для работы или способное работать с интерфейсом MDDI или с предложенным в настоящем изобретении протоколом передачи сигналов, запросы для определения максимальной или максимальной на текущий момент скорости передачи данных, которую оно может использовать, или же может быть использована более медленная минимальная скорость передачи, заданная по умолчанию, а также для определения пригодных для использования типов данных и поддерживаемых функциональных возможностей. Эта информация может быть передана с использованием пакета "возможности клиентского устройства" (Client Capability (CCP)), более подробное описание которого приведено ниже. Клиентское устройство отображения способно осуществлять передачу данных или поддерживать связь с другими устройствами, используя интерфейс с заранее выбранной минимальной скоростью передачи данных или в пределах диапазона минимальных скоростей передачи данных, и главное устройство выполняет запрос, используя скорость передачи данных в пределах этого диапазона, для определения максимальных возможностей клиентских устройств.
Другая информация о состоянии, определяющая характер возможностей клиентского устройства относительно растровых изображений и частоты кадров видеоизображения, может быть передана в главное устройство в пакете "состояние" для того, чтобы главное устройство могло сконфигурировать интерфейс таким образом, чтобы он был настолько же эффективным или оптимальным, насколько он является практичным или желательным, в рамках любых системных ограничений.
При отсутствии (когда больше нет еще каких-либо) пакетов данных, предназначенных для передачи в текущем подкадре, или когда главное устройство не может осуществлять передачу со скоростью, достаточной для того, чтобы не отставать от скорости передачи данных, выбранной для линии прямой связи, то главное устройство передает пакеты-заполнители. Так как каждый подкадр начинается с пакета "заголовок подкадра", то конец предыдущего подкадра содержит пакет (наиболее вероятно, пакет-заполнитель), который полностью заполняет предыдущий подкадр. В случае нехватки места для пакетов, которые сами по себе являются носителями данных, наиболее вероятно, что последним пакетом в подкадре или в конце соседнего предыдущего подкадра и перед пакетом "заголовок подкадра" является пакет-заполнитель. Задачей операций управления, выполняемых в главном устройстве, является гарантированное обеспечение достаточного места, остающегося в подкадре, для каждого пакета, предназначенного для передачи в этом подкадре. Вместе с тем, как только главное устройство инициирует передачу пакета данных, то главное устройство должно быть способным успешно заполнить пакет этого размера внутри кадра, не входя в состояние недогрузки данных.
Согласно одному из объектов настоящего изобретения в вариантах его осуществления передача подкадра имеет два режима. Одним режимом является периодический режим передачи подкадров, или периодические периоды синхронизации, используемые для передачи потоков видео и звуковой информации в реальном масштабе времени. В этом режиме длина подкадра определена как не равная нулю. Вторым режимом является асинхронный или непериодический режим, в котором кадры используют для предоставления в клиентское устройство данных о растровых изображениях тогда, когда имеется новая информация. Этот режим задают путем установки длины подкадра в пакете "заголовок подкадра" (Sub-frame Header), равной нулю. При использовании периодического режима прием пакета из подкадра может быть начат тогда, когда уже произошла синхронизация клиентского устройства со структурой кадра, передаваемого по линии прямой связи. Это соответствует состояниям "синхронизация установлена", определяемым согласно диаграмме состояний, описанной ниже со ссылкой на фиг.49 или фиг.63. В асинхронном непериодическом режиме передачи подкадров прием начинается после приема первого пакета "заголовок подкадра" (Sub-frame Header).
B. Общая структура пакета
Ниже представлен формат, или структура, пакетов, использованный для создания протокола связи или передачи сигналов, или способ, или средство передачи данных, реализованные в вариантах осуществления настоящего изобретения, при этом имеют в виду, что интерфейс является расширяемым и что при желании могут быть добавлены дополнительные структуры пакета. Пакеты обозначены как, или разделены на различные "типы пакетов" на основании их функции в интерфейсе, то есть на основании передаваемых посредством них или связанных с ними команд, информации, значений или данных. Следовательно, каждый тип пакета обозначает заранее заданную структуру пакета для заданного пакета, которую используют при управлении пакетами и передаваемыми данными. Легко понять следующее: очевидно, что в зависимости от их соответствующих функций пакеты могут иметь заранее выбранные значения длины или иметь переменные или динамически изменяемые значения длины. Пакеты также могут иметь иные наименования, хотя они по-прежнему реализуют ту же самую функцию, что может происходить при изменении протоколов во время процесса их принятия в качестве стандарта. Байты или значения байтов, использованные в различных пакетах, сконфигурированы в виде многобитовых (8-битовых или 16-битовых) целых чисел без знака. Перечень используемых пакетов вместе с обозначениями их "типа", перечисленных в порядке по их типу, приведен в таблицах VI-1 - VI-4.
Каждая таблица отражает общий "тип" пакета в рамках общей структуры пакетов для простоты иллюстративного пояснения и понимания. Такое распределение по группам не накладывает каких-либо ограничений на изобретение, или не оказывает на него какого-либо иного влияния, или не является выражением этих ограничений и влияния, и при желании пакеты могут быть систематизированны многими другими способами. Также отмечено направление, в котором передачу пакета считают правомерной.
<b>Таблица VI-1</b>
Пакеты управления каналом связи
<b>Наименование пакета</b>
<b>Тип пакета</b>
<b>Правомерность передачи по прямому каналу</b>
<b>Правомерность передачи по обратному каналу</b>
Пакет "заголовок подкадра"(Sub-frame Header)
15359
X
Пакет "заполнитель" (Filler)
0
X
X
Пакет "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation)
65
X
Пакет "отключение линии связи" (Link Shutdown)
69
X
Пакет "состояние энергопотребления устройством отображения" (Display Power State)
75
X
Пакет "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable)
78
X
Пакет "выполнить переключение в режим указанного типа" (Perform Type Handoff)
77
X
Пакет "измерение двусторонней задержки" (Round Trip Delay Measurement)
82
X
Пакет "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration)
83
X
<b>Таблица VI-2</b>
Основные пакеты потока аудиовизуальной информации
<b>Наименование пакета</b>
<b>Тип пакета</b>
<b>Правомерность передачи по прямому каналу</b>
<b>Правомерность передачи по обратному каналу</b>
Пакет "поток видеоинформации"(Video Stream)
16
X
X
Пакет "поток звуковой информации" (Audio Stream)
32
X
X
Пакеты для зарезервированных потоков
1-15, 18-31, 33-55
X
X
Пакеты "поток, определяемый пользователем" (User-Defined Stream)
56-63
X
X
Пакет "карта цветов" (Color Map)
64
X
X
Пакет "частота дискретизации звука в линии обратной связи" (Reverse Audio Sample Rate)
79
X
Пакет "разрешен прозрачный цвет" (Transparent Color Enable)
81
X
<b>Таблица VI-3</b>
Пакеты со сведениями о состоянии клиентского устройстваи пакеты управления
<b>Наименование пакета</b>
<b>Тип пакета</b>
<b>Правомерность передачи по прямому каналу</b>
<b>Правомерность передачи по обратному каналу</b>
Пакет "возможности клиентского устройства" (Client Capability)
66
X
Пакет "данные клавиатуры"(Keyboard Data)
61
X
X
Пакет "данные координатно-указательного устройства"(Pointing Device Data)
68
X
X
Пакет "запрос клиентского устройства и его состояние" (Client Request and Status)
70
X
Служебный пакет "защита цифрового информационного содержимого" (Digital Content Protection Overhead Packet)
80
X
X
Пакет "запрос о предоставлении функции ВПУ" (Request VCP Feature)
128
X
Пакет "ответ на запрос о предоставлении функции ВПУ"(VCP Feature Reply)
129
X
Пакет "задать функцию ВПУ"(Set VCP Feature)
130
X
Пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter).
131
X
Пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply)
132
X
Пакет "запрос сведений о конкретном состоянии" (Request Specific Status)
138
X
Пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List)
139
X
Пакет "возможности персонального устройства отображения" (Personal Display Capability)
141
X
Пакет "сообщение клиентского устройства об ошибках" (Client Error Report)
142
X
Пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability)
143
X
Пакет "идентификация клиентского устройства" (Client Identification)
144
X
Пакет "возможности альтернативного устройства отображения" (Alternate Display Capability)
145
X
Пакет "доступ к регистрам"(Register Access)
146
X
X
<b>Таблица VI-4</b>
Пакеты улучшенной графики и визуального отображения
<b>Наименование пакета</b>
<b>Тип пакета</b>
<b>Правомерность передачи по прямому каналу</b>
<b>Правомерность передачи по обратному каналу</b>
Пакет "передача блока данных растрового изображения" (Bitmap Block Transfer)
71
X
Пакет "закрашивание участка растрового изображения"(Bitmap Area Fill)
72
X
Пакет "заполнение узором из растровых изображений" (Bitmap Pattern Fill)
73
X
Пакет "считать из буфера кадров" (Read Frame Buffer)
74
X
Пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability)
143
X
Пакет "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup)
136
X
Пакет "подтверждение приема данных о масштабированном потоке видеоинформации"(Scaled Video Stream Acknowledgement)
137
X
Пакет "масштабированный поток видеоинформации" (Scaled Video Stream)
18
X
Из других разделов текста этого описания понятно, что каждый из пакетов: "заголовок подкадра" (Sub-frame Header), "заполнитель" (Filler), "инкапсуляция для линии обратной связи" (Reverse Encapsulation), "отключение линии связи" (Link Shutdown), "возможности клиентского устройства" (Client Capability) и "запрос клиентского устройства и его состояние" (Client Request and Status), считается очень важным или даже необходимым во многих вариантах осуществления интерфейсов связи для работы во внешнем режиме. Однако пакеты "инкапсуляция для линии обратной связи" (Reverse Encapsulation), "отключение линии связи" (Link Shutdown), "возможности клиентского устройства" (Client Capability) и "запрос клиентского устройства и его состояние" (Client Request and Status) можно или с большой долей вероятности можно считать необязательными для работы во внутреннем режиме. Это создает еще один тип протокола интерфейса MDDI, который позволяет осуществлять передачу данных с очень высокими скоростями с сокращенным набором пакетов связи и с соответствующим упрощением управления и синхронизации.
Пакеты имеют общую базовую структуру, или общий набор полей, как минимум, содержащих, поле "длина пакета", поле "тип пакета", поле (поля) "байты данных" и поле "ЦИК", что проиллюстрировано на фиг.8. Как показано на фиг.8, поле "длина пакета" содержит информацию, в виде многобитового или многобайтового значения, которое указывает общее количество битов в пакете или его длину между полем "длина пакета" и полем "ЦИК". В одном из вариантов осуществления изобретения поле "длина пакета" содержит 16-битовое или 2-байтовое целое число без знака, которое указывает длину пакета. Поле "тип пакета" представляет собой другое многобитовое поле, которое обозначает тип информации, содержащейся в пакете. В варианте осуществления изобретения, который приведен в качестве примера, это поле содержит 16-битовое или 2-байтовое значение в виде 16-битового целого числа без знака и указывает такие типы данных, как возможности устройства отображения, необходимость переключения в иной режим, потоки видео или звуковой информации, сведения о состоянии и т.д.
Третьим полем является поле "байты данных", которое содержит биты, или данные, передаваемые или пересылаемые между главным устройством и клиентскими устройствами в качестве части этого пакета. Формат данных определен особым образом для каждого типа пакета в соответствии с конкретным типом передаваемых данных и может быть разделен на последовательность дополнительных полей, каждое из которых имеет свои собственные требования к формату. То есть каждый тип пакета имеет определенный формат для этого участка или поля. Последним полем является поле циклического избыточного кода (ЦИК), которое содержит результаты 16-битового контроля посредством циклического избыточного кода, вычисленные по всем полям "байты данных", "тип пакета" и "длина пакета", которые используют для подтверждения целостности информации в пакете. Другими словами, эти результаты вычислены по всему пакету, за исключением самого поля "ЦИК". Клиентское устройство обычно сохраняет сведения о подсчете общего количества ошибок, обнаруженных посредством ЦИК, и сообщает об этом подсчете количества ошибок обратно в главное устройство в пакете "запрос клиентского устройства и его состояние" (Client Request and Status) (см. ниже).
Как правило, размеры эти полей и их структура выполнены таким образом, чтобы сохранить выравнивание 2-байтовых полей по границе четного байта и выравнивание 4-байтовых полей по границам четвертых байтов. Это позволяет легко осуществлять построение структур пакетов в пространстве основного запоминающего устройства, имеющегося в главном устройстве и в клиентском устройстве или связанного с ним, не нарушая правил выравнивания по типу данных, что имеет место для большинства или для обычно используемых устройств обработки данных или схем управления.
Во время передачи пакетов передачу полей производят, начиная с младшего значащего бита (МЗБ), который передают первым, и заканчивая старшим значащим битом (СЗБ), который передают последним. Передачу параметров, имеющих длину более одного байта, производят с использованием передачи сначала младшего значащего байта, а это приводит к тому, что для параметра, имеющего длину более 8 битов, используют ту же самую последовательность передачи битов, что и для более короткого параметра, где сначала производят передачу младшего значащего бита. Передачу полей данных каждого пакета обычно производят в таком порядке следования, при этом они определены в последующих разделах, которые приведены ниже, при этом поле, перечисленное как первое, передают первым, а поле, описанное как последнее, передают последним. Данные, передаваемые по тракту MDDI_Data0 передачи сигналов, являются выровненными по биту '0' байтов, передаваемых через интерфейс в любом из режимов типа 1, типа 2, типа 3 или типа 4.
При манипуляциях с данными для устройств отображения передачу данных для матриц элементов изображения сначала производят по строкам, а затем по столбцам, как это традиционно делают в электронной технике. Другими словами, все элементы изображения, находящиеся в одной и той же строке растрового изображения, передают в таком порядке, чтобы крайний левый элемент изображения был передан первым, а крайний правый элемент изображения был передан последним. После того как передан крайний правый элемент строки изображения, следующим элементом изображения в последовательности является крайний левый элемент следующей строки изображения. Для большинства устройств отображения передачу строк элементов изображения обычно производят сверху вниз, хотя при необходимости могут быть обеспечены иные конфигурации. Кроме того, при обработке растровых изображений обычный подход, которого здесь придерживаются, состоит в том, чтобы определить опорную точку путем обозначения левого верхнего угла растрового изображения как положения или смещения "0,0". Значения координат X и Y, используемых для определения или задания положения в растровом изображении, увеличиваются по мере приближения соответственно к правой и к нижней частям растрового изображения. Первая строка и первый столбец (верхний левый угол изображения) начинаются со значения индекса, равного нулю. Значение координаты X увеличивается по мере приближения к правой стороне изображения, а значение координаты Y увеличивается по мере приближения к нижней части изображения, видимого пользователем устройства отображения.
Окно на экране устройства отображения является видимой частью растрового изображения, то есть той частью элементов растрового изображении, которую пользователь может видеть на физическом средстве отображения. Часто имеет место случай, когда окно на экране устройства отображения и растровое изображение имеют одинаковый размер. В левом верхнем углу окна на экране устройства отображения всегда расположен элемент '0,0' растрового изображения. Ширина окна экрана на экране устройства отображения соответствует оси Х растрового изображения, и ширина окна на экране устройства отображения для этого варианта осуществления изобретения является меньшей или равной ширине соответствующего растрового изображения. Высота окна соответствует оси Y растрового изображения, и высота окна экрана для этого варианта осуществления изобретения является меньшей или равной высоте соответствующего растрового изображения. Адресация к самому окну на экране устройства отображения в протоколе не может быть осуществлена, поскольку оно определено только лишь как видимый участок растрового изображения.
Зависимость между растровыми изображениями и окнами на экране устройства отображения является известной в компьютерной технике, в электронной технике, в технике связи по сети Интернет и в иных областях техники, связанных с электроникой. Следовательно, дополнительное описание или пояснение этих принципов здесь не приведено.
C. Определения пакетов
1. Пакет "заголовок подкадра" (Sub-Frame Header)
Пакет "заголовок подкадра" (Sub-Frame Header) является первым пакетом каждого подкадра и имеет основную структуру, показанную на фиг.9. Пакет "заголовок подкадра" (Sub-Frame Header) используют для синхронизации между главным устройством и клиентским устройством, при этом каждое главное устройство должно быть способным осуществить генерацию этого пакета, а каждое клиентское устройство должно быть способным производить прием и интерпретацию этого пакета. Из фиг.9, на которой показан один из вариантов осуществления изобретения, видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "специальное слово" (Unique Word), "зарезервированное поле 1", "длина подкадра", "версия протокола", "номер подкадра" (Sub-frame Count) и "номер кадра с аудиовизуальной информацией" (Media-frame Count), обычно в этом порядке следования. В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 15359 (0x3bff в шестнадцатеричном представлении), и использована заранее выбранная фиксированная его длина, равная 20 байтам, не включающая в себя поле "длина пакета".
В каждом из полей: в поле "тип пакета" и в поле "специальное слово" (Unique Word), использовано 2-байтовое значение (16-битовое целое число без знака). 4-байтовая комбинация этих двух полей одного с другим образует 32-битовое специальное слово с хорошей автокорреляцией. В одном из вариантов осуществления изобретения фактически используемым специальным словом является 0x005a3bff, где сначала передают 16 младших битов в качестве типа пакета, а после этого передают 16 старших битов.
"Зарезервированное поле 1" содержит 2 байта, которые представляют собой зарезервированное пространство для использования в будущем, и здесь оно обычно сконфигурировано таким образом, что значения всех битов установлены равными нулю. Одним из назначений этого поля является обеспечение выравнивания последующих 2-байтовых полей по адресу 16-битового слова и обеспечение выравнивания 4-байтовых полей по адресу 32-битового слова. Младший значащий байт зарезервирован для указания того, способно ли главное устройство обеспечивать адресацию множества клиентских устройств или нет. Значение этого байта, равное нулю, зарезервировано для указания того, что главное устройство способно работать только с одним клиентским устройством.
Поле "длина подкадра" содержит 4 байта информации или значения, которые указывают количество байтов в подкадре. В одном из вариантов осуществления изобретения длина этого поля может быть установлена равной нулю для указания того, что главным устройством будет передан только один подкадр перед тем, как линия связи будет отключена и переведена в состояние бездействия. Значение в этом поле может быть оперативно изменено в динамическом режиме при переходе от одного подкадра к следующему. Эта способность является полезной для выполнения незначительных регулировок привязки синхронизирующих импульсов по времени для обеспечения изохронных потоков данных. Если ЦИК пакета "заголовок подкадра" (Sub-Frame Header) является неверным, то контроллер канала связи должен использовать значение длины подкадра из предыдущего заведомо правильного пакета "заголовок подкадра" (Sub-Frame Header) для оценки длины текущего подкадра.
Поле "версия протокола" содержит 2 байта, которые указывают версию протокола, используемого главным устройством. Значение поля "версия протокола" может быть установлена равным '0' для указания того, что используется первая или текущая версия протокола. Это значение будет изменяться с течение времени по мере создания новых версий и уже обновляется на значение, равное '1', для некоторых полей "версия". Как известно, для утвержденной документации по стандартам, которая охватывает такие интерфейсы, как, например, интерфейс MDDI, значения версий, вероятно, или, как правило, будут обозначены следующим номером после номера текущей версии.
Поле "номер подкадра" (Sub-frame Count) содержит 2 байта, которые определяют порядковый номер, указывающий количество подкадров, уже переданных с момента начала кадра с аудиовизуальной информацией. Первый подкадр в кадре с аудиовизуальной информацией имеет номер подкадра, равный нулю. Последний подкадр в кадре с аудиовизуальной информацией имеет значение, равное n-1, где n - количество подкадров в кадре с аудиовизуальной информацией. Значение поля "номер подкадра" (Sub-frame Count) равно номеру подкадра, переданного в предыдущем пакете "подкадр", плюс 1, кроме первого подкадра из кадра с аудиовизуальной информацией, номер которого равен нулю. Следует отметить, что если длина подкадра установлена равной нулю (это указывает, что подкадр является непериодическим), то номер подкадра также установлен равным нулю.
32
Поле "номер кадра с аудиовизуальной информацией" (Media-frame Count) содержит 4 байта (32-битовое целое число без знака), которые определяют порядковый номер, указывающий количество кадров с аудиовизуальной информацией, уже переданных с момента начала текущего элемента аудиовизуальной информации или передаваемых данных. Первый кадр с аудиовизуальной информацией элемента аудиовизуальной информации имеет номер кадра с аудиовизуальной информацией (Media-frame Count), равный нулю. Номер кадра с аудиовизуальной информацией (Media-frame Count) увеличивают на единицу непосредственно перед первым подкадром каждого кадра с аудиовизуальной информацией и уменьшают обратно до нуля после использования максимального номера кадра с аудиовизуальной информацией (например, кадра с аудиовизуальной информацией номер 2-1=4294967295). Значение номера кадра с аудиовизуальной информацией может быть установлено главным устройством в исходное состояние, равное "0", как правило, в любой момент времени для удовлетворения требованиям конечного применения.
2. Пакет "заполнитель" (Filler)
Пакет "заполнитель" (Filler) представляет собой пакет, который передают в клиентское устройство или из него при отсутствии какой-либо информации для передачи либо по линии прямой связи, либо по линии обратной связи. Для обеспечения максимальной гибкости при передаче других пакетов, в тех случаях, когда это необходимо, рекомендовано, чтобы пакеты-заполнители имели минимальную длину. В самом конце подкадра или пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) (см. ниже), контроллер канала связи устанавливает размер пакета-заполнителя для заполнения остающегося пространства, чтобы сохранить целостность пакета. Пакет "заполнитель" (Filler) полезен для поддержки синхронизации в линии связи тогда, когда в главном устройстве или в клиентском устройстве отсутствует информация, которую надлежит передать или обмен которой следует произвести. Каждое главное устройство и клиентское устройство должно быть способным осуществлять передачу и прием этого пакета для обеспечения эффективного использования данного интерфейса.
Приведенный в качестве примера вариант осуществления формата и содержимого пакета "заполнитель" (Filler) показан на фиг.10. Как показано на фиг.10, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "байты заполнителя" и "ЦИК". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 0, что указано в 2-байтовом поле "тип". Биты или байты в поле "байты заполнителя" содержат переменное количество битов, значения всех из которых равны нулю, для обеспечения возможности иметь желательную длину пакета "заполнитель". Наименьший пакет "заполнитель" не содержит байтов в этом поле. То есть пакет состоит только из полей "длина пакета", "тип пакета" и "ЦИК", и в одном из вариантов осуществления изобретения для него используют заранее выбранную фиксированную длину, равную 6 байтам, или значение длины пакета, равное 4. Значение ЦИК определено для всех байтов, входящих в состав пакета, в том числе для поля "длина пакета", которое в пакетах некоторых иных типов может быть исключено.
3. Пакет "поток видеоинформации" (Video Stream)
Пакеты "поток видеоинформации" (Video Stream) являются носителями видеоинформации для обновления, как правило, прямоугольных областей устройства отображения. Размер этой области может быть малым, охватывая всего лишь один элемент изображения, или большим, охватывая весь экран устройства отображения. Может существовать почти неограниченное количество потоков, отображаемых одновременно, которое ограничено системными ресурсами, поскольку весь контекст, требуемый для отображения потока, содержится в пакете "поток видеоинформации" (Video Stream). Формат одного из вариантов осуществления пакета "поток видеоинформации" (Video Stream) (дескриптор формата видеоинформации) показан на фиг.11. На фиг.11 видно, что в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: " длина пакета" (2 байта), "тип пакета", "идентификатор bClient клиентского устройства", "дескриптор видеоинформации", "атрибуты отображения элемента изображения", "координата левого края по оси X", "координата верхнего края по оси Y", "координата правого края по оси X", "координата нижнего края по оси Y", "координата начальной точки по оси X", "координата начальной точки по оси Y", "количество элементов изображения", "ЦИК параметров", "данные об элементах изображения" и "ЦИК данных об элементах изображения". Пакет этого типа, в общем случае, определен как пакет типа 16, что указано в 2-байтовом поле "тип". В одном из вариантов осуществления изобретения клиентское устройство указывает способность приема пакета "поток видеоинформации" (Video Stream), используя поля "возможность использования формата RGB" (RGB Capability), "возможность использования черно-белого формата" (Monochrome Capability) и "возможность использования формата YCrCb" (YCbCr Capability) пакета "возможности клиентского устройства" (Client Capability).
В одном из вариантов осуществления изобретения поле "идентификатор bClient клиентского устройства" содержит 2 байта информации, которые зарезервированы для идентификатора клиентского устройства. Так как этот протокол является недавно разработанным протоколом связи, то реальные идентификаторы клиентских устройств еще являются неизвестными или имеется недостаточно сведений о них. Следовательно, биты в этом поле обычно устанавливают равными нулю до тех пор, пока такие значения идентификаторов не станут известными, и тогда эти значения идентификаторов могут быть вставлены или использованы, что является очевидным для специалистов в данной области техники. Тот же самый процесс, как правило, будет справедлив и для полей идентификаторов клиентских устройств, описание которых приведено ниже.
Формат и содержимое, используемые для реализации функционирования упомянутого выше поля "дескриптор видеоинформации" (Video Data Descriptor), которое приведено в качестве примера, показаны на фиг.12A-12Е. Как показано на фиг.12A-12Е, поле "дескриптор формата видеоинформации" (Video Data Format Descriptor) содержит 2 байта в виде 16-битового целого числа без знака, которое указывает формат каждого элемента изображения в поле "данные об элементах изображения" данного пакета в данном потоке. Возможно, что в различных пакетах "поток видеоинформации" (Video Stream) могут быть использованы различные форматы данных об элементах изображения, то есть может быть использовано иное значение в поле "дескриптор формата видеоинформации" (Video Data Format Descriptor), и аналогичным образом, поток (область отображения на экране) может оперативно изменять свой формат данных. Формат данных об элементах изображения должен соответствовать, по меньшей мере, одному из допустимых форматов для клиентского устройства, который определен в пакете "возможности клиентского устройства" (Client Capability). Дескриптор формата видеоинформации определяет формат элементов изображения только лишь для данного пакета, и это не означает, что будет продолжено использование постоянного формата в течение всей продолжительности конкретного потока видеоинформации.
На фиг.12A-12D проиллюстрировано то, каким образом закодирован дескриптор формата видеоинформации. На этих чертежах и в этом варианте осуществления изобретения использовано следующее: когда биты [15:13] равны '000', что показано на фиг.12A, то видеоинформация состоит из массива элементов черно-белого изображения, где количество бит на элемент изображения определено битами с третьего (3) бита по нулевой (0) бит слова, содержащегося в поле "дескриптор формата видеоинформации". Биты с одиннадцатого (11) по четвертый (4) обычно являются зарезервированными для использования в будущем или для будущих областей применения, и в этой ситуации их значения установлены равными нулю. Когда вместо этого значения битов [15:13] равны '001', что показано на фиг.12В, то видеоинформация состоит из массива цветных элементов изображения, цвет каждого из которых указан посредством карты цветов (палитры). В этой ситуации биты с пятого (5) по нулевой (0) слова, содержащегося в поле "дескриптор формата видеоинформации", определяют количество битов на элемент изображения, а биты с одиннадцатого (11) по шестой (6) обычно являются зарезервированными для использования в будущем, или для будущих применений, и установлены равными нулю. Когда вместо этого значения битов [15:13] равны '010', что показано на фиг.12С, то видеоинформация состоит из массива цветных элементов изображения, где количество битов на элемент изображения красного цвета определено битами с одиннадцатого (11) по восьмой (8), количество битов на элемент изображения зеленого цвета определено битами с седьмого (7) по четвертый (4), а количество битов на элемент изображения синего цвета определено битами с третьего (3) по нулевой (0). В этой ситуации общее количество битов на каждый элемент изображения равно сумме количества битов, использованных для красного, зеленого и синего цветов.
Однако, когда вместо этого значения битов [15:13] равны значениям или строке '011', что показано на фиг.12D, то видеоинформация состоит из массива видеоинформации в формате 4:2:2 YCbCr с наличием информации о яркости и цветности, где количество битов на элемент изображения компоненты яркости (Y) определено битами с одиннадцатого (11) по восьмой (8), количество битов компоненты Cb определено битами с седьмого (7) по четвертый (4), а количество битов компоненты Cr определено битами с третьего (3) по нулевой (0). Общее количество битов в каждом элементе изображения равно сумме количества битов, использованных для красного, зеленого и синего цветов. Передачу компонент Cb и Cr производят со скоростью передачи, равной половине скорости передачи компоненты Y. Кроме того, выборки видеоинформации в участке "данные об элементах изображения" этого пакета упорядочены следующим образом: Cbn, Yn, Crn, Yn+1, Cbn+2, Yn+2, Crn+2, Yn+3..., где Cbn и Crn связаны с Yn и Yn+1, а Cbn+2 и Crn+2 связаны с Yn+2 и Yn+3 и т.д.
Yn, Yn+1, Yn+2 и Yn+3 представляют собой значения яркости четырех последовательных элементов изображения в одной строке слева направо. Если в строке окна, с которым связан пакет "поток видеоинформации" (Video Stream), имеется нечетное количество элементов изображения ("правый край по оси X" минус "левый край по оси X"+1), то после значения Y, соответствующего последнему элементу изображения в каждой строке, следует значение Cb первого элемента изображения следующей строки, и значение Cr для последнего элемента изображения в строке не передают. Рекомендуется, чтобы при использовании формата YCrCb окна имели ширину, равную четному количеству элементов изображения. Данные об элементах изображения в пакете должны содержать четное количество элементов изображения. Они могут содержать нечетное или четное количество элементов изображения в том случае, когда последний элемент изображения из данных об элементах изображения соответствует последнему элементу изображения в строке окна, указанному в заголовке пакета "поток видеоинформации" (Video Stream), то есть когда местоположением последнего элемента изображения по оси X в данных об элементах изображения является "правый край по оси X".
Когда вместо этого значения битов [15:13] равны '100', то видеоинформация состоит из массива элементов изображения, представленные в формате Байера (Bayer), где количество битов на элемент изображения определено битами с третьего (3) по нулевой (0) слова, содержащегося в поле "дескриптор формата видеоинформации". Как показано на фиг.12Е, шаблон группы элементов изображения (Pixel Group Pattern) определен битами номер 5 и номер 4. Порядок следования данных об элементах изображения может быть по горизонтали или по вертикали, и передача элементов изображения в строках или в столбцах может быть осуществлена в прямом или в обратном порядке и определен битами с восьмого (8) по шестой (6). Биты с одиннадцатого (11) по девятый (9) должны быть установлены равными нулю. Группа из четырех элементов изображения в группе элемента изображения в формате Байера имеет сходство с тем, что часто именуют одиночным элементом изображения в некоторых технологиях отображения информации. Однако один элемент изображения в формате Байера является только лишь одним из четырех цветных элементов изображения в мозаичном шаблоне группы элементов изображения.
Для всех пяти форматов, показанных на чертежах, бит номер 12, который обозначен как "P", указывает, являются ли выборки данных об элементах изображения упакованными или данными об элементах изображения, выровненными по границе байта, или нет. Значение в этом поле, равное '0', указывает, что каждый элемент изображения в поле "данные об элементах изображения" является выровненным по границе байта интерфейса MDDI. Значение, равное '1', указывает, что каждый элемент изображения и каждый цвет в каждом элементе изображения в поле "данные об элементах изображения" является упакованным относительно предыдущего элемента изображения или цвета в предыдущем элементе изображения, в результате чего не остается неиспользуемых битов. Разница между форматом данных об элементах изображения, выровненных по границе байта, и форматом упакованных данных об элементах изображения более подробно показана На фиг.13, на котором можно ясно увидеть, что данные, выровненные по границе байта, могут оставлять в подкадре данных неиспользуемые участки, в отличие от формата упакованных элементов изображения, в котором неиспользуемые участки не остаются.
4. Пакет "поток звуковой информации" (Audio Stream)
Пакеты "поток звуковой информации" (Audio Stream) являются носителями звуковых данных, воспроизведение которых следует произвести посредством звуковой системы клиентского устройства, или для автономного устройства воспроизведения звука. В зависимости от типа используемой звуковой системы, различные потоки звуковых данных могут быть предназначены для отдельных звуковых каналов в звуковой системе, например: левого переднего, правого переднего, центрального, левого тылового и правого тылового. Полный набор каналов звукового сопровождения предусмотрен для наушников, содержащих расширенную пространственно-акустическую обработку сигналов. Клиентское устройство указывает, что оно способно принимать пакет "поток звуковой информации" (Audio Stream), используя поля "возможности звуковых каналов" (Audio Channel Capability) и "частота дискретизации звука" (Audio Sample Rate) пакета "возможности клиентского устройства" (Client Capability). Формат пакетов "поток звуковой информации" (Audio Stream) проиллюстрирован на фиг.14.
Как показано на фиг.14, в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор bClient клиентского устройства", "идентификатор канала звукового сопровождения", "зарезервированное поле 1", "количество выборок звуковых данных", "количество битов в выборке и упаковка", "частота дискретизации звука", "ЦИК параметров", "цифровые звуковые данные" и "ЦИК звуковых данных". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 32.
Поле "идентификатор bClient клиентского устройства" содержит 2 байта информации, которые зарезервированы для идентификатора клиентского устройства, использованного ранее. Поле "зарезервированное поле 1" содержит 2 байта, которые зарезервированы для использования в будущем, и здесь оно обычно сконфигурировано таким образом, что значения всех битов установлены равными нулю.
Поле "количество битов в выборке и упаковка" содержит 1 байт в виде 8-битового целого числа без знака, которое указывает формат упаковки звуковых данных. Обычно используют следующий формат: биты с четвертого (4) по нулевой (0) определяют количество битов в выборке звуковых данных с импульсно-кодовой модуляцией (ИКМ). В этом случае бит номер 5 указывает, являются ли выборки цифровых звуковых данных упакованными или нет. Разница между упакованными выборками звуковых данных и выборками звуковых данных, выровненными по границе байта, с использованием здесь 10-битовых выборок проиллюстрирована на фиг.15. Значение, равное '0', указывает, что каждая выборка звуковых данных с ИКМ в поле "цифровые звуковые данные" является выровненной по границе байта интерфейса MDDI, а значение, равное '1', указывает, что каждая последующая выборка звуковых данных с ИКМ является упакованной относительно предыдущей выборки звуковых данных. Этот бит обычно действует только тогда, когда значение, определенное в битах с четвертого (4) по нулевой (0) (количество бит в выборке звуковых данных с ИКМ), не является кратным восьми. Биты с седьмого (7) по шестой (6) являются зарезервированными для использования в будущем, и их значения обычно установлены равными нулю.
5. Зарезервированные пакеты "поток"
В одном из вариантов осуществления изобретения пакеты типов 1-15, 18-31 и с 33 по 55 являются зарезервированными для пакетов "поток", которые еще предстоит определить для использования в будущих версиях или в измененных вариантах протоколов передачи пакетов, которые будут желательными для различных обнаруженных применений. И вновь это является частью обеспечения более гибкого и полезного интерфейса MDDI, несмотря на постоянно изменяющиеся технологии и конструкции систем, по сравнению с другими способами.
6. Пакеты "поток, определяемый пользователем" (User-Defined Stream)
Восемь типов потоков данных, известные как типы с 56 по 63, зарезервированы для использования в собственных областях применения, которые могут быть определены изготовителями оборудования для использования вместе с линией связи интерфейса MDDI. Они известны как пакеты "поток, определяемый пользователем" (User-Defined Stream). Такие пакеты могут быть использованы по любому назначению, но главное устройство и клиентское устройство должны использовать такие пакеты только в тех ситуациях, когда результат такого использования очень хорошо понятен или известен. Конкретное определение параметров потока и данных для пакетов этих типов оставлено на усмотрение изготовителей конкретного оборудования или проектировщиков интерфейсов, реализующих пакеты таких типов или предпринимающих попытку их использования. Некоторые примеры использования пакетов "поток, определяемый пользователем" (User-Defined Stream) состоят в сообщении параметров тестирования и результатов испытаний, данных заводской поверки и собственных данных об особом использовании. Формат пакетов "поток, определяемый пользователем", используемый в одном из вариантов осуществления изобретения, проиллюстрирован на фиг.16. Как показано на фиг.16, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета" (2 байта), "тип пакета", "идентификационный номер bClient клиентского устройства", "параметры потока", "ЦИК параметров", "данные потока" и "ЦИК данных потока".
7. Пакеты "карта цветов" (Color Map)
Пакеты "карта цветов" (Color Map) указывают содержимое справочной таблицы для карты цветов, используемой для представления цветов для клиентского устройства. В некоторых областях применения может потребоваться карта цветов, являющаяся большей, чем тот объем данных, который может быть передан в одном пакете. В этих случаях может быть передано множество пакетов "карта цветов" (Color Map), каждый из которых содержит различное подмножество из карты цветов, с использованием описанных ниже полей "смещение" и "длина". Формат пакета "карта цветов" (Color Map) согласно одному из вариантов осуществления изобретения проиллюстрирован на фиг.17. Как показано на фиг.17, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "количество элементов в карте цветов", "смещение карты цветов", "ЦИК параметров", "данные карты цветов" и "ЦИК данных". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 64 (пакет "формат видеоинформации и карта цветов" (Video Data Format and Color Map), что указано в поле "тип пакета" (2 байта). Клиентское устройство указывает, что оно способно принимать пакеты "карта цветов" (Color Map), используя поля "размер карты цветов" и "широта карты цветов" пакета "возможности клиентского устройства" (Client Capability).
8. Пакеты "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation)
В варианте осуществления изобретения, который приведен в качестве примера, передачу данных в обратном направления производят с использованием пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Пакет передают по линии прямой связи, и в середине этого пакета режим работы линии связи интерфейса MDDI (направление передачи) изменяют или изменяют на противоположный (противоположное) для того, чтобы можно было производить передачу пакетов в обратном направлении. Формат пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) согласно одному из вариантов осуществления изобретения проиллюстрирован на фиг.18. Как показано на фиг.18, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hCLient клиентского устройства", "флаги линии обратной связи", "делитель скорости передачи по обратному каналу", "длина поля "первое изменение направления передачи на обратное"" (Turn-Around 1 Length), "длина поля "второе изменение направления передачи на обратное"" (Turn-Around 2 Length), "ЦИК параметров", "все нули 1", "первое изменение направления передачи на обратное" (Turn-Around 1), "пакеты данных, передаваемые по обратному каналу", "второе изменение направления передачи на обратное" (Turn-Around 2) и "все нули 2". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 65. Для внешнего режима каждое главное устройство должно быть способным осуществлять генерацию этого пакета и принимать данные, а каждое клиентское устройство должно быть способным принимать данные из главного устройства и передавать данные в главное устройство для эффективного использования желательного протокола и результирующей скорости. Реализация этого пакета является необязательной для внутреннего режима, но пакет "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) используют для приема главным устройством данных из клиентского устройства.
При передаче пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) контроллер канала связи интерфейса MDDI ведет себя особым образом. Интерфейс MDDI имеет стробирующий сигнал, управление которым, как правило, всегда осуществляет главное устройство, действующее в качестве контроллера канала связи. Главное устройство ведет себя таким образом, что как будто бы оно производит передачу нуля для каждого бита тех частей пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), которыми являются поля "изменение направления передачи на обратное" (Turn-Around) и "пакеты данных, передаваемые по обратному каналу". Главное устройство переключает стробирующий сигнал MDDI_Strobe из одного состояния в другое на границе каждого бита во время двух изменений направления передачи на обратное и в течение времени, выделенного для передачи обратных пакетов данных. То есть главное устройство переключает стробирующий сигнал MDDI_Stb из одного состояния в другое от начала поля "все нули 1" до конца поля "все нули 2". (Это поведение является таким, что как будто бы главное устройство производит передачу данных, все из которых равны нулю).
Главное устройство отключает свои формирователи линии передачи сигнала данных интерфейса MDDI и обычно гарантирует их полное отключение до момента поступления последнего бита поля "первое изменение направления передачи на обратное" (Turn-Around 1) и затем вновь включает свои формирователи линии передачи во время передачи поля "второе изменение направления передачи на обратное" (Turn-Around 2), и обычно гарантирует, что формирователи уже являются полностью повторно включенными до момента поступления последнего бита поля "второе изменение направления передачи на обратное" (Turn-Around 2). Клиентское устройство считывает параметр "длина поля" изменение изменения направления передачи на обратное"" (Turn-Around Length) и производит передачу сигналов данных в главное устройство сразу же после последнего бита поля "первое изменение направления передачи на обратное" (Turn-Around 1). То есть, как указано в приведенном ниже описании содержимого пакета и в иных местах описания, клиентское устройство синхронизирует новые данные с линией связи по определенным фронтам нарастания стробирующего сигнала интерфейса MDDI. Клиентское устройство использует параметры "длина пакета" и "длина поля "изменение направления передачи на обратное"" (Turn-Around Length) для получения сведений о продолжительности промежутка времени, имеющегося у него для передачи пакетов в главное устройство. Когда в клиентском устройстве отсутствуют данные для передачи в главное устройство, то клиентское устройство может посылать пакеты-заполнители или приводить линии передачи данных в нулевое состояние. Если линии данных приведены в нулевое состояние, то главное устройство интерпретирует это как пакет с нулевой длиной (недопустимой длиной), и главное устройство больше не принимает пакеты из клиентского устройства в течение промежутка времени, равного длительности текущего пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation).
В одном из вариантов осуществления изобретения поле "запрос на предоставление линии обратной связи" (Reverse Link Request) пакета "запрос клиентского устройства и его состояние" (Client Request and Status) может быть использовано для информирования главного устройства о количестве байтов, которое требуется клиентскому устройству в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) для передачи данных назад в главное устройство. Главное устройство предпринимает попытку удовлетворить запрос путем выделения, по меньшей мере, этого количества байтов в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Главное устройство может производить передачу в подкадре более одного пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Клиентское устройство может производить передачу пакета "запрос клиентского устройства и его состояние" (Client Request and Status) почти в любой момент времени, и главное устройство интерпретирует параметр в поле "запрос на предоставление линии обратной связи" (Reverse Link Request) как общее количество запрошенных байтов в одном подкадре.
9. Пакеты "возможности клиентского устройства" (Client Capability)
Главному устройству необходимо иметь сведения о возможностях клиентского устройства (устройства отображения), с которым оно поддерживает связь, для того, чтобы установить конфигурацию линии связи главного устройства с клиентским устройством, как правило, оптимальным или желательным образом. Рекомендуется, чтобы устройство отображения производило передачу пакета "возможности клиентского устройства" (Client Capability) в главное устройство после того, как установлена синхронизация линии прямой связи. Передачу такого пакета считают необходимой в том случае, когда главным устройством выдан запрос на его получение с использованием поля "флаги линии обратной связи" в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Пакет "возможности клиентского устройства" (Client Capability) используют для информирования главного устройства о возможностях клиентского устройства. Для внешнего режима каждое главное устройство должно быть способным производить прием этого пакета, а каждое клиентское устройство должно быть способным производить передачу этого пакета, чтобы полностью использовать возможности этого интерфейса и протокола. Реализация этого пакета является необязательной для внутреннего режима, поскольку в этой ситуации возможности клиентского устройства, например устройства отображения, клавиатуры или иного устройства ввода-вывода, уже должны быть полностью определены и быть хорошо известными для главного устройства при производстве или при монтаже в отдельный компонент или блок определенного типа.
Формат пакета "возможности клиентского устройства" (Client Capability) в одном из вариантов осуществления изобретения проиллюстрирован на фиг.19. Как показано на фиг.19, для этого варианта осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "версия протокола", "минимальная версия протокола", "возможности по скорости передачи данных", "возможности поддержки типа интерфейса", "количество альтернативных устройств отображения", "зарезервированное поле 1", "ширина растрового изображения", "высота растрового изображения", "ширина окна на экране устройства отображения", "высота окна на экране устройства отображения", "размер карты цветов", "широта карты цветов в формате RGB" (Color Map RGB Width), "возможность использования формата RGB" (RGB Capability), "возможность использования черно-белого формата" (Monochrome Capability), "зарезервированное поле ", "возможность использования формата YCrCb" (YCbCr Capability), "возможность использования формата Байера" (Bayer Capability), "зарезервированное поле 3", "характерные функциональные возможности клиентского устройства" (Client Feature Capability), "максимальная частота видеокадров", "минимальная частота видеокадров", "минимальная частота подкадров", "емкость буфера звуковых данных", "возможности звуковых каналов" (Audio Channel Capability), "возможные частоты дискретизации звука" (Audio Sample Rate Capability), "дискретность выборок звуковых данных" (Audio Sample Resolution), "дискретность выборок звука с микрофона" (Mic Sample Resolution), "возможные частоты дискретизации звука с микрофона" (Mic Sample Rate Capability), "формат данных клавиатуры", "формат данных координатно-указательного устройства", "тип защиты информационного содержимого", "наименование производителя", "код изделия", "зарезервированное поле 4", "серийный номер", "неделя изготовления", "год изготовления" и "ЦИК". В варианте осуществления изобретения, который приведен в качестве примера, пакет этого типа, в общем случае, определен как пакет типа 66.
10. Пакеты "данные клавиатуры" (Keyboard Data)
Пакет "данные клавиатуры" (Keyboard Data) используют для передачи данных, поступивших из клавиатуры, из клиентского устройства в главное устройство. Вместе с различными устройствами отображения или звуковоспроизводящими устройствами, в том числе, с надеваемым на голову шлемом-дисплеем/устройством воспроизведения звука, который приведен в качестве примера, не являющегося ограничивающим признаком, может быть использована беспроводная (или проводная) клавиатура. Пакет "данные клавиатуры" (Keyboard Data) обеспечивает передачу данных клавиатуры, полученных из одного из нескольких известных устройств, подобных клавиатуре, в главное устройство. Этот пакет также может быть использован в линии прямой связи для передачи данных в клавиатуру. Клиентское устройство указывает, что оно способно посылать и принимать пакеты "данные клавиатуры" (Keyboard Data), используя поле "данные клавиатуры" в пакете "возможности клиентского устройства" (Client Capability).
Формат пакета "данные клавиатуры" (Keyboard Data) показан на фиг.20, и этот пакет содержит переменное количество байтов информации, поступающей из клавиатуры или для нее. Как показано на фиг.20, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор bClient клиентского устройства", "формат данных клавиатуры", "данные клавиатуры" и "ЦИК". Здесь пакет этого типа, в общем случае, определен как пакет типа 67.
Поле "идентификатор bClient клиентского устройства", как и ранее, представляет собой зарезервированное поле, а контроль посредством ЦИК выполнен по всем байтам пакета. Поле "формат данных клавиатуры" содержит 2-байтовое значение, описывающее формат данных клавиатуры. Биты с шестого (6) по нулевой (0) должны быть идентичными соответствующим битам в поле "формат данных клавиатуры" в пакете "возможности клиентского устройства" (Client Capability). Это значение не должно быть равным 127. Биты с пятнадцатого (15) по седьмой (7) являются зарезервированными для использования в будущем и, следовательно, в настоящее время установлены равными нулю.
11. Пакеты "данные координатно-указательного устройства" (Pointing Device Data)
Пакет "данные координатно-указательного устройства" (Pointing Device Data) используют в качестве способа, структуры или средства для передачи информации о положении беспроводного манипулятора типа "мышь" или иного координатно-указательного устройства из клиентского устройства в главное устройство. С использованием этого пакета также может быть осуществлена передача данных в координатно-указательное устройство по линии прямой связи. Пример формата пакета "данные координатно-указательного устройства" (Pointing Device Data) показан на фиг.21, и этот пакет содержит переменное количество байтов информации из координатно-указательного устройства или для этого устройства. Как показано на фиг.21, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор bClient клиентского устройства", "формат данных координатно-указательного устройства", "данные координатно-указательного устройства" и "ЦИК". В варианте осуществления изобретения, который приведен в качестве примера, пакет этого типа, в общем случае, определен как пакет типа 68, что указано в 1-байтовом поле "тип".
12. Пакеты "отключение линии связи" (Link Shutdown)
Пакет "отключение линии связи" (Link Shutdown) передают из главного устройства в клиентское устройство в качестве способа или средства указания того, что в интерфейсе MDDI передача данных и стробирование будут прекращены и что он войдет в состояние низкого энергопотребления (в состояние "спячки")". Этот пакет пригоден для отключения линии связи и для экономии энергии после передачи статических растровых изображений из мобильного устройства связи в устройство отображения или при отсутствии на данный момент времени какой-либо дополнительной информации для передачи из главного устройства в клиентское устройство. Обычный режим работы возобновляют тогда, когда главное устройство снова передает пакеты. Первым пакетом, который передают после "спячки", является пакет "заголовок подкадра" (Sub-Frame Header). Формат пакета "состояние клиентского устройства" (Client Status) для одного из вариантов осуществления изобретения показан на фиг.22. Как показано на фиг.22, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "ЦИК" и "все нули". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 69, что указано в 1-байтовом поле "тип".
Для поля "длина пакета" используют 2 байта для указания общего количества байтов в пакете, за исключением поля "длина пакета". В одном из вариантов осуществления изобретения значение в поле "длина пакета" этого пакета зависит от типа интерфейса или от фактического режима линии связи в момент передачи пакета "отключение линии связи" (Link Shutdown). Следовательно, типичная длина пакета равна 20 байтам для режима типа 1 (общее количество байтов в пакете равно 22), 36 байтам для режима типа 2 (общее количество байтов в пакете равно 38), 68 байтам для режима линии связи типа 3 (общее количество байтов в пакете равно 70) и 132 байтам для режима типа 4 (общее количество байтов в пакете равно 134).
Для поля "все нули" используют переменное количество байтов для обеспечения того, чтобы сигналы данных MDDI_Data гарантированно имели уровень "логический ноль" в течение промежутка времени, достаточного для того, чтобы клиентское устройство имело возможность начать восстановление тактовой синхронизации с использованием только стробирующего сигнала MDDI_Stb до того, как будут отключены формирователи линии связи, имеющиеся в главном устройстве. Длина поля "все нули" зависит от типа интерфейса или от фактического режима работы линии связи в момент передачи пакета "отключение линии связи" (Link Shutdown). Длина поля "все нули" предназначена для создания 64 импульсов стробирующего сигнала MDDI_Stb для любого установленного типа интерфейса. Следовательно, длина поля "все нули" для интерфейса каждого из типов равна: 16 байта для интерфейса типа 1, 32 байтам для интерфейса типа 2, 64 байтам для интерфейса типа 3 и 128 байтам для интерфейса типа 4.
Для поля "ЦИК" используют 2 байта, которые содержат 16-битовый ЦИК байтов, начиная с поля "длина пакета" и заканчивая полем "тип пакета".
В состоянии "спячки" с малым энергопотреблением формирователь канала MDDI_Data0 отключен, будучи переведенным в высокоимпедансное состояние, начинающееся после 16-48-го периода или импульса стробирующего сигнала MDDI_Stb после последнего бита поля "все нули". Для линий связи типа 2, типа 3 или типа 4 линии MDDI_Data1-MDDI_DataPwr7 также устанавливают в высокоимпедансное состояние в тот же самый момент времени, когда происходит отключение формирователя канала MDDI_Data0. Любое из устройств: главное устройство или клиентское устройство, может вызвать "пробуждение" линии связи интерфейса MDDI, выводя его из состояния "спячки", которое описано в других местах настоящего описания заявки, что является ключевым усовершенствованием для настоящего изобретения и его преимуществом.
Как описано в определении поля "все нули", после старшего значащего бита поля ЦИК пакета "отключение линии связи" (Link Shutdown) происходит переключение стробирующего сигнала MDDI_Stb из одного состояния в другое в течение 64 периодов для облегчения правильного отключения в контроллере клиентского устройства. Один период представляет собой изменение уровня сигнала от низкого к высокому, после чего следует изменение уровня сигнала от высокого к низкому, или изменение уровня сигнала от высокого к низкому, после чего следует изменение уровня сигнала от низкого к высокому. После передачи поля "все нули" формирователь канала передачи стробирующего сигнала MDDI_Stb в главном устройстве отключают.
13. Пакеты "запрос клиентского устройства и его состояние" (Client Request and Status)
Главному устройству нужен лишь небольшой объем информации от клиентского устройства, поэтому оно может сконфигурировать линию связи главного устройства с клиентским устройством, как правило, оптимальным образом. Рекомендуется, чтобы клиентское устройство посылало в главное устройство один пакет "запрос клиентского устройства и его состояние" (Client Request and Status) в каждом подкадре. Для обеспечения надежной доставки этого пакета в главное устройство клиентское устройство должно произвести передачу этого пакета как первого пакета в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Этот пакет также посылают тогда, когда главным устройством выдан запрос на его получение с использованием поля "флаги линии обратной связи" в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Пакет "запрос клиентского устройства и его состояние" (Client Request and Status) используют для передачи сообщений об ошибках и о состоянии в главное устройство. Для работы во внешнем режиме каждое главное устройство должно быть способным производить прием этого пакета, а каждое клиентское устройство должно быть способным производить передачу этого пакета для надлежащего или оптимального использования протокола интерфейса MDDI. Несмотря на то что для внутренних операций, то есть для внутренних главных устройств и внутренних клиентских устройств, также рекомендуется, чтобы была обеспечена поддержка этого пакета, это не является необходимым условием.
Формат пакета "запрос клиентского устройства и его состояние" (Client Request and Status) показан на фиг.23. Как показано на фиг.23, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "запрос на предоставление линии обратной связи" (Reverse Link Request), "изменение возможностей", "клиентское устройство занято", "количество ошибок, обнаруженных посредством ЦИК" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 70, что указано в 1-байтовом поле "тип", и обычно использует заранее выбранную фиксированную его длину, равную 12 байтам.
Поле "запрос на предоставление линии обратной связи" (Reverse Link Request) может быть использовано для информирования главного устройства о количестве байтов в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), которое требуется клиентскому устройству для передачи данных обратно в главное устройство. Главное устройство должно предпринять попытку удовлетворить запрос, выделяя, по меньшей мере, это количество байтов в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Главное устройство может производить передачу более одного пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) в подкадре для того, чтобы вместить эти данные. Клиентское устройство может производить передачу пакета "запрос клиентского устройства и его состояние" (Client Request and Status) в любой момент времени, и главное устройство интерпретирует параметр в поле "запрос на предоставление линии обратной связи" (Reverse Link Request) как общее количество запрошенных байтов в одном подкадре. Дополнительные подробности и конкретные примеры того, каким образом производят передачу данных по линии обратной связи обратно в главное устройство, приведены ниже.
14. Пакеты "передача блока данных растрового изображения" (Bit map Block Transfer)
Пакет "передача блока данных растрового изображения" (Bit map Block Transfer) обеспечивает средство, структуру или способ "прокрутки" областей на экране устройства отображения в любом направлении, обычно, путем копирования блока элементов изображения из одной прямоугольной области в другую. Клиентские устройства, которые имеют эту возможность, сообщают об этой возможности в бите номер 0 поля "указатели характерных функциональных возможностей устройства отображения" (Display Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability). Формат пакета "передача блока данных растрового изображения" (Bitmap Block Transfer) для одного из вариантов осуществления изобретения показан на фиг.24. Как показано на фиг.24, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "атрибуты данных об элементах изображения", "операция с растром", "значение координаты левого верхнего угла по оси X", "значение координаты левого верхнего угла по оси Y", "ширина окна", "высота окна", "перемещение окна по оси X", "перемещение окна по оси Y" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 71, и в одном из вариантов осуществления изобретения используют заранее выбранную фиксированную его длину, равную 15 байтам. Как изложено в ином месте описания, 2-байтовое поле "идентификатор hClient клиентского устройства" содержит информацию или значения, которые являются зарезервированными для идентификатора клиентского устройства. Так как это поле, как правило, является зарезервированным для использования в будущем, то в настоящее время его значение обычно установлено равным нулю путем установки значения битов равным уровню логического нуля, хотя оно может быть установлено равным иным значениям или может быть использовано специалистом в данной области техники для передачи желательной информации.
В одном из вариантов осуществления изобретения 2-байтовое поле "атрибуты данных об элементах изображения" содержит значения, которые указывают, где именно собираются произвести обновление данных об элементах изображения, при этом посредством битов номер 1 и 0 выбирают то устройство отображения, в котором данные об элементах изображения подлежат обновлению. Если основное устройство отображения в клиентском устройстве не поддерживает воспроизведение стереоскопических изображений, то клиентское устройство может оказывать воздействие на данные об элементах изображения в основном устройстве отображения для одной из следующих битовых комбинаций: 01, 10 или 11. Рекомендуется, чтобы для адресации основного устройства отображения в тех клиентских устройствах, которые не поддерживают возможность воспроизведения стереоскопических изображений, было использовано значение 11. Когда значения битов [1:0] равны 11, то обновление данных об элементах изображения производят в буфере кадров для обоих глаз: левого и правого, если значения битов [1:0] равны 10, то обновление данных об элементах изображения производят только в буфере кадров для левого глаза. Когда значения битов [1:0] равны 01, то обновление данных об элементах изображения производят только в буфере кадров для правого глаза. Когда значения битов [1:0] равны 00, обновление данных об элементах изображения производят в буфере кадров альтернативного устройства отображения, указанного посредством битов с восьмого (8) по одиннадцатый (11), описание которых приведено ниже.
Биты номер 7 и 6 действуют как биты обновления данных для устройства отображения (Display Update Bits), которые указывают тот буфер кадров, в котором следует обновить или в который следует записать данные об элементах изображения. Более подробное описание влияния битов обновления кадра (Frame Update Bits) приведено ниже. Когда биты [7:6] равны '01', то данные об элементах изображения записывают в автономный буфер для изображений. Когда биты [7:6] равны '00', то данные об элементах изображения записывают в буфер для изображений, используемый для обновления изображения на экране устройства отображения. Когда биты [7:6] равны '11', то данные об элементах изображения записывают во все буферы для изображений. Если биты [7:6] равны '10', то это значение считают недопустимым. В настоящее время эти биты являются зарезервированными для использования в будущем. В этом случае игнорируют всю команду, и никакие буферы кадров не обновляют.
Биты с одиннадцатого (11) по восьмой (8) образуют 4-битовое целое число без знака, которое указывает альтернативное устройство отображения или местоположение альтернативного клиентского устройства, где следует произвести обновление данных об элементах изображения. Значения битов номер 0 и 1 установлены равными 00 для того, чтобы клиентское устройство интерпретировало биты с одиннадцатого (11) по восьмой (8) как номер альтернативного устройства отображения. Если биты номер 1 и 0 не равны 00, то значения или уровни битов с восьмого (8), по одиннадцатый (11) обычно установлены равными логическому нулю. Биты со второго (2) по пятый (5) и с двенадцатого (12) по пятнадцатый (15) являются зарезервированными для использования в будущем, и их уровни или значения обычно должны быть установлены равными логическому нулю.
В одном из вариантов осуществления изобретения 2-байтовое поле "операция с растром" указывает, каким образом следует объединять элементы изображения в исходном месте расположения и в месте назначения для формирования значений новых элементов изображения, которые следует записать в месте расположения целевого изображения. Операции с растром определяют то, каким образом производят слияние друг с другом двух различных прямоугольных областей равного размера в буфере кадров. Площадь целевого изображения также является одним из двух изображений, которые объединяют друг с другом. Второе из двух изображений именуют исходным изображением. Если клиентское устройство не поддерживает поле "операция с растром", указанное в пакете "возможности клиентского устройства" (Client Capability), то главное устройство обычно передает этот пакет с битами с третьего (3) по нулевой (0), равными 3, и клиентское устройство игнорирует биты с третьего (3) по нулевой (0).
В одном из вариантов осуществления изобретения биты с третьего (3) по нулевой (0) используют для указания фактической операции с растром, используя одно из значений, показанных в приведенной ниже таблице VII, или устанавливая их равными одному из этих значений, для выбора соответствующей операции, показанной в таблице рядом с этим значением. То есть каждое указанное значение битов [3:0], перечисленное в первом столбце таблицы, приводит к выполнению операции, указанной во втором столбце таблицы, и в третьем столбце здесь приведено ее дополнительное описание для разъяснения.
<b>Таблица VII</b>
<b>Значение битов [3:0]</b>
<b>Значение, запомненное в месте назначения</b>
<b>Определение</b>
0
0
1
исходное и целевое
операция логического умножения "И" (AND)
2
исходное и ~целевое
исходное AND (не целевое)
3
исходное
4
~исходное и целевое
(не исходное) AND целевое
5
целевое
операция отсутствует
6
исходное^целевое
логическая операция "исключающее ИЛИ" (XOR)
7
исходное|целевое
логическая операция "ИЛИ" (OR)
8
~(исходное|целевое)
не (исходное OR целевое)
9
~(исходное^целевое)
не (исходное XOR целевое)
10
~(целевое)
не (целевое)
11
исходное|~целевое
исходное OR (не целевое)
12
~исходное
не целевое
13
~исходное|целевое
(не исходное) OR целевое
14
~(исходное&целевое)
не (исходное AND целевое)
15
все единицы
Биты с пятого (5) по четвертый (4) используют для указания того, записаны ли элементы целевого изображения в места назначения как относящиеся к прозрачному цвету или нет. Операция, указанная битами с пятого (5) по четвертый (4), применима в зависимости о того, поддерживает ли клиентское устройство операции с растром или нет. Если клиентское устройство не поддерживает операции с растром, то результирующее значение элемента целевого изображения, которое подлежит рассмотрению для операции, определенной битами с пятого (5) по четвертый (4), просто равно исходному значению элемента изображения.
Когда значение битов [5:4] равно 00, то прозрачный цвет не используют. Результирующий элемент целевого изображения записывают в место расположения элемента целевого изображения, не учитывая значение прозрачного цвета, определенное посредством пакета "разрешен прозрачный цвет" (Transparent Color Enable). Значение битов [5:4], равное 01, является в настоящее время зарезервированным для использования в будущем и обычно не используется, хотя является доступным для специалиста в данной области техники, который может установить для него соответствующее применение. Когда значение битов [5:4] равно 10, то результирующий элемент изображения не записывают в место расположения элемента целевого изображения в том случае, если результирующий элемент целевого изображения, вычисленный посредством операции с растром, равен прозрачному цвету. В противном случае его записывают в место расположения элемента целевого изображения. Когда значение битов [5:4] равно 11, то результирующий элемент изображения не записывают в место расположения элемента целевого изображения в том случае, если результирующий элемент целевого изображения, вычисленный посредством операции с растром, равен прозрачному цвету. В противном случае результирующий элемент изображения записывают в место расположения элемента целевого изображения.
Биты с пятнадцатого (15) по шестой (6) являются зарезервированными для использования в будущем, и, следовательно, их уровни или значения обычно установлены равными логическому нулю.
Остальные поля используют для указания значений координат левого верхнего угла окна, подлежащего перемещению, по осям X и Y, ширины и высоты окна, подлежащего перемещению, и количества элементов изображения, на которое следует переместить окно соответственно по горизонтали и вертикали. Положительные значения для двух последних полей вызывают перемещение окна направо и вниз, а отрицательные значения вызывают его перемещение соответственно налево и вверх. Поле "ЦИК" (которое здесь состоит из 2 байт) содержит 16-битовый ЦИК всех байтов пакета, включая поле "длина пакета".
15. Пакеты "закрашивание участка растрового изображения" (Bitmap Area Fill)
Пакет "закрашивание участка растрового изображения" (Bitmap Area Fill) обеспечивает средство, структуру или способ для простой инициализации воспроизведения одного цвета в области экрана устройства отображения. Устройства отображения, которые имеют эту возможность, сообщаю об этой возможности в бите номер 1 поля "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability). Один из вариантов осуществления формата пакета "закрашивание участка растрового изображения" (Bitmap Area Fill) показан на фиг.25. Как показано на фиг.25, в этом случае пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "значение координаты левого верхнего угла по оси X", "значение координаты левого верхнего угла по оси Y", "ширина окна", "высота окна", "дескриптор формата данных", "значение элемента изображения, которым закрашивают участок изображения" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 72, что указано в 2-байтовом поле "тип", и используют заранее выбранную фиксированную его длину, равную 20 байтам.
Как изложено в ином месте описания, 2-байтовое поле "идентификатор hClient клиентского устройства" содержит информацию или значения, которые зарезервированы для идентификатора клиентского устройства. Так как это поле, как правило, является зарезервированным для использования в будущем, то в настоящее время его значение обычно установлено равным нулю путем установки значений битов равными уровню логического нуля, хотя они могут быть установлены равными другим значениям или могут быть использованы специалистом в данной области техники для передачи желаемой информации.
16. Пакеты "заполнение узором из растровых изображений" (Bitmap Pattern Fill)
Пакет "заполнение узором из растровых изображений" (Bitmap Pattern Fill) обеспечивает средство или структуру для простой инициализации отображения заранее выбранного узора в области экрана устройства отображения. Клиентские устройства, которые имеют эту возможность, сообщают об этой возможности в бите номер 2 поля "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability). Левый верхний угол узора-заполнителя совмещен с левым верхним углом окна, подлежащего заполнению, если смещение узора по горизонтали или вертикали не равно нулю. Если окно, подлежащее заполнению, является более широким или более высоким, чем узор-заполнитель, то узор может быть многократно повторен по горизонтали или вертикали для заполнения окна. Правую или нижнюю часть последнего повторного узора обрезают по мере необходимости. Если окно является меньшим, чем узор-заполнитель, то правая или нижняя часть узора-заполнителя могут быть обрезаны для того, чтобы размер узора соответствовал размеру окна.
Если смещение узора по горизонтали не равно нулю, то элементы изображения между левой стороной окна и левой стороной плюс смещение узора по горизонтали заполняют крайними правыми элементами изображения узора. Смещение узора по горизонтали должно быть меньшим, чем ширина узора. Аналогичным образом, если смещение узора по вертикали не равно нулю, то элементы изображения между верхней стороной окна и верхней стороной плюс смещение узора по вертикали заполняют крайними нижними элементами изображения узора. Смещение узора по вертикали должно быть меньшим, чем высота узора.
Один из вариантов осуществления формата пакета "заполнение узором из растровых изображений" (Bitmap Pattern Fill) показан на фиг.26. Как показано на фиг.26, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "значение координаты левого верхнего угла по оси X", "значение координаты левого верхнего угла по оси Y", "ширина окна", "высота окна", "ширина узора", "высота узора", "смещение узора по горизонтали", "смещение узора по вертикали", "дескриптор формата данных", "ЦИК параметров", "данные об элементах изображения узора" и "ЦИК данных об элементах изображения". В некоторых вариантах осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 73, что указано в 1-байтовом поле "тип".
17. Пакеты "канал передачи данных по линии связи" (Communication Link Data Channel)
Пакет "канал передачи данных по линии связи" (Communication Link Data Channel) обеспечивает структуру, средство или способ, которые позволяют клиентскому устройству с высокой вычислительной мощностью, например персональному информационному устройству (PDA), обмениваться информацией с беспроводным приемопередатчиком, например с сотовым телефоном или с устройством, снабженным портом беспроводной передачи данных. В этом случае линия связи интерфейса MDDI действует в качестве удобного высокоскоростного интерфейса между устройством связи и вычислительным устройством с мобильным устройством отображения, где этот пакет обеспечивает транспортировку данных для устройства на уровне канала передачи данных операционной системы. Например, этот пакет может быть использован в том случае, если в мобильное устройство отображения встроено средство навигации и просмотра web-страниц в сети Интернет (web-браузер), клиент электронной почты или все персональное информационное устройство (PDA) целиком. Устройства отображения, которые имеют эту возможность, сообщают об этой возможности в бите номер 3 поля "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Формат варианта осуществления пакета "канал передачи данных по линии связи" (Communication Link Data Channel) показан на фиг.27. Как показано на фиг.27, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "ЦИК параметров", "данные, передаваемые по линии связи" и "ЦИК передаваемых данных". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 74, что указано в поле "тип".
18. Пакеты "состояние энергопотребления устройством отображения" (Display Power State)
Пакет "состояние энергопотребления устройством отображения" (Display Power State) обеспечивает структуру, средство или способ установки конкретных аппаратных средств, управляемых клиентским устройством, или связанных, или соединенных с клиентским устройством, или аппаратных средств контроллера клиентского устройства в состояние с низким энергопотреблением тогда, когда клиентское устройство, например устройство отображения, не используются или не является активно используемым в текущий момент времени, чтобы свести к минимуму мощность, потребляемую системой, или непроизводительное расходование системных ресурсов. Пакет этого типа является наиболее пригодным для применений интерфейса или структуры интерфейса и протокола для конфигураций или операций во внешнем режиме. В таких областях применения существует более высокая вероятность того, что внешнее устройство работает при наличии ограниченных энергетических ресурсов, например работает на аккумуляторах, или имеет иные ограничения по мощности и проблемы, например перегрева в ограниченных пространствах, и т.д., поэтому желателен минимальный режим работы во время периодов бездействия или неиспользования. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно реагировать на пакеты "состояние энергопотребления устройством отображения" (Display Power State), используя бит номер 9 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability).
Формат одного из вариантов осуществления пакета "состояние энергопотребления устройством отображения" (Display Power State) показан на фиг.28. Как показано на фиг.28, в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "состояние энергопотребления" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 75, что указано в 2-байтовом поле "тип". 2-байтовое поле "идентификатор hClient клиентского устройства" содержит информацию или значения, которые зарезервированы для идентификатора клиентского устройства, который был использован ранее. Так как это поле, как правило, является зарезервированным для использования в будущем, то в настоящее время его значение обычно установлено равным нулю путем установки значения битов равным '0', хотя оно может быть использовано специалистом в данной области техники для передачи желаемой информации.
Поле "состояние энергопотребления", которое здесь равно 2 байтам, указывает информацию, используемую для установки конкретного устройства, части аппаратных средств или оборудования, связанного с клиентским устройством, которым является, например, устройство отображения, в указанное состояние энергопотребления. При использовании этого поля для устройств отображения бит номер 0 этого поля указывает, для какого именно устройства отображения применяется пакет: для основного устройства отображения или же для альтернативного устройства отображения. Если значение бита номер 0 равно 1, то пакет применяется для основного устройства отображения. Если же значение бита номер 0 равно 0, то пакет применяется для альтернативного устройства отображения, указанного битами с одиннадцатого (11) по восьмой (8). Бит номер 1 зарезервирован для его использования в будущем, и его значение обычно установлено равным нулю.
Биты с третьего (3) по второй (2) в поле "состояние энергопотребления" указывают состояние энергопотребления устройством отображения, выбранного посредством битов с одиннадцатого (11) по восьмой (8) и бита номер 0. Когда значение битов [3:2] равно '00', то выбранное устройство отображения не подсвечивается и должно потреблять минимальное количество энергии, и во время этого состояния не гарантируется сохранение содержимого буфера кадров. Когда значение битов [3:2] равно '01', то выбранное устройство отображения не подсвечивается и потребляет относительное минимальное количество энергии, но во время этого состояния гарантируется сохранение содержимого буфера кадров. В этом состоянии устройство отображения может потреблять большую мощность, чем в состоянии 00. Клиентское устройство может указать, что оно способно обеспечивать поддержку состояния 01, используя бит номер 10 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability). Когда значение битов [3:2] в поле "состояние энергопотребления" равно '10', то выбранное устройство отображения подсвечивается и выводит на экран изображение из соответствующего ему буфера кадров. Значение '11' для битов [3:2] является зарезервированным значением или состоянием для его использования в будущем и в настоящее время не используется.
Для специалистов в данной области техники понятно следующее: несмотря на то что использование этого пакета наиболее целесообразно в областях применения для устройств отображения, согласно настоящему изобретению оно не ограничено только устройствами отображения, и могут существовать другие области применения, конфигурации или ситуации, в которых может потребоваться или может быть желательным управление мощностью применительно к другим аппаратным компонентам, с которыми используется интерфейс MDDI, или которые работают под управлением клиентского устройства, или с которыми оно поддерживает связь. Понятно, что в этих ситуациях описанные выше биты могут иметь аналогичные функции, но могут активизировать основные и вторичные функции таких компонентов или устанавливать уровни мощности и т.д.
В одном из вариантов осуществления изобретения биты с одиннадцатого (11) по восьмой (8) в поле "состояние энергопотребления" образуют 4-битовое целое число без знака, которое указывает то альтернативное устройство отображения, к которому применяется состояние энергопотребления. Значение бита номер 0 устанавливают равным логическому нулю для того, чтобы клиентское устройство интерпретировало биты с одиннадцатого (11) по восьмой (8) как номер альтернативного устройства отображения. Если значение бита номер 0 равно 1, то биты с одиннадцатого (11), по восьмой (8) равны нулю.
Биты с седьмого (7) по четвертый (4) и биты с пятнадцатого (15) по двенадцатый (12) являются зарезервированными для использования в будущем, и для существующих в настоящее время применений или конструкций их уровни или значения обычно должны быть установлены равными логическому нулю.
2-байтовое поле "ЦИК" указывает или содержит ЦИК всех байтов в пакете, в том числе, байтов, содержащихся в поле "длина пакета".
Краткое изложение того, какие именно состояния потребления энергии устройством отображения обычно поддерживаются структурой интерфейса или протокола, представлено в приведенной ниже таблице VIII. Из таблицы видно, что для установки, начальной установки или инициирования различных желательных состояний энергопотребления использованы различные комбинации битов номер 10 и 9 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability). Отметка, имеющаяся в месте пересечения заданной строки и столбца, указывает, что состояние энергопотребления устройством отображения, указанное вверху этого столбца, поддерживается для приведенной в таблице комбинации битов указателя характерных функциональных возможностей клиентского устройства (Client Feature Capability Indicator).
19. Пакеты "выполнить переключение в режим указанного типа" (Perform Type Handoff)
Пакет "выполнить переключение в режим указанного типа" (Perform Type Handoff) является средством, структурой или способом, которые главное устройство использует для выдачи в клиентское устройство команды на переключение в режим, указанный в этом пакете. Возможность такого переключения должна являться одним из устанавливаемых параметров типа интерфейса, поддерживаемых клиентским устройством, который описан в пакете "возможности клиентского устройства" (Client Capability). Сразу же после передачи этого пакета главное устройство и клиентское устройство должны переключиться на указанный тип интерфейса в линии прямой и обратной связи. Формат одного из вариантов осуществления пакета "выполнить переключение в режим указанного типа" (Perform Type Handoff) показан на фиг.29. Главные устройства и клиентские устройства, которые поддерживают интерфейс иного типа, чем интерфейс типа 1, должны обеспечивать поддержку для этого пакета. Обычно рекомендуется, чтобы главное устройство считывало пакет "запрос клиентского устройства и его состояние" (Client Request and Status) непосредственно перед передачей им пакета "выполнить переключение в режим указанного типа" (Perform Type Handoff) для подтверждения того, что клиентское устройство является синхронизированным с главным устройством.
Как показано на фиг.29, в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "тип интерфейса", "зарезервированное поле 1", "заполнитель задержки" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 77, что указано в 2-байтовом поле "тип", и использована заранее выбранная фиксированная его длина, равная 6 байтам без учета полей "длина пакета" и "заполнитель задержки".
В одном из вариантов осуществления изобретения в поле "тип интерфейса" использует 1-байтовое значение для подтверждения нового типа интерфейса, который следует использовать или применить для линии связи. Значение в этом поле указывает или отображает тип интерфейса следующим образом. Биты со второго (2) по нулевой (0) определяют тип интерфейса, который следует использовать в линии прямой связи, при этом значение, равное 1, обозначает или указывает переключение в режим типа 1; значение, равное 2, указывает переключение в режим типа 2, значение, равное 3, указывает переключение в режим типа 3, а значение, равное 4, указывает переключение в режим типа 4. Биты с пятого (5) по третий (3) определяют тип интерфейса, который следует использовать в линии обратной связи, при этом значение, равное 1, обозначает или указывает переключение в режим типа 1, значение, равное 2, указывает переключение в режим типа 2, значение, равное 3, указывает переключение в режим типа 3, а значение, равное 4, указывает переключение в режим типа 4. Биты номер 0, 6 и 7 являются в настоящее время зарезервированными для использования в будущем, и, по существу, их уровень обычно, но не обязательно, установлен равным логическому нулю.
Поле "заполнитель задержки" было создано как средство, структура или способ, которые позволяют предоставлять со стороны системы достаточное время для того, чтобы клиентское устройство подготовилось или чтобы была установлена его конфигурация для переключения на использование или для настройки на использования установочных параметров интерфейса нового типа в начале того пакета, который непосредственно следует за пакетом "выполнить переключение типа интерфейса" (Perform Interface Type Handoff). Это поле содержит группу байтов или 8-битовых значений, уровни или значения все из которых установлены или равны логическому нулю. Количество байтов, используемых в этом поле, выбрано таким образом, что это приводит к следующему: это поле имеет длину, эквивалентную 64 периодам стробирующего сигнала MDDI_Stb. Длина поля "заполнитель задержки" определяется установленным значением типа интерфейса линии прямой связи и равна 16 байтам для интерфейса типа 1 линии прямой связи, 32 байтам для интерфейса типа 2, 64 байтам для интерфейса типа 3 и 128 байтам при указании или при использовании для линии прямой связи интерфейса типа 4.
"Зарезервированное поле 1" (длина которого здесь равна 1 байту) зарезервировано для его использования при передаче информации в будущем. Все биты в этом поле обычно установлены равными уровню логического нуля. В настоящее время назначением таких полей является обеспечение выравнивания всех последующих 2-байтовых полей по адресу 16-битового слова и обеспечение выравнивания 4-байтовых полей по адресу 32-битового слова. Поле "ЦИК" (длина которого здесь равна 2 байтам) содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
20. Пакеты "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable)
Этот пакет обеспечивает структуру, способ или средство, которые позволяют главному устройству включать или отключать каналы звукового сопровождения в клиентском устройстве. Эта возможность является полезной для того, чтобы клиентское устройство (например, устройство отображения) могло отключать питание усилителей звука или аналогичных элементов схемы для экономии энергии тогда, когда отсутствует необходимость в выводе звука главным устройством. Значительно сложнее реализовать это в неявном виде, просто используя факт наличия или отсутствия потоков звуковой информации в качестве указателя. В состоянии, заданном по умолчанию, когда питание системы клиентского устройства включено, все каналы звукового сопровождения включены. Формат одного из вариантов осуществления пакета "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable) показан на фиг.30. Как показано на фиг.30, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "маска включения канала звукового сопровождения" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 78, что указано в 1-байтовом поле "тип", и использована заранее выбранная фиксированная его длина, равная 4 байтам.
21. Пакеты "частота дискретизации звука в линии обратной связи" (Reverse Audio Sample Rate)
Пакет этого типа обеспечивает структуру, способ или средство, которые позволяют главному устройству включать или отключать каналы звукового сопровождения в клиентском устройстве. Эта возможность является полезной для того, чтобы клиентское устройство могло отключать питание усилителей звука для экономии энергии тогда, когда отсутствует необходимость в выводе звука главным устройством. Значительно сложнее реализовать это в неявном виде, просто используя факт наличия или отсутствия потоков звуковых информации в качестве указателя. В состоянии, заданном по умолчанию, когда питание системы клиентского устройства включено или когда она соединена с главным устройством, все каналы звукового сопровождения включены. Звуковая система, соединенная с главным устройством и клиентским устройством, должна быть готовой или способной произвести вывод звуковых сигналов намеченным или желательным способом в пределах приблизительно 100 мс или менее после того, как клиентским устройством получен пакет "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable), в котором, по меньшей мере, один из битов в поле "маска включения канала звукового сопровождения" переведен из нуля в одно из состояний или значений. Клиентское устройство указывает, что оно способно отвечать на пакет "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable), используя установленное значение бита номер 15 в поле "возможности звуковых каналов" (Audio Channel Capability) пакета "возможности клиентского устройства" (Client Capability).
Этот пакет позволяет главному устройству включать или отключать канал звукового сопровождения в линии обратной связи и устанавливать частоту дискретизации звуковых данных для этого потока. Главное устройство выбирает частоту дискретизации, которая определена как допустимая в пакете "возможности клиентского устройства" (Client Capability). Если главным устройством выбрана недопустимая частота дискретизации, то в этом случае клиентское устройство не будет передавать поток звуковой информации в главное устройство, и сведения о соответствующей ошибке, значение ошибки или сигнал ошибки могут быть переданы в главное устройство в пакете "сообщение клиентского устройства об ошибках" (Client Error Report). Главное устройство может отключить передачу потока звуковой информации по линии обратной связи путем установки значения частоты дискретизации, равного 255. В состоянии, заданном по умолчанию, в котором, как предполагается, находится система клиентского устройства при первоначальном включении питания или при ее подключении, передача потока звуковой информации по линии обратной связи запрещена. Формат одного из вариантов осуществления пакета "частота дискретизации звука в линии обратной связи" (Reverse Audio Sample Rate) показан на фиг.31. Как показано на фиг.31, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "частота дискретизации звука", "зарезервированное поле 1" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 79, и использована заранее выбранная фиксированная его длина, равная 4 байтам.
22. Служебные пакеты "защита цифрового информационного содержимого" (Digital Content Protection Overhead Packets)
Этот пакет обеспечивает структуру, способ или средство, которые позволяют главному устройству и клиентскому устройству производить обмен сообщениями, связанными с используемым способом защиты цифрового информационного содержимого. В настоящее время предполагается наличие двух типов защиты информационного содержимого: система защиты информационного содержимого при цифровой передаче (DTCP) или система защиты широкополосного цифрового информационного содержимого (HDCP), при этом зарезервировано место для обозначений будущих альтернативных схем защиты. Используемый способ указан в этом пакете посредством параметра "тип защиты информационного содержимого". Формат одного из вариантов осуществления служебного пакета "защита цифрового информационного содержимого" (Digital Content Protection Overhead Packet) показан на фиг.32. Как показано на фиг.32, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор bClient клиентского устройства", "тип защиты информационного содержимого", "служебные сообщения, связанные с защитой информационного содержимого" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 80.
23. Пакеты "разрешен прозрачный цвет" (Transparent Color Enable)
Пакет "разрешен прозрачный цвет" (Transparent Color Enable) обеспечивает структуру, способ или средство, которые используют для указания того, какой цвет является прозрачным в устройстве отображения, и для разрешения или запрещения использования прозрачного цвета для воспроизведения изображений на экране устройства отображения. Устройства отображения, которые имеют эту возможность, сообщают об этой возможности в бите номер 4 поля "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability). Когда в растровом изображении записан элемент изображения со значением для прозрачного цвета, то не происходит изменения цвета относительно предыдущего значения. Формат пакета "разрешен прозрачный цвет" (Transparent Color Enable) показан на фиг.33. Как показано на фиг.33, в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "разрешен прозрачный цвет", "зарезервированное поле 1", "идентификатор альфа-курсора", "дескриптор формата данных", "значение прозрачного элемента изображения" и "ЦИК". Пакет этого типа, в общем случае, определен как пакет типа 81, что указано в 1-байтовом поле "тип", и используется заранее выбранная фиксированная его длина, равная 10 байтам.
24. Пакеты "измерение двусторонней задержки" (Round Trip Delay Measurement)
Пакет "измерение двусторонней задержки" (Round Trip Delay Measurement) обеспечивает структуру, способ или средство, которые используют для измерения задержки при прохождении сигнала из главного устройства в клиентское устройство (устройства отображения) плюс задержки при прохождении сигнала из клиентского устройства (устройства отображения) обратно в главное устройство. Результаты этого измерения, по существу, включают в себя задержки, существующие в формирователях линий связи и в приемниках и в подсистеме межкомпонентных соединений. Результаты этого измерения используют для установки параметров задержки при изменении направления передачи на обратное и делителя скорости передачи по линии обратной связи в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), общее описание которого приведено выше. Этот пакет является наиболее полезным тогда, когда линия связи интерфейса MDDI работает на максимальной скорости, предназначенной для конкретного применения. Для увеличения диапазона измерения двусторонней задержки этот пакет может быть передан в режиме типа 1 и с более низкой скоростью передачи данных. Характер поведения стробирующего сигнала MDDI_Stb является таким, что как будто бы во время передачи перечисленных ниже полей: обоих полей "защитный временной интервал", поля "все нули" и поля "период измерения", передают данные, все из которых равны нулю. Это вызывает переключение стробирующего сигнала MDDI_Stb из одного состояния в другое с частотой, соответствующей половине скорости передачи данных, поэтому он может быть периодически использован в качестве тактовых импульсов в клиентском устройстве во время периода измерения.
В одном из вариантов осуществления изобретения клиентское устройство обычно указывает, что оно способно обеспечивать поддержку пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), используя бит 18 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability). Рекомендуется, чтобы все клиентские устройства обеспечивали поддержку измерения двусторонней задержки, но возможен вариант, в котором главное устройство получает сведения о наихудшей двусторонней задержке на основании максимальной задержки в кабеле и максимальных задержек в формирователе и приемнике. Двусторонняя задержка для линии связи интерфейса MDDI, используемой во внутреннем режиме, также может быть заранее известной для главного устройства, так как она является свойством известных элементов конструкции (длина проводников, тип и характерные особенности электрических схем, и т.д.) устройства, в котором используют интерфейс.
Формат пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) показан на фиг.34. Как показано на фиг.34, в одном из вариантов осуществления изобретения пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "ЦИК параметров", "первый защитный временной интервал" (Guard Time 1), "период измерения", "все нули" и "второй защитный временной интервал" (Guard Time 2). Пакет этого типа, в общем случае, определен как пакет типа 82, и использована заранее выбранная фиксированная его длина, равная 159 битам.
Временная диаграмма событий, происходящих во время прохождения пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), проиллюстрирована на фиг.35. На фиг.35 главное устройство производит передачу пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), что показано наличием полей "ЦИК параметров" и "выравнивание стробирующего сигнала" (Strobe Alignment), после которых следуют поля "все нули 1" и "первый защитный временной интервал". Задержка 3502 возникает до того, как пакет доходит до клиентского устройства отображения или до схем обработки. Когда клиентское устройство получает пакет, то оно передает данные 0xff, 0xff и 30 байтов последовательности 0×00 настолько точно, насколько это практически достижимо, в начале периода измерения, определенного клиентским устройством. С точки зрения главного устройства, фактический момент времени, когда клиентское устройство начинает передачу этой последовательности, имеет задержку относительно начала периода измерения. Величина этой задержки, по существу, представляет собой время, которое требуется для прохождения пакета через формирователи линии связи и приемники и через подсистему межкомпонентных соединений (кабели, проводники). Аналогичная величина задержки 3504 возникает при прохождении шаблона из клиентского устройства обратно в главное устройство.
Для точного определения времени двусторонней задержки для сигналов, проходящих в клиентское устройство и из него, главное устройство подсчитывает количество интервалов времени прохождения битов по линии прямой связи, имеющих место после начала период измерения до обнаружения начала последовательности из данных 0xff, 0xff и 30 байтов 0×00 при ее поступлении. Эту информацию используют для определения количества времени, требуемого для прохождения сигнала в прямом и в обратном направлениях из главного устройства в клиентское устройство и обратно. Затем приблизительно одну половину этого количества приписывают задержке, созданной для прохождения сигнала в одну сторону в клиентское устройство.
В течение обоих защитных временных интервалов оба устройства: главное устройство и клиентское устройство, приводят линию связи в состояние с уровнем "логический ноль" для того, чтобы линия передачи сигнала MDDI_DATA оставалась в заданном состоянии. Значения времени разрешения и времени запрета для главного устройства и клиентского устройства в течение обоих защитных временных интервалов являются такими, что сигналы MDDI_Data имеют правильный низкий уровень в течение любого допустимого времени двусторонней задержки.
25. Пакет "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration)
Пакет "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration) позволяет клиентскому устройству или устройству отображения производить свою калибровку с учетом различий в задержке при прохождении сигнала MDDI_Data относительно стробирующего сигнала MDDI_Stb. Без компенсации перекоса задержки (delay skew) максимальная скорость передачи данных обычно является ограниченной, поскольку необходимо учитывать потенциальное возможное наихудшее изменение этих задержек. Как правило, этот пакет передают только тогда, когда скорость передачи данных по линии прямой связи сконфигурирована таким образом, что скорость передачи составляет приблизительно 50 мегабит в секунду (Мб/с) или менее. После передачи этого пакета для калибровки устройства отображения скорость передачи данных может быть ступенчато повышена до величины свыше 50 Мб/с. Если во время процесса калибровки перекоса задержки скорость передачи данных установлена слишком высокой, то может произойти синхронизация устройства отображения с иным интервалом передачи бита, что может вызвать уход установленного значения компенсации перекоса задержки более чем на один интервал передачи бита, что приводит к ошибочной синхронизации данных. Для того, чтобы обеспечить калибровку всех имеющихся битов данных, перед передачей пакета "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration) выбирают тип интерфейса с самой высокой скоростью передачи данных или тип интерфейса с наибольшим возможным номером.
Один из вариантов осуществления формата пакета "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration) показан на фиг.56. Как показано на фиг.56, пакет этого типа имеет структуру с наличием следующих полей: "длина пакета" (2 байта), "тип пакета", "идентификатор hClient клиентского устройства", "ЦИК параметров", "все нули 1", "последовательность калибровочных данных" и "все нули 2". Пакет этого типа, в общем случае, определен как пакет типа 83, что указано в поле "тип", и в одном из вариантов осуществления изобретения имеет заранее выбранную длину, равную 2 байта.
Виртуальная панель управления
Использование виртуальной панели управления, ВПУ (VCP), позволяет главному устройству устанавливать в клиентском устройстве определенные пользовательские параметры управления. За счет предоставления возможности регулировки этих параметров главным устройством интерфейс пользователя в клиентском устройстве может быть упрощен, так как генерация на экране изображений, которые дают пользователю возможность регулировки таких параметров, как, например, громкость звука или яркость изображения, может быть осуществлена программным обеспечением главного устройства, а не одним или большим количеством микропроцессоров в клиентском устройстве. Главное устройство способно считывать значения параметров, установленные в клиентском устройстве, и определять диапазон допустимых значений для каждого средства управления. Клиентское устройство обычно способно сообщать обратно в главное устройство о том, какие именно параметры управления могут быть отрегулированы.
Для указания средств управления и установочных параметров в клиентском устройстве используют управляющие коды (коды ВПУ) и соответствующие значения данных, которые обычно являются заданными. Коды ВПУ в спецификации интерфейса MDDI расширены до 16 битов для того, чтобы сохранить надлежащее выравнивание полей данных в определениях пакетов, и для того, чтобы в будущем обеспечивать поддержку дополнительных значений, которые являются уникальными для этого интерфейса или для будущих его усовершенствований.
26. Пакет "запрос о предоставлении функции виртуальной панели управления (ВПУ)" (Request VCP Feature)
Пакет "запрос о предоставлении функции виртуальной панели управления (ВПУ)" (Request VCP Feature) обеспечивает средство, механизм или способ для того, чтобы главное устройство могло выдать запрос на получение сведений о текущем установленном значении конкретного параметра управления или всех допустимых параметров управления. Обычно клиентское устройство отвечает на пакет "ВПУ" путем передачи надлежащей информации в пакете "ответ на запрос о предоставлении функции виртуальной панели управления (ВПУ)" (VCP Feature Reply). В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "запрос о предоставлении функции ВПУ" (Request VCP Feature), используя бит номер 13 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability).
Формат пакета "запрос о предоставлении функции ВПУ" (Request VCP Feature) согласно одному из вариантов осуществления изобретения показан на фиг.69. На фиг.69 видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "код набора команд управления видеоконтрольным устройством (НКУВ) для ВПУ" (Monitor Control Command Set (MCCS) VCP code) и "ЦИК". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 128, что указано в 2-байтовом поле "тип". Длина пакета, которая указывает общее количество байтов в пакете, исключая поле "длина пакета", для пакета этого типа обычно является фиксированной и равна 8 байтам.
Поле "идентификатор hClient клиентского устройства" является зарезервированным для использования в будущих вариантах реализации в качестве идентификатора клиентского устройства, и его значение обычно установлено равным нулю. Поле "код НКУВ для ВПУ" (MCCS VCP Code) содержит 2 байта информации, которая указывает параметр управляющего кода НКУВ для ВПУ (MCCS VCP Control Code Parameter). Значение в интервале от 0 до 255 вызывает возврат пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) с одним элементом в перечне ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List), соответствующим указанному коду НКУВ (MCCS). Код НКУВ для ВПУ (MCCS VCP Code), равный 65535 (0xffff), формирует запрос на получение пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) с перечнем ответов на запрос о предоставлении функции ВПУ, содержащим элемент перечня ответов на запрос о предоставлении функции (Feature Reply List Item) для каждого средства управления, поддерживаемого клиентским устройством.
Значения с 256 по 65534 для этого поля являются зарезервированными для использования в будущем и в настоящее время не используются.
27. Пакет "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply)
Пакет "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) обеспечивает средство, механизм или способ для того, чтобы клиентское устройство могло ответить на запрос главного устройства, сообщая ему текущее установленное значение конкретного параметра управления или всех допустимых параметров средства управления. Клиентское устройство обычно передает пакет "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) в ответ на пакет "запрос о предоставлении функции виртуальной панели управления (ВПУ)" (Request VCP Feature). Этот пакет пригоден для определения текущего установленного значения конкретного параметра, для определения допустимого интервала значений параметра для конкретного средства управления, для определения того, поддерживает ли клиентское устройство конкретное средство управления, или для определения набора средств управления, которые поддерживает клиентское устройство. Если передан запрос о предоставлении функции ВПУ (Request VCP Feature), в котором упомянуто конкретное средство управления, которое не реализовано в клиентском устройстве, то пакет "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) возвращают с единственным элементом перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Item), соответствующим нереализованному средству управления, который содержит надлежащий код ошибки. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply), используя бит номер 13 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Формат пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) согласно одному из вариантов осуществления изобретения показан на фиг.70. На фиг.70 видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "версия НКУВ" (MCCS Version), "порядковый номер ответа", "перечень ответов на запрос о предоставлении функции ВПУ" (VCP Feature Reply List) и "ЦИК". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 129, что указано в 2-байтовом поле "тип".
Поле "идентификатор cClient клиентского устройства" содержит информацию, зарезервированную для идентификатора клиентского устройства. Это поле является зарезервированным для использования в будущем, и его значение обычно установлено равным нулю. Поле "версия НКУВ" (MCCS Version) содержит 2 байта информации, которая указывает версию набора команд управления видеоконтрольным устройством, НКУВ, согласно спецификации Ассоциации по стандартам в области видеоэлектроники (VESA MCCS Specification), реализованную клиентским устройством.
2-байтовое поле "порядковый номер ответа" содержит информацию или данные, которые указывают порядковый номер пакетов "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply), возвращенных клиентским устройством. Клиентское устройство возвращает один или большее количество пакетов "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) в ответ на пакет "запрос о предоставлении функции ВПУ" (Request VCP Feature) со значением управляющего кода НКУВ (MCCS Control Code), равным 65535. Клиентское устройство может распределять (или передавать) перечень ответов на запрос о предоставлении этой функции по множеству (или во множестве) пакетов "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply). В этом случае клиентское устройство должно присвоить порядковый номер или идентификатор каждому из последовательно передаваемых пакетов, и порядковые номера пакетов "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply), передаваемые в ответ на один пакет "запрос о предоставлении функции ВПУ" (Request VCP Feature), обычно начинают с нуля и производят их приращение на единицу. Последний элемент перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Item) в последнем пакете "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply) должен содержать значение управляющего кода НКУВ для ВПУ (MCCS VCP Control Code), равное 0xffff, для обозначения того, что этот пакет является последним и содержит самый большой порядковый номер из группы возвращенных пакетов. Если в ответ на пакет "запрос о предоставлении функции ВПУ" (Request VCP Feature) передан только один пакет "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply), то порядковый номер ответа в этом одиночном пакете обычно устанавливают равным нулю, и перечень ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List) содержит элемент перечня, имеющий код НКУВ для ВПУ (MCCS VCP Code) в элементе перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Item), равный 0xffff. Когда управляющий код НКУВ для ВПУ (MCCS VCP Control Code) равен 0xffff, то поля "максимальное значение" и "текущее значение" (фиг.71) в пакете "элемент перечня ответов на запрос о предоставлении функции ВПУ" (VCP Feature Reply List Item) установлены равными нулю.
Поле "количество элементов в перечне" (Number of Features in List) содержит 2 байта, которые указывают количество элементов перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Items), которые находятся в перечне ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List) в этом пакете, в то время как поле "перечень ответов на запрос о предоставлении функции ВПУ" (VCP Feature Reply List) представляет собой группу байтов, которая содержит один или большее количество элементов перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Items). Формат одного элемента перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Item) в одном из вариантов осуществления изобретения показан на фиг.71.
Как показано на фиг.71, каждый элемент перечня ответов на запрос о предоставлении функции ВПУ (VCP Feature Reply List Item) имеет длину 12 байтов и содержит следующие поля: "код НКУВ для ВПУ" (MCCS VCP Code), "код результата", "максимальное значение" и "текущее значение". 2-байтовое поле "код НКУВ для ВПУ" (MCCS VCP Code) содержит информацию или данные, которые указывает параметр управляющего кода НКУВ для ВПУ (MCCS VCP Control Code Parameter), связанный с этим элементом перечня. Для этого варианта осуществления изобретения допустимыми считают только те значения управляющего кода, которые оговорены в спецификации набора команд управления видеоконтрольным устройством (НКУВ) версии 2 и более поздних версий, разработанной Ассоциацией по стандартам в области видеоэлектроники (VESA MCCS Specification version 2 and later). 2-байтовое поле "код результата" содержит информацию, которая указывает код ошибки, связанной с запросом на получение информации об указанном средстве управления для ВПУ согласно НКУВ (MCCS VCP Control). Значение в этом поле, равное '0', означает, что ошибка отсутствует, а значение, равное '1', означает, что указанное средство управления в клиентском устройстве не реализовано. Другие значения для этого поля в интервале от 2 до 65535 в настоящее время являются зарезервированными для использования в будущем и для реализации иных предполагаемых применений в данной области техники, но пока их не следует использовать.
4-байтовое поле "максимальное значение" указывает наибольшее возможное значение, которое может быть установлено в указанном средстве управления согласно НКУВ (MCCS Control). Если запрошенное средство управления не реализовано в клиентском устройстве, то это значение установлено равным нулю. Если возвращенное значение имеет длину менее 32 битов (4 байтов), то это значение приводят в вид 32-битового целого числа, оставляя старшие (неиспользуемые) байты равными нулю. 4-байтовое поле "текущее значение" содержит информацию, которая указывает текущее значение указанного средства управления ВПУ согласно НКУВ (MCCS VCP control) непрерывного (C) или периодического (NC) действия. Если запрошенное средство управления не реализовано в клиентском устройстве или если средство управления реализовано, но относится к табличному (T) типу данных, то это значение установлено равным нулю. Если возвращенное значение имеет длину менее 32 битов (4 байтов) согласно спецификации набора команд управления видеоконтрольным устройством (НКУВ), разработанной Ассоциацией по стандартам в области видеоэлектроники (VESA VESA MCCS Specification), то это значение приводят в вид 32-битового целого числа, оставляя старшие (неиспользуемые) байты равными нулю. Если указанный код НКУВ для ВПУ (MCCS VCP Code) соответствует средству управления периодического действия или табличному типу данных, то поле "максимальное значение", установлено или выбрано равным нулю.
28. Пакет "задать функцию ВПУ" (Set VCP Feature)
Пакет "задать функцию ВПУ" (Set VCP Feature) обеспечивает средство, механизм или способ для того, чтобы главное устройство могло установить в клиентском устройстве значения параметра, управляемого ВПУ (VCP), как для средства управления непрерывного действия, так и для средства управления периодического действия. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "задать функцию ВПУ" (Set VCP Feature), используя бит номер 13 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Формат пакета "задать функцию ВПУ" (Set VCP Feature) согласно одному из вариантов осуществления изобретения показан на фиг.72. На фиг.72 видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "код НКУВ для ВПУ" (MCCS VCP Code), "количество значений в перечне", "перечень значений параметра управления" (Control Value List) и "ЦИК". Пакет этого типа, определенный, в общем случае, как пакет типа 130, что указано в 2-байтовом поле "тип", имеет длину, равную 20 байтам, за исключением поля "длина пакета".
В поле "идентификатор hClient клиентского устройства" снова используют 2-байтовое значение, указывающее идентификатор клиентского устройства или действующее в его качестве. Это поле является зарезервированным для использования в будущем и в настоящее время установлено равным нулю. В поле "код НКУВ для ВПУ" (MCCS VCP Code) используют 2 байта информации или значений для указания параметра управляющего кода НКУВ для ВПУ (MCCS VCP Control Code Parameter), подлежащего регулировке. 2-байтовое поле "количество значений в перечне" содержит информацию или значения, которые указывают количество 16-битовых значений, имеющихся в поле "перечень значений параметра управления" (Control Value List). Перечень значений параметра управления (Control Value List) обычно содержит один элемент, за исключением того случая, когда управляющий код НКУВ (MCCS Control Code) связан с таблицей в клиентском устройстве. В том случае, когда средства управления не связаны с таблицей, "перечень значений параметра управления" (Control Value List) содержит значение, указывающее новое значение, которое должно быть записано в параметр управления, указанный посредством поля "код НКУВ для ВПУ" (MCCS VCP Code). Для средств управления, связанных с таблицей, формат данных в перечне значений параметра управления" (Control Value List) указан путем описания параметра указанного кода НКУВ для ВПУ" (MCCS VCP Code). Если перечень содержит значения, которые являются большими, чем один байт, то младший байт передают первым в соответствии со способом, изложенным в другом месте описания. Наконец, 2-байтовое поле "ЦИК" содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
29. Пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter)
Пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter) используют в качестве средства или структуры, пригодной для выдачи запроса о том, чтобы клиентское устройство возвратило пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), содержащий перечень параметров, поддерживаемых указанным средством управления непрерывного (C) или периодического (NC) действия или средством управления на основе таблицы (T). Этот пакет должен указывать только средства управления периодического действия или средства управления, которые связаны с таблицей в клиентском устройстве, и не указывает значение кода НКУВ для ВПУ (MCCS VCP Code), равное 65535 (0xffff), для указания всех средств управления. Если указан неподдерживаемый или недопустимый код НКУВ для ВПУ (MCCS VCP Code), то в пакете "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) возвращают значение соответствующей ошибки. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "запрос о предоставлении допустимого параметра" (Request Valid Parameter), используя бит номер 13 поля "характерные функциональные возможности клиентского устройства" (Client Feature Capability) в пакете "возможности устройства отображения" (Display Capability).
Формат пакета "запрос о предоставлении допустимого параметра" (Request Valid Parameter) согласно одному из вариантов осуществления изобретения показан на фиг.73. На фиг.73 видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "код НКУВ для ВПУ" (MCCS VCP Code) и "ЦИК". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 131, что указано в 2-байтовом поле "тип".
Длина пакета, как указано в 2 байтах поля "длина пакета", обычно установлена таким образом, что равна общему количеству байтов в пакете, составляющему 8 байтов, исключая поле "длина пакета". Поле "идентификатор hClient клиентского устройства" опять указывает идентификатор клиентского устройства, но в настоящее время является зарезервированным для использования в будущем, что является очевидным для специалиста в данной области техники, и установлено равным нулю. 2-байтовое поле "код НКУВ для ВПУ" (MCCS VCP Code) содержит значение, указывающее запрашиваемый параметр управляющего кода НКУВ для ВПУ (MCCS VCP Control Code Parameter) периодического действия. Значение в этом поле должно соответствовать средству управления периодического действия, реализованному в клиентском устройстве. Значения в интервале от 256 до 65535 (0xffff) обычно являются зарезервированными или считаются недопустимыми, и в ответе об ошибке их рассматривают как нереализованное средство управления.
30. Пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply)
Пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) передают в ответ на пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter). Его используют в качестве средства, способа или структуры для определения допустимых установочных параметров для средства управления ВПУ на основе НКУВ (MCCS VCP Control) периодического действия или для средства управления, которое возвращает содержимое таблицы. Если средство управления связано с таблицей в клиентском устройстве, то перечень ответов с параметрами ВПУ (VCP Parameter Reply List) просто содержит конкретный перечень последовательных значений из таблицы, на предоставление которых был выдан запрос. Если содержимое таблицы не может поместиться в один пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), то клиентское устройство может произвести передачу множества пакетов с последовательными порядковыми номерами ответов. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), используя бит номер 13 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Главное устройство может выдать запрос на получение содержимого таблицы следующим образом: главное устройство передает пакет "задать функцию ВПУ" (Set VCP Feature), содержащий необходимые или желательные параметры, например параметр считывания/записи, смещение по справочной таблице (LUT) и выбор формата RGB; затем главное устройство передает пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter), который указывает желательное средство управления; затем клиентское устройство возвращает один или большее количество пакетов "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), содержащий данные таблицы. Эта последовательность операций выполняет функцию, аналогичную функциям считывания таблицы, описанным в модели функционирования НКУВ (MCCS).
Если клиентское устройство не поддерживает конкретный параметр клиентского устройства, то в одном из вариантов осуществления изобретения соответствующее поле этого пакета содержит значение 255. Для параметров, используемых в клиентском устройстве, соответствующее поле должно содержать значение параметра в клиентском устройстве.
Формат пакета "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) для одного из вариантов осуществления изобретения показан на фиг.74. На фиг.74 видно, что пакет этого типа имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "код НКУВ для ВПУ" (MCCS VCP Code), "код ответа", "порядковый номер ответа", "количество значений в перечне", "перечень ответов с параметрами ВПУ" (VCP Parameter Reply List) и "ЦИК". В одном из вариантов осуществления изобретения пакет этого типа, в общем случае, определен как пакет типа 132, что указано в 2-байтовом поле "тип".
Как известно из приведенного выше описания, поле "идентификатор cClient клиентского устройства" является зарезервированным для будущего идентификатора клиентского устройства, а 3-байтовый пакет "код НКУВ для ВПУ" (MCCS VCP Code) содержит значение, которое указывает параметр управляющего кода НКУВ для ВПУ (MCCS VCP Control Code Parameter) периодического действия, описанного посредством этого пакета. Если в пакете "запрос о предоставлении допустимого параметра" (Request Valid Parameter) указан недопустимый управляющий код НКУВ для ВПУ (MCCS VCP Control Code), то в этом поле будет указано то же самое значение недопустимого параметра с соответствующим значением в поле "код ответа". Если управляющий код НКУВ для ВПУ (MCCS VCP Control Code) является недопустимым, то поле "перечень ответов с параметрами ВПУ" (VCP Parameter Reply List) будет иметь нулевую длину.
Поле "код ответа" содержит 2 байта информации или значений, которые указывают, что характер ответа связан с запросом на предоставление информации об указанном средстве управления ВПУ на основе НКУВ (MCCS VCP Control). Если значение в этом поле равно 0, то полагают, что для этого типа данных ошибка отсутствует, и передают последний пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) из последовательности, имеющий самый большой порядковый номер ответа. Если значение в этом поле равно 1, то полагают, что ошибка отсутствует, но передают другие пакеты "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), имеющие более высокие порядковые номера. Если значение в этом поле равно 2, то полагают, что указанное средство управления не реализовано в клиентском устройстве. Если же значение в этом поле равно 3, то указанное средство управления не является средством управления периодического действия (а является средством управления непрерывного действия, которое всегда имеет допустимый набор из всех значений от нуля до его максимального значения). Значения для этого поля в интервале от 4 до 65535 являются зарезервированными для использования в будущем и обычно не используются.
2-байтовое поле "порядковый номер ответа" указывает порядковый номер пакетов "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply), возвращаемых клиентским устройством. Клиентское устройство возвращает один или большее количество пакетов "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) в ответ на пакет "запрос о предоставлении допустимого параметра" (Request Valid Parameter). Клиентское устройство может распределять перечень ответов с параметрами ВПУ (VCP Parameter Reply List) по множеству пакетов "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply). В этом последнем случае клиентское устройство присваивает порядковый номер каждому из последовательно передаваемых пакетов и устанавливает значение поля "код ответа" равным 1 во всех пакетах из последовательности, кроме последнего. Последний пакет "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply) из последовательности имеет самый большой порядковый номер ответа, и поле "код ответа" содержит значение 0.
2-байтовое поле "количество значений в перечне" указывает количество 16-битовых значений, имеющихся в перечне ответов с параметрами ВПУ" (VCP Parameter Reply List). Если код ответа не равен нулю, то параметр "количество значений в перечне" равен нулю. Поле "перечень ответов с параметрами ВПУ" (VCP Parameter Reply List) содержит перечень, состоящий от 0 до 32760 2-байтовых значений, которые указывают набор допустимых значений для средства управления периодического действия, указанного в поле "управляющий код НКУВ" (MCCS Control Code). Определения кодов средства управления периодического действия указаны в спецификации набора команд управления видеоконтрольным устройством (НКУВ), разработанной Ассоциацией по стандартам в области видеоэлектроники (VESA MCCS Specification). Наконец, в этом варианте осуществления изобретения поле "ЦИК" содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
Масштабированные изображения в потоке видеоинформации
Механизм интерфейса MDDI или протокола, их структура, средство или способ обеспечивают поддержку масштабированных изображений из потока видеоинформации, что позволяет главному устройству передавать в клиентское устройство изображение, масштаб которого увеличен или уменьшен по сравнению с исходным изображением, и масштабированное изображение копируют в основной буфер для изображений. Общий обзор функциональных возможностей масштабированного потока видеоинформации (Scaled Video Stream) и соответствующей его поддержки в протоколе приведен в другом месте описания. Способность обеспечивать поддержку масштабированных потоков видеоинформации определена посредством пакета (или в пакете) "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability), который передают в ответ на пакет "запрос сведений о конкретном состоянии" (Request Specific Status).
Заголовок пакета "масштабированный поток видеоинформации" (Scaled Video Stream), описание которого приведено ниже, немного отличается от более простого пакета "поток видеоинформации" (Video Stream), заголовок которого содержит весь контекст, необходимый для воспроизведения изображения на экране устройства отображения. В пакете "масштабированный поток видеоинформации" (Scaled Video Stream) использован пакет установки параметров, предназначенный для определения параметров размера и положения окна в источнике и в пункте назначения, и отдельный пакет "масштабированный поток видеоинформации" (Scaled Video Stream), предназначенный для передачи данных об элементах изображения. Клиентское устройство выделяет внутреннее запоминающее устройство, соответствующее каждому потоку, для запоминания параметров потока из пакета установки параметров и части данных об элементах изображения, соответствующих каждому потоку. Объем памяти запоминающего устройства, требуемый для каждого потока, изменяется в зависимости от размера исходного и целевого изображений и от значений, указанных в пакете установки параметров. Поэтому протокол выполнен таким образом, что обеспечивает для клиентского устройства возможность реализации динамического распределения памяти для выделенного запоминающего устройства, соответствующего каждому масштабированному потоку видеоинформации.
Целесообразно передавать поток видеоинформации в устройство отображения, имеющее размер, присущий источнику программы, и иметь устройство отображения, масштабирующее изображение и устанавливающее его положение способом, подходящим для конкретного конечного применения. Реализация масштабирования множества видеоизображений в реальном масштабе времени является достаточно сложной, поэтому возможность поддержки этой функции в клиентском устройстве является необязательной.
31. Пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability)
Пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability) определяет характеристики исходного изображения из масштабированного потока видеоинформации в клиентском устройстве или используемого им. Формат пакета "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability) показан в общем виде на фиг.75. На фиг.75 видно, что в одном из вариантов осуществления изобретения пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "максимальное количество потоков", "максимальный размер исходного изображения по оси X" (Source Max X Size), "максимальный размер исходного изображения по оси Y" (Source Max Y Size), "возможность использования формата RGB" (RGB Capability), "возможность использования черно-белого формата" (Monochrome Capability), "зарезервированное поле 1", "возможность использования формата YCrCb" (YCbCr Capability), "зарезервированное поле 2" и "ЦИК". В одном из вариантов осуществления изобретения длина пакета выбрана таким образом, что является фиксированной, равной 20 байтам, как указано в поле "длина", включая 2-байтовое поле "идентификатор cClient клиентского устройства", которое зарезервировано для использования для идентификатора клиентского устройства, в противном случае его значение установлено равным нулю, и поле "ЦИК". В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability), используя значение параметра, равное 143, в перечне ответов на запрос о предоставлении допустимого параметра (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List).
2-байтовое поле "максимальное количество потоков" содержит значение, определяющее максимальное количество одновременных масштабированных потоков видеоинформации, которые могут быть предоставлены одновременно. В одном из вариантов осуществления изобретения клиентское устройство должно отказаться от удовлетворения запроса о предоставлении масштабированного потока видеоинформации в том случае, если уже предоставлено максимальное количество масштабированных потоков видеоинформации. Если количество предоставленных масштабированных потоков видеоинформации является меньшим, чем максимальное, то клиентское устройство может также отказаться от удовлетворения запроса о предоставлении на основании наличия иных ограничений на ресурсы в клиентском устройстве.
Поля "максимальный размер исходного изображения по оси X" (Source Maximum X Size) и "максимальный размер исходного изображения по оси Y" (Source Maximum Y Size) (по 2 байта) указывают соответственно значения максимальной ширины и высоты исходного изображения из масштабированного потока видеоинформации, выраженные в единицах количества элементов изображения.
Значения в поле "возможность использования формата RGB" (RGB Capability) используют для указания количества битов дискретности, которое может быть отображено в формате RGB. Если в масштабированном потоке видеоинформации не может быть использован формат RGB, то это значение устанавливают равным нулю. Слово, содержащееся в поле "возможность использования формата RGB" (RGB Capability), состоит из трех отдельных значений без знака, при этом: биты с третьего (3) по нулевой (0) определяют максимальное количество битов синего цвета (интенсивность синего цвета) в каждом элементе изображения, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов зеленого цвета (интенсивность зеленого цвета) в каждом элементе изображения, а биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов красного цвета (интенсивность красного цвета) в каждом элементе изображения, при этом биты с пятнадцатого (15) по двенадцатый (12) являются зарезервированными для использования в будущем для определения будущих возможностей и обычно установлены равными нулю.
1-байтовое поле "возможность использования черно-белого формата" (Monochrome Capability) содержит значение, которое указывает количество битов дискретности, которое может быть отображено в черно-белом формате. Если в масштабированном потоке видеоинформации не может быть использован черно-белый формат, то это значение установлено равным нулю. Биты с седьмого (7) по четвертый (4) являются зарезервированными для использования в будущем и, следовательно, должны быть установлены равными нулю ('0') для существующих в настоящее время применений, хотя для специалистов в данной области техники понятно, что это может измениться по прошествии некоторого времени. Биты с третьего (3) по нулевой (0) определяют максимальное количество битов шкалы уровней серого цвета, которое может существовать в каждом элементе изображения. Эти четыре бита позволяют указать то, что каждый элемент изображения состоит из количества битов в интервале от 1 до 15. Если это значение равно нулю, то масштабированный поток видеоинформации не обеспечивает поддержку черно-белого формата.
"Зарезервированное поле 1" (равное здесь 1 байту) является зарезервированным для использования в будущем для обеспечения значений, связанных с информацией или с данными пакета "масштабированный поток видеоинформации" (Scaled Video Stream). Следовательно, в настоящее время значения всех битов в этом поле установлены равными логическому нулю ('0'). Одно из назначений этого поля состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
2-байтовое поле "возможность использования формата YCrCb" (YCbCr Capability) содержит значения, которые указывают количество битов дискретности, которое может быть отображено в формате YCrCb. Если в масштабированном потоке видеоинформации не может быть использован формат CrCbY, то это значение равно нулю. Слово, содержащееся в поле "возможность использования формата YCrCb" (YCbCr Capability), состоит из трех отдельных значений без знака, при этом: биты с третьего (3) по нулевой (0) определяют максимальное количество битов, посредством которого задана выборка компоненты Cr; биты с седьмого (7) по четвертый (4) определяют максимальное количество битов, посредством которого задана выборка компоненты Cb; биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов, посредством которого задана выборка компоненты Y, а биты с пятнадцатого (15) по двенадцатый (12) являются зарезервированными для использования в будущем и обычно установлены равными нулю.
1-байтовое поле "биты возможностей" (Capability Bits) содержит набор флагов, которые указывают возможности, связанные с масштабированным потоком видеоинформации. Флаги определены следующим образом: бит номер 0 относится к тому, что данные об элементах изображения в пакете "масштабированный поток видеоинформации" (Scaled Video Stream) могут находиться в упакованном формате. Пример упакованных данных об элементах изображения с выравниванием по границе байта был продемонстрирован выше со ссылкой на фиг.13. Бит номер 1 является зарезервированным для использования в будущем и обычно установлен равным нулю; бит номер 2 также является зарезервированным для использования в будущем и установлен равным нулю; бит номер 3 относится к тем масштабированным потокам видеоинформации, которые могут быть заданы в формате данных карты цветов. Для масштабированных потоков видеоинформации используют ту же самую таблицу карты цветов, которую используют для основного буфера изображений и для плоскостей изображения альфа-курсора. Конфигурацию карты цветов задают с использованием пакета "карта цветов" (Color Map), описанного в другом месте данного описания; а биты с седьмого (7) по четвертый (4) являются зарезервированными для использования в будущем и обычно установлены равными нулю.
"Зарезервированное поле 2" (равное здесь 1 байту) является зарезервированным для использования в будущем для обеспечения значений, связанных с информацией или с данными пакета "масштабированный поток видеоинформации" (Scaled Video Stream). Следовательно, в настоящее время все биты в этом поле установлены равными логическому нулю ('0'). Одно из назначений этого поля состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
32. Пакет "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup)
Пакет "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup) обеспечивает средство, структуру или способ, которые используют для определения параметров масштабированного потока видеоинформации, и клиентское устройство использует эту информацию для предоставления внутреннего запоминающего устройства для буферизации и масштабирования изображения. Предоставление потока может быть отменено путем передачи этого пакета с полями "размер изображения по оси X" и "размер изображения по оси X", равными нулю. Масштабированные потоки видеоинформации, предоставление которых было отменено, могут быть повторно предоставлены позже с теми же самыми или иными параметрами потока. В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup), используя значение параметра, равное 143, в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List), и используя не равное нулю значение в поле "максимальное количество потоков" пакета "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability).
Формат пакета "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup) показан в общем виде на фиг.76. На фиг.76 видно, что в одном из вариантов осуществления изобретения пакет "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "идентификатор потока", "дескриптор формата видеоинформации", "атрибуты данных об элементах изображения", "левый край по оси X", "верхний край по оси Y", "правый край по оси X", "нижний край по оси Y", "размер изображения по оси X", "размер изображения по оси Y" и "ЦИК".
2-байтовое поле "длина пакета" указывает общее количество байтов в пакете, кроме поля "длина пакета". В одном из вариантов осуществления изобретения длина этого пакета является фиксированной и равна 24 байтам. В 2-байтовом поле "тип пакета" используют значение 136 для идентификации пакета как пакета "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup). 2-байтовое поле "идентификатор hClient клиентского устройства" является зарезервированным для использования в будущем в качестве идентификатора клиентского устройства, и на настоящий момент или до тех пор, пока пользователь протокола не определит, какие именно ставшие известными значения идентификатора должны быть использованы, значения всех битов в нем обычно установлены равными логическому нулю.
В поле "идентификатор потока" используют 2 байта для указания уникального идентификатора для поля "идентификатор потока". Это значение присвоено главным устройством, и оно находится в интервале значений от нуля до максимального значения идентификатора потока, указанного в пакете "возможности клиентского устройства" (Client Capability). Главное устройство должно аккуратно управлять использованием значений "идентификатор потока" для гарантии того, что каждому активному потоку присвоено уникальное значение, и что идентификаторы тех потоков, которые больше не являются активными, отменены или переназначены.
В одном из вариантов осуществления изобретения в поле "дескриптор формата видеоинформации" используют 2 байта для указания формата каждого элемента изображения в поле "данные об элементах изображения" данного пакета в данном потоке. Формат данных об элементах изображения должен соответствовать, по меньшей мере, одному из допустимых форматов для плоскости изображения альфа-курсора, который может быть определен в пакете "возможности изображения альфа-курсора" (Alpha-Cursor Image Capability), или иному заранее заданному стандартному изображению, которое, как правило, определено в иных описанных выше пакетах. Дескриптор формата видеоинформации определяет формат элементов изображения только лишь для данного пакета, и это не означает, что будет продолжено использование постоянного формата в течение всей продолжительности конкретного потока видеоинформации. На фиг.12 проиллюстрировано то, каким образом закодирован дескриптор формата видеоинформации, описание которого приведено выше для других пакетов.
Например, как видно на фиг.12A-12D и использовано в одном из вариантов осуществления изобретения, когда биты [15:13] равны '000', то видеоинформация состоит из массива элементов черно-белого изображения, где количество битов на элемент изображения определено битами с третьего (3) по нулевой (0) бит слова, содержащегося в поле "дескриптор формата видеоинформации". Биты с одиннадцатого (11) по четвертый (4) обычно являются зарезервированными для использования в будущем или для будущих областей применения, и в этой ситуации их значения установлены равными нулю. Когда вместо этого значения битов [15:13] равны '001', то видеоинформация состоит из массива цветных элементов изображения, цвет каждого из которых указан посредством карты цветов (палитры). В этой ситуации биты с пятого (5) по нулевой (0) слова, содержащегося в поле "дескриптор формата видеоинформации", определяют количество битов на элемент изображения, а биты с одиннадцатого (11) по шестой (6) обычно являются зарезервированными для использования в будущем или для будущих применений и установлены равными нулю. Когда вместо этого значения битов [15:13] равны '010', то видеоинформация состоит из массива цветных элементов изображения, где количество битов на элемент изображения красного цвета определено битами с одиннадцатого (11) по восьмой (8), количество битов на элемент изображения зеленого цвета определено битами с седьмого (7) по четвертый (4), а количество битов на элемент изображения синего цвета определено битами с третьего (3) по нулевой (0). В этой ситуации общее количество битов на каждый элемент изображения равно сумме количества битов, использованных для красного, зеленого и синего цветов.
Однако, когда вместо этого значения битов [15:13] равны значениям или строке '011', что показано на фиг.12D, то видеоинформация состоит из массива видеоинформации в формате 4:2:2 YCbCr с наличием информации о яркости и цветности, где количество битов на элемент изображения компоненты Y определено битами с одиннадцатого (11) по восьмой (8), количество битов компоненты Cb определено битами с седьмого (7) по четвертый (4), а количество битов компоненты Cr определено битами с третьего (3) по нулевой (0). Общее количество битов в каждом элементе изображения равно сумме количества битов, использованных для красного, зеленого и синего цветов. Передачу компонент Cb и Cr производят со скоростью передачи, равной половине скорости передачи компоненты Y. Кроме того, выборки видеоинформации в участке "данные об элементах изображения" этого пакета упорядочены следующим образом: Cbn, Yn, Crn, Yn+1, Cbn+2, Yn+2, Crn+2, Yn+3 ..., где Cbn и Crn связаны с Yn и Yn+1, а Cbn+2 и Crn+2 связаны с Yn+2 и Yn+3, и т.д. Yn, Yn+1, Yn+2 и Yn+3 представляют собой значения яркости четырех последовательных элементов изображения в одной строке слева направо.
Для всех четырех форматов, описанных выше, бит номер 12, который обозначен на чертежах как "P", указывает, являются ли выборки данных об элементах изображения упакованными или данными об элементах изображения, выровненными по границе байта, или нет. Значение в этом поле, равное '0', указывает, что каждый элемент изображения в поле "данные об элементах изображения" является выровненным по границе байта интерфейса MDDI. Значение, равное '1', указывает, что каждый элемент изображения и каждый цвет в каждом элементе изображения в поле "данные об элементах изображения" является упакованным относительно предыдущего элемента изображения или цвета в предыдущем элементе изображения, в результате чего не остается неиспользуемых битов.
В одном из вариантов осуществления изобретения 2-байтовое поле "атрибуты данных об элементах изображения" имеет значения, которые интерпретируют следующим образом: биты номер 1 и 0 являются зарезервированными для использования в будущем, на настоящий момент их значения обычно установлены равными логическому нулю, а бит номер 2 указывает, имеют ли данные об элементах изображения формат с чересстрочной разверткой или нет. Когда значение бита номер 2 равно 0, то данные об элементах изображения имеют стандартный формат с построчной (прогрессивной) разверткой. При продвижении от одной строки к следующей строке номер строки (координата элемента изображения по оси Y) увеличивают на единицу. Когда значение бита номер 2 равно 1, то данные об элементах изображения имеют формат с чересстрочной разверткой. При продвижении от одной строки к следующей строке номер строки (координата элемента изображения по оси Y) увеличивают на 2.
В одном из вариантов осуществления изобретения бит номер 3 указывает, имеют ли данные об элементах изображения формат с чередованием элементов изображения или нет. Этот формат подобен стандартному режиму чересстрочной развертки, который разрешен битом номер 2, но при этом чередование происходит по вертикали, а не по горизонтали. Когда значение бита номер 3 равно 0, то данные об элементах изображения создают в стандартном формате с построчной разверткой или переводят их в этот формат. По мере приема каждого последующего элемента изображения номер столбца (координату элемента изображения по оси X) увеличивают на единицу. Когда значение бита номер 3 равно 1, то данные об элементах изображения создают в формате с чередованием элементов изображения или переводят их в этот формат. По мере приема каждого элемента изображения номер столбца (координату элемента изображения по оси X) увеличивают на 2.
Биты с четвертого (4) по пятнадцатый (15) также являются зарезервированными для использования в будущем, и для текущих применений или конструкций их уровни или значения обычно должны быть установлены равными логическому нулю.
33. Пакет "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement)
Пакет "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement) позволяет клиентскому устройству подтверждать, что им получен пакет "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup). Клиентское устройство может указать, что оно способно обеспечивать поддержку пакета "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement), посредством значения параметра, равного 143, в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List) и посредством не равного нулю значения в поле "максимальное количество потоков" пакета "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability).
Формат пакета "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement) показан в общем виде на фиг.77. На фиг.77 видно, что в одном из вариантов осуществления изобретения пакет "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "идентификатор потока", "код подтверждения приема" и "ЦИК". 2-байтовое поле "длина пакета" используют для указания общего количества байтов, за исключением поля "длина пакета", и для пакета этого типа оно имеет значение 10, при этом значение в поле "тип пакета", равное 137, идентифицирует пакет как пакет "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement).
2-байтовое поле "идентификатор cClient клиентского устройства" является зарезервированным для использования в будущем для идентификатора клиентского устройства и обычно установлено равным нулю. 2-байтовое поле "идентификатор потока" указывает уникальный идентификатор для поля "идентификатор потока". Его значение является тем же самым, что и значение, присвоенное главным устройством в пакете "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup).
2-байтовое поле "код подтверждения приема" обеспечивает значения, содержащие код, который описывает результат попытки обновления указанного масштабированного потока видеоинформации. В одном из вариантов осуществления изобретения коды определены следующим образом:
0 - попытка предоставления потока была успешной,
1 - попытка отмены потока была успешной,
2 - недопустимая попытка присвоения идентификатора потока, который уже был присвоен,
3 - недопустимая попытка отмены идентификатора потока, который уже был отменен,
4 - клиентское устройство не поддерживает масштабированные потоки видеоинформации,
5 - параметры потока являются несовместимыми с возможностями клиентского устройства,
6 - значение идентификатора потока является большим, чем максимальное значение, допустимое для клиентского устройства,
7 - клиентское устройство имеет недостаточные ресурсы для предоставления указанного потока.
2-байтовое поле "ЦИК" содержит ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
34. Пакет "масштабированный поток видеоинформации" (Scaled Video Stream)
Пакет "масштабированный поток видеоинформации" (Scaled Video Stream) используют для передачи данных об элементах изображения, соответствующих конкретному масштабированному потоку видеоинформации. Размер области, в которую адресован этот пакет, определен пакетом "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup). Клиентское устройство может указать, что оно способно обеспечивать поддержку пакета "масштабированный поток видеоинформации" (Scaled Video Stream), используя значение параметра, равное 143, в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List) и используя ответ об успешном предоставлении масштабированного потока видеоинформации в поле "код подтверждения приема" пакета "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement).
Формат одного из вариантов осуществления пакета "масштабированный поток видеоинформации" (Scaled Video Stream) показан в общем виде на фиг.78. Из фиг.78 видно, что пакет "масштабированный поток видеоинформации" (Scaled Video Stream) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "идентификатор потока", "атрибуты данных об элементах изображения", "количество элементов изображения", "ЦИК параметров", "данные об элементах изображения" и "ЦИК данных об элементах изображения". В 2-байтовом поле "тип пакета" используют значение, равное 18, для идентификации пакета как пакета "масштабированный поток видеоинформации" (Scaled Video Stream). Поле "идентификатор hClient клиентского устройства" является зарезервированным для идентификатора клиентского устройства, и его значение обычно установлено равным нулю. Как и ранее, 2-байтовое поле "идентификатор потока" указывает уникальный идентификатор для поля "идентификатор потока". Это значение указано главным устройством в пакете "настройка параметров масштабированного потока видеоинформации" (Scaled Video Stream Setup) и подтверждено в пакете "подтверждение приема данных о масштабированном потоке видеоинформации" (Scaled Video Stream Acknowledgement).
В одном из вариантов осуществления изобретения 2-байтовое поле "атрибуты данных об элементах изображения" имеет значения, которые указывают маршрутизацию данных об элементах изображения и обновление данных, выводимых на экран устройства отображения, или места расположения буферов. В одном из вариантов осуществления изобретения эти значения интерпретированы следующим образом: посредством битов номер 1 и 0 выбирают устройство отображения, в которое должны быть направлены данные об элементах изображения. Для значений этих битов, равных '11' или '00', данные об элементах изображения отображают на оба глаза или для обоих глаз, для значений этих битов, равных '10', данные об элементах изображения направляют только на левый глаз, а для значений этих битов, равных '01', данные об элементах изображения направляют только на правый глаз.
Биты номер 7 и 6 представляют собой биты обновления данных для устройства отображения (Display Update Bits), которые указывают буфер кадров, в который должны быть записаны данные об элементах изображения. Более подробное описание влияния битов обновления кадра (Frame Update Bits) приведено в другом месте описания. Когда биты [7:6] равны '01', то данные об элементах изображения записывают в автономный буфер для изображений. Когда биты [7:6] равны '00', то данные об элементах изображения записывают в буфер для изображений, используемый для обновления изображения на экране устройства отображения. Когда биты [7:6] равны '11', то данные об элементах изображения записывают во все буферы для изображений. Если биты [7:6] равны '10', то это значение считают недопустимым. В настоящее время эти биты являются зарезервированными для использования в будущем. В этой ситуации данные об элементах изображения игнорируют и не записывают ни в один из буферов для изображений. Биты со второго (2) по пятый (5) и с восьмого (8) по пятнадцатый (15) являются зарезервированными для использования в будущем, и их уровни или значения обычно должны быть установлены равными логическому нулю.
2-байтовое поле "количество элементов изображения" указывает количество элементов изображения в расположенном далее поле "данные об элементах изображения". 2-байтовое поле "ЦИК параметров" содержит ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "количество элементов изображения". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют. 2-байтовое поле "данные об элементах изображения" содержит исходную видеоинформацию, которая подлежит масштабированию и последующему отображению. Данные сформатированы способом, описанным в поле "дескриптор формата видеоинформации". Как определено ранее, передачу данных производят построчно.
2-байтовое поле "ЦИК данных об элементах изображения" содержит ЦИК только поля "данные об элементах изображения". Если результат проверки посредством этого ЦИК является неуспешным, то данные об элементах изображения все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
35. Пакет "запрос сведений о конкретном состоянии" (Request Specific Status)
Пакет "запрос сведений о конкретном состоянии" (Request Specific Status) обеспечивает средство, механизм или способ, которые предоставляют главному устройству возможность выдавать запрос на передачу клиентским устройством пакета со сведениями о его возможностях или состоянии, указанными в этом пакете, обратно в главное устройство. Клиентское устройство возвращает пакет указанного типа в следующем пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Если клиентское устройство способно отвечать на пакет "запрос сведений о конкретном состоянии" (Request Specific Status), то клиентское устройство обычно устанавливает соответствующее значение бита номер 17 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability). Удобный способ, который может использовать главное устройство для определения всех типов пакетов со сведениями о состоянии, которые может возвращать или передавать клиентское устройство, заключается в использовании пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List), описанного в другом месте настоящего описания. Клиентское устройство может указать, что оно способно отвечать на запрос посредством пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List), используя бит номер 21 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Формат одного из вариантов осуществления пакета "запрос сведений о конкретном состоянии" (Request Specific Status) показан в общем виде на фиг.79. На фиг.79 видно, что пакет "запрос сведений о конкретном состоянии" (Request Specific Status) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор hClient клиентского устройства", "идентификатор пакета со сведениями о состоянии" и "ЦИК". В поле "длина пакета" указано общее количество байтов в пакете, за исключением поле "длина пакета", и для пакета этого типа оно обычно имеет фиксированное значение, равное 10. Значение поля "тип пакета", равное 138, идентифицирует этот пакет как пакет "запрос сведений о конкретном состоянии" (Request Specific Status). Поле "идентификатор hClient клиентского устройства" (2 байта) является зарезервированным для использования в будущем для идентификатора клиентского устройства, и на настоящий момент времени его значение установлено равным нулю, а 2-байтовое поле "идентификатор пакета со сведениями о состоянии" указывает тип пакета со сведениями о возможностях или состоянии, который клиентское устройство собирается передавать в главное устройство. Типами пакетов обычно являются следующие:
66 - клиентским устройством передан пакет "возможности клиентского устройства" (Client Capability),
133 - клиентским устройством передан пакет "возможности изображения альфа-курсора" (Alpha-Cursor Image Capability),
139 - передан пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List), в котором определены точные типы пакетов со сведениями о возможностях и о состоянии, которые может передавать клиентское устройство,
141 - клиентским устройством передан пакет "индивидуальные возможности клиентского устройства" (Personal Client Capability),
142 - клиентским устройством передан пакет "сообщение клиентского устройства об ошибках" (Client Error Report),
143 - клиентским устройством передан пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability),
144 - клиентским устройством передан пакет "идентификация клиентского устройства" (Client Identification).
Типы пакетов с 56-го по 63-й могут быть использованы для особых идентификаторов возможностей и состояния, определяемых фирмой-производителем.
Поле "ЦИК" вновь содержит ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
36. Пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List)
Пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List) обеспечивает для главного устройства структуру, средство или способ получения перечня пакетов со сведениями о состоянии и о возможностях, которые способно возвращать клиентское устройство. Клиентское устройство может указать, что оно способно обеспечивать поддержку пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List), используя бит номер 21 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability).
Формат одного из вариантов осуществления пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List) показан в общем виде на фиг.80. На фиг.80 видно, что пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "количество значений в перечне", "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) и "ЦИК". Длина пакета для пакета этого типа обычно имеет фиксированное значение, равное 10, и значение в поле "тип", равное 139, идентифицирует пакет как пакет "ответ о допустимом состоянии" (Valid Status Reply). Поле "идентификатор cClient клиентского устройства" является зарезервированным для использования в будущем в качестве идентификатора клиентского устройства, и его значение обычно установлено равным нулю. 2-байтовое поле "количество значений в перечне" указывает количество элементов в следующем за ним поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List).
Поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) содержит перечень 2-байтовых параметров, которые указывают типы пакетов со сведениями о возможностях или со сведениями о состоянии, которые клиентское устройство может передавать в главное устройство. Если клиентским устройством указано, что оно может отвечать на пакет "запрос сведений о конкретном состоянии" (Request Specific Status) (с использованием бита номер 21 поля "характерные функциональные возможности клиентского устройства" (Client Feature Capability) из пакета "возможности клиентского устройства" (Client Capability)), то это клиентское устройство способно передавать, по меньшей мере, пакет "возможности клиентского устройства" (Client Capability) (тип пакета = 66) и пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List) (тип пакета = 139). Ниже перечислены типы пакетов, которые может передавать клиентское устройство и которые могут содержаться в этом перечне, вместе с соответствующим их назначением согласно одному из вариантов осуществления изобретения:
66 - пакет "возможности клиентского устройства" (Client Capability),
133 - пакет "возможности изображения альфа-курсора" (Alpha-Cursor Image Capability),
139 - пакет "перечень ответов о допустимом состоянии" (Valid Status Reply List), в котором определены точные типы пакетов со сведениями о возможностях и о состоянии, которые может посылать клиентское устройство,
141 - пакет "возможности персонального устройства отображения" (Personal Display Capability),
142 - пакет "сообщение клиентского устройства об ошибках" (Client Error Report),
143 - пакет "возможности масштабированного потока видеоинформации" (Scaled Video Stream Capability),
144 - пакет "идентификация клиентского устройства" (Client Identification),
145 - пакет "возможности альтернативного устройства отображения" (Alternate Display Capability).
Типы пакетов с 56-го по 63-й могут быть использованы для особых идентификаторов возможностей и состояния, определяемых фирмой-производителем.
Поле "ЦИК" содержит ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
37. Пакет "возможности персонального устройства отображения" (Personal Display Capability)
Пакет "возможности персонального устройства отображения" (Personal Display Capability) обеспечивает набор параметров, которые описывают возможности персонального устройства отображения, например, надеваемого на голову шлема-дисплея или очков с вмонтированным в них дисплеем. Это дает возможность главному устройству подстраивать отображаемую информацию под конкретные возможности клиентского устройства. С другой стороны, клиентское устройство указывает, что оно способно посылать пакет "возможности персонального устройства отображения" (Personal Display Capability), используя соответствующий параметр в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List).
Формат одного из вариантов осуществления пакета "возможности персонального устройства отображения" (Personal Display Capability) показан в общем виде на фиг.81. На фиг.81 видно, что пакет "возможности персонального устройства отображения" (Personal Display Capability) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "компоновка субэлементов изображения", "форма элемента изображения", "поле зрения по горизонтали", "поле зрения по вертикали", "точка пересечения оптических осей зрения", "перекрытие левого/правого изображений", "степень видимости сквозь изображение", "максимальная яркость", "оптические возможности", "минимальное расстояние между зрачками (IPD)", "максимальное расстояние между зрачками (IPD)", "перечень точек искривления поля изображения" и "ЦИК". В одном из вариантов осуществления изобретения поле "длина пакета" имеет фиксированное значение, равное 68 байтам. Значение в поле "тип пакета", равное 141, идентифицирует пакет как пакет "возможности персонального устройства отображения" (Personal Display Capability). Поле "идентификатор cClient клиентского устройства" является зарезервированным для использования в будущем и на настоящий момент времени обычно установлено равным нулю.
Поле "компоновка субэлементов изображения" указывает схему физической компоновки субэлементов изображения сверху вниз и слева направо с использованием следующих значений: значения 0 для указания того, что компоновка субэлементов изображения не определена; значения 1 для указания компоновки в виде полосы с последовательностью цветов красный-зеленый-синий; значения 2 для указания компоновки в виде полосы с последовательностью цветов синий-зеленый-красный; значения 3 для указания того, что элемент изображения состоит из четырех субэлементов со схемой расположения 2×2, в которой субэлемент изображения красного цвета расположен слева вверху, субэлемент изображения синего цвета расположен справа внизу, а два субэлемента изображения зеленого цвета расположены следующим образом: один слева внизу, а другой справа вверху; значения 4 для указания того, что элемент изображения состоит из четырех субэлементов со схемой расположения 2×2, в которой субэлемент изображения красного цвета расположен слева внизу, субэлемент изображения синего цвета расположен справа вверху, а два субэлемента изображения зеленого цвета расположены следующим образом: один слева вверху, а другой справа внизу; значения 5 для указания того, что субэлементы изображения расположены в виде треугольника (триады); значения 6 для указания мозаичной схемы расположения с наложением красного, зеленого и синего цветов (используемой, например, в жидкокристаллическом дисплее на кремниевой подложке (LCOS) с последовательной передачей цветов по полям); а значения от 7 по 255 обычно являются зарезервированными для использования в будущем.
Поле "форма элемента изображения" указывает форму каждого элемента изображения, составленного из субэлементов изображения, имеющих конкретную конфигурацию, с использованием следующих значений: значения 0 для указания того, что форма субэлемента изображения не определена; значения 1 для указания круглой формы; значения 2 для указания квадратной формы; значения 3 для указания прямоугольной формы; значения 4 для указания овальной формы; значения 5 для указания эллиптической формы; а значения от 6 до 255 являются зарезервированными для использования в будущем при обозначении желательных форм, что является понятным для специалиста в данной области техники.
1-байтовое поле "поле зрения по горизонтали" (HFOV) указывает поле зрения по горизонтали с дискретностью 0,5 градуса (например, если поле зрения по горизонтали (HFOV) равно 30 градусам, то это значение равно 60). Если это значение равно нулю, то поле зрения по горизонтали (HFOV) не указано.
1-байтовое поле "поле зрения по вертикали" (VFOV) указывает поле зрения по горизонтали с дискретностью 0,5 градуса (например, если поле зрения по вертикали (VFOV) равно 30 градусам, то это значение равно 60). Если это значение равно нулю, то поле зрения по вертикали (VFOV) не указано.
1-байтовое поле "точка пересечения оптических осей зрения" указывает точку пересечения оптических осей зрения с дискретностью 0,01 диоптрии (1/м) (например, если точка пересечения оптических осей зрения находится на расстоянии 2,22 метра, то это значение равно 45). Если это значение равно нулю, то точка пересечения оптических осей зрения не указана.
1-байтовое поле "перекрытие левого/правого изображений" указывает процентную долю перекрытия левого и правого изображений. Допустимый диапазон перекрытия изображений, выраженный в процентах, составляет от 1 до 100. Значения от 101 до 255 являются недопустимыми, и обычно их не следует использовать. Если это значение равно нулю, то перекрытие изображений не указано.
1-байтовое поле "степень видимости сквозь изображение" указывает степень видимости сквозь изображение, выраженную в процентах. Допустимый диапазон степени видимости сквозь изображение, выраженной в процентах, составляет от 0 до 100. Значения от 101 до 254 являются недопустимыми, и их не следует использовать. Если это значение равно 255, то степень видимости сквозь изображение, выраженная в процентах, не указана.
1-байтовое поле "максимальная яркость" указывает максимальную яркость с дискретностью 20 нит (например, если максимальная яркость равна 100 нит, то это значение равно 5). Если это значение равно нулю, то максимальная яркость не указана.
2-байтовое поле "оптические возможности" содержит различные поля, которые указывают оптические возможности устройства отображения. Значения этим битам обычно присваивают согласно следующим правилам.
Биты с пятнадцатого (15) по пятый (5) являются зарезервированными для использования в будущем и обычно установлены в состояние логического нуля.
Бит номер 4 обеспечивает выбор регулировки фокусного расстояния окуляра, при этом значение, равное '0', означает, что устройство отображения не имеет регулировки фокусного расстояния окуляра, а значение, равное '1', означает, что устройство отображения имеет регулировку фокусного расстояния окуляра.
Биты с третьего (3) по второй (2) обеспечивает выбор бинокулярной функции согласно следующему правилу: значение, равное 0, означает, что устройство отображения является бинокулярным и может отображать только двумерные (2D) изображения; значение, равное 1, означает, что устройство отображения является бинокулярным и может отображать трехмерные (3D) изображения; значение, равное 2, означает, что устройство отображения является монокулярным, а значение, равное 3, является зарезервированным для использования в будущем.
Биты с первого (1) по нулевой (0) обеспечивает выбор симметрия кривизны поля для левого-правого изображений, при этом значение, равное 0, означает, что кривизна поля изображения не определена. Если значение в этом поле равно нулю, то все значения кривизны поля изображения от A1 до E5 установлены равными нулю, за исключением значения для точки C3, которое указывает фокусное расстояние устройства отображения или которое должно быть установлено равным нулю для указания того, что фокусное расстояние не указано. Значение, равное 1, означает, что левое и правое устройства отображения имеет одинаковую симметрию; значение, равное 2, означает, что левое и правое устройства отображения являются зеркальными относительно вертикальной оси (столбец C); а значение, равное 3, является зарезервированным для использования в будущем.
1-байтовое поле "минимальное расстояние между зрачками (IPD)" указывает минимальное расстояние между зрачками, выраженное в миллиметрах (мм). Если это значение равно нулю, то минимальное расстояние между зрачками не указано. 1-байтовое поле "максимальное расстояние между зрачками (IPD)" указывает максимальное расстояние между зрачками, выраженное в миллиметрах (мм). Если это значение равно нулю, то максимальное расстояние между зрачками не указано.
Поле "перечень точек искривления поля изображения" (Points of Field Curvature List) содержит перечень из двадцати пяти 2-байтовых параметров, которые указывают фокусное расстояние в тысячных долях диоптрии (1/м) в диапазоне от 1 до 65535 (например, 1 - 0,001 диоптрии, а 65535 - 65,535 диоптрий). Как показано на фиг.82, эти 25 элементов перечня точек искривления поля изображения (Points of Field Curvature List) обозначены как A1-E5. Точки должны быть равномерно распределены по полезной площади изображения. Столбец C соответствует вертикальной оси устройства отображения, а строка 3 соответствует горизонтальной оси устройства отображения. Столбцы A и E соответствуют соответственно левому и правому краям устройства отображения. А строки 1 и 5 соответствуют соответственно верхнему и нижнему краям устройства отображения. Порядок расположения этих 25 точек в перечне является следующим: A1, B1, C1, D1, E1, A2, B2, C2, D2, E2, A3, B3, C3, D3, E3, A4, B4, C4, D4, E4, A5, B5, C5, D5, E5.
Поле "ЦИК" содержит ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
38. Пакет "сообщение клиентского устройства об ошибках" (Client Error Report)
Пакет "сообщение клиентского устройства об ошибках" (Client Error Report) действует как механизм или средство, позволяющее клиентскому устройству предоставить в главное устройство перечень ошибок, возникающих в процессе работы. Клиентское устройство может обнаруживать разнообразные ошибки в ходе его обычной работы в результате получения определенных команд из главного устройства. Примерами этих ошибок являются, в том числе, следующие: в клиентское устройство могла поступить команда, чтобы оно работало в режиме, который оно не поддерживает; клиентским устройством мог быть получен пакет, содержащий определенные параметры, выходящие за пределы допустимого диапазона или превышающие возможности клиентского устройства; в клиентское устройство могла поступить неправильная последовательность команд на его вход в соответствующий режим. Пакет "сообщение клиентского устройства об ошибках" (Client Error Report) может быть использован для обнаружения ошибок во время обычного режима работы, но наиболее полезным он является для разработчика систем и системного интегратора для диагностики проблем при разработке и интеграции главных и клиентских систем. Клиентское устройство указывает, что оно способно посылать пакет "сообщение клиентского устройства об ошибках" (Client Error Report), используя значение параметра, равное 142, в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List).
Формат одного из вариантов осуществления пакета "сообщение клиентского устройства об ошибках" (Client Error Report) показан в общем виде на фиг.83. На фиг.83 видно, что пакет "сообщение клиентского устройства об ошибках" (Client Error Report) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "количество элементов в перечне", "перечень кодов ошибок" и "ЦИК". Значение в поле "тип пакета", равное 142, идентифицирует пакет как пакет "сообщение клиентского устройства об ошибках" (Client Error Report). Поле "идентификатор cClient клиентского устройства" является зарезервированным для использования в будущем, и на настоящий момент времени его значение обычно установлено равным нулю. Поле "количество элементов в перечне" (2 байта) указывает количество элементов в следующем за ним поле "перечень кодов ошибок". Поле "перечень кодов ошибок" (длина которого здесь равна 8 байтам) представляет собой перечень, содержащий один или большее количество элементов перечня сообщений об ошибках (Error Report List). Формат одного элемента перечня сообщений об ошибках показан на фиг.84.
В одном из вариантов осуществления изобретения, который показан на фиг.84, каждый элемент перечня сообщений об ошибках имеет длину, равную точно 4 байтам, и в одном из вариантов осуществления имеет структуру, содержащую: 2-байтовое поле "код ошибки устройства отображения" (Display Error Code), которое указывает тип ошибки, о наличии которой сообщают, 2-байтовое поле "субкод ошибки" (Error Sub-code), которое указывает более высокий уровень детализации ошибки, описанной в пакете "код ошибки клиентского устройства". Конкретное определение каждого кода ошибки клиентского устройства дает фирма-производитель клиентского устройства. Субкод ошибки не обязательно должен быть определен для каждого кода ошибки устройства отображения, и в тех случаях, когда субкод ошибки не определен, его значение установлено равным нулю. Конкретное определение каждого субкода ошибки дает фирма-производитель клиентского устройства.
39. Пакет "идентификация клиентского устройства" (Client Identification)
Пакет "идентификация клиентского устройства" (Client Identification) позволяет клиентскому устройству возвращать идентификационные данные в ответ на пакет "запрос сведений о конкретном состоянии" (Request Specific Status). В одном из вариантов осуществления изобретения клиентское устройство указывает, что оно способно посылать пакет "идентификация клиентского устройства" (Client Identification), используя значение параметра, равное 144, в перечне ответов на запрос о предоставлении допустимого параметра (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List). Целесообразно, чтобы главное устройство было способно определять наименование производителя и номер модели клиентского устройства путем считывания этих данных с клиентского устройства. Эта информация может быть использована для определения того, имеет ли клиентское устройство особые возможности, которые не могут быть описаны в пакете "возможности клиентского устройства" (Client Capability). Существует два потенциально возможных способа, средства или механизма считывания идентификационной информации с клиентского устройства. Одним из них является использование пакета "возможности клиентского устройства" (Client Capability), который содержит поля, подобные тем, которые имеются в базовой структуре стандарта расширенной идентификации дисплеев (EDID). Другим способом является использование пакета "идентификация клиентского устройства" (Client Identification), который содержит более обширный набор информации по сравнению с аналогичными полями в пакете "возможности клиентского устройства" (Client Capability). Это позволяет главному устройству распознавать те фирмы-производители, которым не был присвоен 3-символьный код расширенной стандартной архитектуры для промышленного применения (EISA), и обеспечивает возможность наличия алфавитно-цифровых символов в серийных номерах.
Формат одного из вариантов осуществления пакета "идентификация клиентского устройства" (Client Identification) показан в общем виде на фиг.85. На фиг.85 видно, что пакет "идентификация клиентского устройства" (Client Identification) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "неделя изготовления", "год изготовления", "длина поля "наименование производителя"", "длина поля "наименование изделия"", "длина поля "серийный номер"", "строка данных: наименование производителя", "строка данных: наименование изделия", "строка данных: серийный номер" и "ЦИК".
2-байтовое поле "тип пакета" содержит значение, которое идентифицирует пакет как пакет "идентификация клиентского устройства" (Client Identification). В одном из вариантов осуществления изобретения это значение выбрано равным 144. Поле "идентификатор cClient клиентского устройства" (2 байта) вновь является зарезервированным для использования в будущем для идентификатора клиентского устройства, и его значение обычно установлено равным нулю. Поле "ЦИК" (2 байта) содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
1-байтовое поля "неделя изготовления" содержит значение, которое определяет неделю, когда было изготовлено устройство отображения. По меньшей мере, в одном варианте осуществления изобретения это значение находится в интервале значений от 1 до 53, если клиентское устройство поддерживает это поле. Если клиентское устройство не поддерживает это поле, то значение в нем обычно устанавливают равным нулю. 1-байтовое поле "год изготовления" содержит значение, которое определяет год изготовления клиентского устройства (устройства отображения). Это значение представляет собой смещение относительно 1990 года, служащего в качестве начальной точки отсчета, хотя могут быть использованы иные базисные годы. Посредством этого поля могут быть выражены годы в пределах с 1991 года по 2245 год. Пример: 2003 год соответствует значению в поле "год изготовления", равному 13. Если клиентское устройство не обеспечивает поддержку этого поля, то значение в этом поле должно быть установлено равным нулю.
Каждое из полей "длина поля "наименование производителя"", "длина поля "наименование изделия"" и "длина поля "серийный номер"" содержит 2-байтовые значения, которые указывают соответственно длину поля "строка данных: наименование производителя", которая включает в себя любые нули в его конце или нулевые символы-заполнители, длину поля "строка данных: наименование изделия", которая включает в себя любые нули в его конце или нулевые символы-заполнители, и длину поля "строка данных: серийный номер", которая включает в себя любые нули в его конце или нулевые символы-заполнители.
Каждое из полей "строка данных: наименование производителя", "строка данных: наименование изделия" и "строка данных: серийный номер" содержит переменное количество байтов, указанных посредством полей соответственно "длина поля "наименование производителя"", "длина поля "наименование изделия"" и "длина поля "серийный номер"", и содержит строку символов Американского стандартного кода обмена информацией (ASCII), которая указывает соответственно производителя, наименование изделия и алфавитно-цифровой серийный номер устройства отображения. Каждая из этих строк завершена, по меньшей мере, одним нулевым символом.
40. Пакет "возможности альтернативного устройства отображения" (Alternate Display Capability)
Пакет "возможности альтернативного устройства отображения" (Alternate Display Capability) использован в качестве средства, структуры или способа для указания возможностей альтернативных устройств отображения, присоединенных к контроллеру клиентского устройства интерфейса MDDI. Его передают в ответ на пакет "запрос сведений о конкретном состоянии" (Request Specific Status). При получении запроса клиентское устройство передает пакет "возможности альтернативного устройства отображения" (Alternate Display Capability) для каждого поддерживаемого им альтернативного устройства отображения. Если клиентское устройство имеет более одного альтернативного устройства отображения, то клиентское устройство должно передать, сгенерировать или предоставить множество пакетов "возможности альтернативного устройства отображения" (Alternate Display Capability), по одному для каждого устройства отображения, в ответ на один пакет "запрос сведений о конкретном состоянии" (Request Specific Status), хотя в некоторых конфигурациях при желании может быть использовано множество пакетов "запрос сведений о конкретном состоянии" (Request Specific Status), несмотря на то, что это является менее эффективным. Пакеты "возможности альтернативного устройства отображения" (Alternate Display Capability) клиентское устройство может передавать в таком порядке следования, который может быть назван "непоследовательным порядком", на основании значения в поле "количество альтернативных устройств отображения". Клиентское устройство может указать, что оно способно посылать пакет "возможности альтернативного устройства отображения" (Alternate Display Capability), посредством установки значения параметра, равного 145, в поле "перечень ответов на запрос о предоставлении допустимого параметра" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List).
Системы на основе интерфейса MDDI, работающие во внутреннем режиме, обычно могут иметь более одного устройства отображения, соединенного с контроллером клиентского устройства интерфейса MDDI. Примером такого применения является мобильный телефон с большим дисплеем на внутренней части откидывающейся части корпуса и с дисплеем меньшего размера на внешней стороне. Для клиентского устройства, работающего во внутреннем режиме, не обязательно возвращать пакет "возможности альтернативного устройства отображения" (Alternate Display Capability) по двум возможным причинам. Во-первых, главное устройство может быть уже запрограммировано или иным образом проинформировано о возможностях во время изготовления, так как они используются в общем устройстве или корпусе. Во вторых, вследствие того что эти два устройства объединены в сборочный узел, клиентское устройство не может быть легко отсоединено или отделено от соединения с главным устройством, и главное устройство может содержать жестко запрограммированную копию сведений о функциональных возможностях клиентского устройства, или, по меньшей мере, знать о том, что они не изменяются при изменениях в клиентском устройстве, что могло бы иметь место в противном случае.
Поле "количество альтернативных устройств отображения" пакета "возможности клиентского устройства" (Client Capability) используют для уведомления о том, что присоединено более одного устройства отображения, и пакет "возможности альтернативного устройства отображения" (Alternate Display Capability) сообщает о возможностях каждого альтернативного устройства отображения. Пакет "поток видеоинформации" содержит в поле "атрибуты данных об элементах изображения" 4 бита для адресации каждого альтернативного устройства отображения в клиентском устройстве.
Формат одного из вариантов осуществления пакета "возможности альтернативного устройства отображения" (Alternate Display Capability) показан в общем виде на фиг.86. На фиг.86 видно, что пакет "возможности альтернативного устройства отображения" (Alternate Display Capability) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор cClient клиентского устройства", "номер альтернативного устройства отображения", "зарезервированное поле 1", "ширина растрового изображения", "высота растрового изображения", "ширина окна на экране устройства отображения", "высота окна на экране устройства отображения", "широта карты цветов в формате RGB" (Color Map RGB Width), "возможность использования формата RGB" (RGB Capability), "возможность использования черно-белого формата" (Monochrome Capability), "зарезервированное поле 2", "возможность использования формата YCbCr" (YCbCr Capability), "характерные функциональные возможности устройства отображения" (Display Feature Capability), "зарезервированное поле 3" и "ЦИК". Значение в поле "тип пакета", равное 145, идентифицирует пакет как пакет "возможности альтернативного устройства отображения" (Alternate Display Capability). Поле "идентификатор cClient клиентского устройства" является зарезервированным для идентификатора клиентского устройства для его использования в будущем, и обычно его значение установлено равным нулю.
В поле "номер альтернативного устройства отображения" используют 1 байт для указания идентичности альтернативного устройства отображения посредством целого числа в интервале значений от 0 до 15. Первое альтернативное устройство отображения обычно обозначено как номер 0, а другие альтернативные устройства отображения определены посредством уникальных значений в поле "номер альтернативного устройства отображения", при этом наибольшее используемое значение равно общему количеству альтернативных устройств отображения минус 1. Значения более высокие, чем общее количество альтернативных устройств отображения минус 1, не используют. Пример: мобильный телефон, имеющий основное устройство отображения и устройство отображения идентификатора вызывающего абонента, соединенное с клиентским устройством интерфейса MDDI, имеет одно альтернативное устройство отображения, поэтому номер альтернативного устройства отображения для устройства отображения идентификатора вызывающего абонента равен нулю, и поле "количество альтернативных устройств отображения" пакета "возможности клиентского устройства" (Client Capability) имеет значение 1.
"Зарезервированное поле 1" (1 байт) является зарезервированным для использования в будущем. Все биты в этом поле установлены равными нулю. Одно из назначений этого поля состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
В поле "ширина растрового изображения" используют 2 байта, которые указывают ширину растрового изображения, выраженную в единицах количества элементов изображения. В поле "высота растрового изображения" используют 2 байта, которые указывают высоту растрового изображения, выраженную в единицах количества элементов изображения. В поле "ширина окна на экране устройства отображения" используют 2 байта, которые указывают ширину окна на экране устройства отображения, выраженную в единицах количества элементов изображения. В поле "высота окна на экране устройства отображения" используют 2 байта, которые указывают высоту окна на экране устройства отображения, выраженную в единицах количества элементов изображения.
В поле "широта карты цветов в формате RGB" (Color Map RGB Width) используют 2 байта, которые указывают количество битов в цветовых компонентах красного цвета, зеленого цвета и синего цвета, которые могут быть отображены в режиме визуального отображения данных на основе карты цветов (палитры). Максимальное количество битов для каждой цветовой компоненты (красной, зеленой и синей), которое может быть использовано, равно 8. Даже если в пакете "карта цветов" (Color Map) передают по 8 битов для каждой цветовой компоненты, то используют только лишь несколько младших значащих битов каждой цветовой компоненты, заданных в этом поле. Если клиентское устройство отображения не может использовать формат на основе карты цветов (палитры), то это значение равно нулю. Слово, содержащееся в поле "широта карты цветов в формате RGB" (Color Map RGB Width), состоит из трех отдельных значений без знака: биты с третьего (3) по нулевой (0) определяют максимальное количество битов синего цвета в каждом элементе изображения, при этом допустимыми считают значения от 0 до 8, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов зеленого цвета в каждом элементе изображения, при этом допустимыми считают значения от 0 до 8, биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов красного цвета в каждом элементе изображения, при этом допустимыми считают значения от 0 до 8, биты с четырнадцатого (14) по двенадцатый (12) являются зарезервированными для использования в будущем и обычно установлены равными нулю, бит номер 15 используют для указания того, что клиентское устройство способно принимать данные об элементах изображения карты цветов в упакованном формате или в неупакованном формате. Когда значение бита номер 15 установлено равным уровню логической единицы, то это указывает, что клиентское устройство может принимать данные об элементах изображения карты цветов как в упакованном формате, так и в неупакованном формате. Если значение бита 15 установлено равным логическому нулю, то это указывает, что клиентское устройство может принимать данные об элементах изображения карты цветов только в неупакованном формате.
В поле "возможность использования формата RGB" (RGB Capability) используют 2 байта для указания количества битов дискретности, которое может быть отображено в формате RGB. В одном из вариантов осуществления изобретения, если клиентское устройство не может использовать формат RGB, то это значение установлено равным нулю. Слово, содержащееся в поле "возможность использования формата RGB" (RGB Capability), состоит из трех отдельных значений без знака, где: биты с третьего (3) по нулевой (0) определяют максимальное количество битов синего цвета (интенсивность синего цвета) в каждом элементе изображения, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов зеленого цвета (интенсивность зеленого цвета) в каждом элементе изображения, а биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов красного цвета (интенсивность красного цвета) в каждом элементе изображения. Биты с четырнадцатого (14) по двенадцатый (12) являются зарезервированными для использования в будущем и установлены равными нулю. Бит 15 используют для указания способности клиентского устройства принимать данные об элементах изображения, представленные в формате RGB, в упакованном или в неупакованном формате. Когда значение бита номер 15 установлено равным уровню логической единицы, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате RGB, как в упакованном, так и в неупакованном формате. Если же значение бита номер 15 установлено равным логическому нулю, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате RGB, только лишь в неупакованном формате.
1-байтовое поле "возможность использования черно-белого формата" (Monochrome Capability) содержит значение или информацию для указания количества битов дискретности, которое может быть отображено в черно-белом формате. Если клиентское устройство не может использовать черно-белый формат, то это значение установлено равным нулю. Биты с шестого (6) по четвертый (4) являются зарезервированными для использования в будущем и обычно установлены равными нулю. Биты с третьего (3) по нулевой (0) определяют максимальное количество битов шкалы полутонов, которая может существовать в каждом элементе изображения. Эти четыре бита дают возможность указать то, что каждый элемент изображения состоит из соответствующего количества битов от 1 до 15. Если это значение равно нулю, то клиентское устройство не поддерживает черно-белый формат. Когда значение бита номер 7 установлено равным единице, то это указывает, что клиентское устройство может принимать данные об элементах черно-белого изображения как в упакованном, так и в неупакованном формате. Если же значение бита номер 7 установлено равным нулю, то это указывает, что клиентское устройство может принимать данные об элементах черно-белого изображения только лишь в неупакованном формате.
"Зарезервированное поле 2" представляет собой поле шириной 1 байт, которое является зарезервированным для использования в будущем, и обычно логические уровни всех битов в нем установлены равными логическому нулю. В одном из вариантов осуществления изобретения одно из назначений этого поля состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
2-байтовое поле "возможность использования формата YCbCr" (YCbCr Capability) указывает количество битов дискретности, которое может быть отображено в формате YCbCr. Если клиентское устройство не может использовать формат CbCrY, то это значение равно нулю. Слово, содержащееся в поле "возможность использования формата YCbCr" (YCbCr Capability), состоит из трех отдельных значений без знака, при этом: биты с третьего (3) по нулевой (0) определяют максимальное количество битов, посредством которого задана выборка компоненты Cb, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов, посредством которого задана выборка компоненты Cr, биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов, посредством которого задана выборка компоненты Y, а биты с четырнадцатого (14) по двенадцатый (12) являются зарезервированными для использования в будущем и установлены равными нулю. Когда значение бита номер 15 установлено равным единице, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате CrCbY, как в упакованном, так и в неупакованном формате. Если же значение бита номер 15 установлено равным нулю, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате CrCbY, только лишь в неупакованном формате.
2-байтовое поле "возможность использования формата Байера" (Bayer Capability) указывает количество битов дискретности, группу элементов изображения и порядок следования элементов изображения, которые могут быть переданы в формате Байера (Bayer). Если клиентское устройство не может использовать формат Байера, то это значение установлено равным нулю. Поле "возможность использования формата Байера" (Bayer Capability) состоит из следующих значений: биты с третьего (3) по нулевой (0) определяют максимальное количество битов интенсивности, которые имеются в каждом элементе изображения, биты с пятого (5) по четвертый (4) определяют шаблон группы элементов изображения, который может потребоваться. Биты с восьмого (8) по шестой (6) определяют требуемый порядок следования элементов изображения, а биты с четырнадцатого (14) по девятый (9) являются зарезервированными для использования в будущем и установлены равными нулю. Когда значение бита номер 15 установлено равным единице, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате Байера, как в упакованном, так и в неупакованном формате. Если же значение бита номер 15 установлено равным нулю, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате Байера, только в неупакованном формате.
2-байтовое поле "ЦИК" содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
41. Пакет "доступ к регистрам" (Register Access)
Пакет "доступ к регистрам" (Register Access) обеспечивает как для главного устройства, так и для клиентского устройства средство, механизм или способ доступа к регистрам конфигурации и состояния на противоположном конце линии связи интерфейса MDDI. Вероятно, что регистры являются однозначно определенными для каждого устройства отображения или контроллера устройства. Эти регистры уже существуют во многих устройствах отображения, которые требуют настройки конфигураций, режимов работы и имеют иные полезные и необходимые установочные параметры. Пакет "доступ к регистрам" (Register Access) позволяет главному устройству или клиентскому устройству интерфейса MDDI выполнять обе операции: производить запись данных в регистр и выдавать запрос на считывание данных из регистра с использованием линии связи интерфейса MDDI. Когда главное устройство или клиентское устройство выдает запрос на считывание данных из регистра, то противоположная сторона должна ответить на него путем передачи данных, содержащихся в регистре, в пакете того же самого типа, но также и путем указания того, что эти данные являются считанными из конкретного регистра, используя поле "информация о считывании/записи" (Read/Write Info). Пакет "доступ к регистрам" (Register Access) может быть использован для считывания из множества регистров или для записи во множество регистров путем указания количества регистров большего, чем 1. Клиентское устройство указывает, что оно способно обеспечивать поддержку пакета "доступ к регистрам" (Register Access), используя бит номер 22 в поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) пакета "возможности клиентского устройства" (Client Capability). Клиентское устройство для передачи пакета "доступ к регистрам" (Register Access) использует пакет инкапсуляции, следовательно, предоставляет то, что является пакетом в рамках конфигурации или структуры пакетов.
Формат одного из вариантов осуществления пакета "доступ к регистрам" (Register Access) показан в общем виде на фиг.87. На фиг.87 видно, что пакет "доступ к регистрам" (Register Access) имеет структуру с наличием следующих полей: "длина пакета", "тип пакета", "идентификатор bClient клиентского устройства", "флаги считывания/записи", "адрес регистра", "ЦИК параметров", "перечень данных регистра" и "ЦИК данных регистра". Значение поля "тип пакета", равное 146, идентифицирует пакет как пакет "доступ к регистрам" (Register Access). Поле "идентификатор bClient клиентского устройства" является зарезервированным для использования в будущем, и на настоящий момент времени его значение обычно установлено равным нулю.
2-байтовое поле "флаги считывания/записи" указывает конкретный пакет либо как предназначенный для записи, либо как считанный, либо как ответ на считанные данные, и обеспечивает отсчет значений данных.
Биты с пятнадцатого (15) по четырнадцатый (14) действуют как флаги считывания/записи. Если значение битов [15:14] равно '00', то этот пакет содержит данные, которые должны быть записаны в регистр, адрес которого указан в поле "адрес регистра". Данные, которые должны быть записаны в указанные регистры, содержатся в поле "перечень данных регистра". Если значение битов [15:14] равно '10', то этот пакет представляет собой запрос на получение данных из одного или из большего количества регистров, адреса которых указаны в поле "адрес регистра". Если значение битов [15:14] равно '11', то пакет содержит запрошенные данные, передаваемые в ответ на пакет "доступ к регистрам" (Register Access), в котором значение битов 15:14 в поле "флаги считывания/записи" установлено равным '10'. Поле "адрес регистра" содержит адрес регистра, соответствующего первому элементу данных в поле "перечень данных регистра", а поле "перечень данных регистра" содержит данные, которые были считаны из этого адреса или из этих адресов. Если значение битов [15:14] равно '01', то это значение считают недопустимым, это значение является зарезервированным для использования в будущем и в настоящее время не используется, но для специалистов в данной области техники понятно то, каким образом следует его использовать для будущих применений.
В битах [13:0] используют 14-битовое целое число без знака для указания количества 32-битовых элементов данных регистра, которые должны быть переданы в поле "перечень данных регистра". Если значение битов [15:14] равно '00', то биты [13:0] указывают количество 32-битовых элементов данных регистра, содержащихся в поле "перечень данных регистра", которые должны быть записаны в регистры, начиная с регистра, указанного в поле "адрес регистра". Если значение битов [15:14] равно '10', то биты [13:0] указывают количество 32-битовых элементов данных регистра, которые приемное устройство передает в устройство, выдавшее запрос на считывание данных из регистров. Поле "перечень данных регистра" в этом пакете не содержит элементов данных и имеет нулевую длину. Если значение битов [15:14] равно '11', то биты [13:0] указывают количество считанных из регистров 32-битовых элементов данных регистра, которые содержатся в поле "перечень данных регистра". Значение битов [15:14] в настоящее время не устанавливают равным '01', которое считают недопустимым значением, или же они являются зарезервированными для будущих обозначений или для использования в будущем.
В поле "адрес регистра" используют 4 байта для указания адреса регистра, в который должны быть записаны данные или из которого должны быть считаны данные. Для адресации регистров, адреса которых имеют длину менее 32 битов, значения старших битов установлены равными нулю.
2-байтовое поле "ЦИК параметров" содержит ЦИК всех байтов из полей, начиная с поля "длина пакета" и заканчивая полем "адрес регистра". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
Поле "перечень данных регистра" содержит перечень 4-байтовых значений данных регистра, которые должны быть записаны в регистры клиентского устройства, или значения, которые были записаны из регистров клиентского устройства.
2-байтовое поле "ЦИК данных регистра" содержит ЦИК только поля "перечень данных регистра". Если результат проверки посредством этого ЦИК является неуспешным, то данные регистра все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
D. ЦИК пакета
Поля "ЦИК" расположены в конце пакетов и иногда после определенных более важных параметров в тех пакетах, которые могут иметь весьма большое поле данных, и, следовательно, более высокую вероятность ошибок при передаче. В пакетах, которые имеют два поля "ЦИК", в том случае, когда используется только один генератор ЦИК, производят повторную инициализацию генератора ЦИК после первого ЦИК для того, чтобы параметры, находящиеся в начале пакета, не оказывали влияния на результат вычисления ЦИК после длинного поля данных.
-6
Существует слабая вероятность того, что пакеты, содержащие множество ошибок в символах, приведут к получению "хорошего" ЦИК. Для очень длинных пакетов, содержащих много ошибок, вероятность обнаружения "хорошего" ЦИК в пакете с ошибками приближается к 7,6×10. По своей конструкции линия связи интерфейса MDDI имеет очень низкую или нулевую частоту появления ошибок. ЦИК предназначен для его использования в качестве средства текущего контроля степени исправности линии связи и не предназначен для обнаружения ошибок в конкретных пакетах для определения того, следует ли производить повторную передачу пакетов.
В варианте осуществления изобретения, который приведен в качестве примера, для вычисления ЦИК использован полином, известный как CRC-16, или, иными словами, полином X16+X15+X2+X0. На фиг.36 показан типовой вариант реализации генератора ЦИК и проверочного устройства 3600, пригодный для осуществления настоящего изобретения. Как показано на фиг.36, непосредственно перед передачей первого бита пакета, который введен по линии Tx_MDDI_Data_Before_CRC (передача_данных_MDDI_до_генерации_ЦИК), регистр 3602 ЦИК установлен в исходное состояние, в котором он содержит значение 0×0001, затем байты пакета перемещены в регистр, начиная с младшего значащего бита, который перемещают первым. Следует отметить, что на этом чертеже номера битов в регистре соответствуют порядку используемого полинома, а не позициям битов, которые используются интерфейсом MDDI. Более эффективно произвести сдвиг регистра ЦИК в одном направлении, и это приводит к появлению бита номер 15 ЦИК в позиции нулевого (0) бита поля "ЦИК для интерфейса MDDI" (MDDI CRC) и бита номер 14 регистра ЦИК в позиции первого (1) бита поля "ЦИК для интерфейса MDDI" и т.д. до тех пор, пока не будет достигнута позиция четырнадцатого (14) бита MDDI.
Например, если содержимое пакета для пакетов "запрос клиентского устройства и его состояние" (Client Request and Status) равно: 0×000с, 0×0046, 0×000, 0×0400, 0×00, 0×00, 0×0000 (или представлено в виде последовательности байтов как: 0x0c, 0×00, 0×46, 0×00, 0×00, 0×0, 0×00, 0×04, 0×00, 0×00, 0×00, 0×00) и подано с использованием входов мультиплексоров 3604 и 3606 и логического элемента "И" (AND), обозначенного номером позиции 3608, то результирующий ЦИК, полученный на выходе линии Tx_MDDI_Data_With_CRC (передача_данных_MDDI_с_наличием_ЦИК), равен 0×d9aa (или представлен в виде последовательности 0×aa, 0×d9).
Когда генератор ЦИК и проверочное устройство 3600 сконфигурированы в виде устройства контроля посредством ЦИК, то ЦИК, принятый по линии Rx_MDDI_Data (прием_данных_MDDI), подают на вход мультиплексора 3604 и логического элемента "исключающее ИЛИ" (XOR), обозначенного номером позиции 3612, и производят его побитовое сравнение со значением, находящимся в регистре ЦИК, с использованием логического элемента "ИЛИ-НЕ" (NOR), обозначенного номером позиции 3610, логического элемента "И", обозначенного номером позиции 3608, и логического элемента "И", обозначенного номером позиции 3614. Если имеются какие-либо ошибки, сигнал о наличии которых поступает с выхода логического элемента "И", обозначенного номером позиции 3614, то осуществляют однократное приращение ЦИК на единицу для каждого пакета, содержащего ошибку ЦИК, путем соединения выхода логического элемента 3614 с входом регистра 3602. Следует отметить, что приведенная в качестве примера электрическая схема, показанная на фиг.36, может обеспечивать вывод более одного сигнала ошибки, обнаруженной посредством ЦИК, в пределах заданного окна сигнала CHECK_CRC_NOW (НЕМЕДЛЕННАЯ_ПРОВЕРКА_ПОСРЕДСТВОМ_ЦИК) (см. фиг.37В). Следовательно, счетчик ошибок, обнаруженных посредством ЦИК, обычно отсчитывает только первый случай появления ошибки ЦИК в пределах каждого промежутка времени, в течение которого сигнал CHECK_CRC_NOW (НЕМЕДЛЕННАЯ_ПРОВЕРКА_ПОСРЕДСТВОМ_ЦИК) является активным. Если же схема сконфигурирована в виде генератора ЦИК, то производят синхронизированный вывод ЦИК из регистра ЦИК в момент времени, совпадающий с концом пакета.
На чертежах фиг.37A и 37В в графическом виде проиллюстрирована временная диаграмма входных и выходных сигналов и разрешающих сигналов. На фиг.37A показана процедура генерации ЦИК и передачи пакета данных, при этом на чертеже показано состояние (0 или 1) сигналов Gen_Reset (установка_генератора_в_исходное_состояние), Check_CRC_Now (немедленная_проверка_посредством_ЦИК), Generate_CRC_Now (немедленная_генерация_ЦИК) и Sending_MDDI_Data (передача_данных_MDDI) вместе с сигналами Tx_MDDI_Data_Before_CRC (передача_данных_MDDI_до_генерации_ЦИК) и Tx_MDDI_Data_With_CRC (передача_данных_MDDI_с_наличием_ЦИК). На фиг.37В показана процедура приема пакетов данных и проверки значения ЦИК, при этом на чертеже показано состояние сигналов Gen_Reset (установка_генератора_в_исходное_состояние), Check_CRC_Now (немедленная_проверка_посредством_ЦИК), Generate_CRC_Now (немедленная_генерация_ЦИК) и Sending_MDDI_Data (передача_данных_MDDI) вместе с сигналом Rx_MDDI_Data (прием_данных_MDDI) и сигналом ошибки, обнаруженной посредством ЦИК.
E. Переопределение кода ошибки для ЦИК пакета
Всякий раз, когда между главным устройством и клиентским устройством передают только пакеты данных и ЦИК, то к кодам ошибок не приспосабливаются. Единственной ошибкой является потеря синхронизации. В противном случае необходимо ждать, пока линия связи не войдет в режим простоя из-за отсутствия хорошего тракта или хорошей магистрали передачи данных, а затем вновь произойдет восстановление линии связи и продолжение работы. К сожалению, это требует больших затрат времени и является несколько неэффективным.
Для использования в одном из вариантов осуществления изобретения был разработан новый способ, в котором участок пакетов, представляющий собой ЦИК, используют для передачи информации о коде ошибки. Это в общем виде показано на фиг.65. То есть устройства обработки данных или устройства, управляющие передачей данных, осуществляют генерацию одного или большего количества кодов ошибок, которые указывают конкретные заранее заданные ошибки или неисправности, которые могут возникать при обработке данных, поступающих из линии связи, или в линии связи. При возникновении ошибки осуществляют генерацию соответствующего кода ошибки и производят его передачу с использованием битов для ЦИК из пакета. То есть значение ЦИК переопределяют или перезаписывают с желательным кодом ошибки, который может быть обнаружен на принимающей стороне устройством контроля или проверки ошибок, которое осуществляет текущий контроль значений в поле "ЦИК". В тех случаях, когда по какой-либо причине код ошибки совпадает со значением ЦИК, передают дополнительный код ошибки для предотвращения путаницы.
В одном из вариантов осуществления изобретения для обеспечения надежной системы предупреждения об ошибках и их обнаружения передача кода ошибки может быть произведена несколько раз с использованием серии пакетов, все из которых обычно передают или посылают после того, как была обнаружена ошибка. Это происходит до тех пор, пока из системы не будет устранено условие, создающее ошибку, и в этот момент производят передачу обычных битов ЦИК без их переопределения другим значением.
Этот способ переопределения значения ЦИК обеспечивает намного более быстрый отклик на системные ошибки, используя при этом минимальное количество дополнительных битов или полей.
На фиг.66 показано средство или устройство 6600 перезаписи ЦИК, где использовано устройство или средство 6602 обнаружения ошибок, которое может являться частью иных описанных выше или известных электрических схем, обнаруживающих наличие или существование ошибок в линии связи или в процессе обмена информацией. Генератор или средство 6604 генерации кодов ошибок, которое может быть выполнено в виде части иной электрической схемы или в котором могут быть использованы иные способы, например справочные таблицы для хранения заранее выбранных сообщений об ошибках, осуществляет генерацию одного или большего количества кодов ошибок для указания конкретных заранее заданных ошибок или неисправностей, наличие которых было обнаружено. Легко понять, что при желании устройства 6602 и 6604 могут быть выполнены в виде единой схемы или устройства или в виде части программируемой последовательности операций для других известных устройств обработки информации и компонентов.
На чертеже показано устройство или средство 6606 сравнения значений ЦИК, предназначенное для выяснения того, совпадает ли выбранный код ошибки или совпадают ли выбранные коды ошибок с передаваемым значением ЦИК. Если они совпадают, то используют генератор или средство или устройство генерации дополнительного кода для обеспечения дополнительных кодов ошибок, исключающих их неправильную интерпретацию, в качестве исходной кодовой комбинации или значения ЦИК и для того, чтобы не создавать путаницы или чтобы не усложнять схему обнаружения. Затем устройство выбора кода ошибки либо узел или устройство 6610, представляющее собой средства выбора кода ошибки, выбирает надлежащий код ошибки, или надлежащее его значение, или соответствующие дополнительные коды, которые желательно вставить или перезаписать. Устройство перезаписи кода ошибки в ЦИК, или механизм, или средство 6612 перезаписи представляет собой устройство, которое принимает поток данных, пакеты и желательные коды, которые должны быть вставлены, и перезаписывает соответствующие или надлежащие значения ЦИК для передачи желательных кодов ошибок в приемное устройство.
Как упомянуто выше, передача кода ошибки может быть произведена несколько раз с использованием серии пакетов, поэтому устройство 6612 перезаписи может использовать запоминающие элементы запоминающего устройства для сохранения копий кодов во время обработки этих кодов, либо по мере необходимости или при желании может извлекать эти коды из предыдущих элементов или из иных известных ячеек памяти, которые могут быть использованы для запоминания или хранения их значений.
Общий вид реализации процедуры обработки данных для механизма перезаписи из фиг.66 более подробно показан на фиг.67A и фиг.67В. Как показано на фиг.67A, при выполнении операции 6702 обнаружена одна или большее количество ошибок в передаваемых данных или в процессе обмена информацией, и при выполнении операции 6704 выбирают код ошибки, указывающий это состояние. Одновременно с этим или в надлежащий момент времени выполняют операцию 6706, при которой производят проверку значения ЦИК, подлежащего замене, и при выполнении операции 6708 сравнивают его с ожидаемым кодом ошибки. Как описано выше, результатом этого сравнения является определение того, является ли ожидаемый код или иные значения, посредством которых он представлен, теми же самыми, что и текущее значение ЦИК, или нет. Если он является тем же самым, то затем в процедуре обработки переходят к выполнению операции 6712, при которой в качестве кода, подлежащего вставке, выбирают дополнительный код или в некоторых случаях, при желании, иное значение, посредством которого он представлен. После выполнения операций 6710 и 6714, при которых определено, какие именно коды ошибок или значения должны быть вставлены, этот надлежащий код является выбранным для вставки. Эти операции проиллюстрированы как отдельные для доходчивости изложения, но обычно представляют собой одну операцию выбора на основании решения, полученного на выходе операции 6708. Наконец, выполняют операцию 6716, при которой надлежащие значения перезаписывают в место расположения ЦИК для передачи вместе с целевыми пакетами.
Как показано на фиг.67В, на стороне, осуществляющей прием пакета, при операции 6722 производят контроль значений ЦИК пакетов. Контроль значений ЦИК в системе обычно осуществляют посредством одной или большего количества процедур для определения факта возникновения ошибки при передаче данных и для определения того, следует ли выдать запрос на повторную передачу пакета или пакетов или нет, или следует ли запретить выполнение дальнейших операций и т.д., часть из которых была описана выше. В качестве части такого контроля также может быть использована информация для сравнения этих значений с известными или с заранее выбранными кодами ошибок или со значениями, посредством которых они представлены, и для обнаружения наличия ошибок. В качестве альтернативы, может быть реализована отдельная процедура обнаружения и текущего контроля ошибок. Если появляется код ошибки, то при выполнении операции 6724 его извлекают или отмечают иным способом для дополнительной обработки. При выполнении операции 6726 может быть определено, является ли этот код реальным кодом или дополнительным кодом, и в последнем случае используют дополнительную операцию 6728 для преобразования этого значение в значение желательного кода. В любом случае, результирующий извлеченный код, дополнительный код или иные восстановленные значения затем используют при операции 6730 для обнаружения, исходя из переданного кода, того, какая именно ошибка возникла.
V. Режим "спячки" (hibernation) линии связи
Линия связи интерфейса MDDI может быстро входить в состояние "спячки " и быстро выходить из состояния "спячки", переходя в активное состояние. Это быстрота реагирования позволяет системе или устройству, поддерживающему связь, часто принудительно вводить линию связи интерфейса MDDI в состояние "спячки" для уменьшения энергопотребления, так как она может очень быстро снова выйти из этого состояния, переходя в активное состояние для ее использования. В одном из вариантов осуществления изобретения, когда клиентское устройство, работающее во внешнем режиме, выходит из состояния "спячки" в первый раз, то оно делает это с такой скоростью передачи данных и с такой временной диаграммой стробирующего импульса, которые соответствуют скорости передачи данных, равной 1 мегабиту в секунду (Мб/с), то есть переключение пары стробирующих сигналов MDDI_Stb из одного состояния в другое должно производиться с частотой 500 кГц. После того как характеристики клиентского устройства были выявлены главным устройством или переданы в него, главное устройство может вывести линию связи из состояния "спячки", переводя ее в активное состояние, как правило, с любой скоростью передачи данных от 1 Мб/с до максимальной скорости передачи, с которой может работать клиентское устройство. Клиентские устройства, работающие во внутреннем режиме, могут выходить из состояния "спячки", переходя в активное состояние с любой скоростью передачи, с которой могут работать оба устройства: главное устройство и клиентское устройство. Как правило, это утверждение также применимо и для того случая, когда клиентское устройство, работающее во внутреннем режиме, выходит из состояния "спячки" в первый раз.
В одном из вариантов осуществления изобретения, когда линия связи выходит из состояния "спячки", то главное устройство и клиентское устройство обмениваются последовательность импульсов. Эти импульсы могут быть обнаружены с использованием низкоскоростных линейных приемников, которые потребляют только лишь часть того электрического тока, который требуется дифференциальным приемникам для приема сигналов по линии связи, работающей с максимальной скоростью передачи. Вывод линии связи из состояния "спячки" может производить любое из устройств: главное устройство или клиентское устройство, поэтому протокол активизации после состояния "спячки" выполнен таким образом, что обеспечивает разрешение возможной конфликтной ситуации, которая может возникать в том случае, если выйти из состояния "спячки" одновременно пытаются оба устройства: главное устройство и клиентское устройство.
Во время состояния "спячки" формирователи дифференциальных каналов MDDI_Data и MDDI_Stb отключены, находясь в высокоимпедансном состоянии, и разность напряжений по всем дифференциальным двухпроводным линиям равна нулю вольт. Приемники дифференциального канала, используемые для обнаружения последовательности импульсов во время активизации после состояния "спячки", имеют преднамеренно созданное смещение напряжения. В одном из вариантов осуществления изобретения пороговое значение между уровнями логической единицы и логического нуля в этих приемниках равно приблизительно 125 милливольт (мВ). Это приводит к тому, что во время последовательности действий по активизации линии связи после состояния "спячки" неактивизированная дифференциальная двухпроводная линия выглядит как имеющая уровень логического нуля.
Для того, чтобы войти в состояние "спячки", главное устройство передает 64 периода стробирующего сигнала MDDI_Stb после ЦИК пакета "отключение линии связи" (Link Shutdown). Главное устройство отключает вывод сигнала MDDI_Data0 в главном устройстве на промежуток времени в интервале от 16 до 56 периодов стробирующего сигнала MDDI_Stb (этот интервал включает в себя задержки отключения вывода, связанные с прохождением сигнала) после ЦИК. До того как главным устройством будет инициирована последовательность действий по активизации после состояния "спячки", оно завершает передачу 64 периодов стробирующего сигнала MDDI_Stb после ЦИК пакета "отключение линии связи" (Link Shutdown). В одном из вариантов осуществления изобретения активизация после состояния "спячки", инициированная главным устройством, определена следующим образом: перед возбуждением импульсов стробирующего сигнала MDDI_Stb главное устройство должно находиться в режиме ожидания продолжительностью, по меньшей мере, 100 наносекунд (нс) после того, как уровень сигнала MDDI_Data0 реально достигнет уровня логической единицы. В одном из вариантов осуществления изобретения перед тем, как уровень сигнала MDDI_Data0 будет приведен клиентским устройством в состояние логической единицы в попытке активизации главного устройства после состояния "спячки", клиентское устройство находится в режиме ожидания в течение, по меньшей мере, 60 периодов стробирующего сигнала MDDI_Stb после ЦИК пакета "отключение линии связи" (Link Shutdown).
Для активизации после состояния "спячки" несколько выполняют действий или процедур. Когда клиентскому устройству, которым здесь является устройство отображения, нужны данные или услуги связи из главного устройства, оно осуществляет генерацию импульса запроса, путем приведения линии MDDI_Data0 в состояние логической единицы на время приблизительно от 70 до 1000 микросекунд (мкс), пока линия MDDI_Stb является неактивной, и сохраняет уровень сигнала MDDI_Data0, приведенный в состояние логической единицы, в течение приблизительно 70 периодов стробирующего сигнала MDDI_Stb (в интервале от 60 до 80 периодов) после того, как линия MDDI_Stb становится активной, хотя при желании могут быть использованы иные интервалы времени. Затем клиентское устройство отключает формирователь линии MDDI_Data0, устанавливая его в высокоимпедансное состояние.
Если во время состояния "спячки" линия MDDI_Stb является активной, хотя это и маловероятно, то в этом случае клиентское устройство может приводить сигнал MDDI_Data0 в состояние логической единицы в течение приблизительно 70 периодов стробирующего сигнала MDDI_Stb (в интервале от 60 до 80 периодов). Это действие вызывает то, что главное устройство начинает или возобновляет передачу потока данных по линии (208) прямой связи и опрашивать клиентское устройство о его состоянии.
Главное устройство должно обнаружить наличие импульса запроса и начинает последовательность операций запуска, сначала приводя уровень стробирующего сигнала MDDI_Stb в состояние логического нуля и приводя уровень сигнала в линии MDDI_Data0 в состояние с высоким логическим уровнем на период времени, составляющий, по меньшей мере, приблизительно 200 наносекунд (нс). А затем, одновременно переключая стробирующий сигнал MDDI_Stb из одного состояния в другое, продолжают управление уровнем сигнала MDDI_Data0 таким образом, что его уровень равен логической единице в течение приблизительно 150 периодов стробирующего сигнала MDDI_Stb (в интервале от 140 до 160 периодов) и равен логическому нулю в течение приблизительно 50 периодов стробирующего сигнала MDDI_Stb. Если клиентское устройство обнаруживает, что сигнал MDDI_Data0 находится в состоянии логической единицы в течение более чем 80 периодов стробирующего сигнала MDDI_Stb, то оно не должно производить передачу импульса запроса на обслуживание. Когда клиентским устройством обнаружено, что уровень сигнала MDDI_Data0 равен логической единице в течение промежутка времени от 60 до 80 периодов стробирующего сигнала MDDI_Stb, то оно начинает поиск того промежутка времени, в котором уровень сигнала MDDI_Data0 приведен основным устройством к уровню логического нуля в течение 50 периодов стробирующего сигнала MDDI_Stb. После того как уровень сигнала в линии MDDI_Data0 приведен основным устройством к уровню логического нуля в течение промежутка времени продолжительностью 50 периодов стробирующего сигнала MDDE_Stb, главное устройство начинает передачу пакетов по линии связи. Первым переданным пакетом является пакет "заголовок подкадра" (Sub-Frame Header). Клиентское устройство начинает поиск пакета "заголовок подкадра" (Sub-Frame Header) после того, как сигнал в линии MDDI_Data0 имеет уровень, равный логическому нулю, в течение 40 периодов стробирующего сигнала MDDI_Stb из интервала, равного 50 периодам. Более подробное описание характера выбора значений времени и допустимых отклонений временных интервалов, связанных с последовательностью операций обработки данных при переходе в состояние "спячки" и при запуске, приведено ниже. (см. приведенное ниже описание чертежей фиг.68A-68С).
Главное устройство может инициировать активизацию после состояния "спячки" следующим образом: сначала оно включает стробирующий сигнал MDDI_Stb и одновременно приводит его уровень в состояние логического нуля. Уровень стробирующего сигнала MDDI_Stb не следует приводить в состояние логической единицы до тех пор, пока не будет произведен вывод описанных ниже импульсов. После того как уровень стробирующего сигнала MDDI_Stb достигнет уровня логического нуля, главное устройство включает сигнал MDDI_Data0 и одновременно приводит его уровень в состояние логической единицы. Как описано ниже, во время процесса активизации после состояния "спячки" уровень сигнала MDDI_Data0 не следует приводить в состояние логического нуля до тех пор, пока не истечет промежуток времени длительностью 50 импульсов стробирующего сигнала MDDI_Stb, когда его уровень приведен в состояние логического нуля. Перед возбуждением импульсов стробирующего сигнала MDDI_Stb главное устройство должно находиться в режиме ожидания в течение, по меньшей мере, 200 наносекунд (нс) после того, как уровень сигнала MDDI_Data0 реально достигнет уровня логической единицы. Эта временная зависимость возникает с учетом наихудших значений задержки разрешения вывода сигналов. По существу, это гарантирует, что клиентское устройство имеет достаточное время для полного включения его приемника стробирующего сигнала MDDI_Stb после его выхода из состояния "спячки", инициированного уровнем логической единицы в линии MDDI_Data0, которая была возбуждена главным устройством.
,
Пример операций обработки для типичного события 3800 выдачи клиентским устройством запроса на обслуживание без конкуренции проиллюстрирован На фиг.38, на котором для удобства иллюстративного пояснения события обозначены посредством букв A, B, C, D, E, F и G. Последовательность операций начинается в точке А, когда главное устройство передает в клиентское устройство пакет "отключение линии связи" (Link Shutdown), уведомляя его о том, что линия связи перейдет в состояние "спячки" с низким энергопотреблением. При следующей операции главное устройство входит в состояние "спячки" с низким энергопотреблением, отключая формирователь линии MDDI_Data0 и устанавливая формирователь линии стробирующего сигнала MDDI_Stb в состояние логического нуля, что показано на чертеже точкой В. Уровень сигнала в линии MDDI_Data0 приводят в состояние логического нуля посредством высокоимпедансной цепи смещения. Через некоторый промежуток времени клиентское устройство передает в главное устройство импульс запроса на обслуживание, приводя уровень сигнала в линии MDDI_Data0 в состояние логической единицы, что видно на чертеже как точка C. Главное устройство по-прежнему претендует на уровень, равный логическому нулю, используя высокоимпедансную цепь смещения, но формирователь в клиентском устройстве принудительно устанавливает в линии уровень, равный логической единице. В пределах 50 микросекунд (мкс) главное устройство распознает импульс запроса на обслуживание и устанавливает в линии MDDI_Data0 уровень, равный логической единице, включая ее формирователь, что видно на чертеже как точка D. Затем клиентское устройство прекращает предпринимать попытки заявлять о том, что оно претендует на канал связи, путем выдачи импульса запроса на обслуживание, и клиентское устройство устанавливает свой формирователь в высокоимпедансное состояние, что видно на чертеже как точка E. Главное устройство приводит уровень сигнала в линии MDDI_Data0 в состояние логического нуля на 50 мкс, что показано на чертеже как точка F, и также начинает генерацию стробирующего сигнала MDDI_Stb таким образом, чтобы это не противоречило наличию уровня логического нуля в линии MDDI_Data0. Клиентское устройство начинает поиск пакета "заголовок подкадра" (Sub-Frame Header) после того, как сигнал в линии MDDI_Data0 имеет уровень, равный логическому нулю, в течение 40 периодов стробирующего сигнала MDDI_Stb. После того как уровень сигнала в линии MDDI_Data0 установлен равным логическому нулю, и приведен в действие стробирующий сигнал MDDI_Stb в течение 50 мкс главное устройство начинает производить передачу данных по линии прямой связи путем передачи пакета "заголовок подкадра" (Sub-Frame Header), что показано на чертеже как точка G.
,
На фиг.39 проиллюстрирован аналогичный пример, в котором запрос на обслуживание выдают после того, как начата последовательность операций по возобновлению работы линии связи, и события вновь обозначены посредством букв A, B, C, D, E, F и G. Этот пример представляет собой наихудший сценарий, когда импульс или сигнал запроса из клиентского устройства подходит наиболее близко к разрушению пакета "заголовок подкадра" (Sub-Frame Header). Последовательность операций начинается в тот момент, когда главное устройство снова передает пакет в клиентское устройство "отключение линии связи" (Link Shutdown), уведомляя его о том, что линия связи перейдет в состояние "спячки" с низким энергопотреблением. При следующей операции главное устройство входит в состояние "спячки" с низким энергопотреблением, отключая формирователь линии MDDI_Data0 и устанавливая формирователь линии стробирующего сигнала MDDI_Stb в состояние логического нуля, что показано на чертеже как точка B. Как и ранее, уровень сигнала в линии MDDI_Data0 приводят в состояние логического нуля посредством высокоимпедансной цепи смещения. Через некоторый промежуток времени главное устройство начинает последовательность операций по возобновлению работы линии связи, приводя уровень сигнала в линии MDDI_Data0 в состояние логической единицы в течение 150 мкс, что видно на чертеже как точка C. До того момента, как истекут 50 мкс после начала последовательности операций по возобновлению работы линии связи, устройство отображения также заявляет о том, что оно претендует на линию MDDI_Data0, в течение 70 мкс, что видно на чертеже как точка D. Это происходит потому, что у устройства отображения имеется потребность в выдаче запроса на получение обслуживания от главного устройства, и оно не распознает, что главным устройством уже начата последовательность операций по возобновлению работы линии связи. Затем клиентское устройство прекращает предпринимать попытки заявлять о том, что оно претендует на канал связи, путем выдачи запроса на обслуживание, и клиентское устройство устанавливает свой формирователь в высокоимпедансное состояние, что видно на чертеже как точка E. Главное устройство продолжает приводить уровень сигнала в линии MDDI_Data0 в состояние логической единицы. Главное устройство приводит уровень сигнала в линии MDDI_Data0 в состояние логического нуля на 50 мкс, что показано на чертеже как точка F, и также начинает генерацию стробирующего сигнала MDDI_Stb таким образом, чтобы это не противоречило наличию уровня логического нуля в линии MDDI_Data0. После того как уровень сигнала в линии MDDI_Data0 установлен равным логическому нулю, и приведен в действие стробирующий сигнал MDDI_Stb в течение 50 мкс главное устройство начинает производить передачу данных по линии прямой связи путем передачи пакета "заголовок подкадра" (Sub-Frame Header), что показано на чертеже как точка G.
Из изложенного выше видно, что предшествующее решение включает в себя прохождение главного устройства через два состояния в качестве части последовательности операций по активизации после состояния "спячки". В первом состоянии главное устройство приводит сигнал MDDI_Data0 в состояние с высоким уровнем в течение 150 мкс, а затем приводит сигнал MDDI_Data0 в состояние с низким уровнем в течение 50 мкс, активизируя при этом линию стробирующего сигнала MDDI_Stb, а затем начинает производить передачу пакетов интерфейса MDDI. Этот способ хорошо работает для усовершенствования современного уровня техники с точки зрения скоростей передачи данных, достижимых с использованием устройства интерфейса MDDI и соответствующих ему способов. Однако, как изложено выше, всегда имеется потребность в более высокой скорости с точки зрения уменьшенного времени отклика на условия или способности более быстрого выбора следующей операции или последовательности операций, что способно упростить обработку данных или ее элементы.
Заявителями был найден обладающий признаками изобретения новый подход к обработке данных при активизации после состояния "спячки" и к временной синхронизации, в котором главное устройство использует временную диаграмму, основанную на периоде тактовых импульсов, для переключения сигнала из одного состояния в другое. В этой конфигурации главное устройство начинает переключение стробирующего сигнала MDDI_Stb из одного состояния в другое через промежуток времени от 0 до 10 мкс после того, как сигнал MDDI_Data0 приведен главным устройством в состояние с высоким уровнем в начале последовательности операций по активизации после состояния "спячки", и оно не находится в режиме ожидания до тех пор, пока сигнал не будет приведен в состояние с низким уровнем. Во время последовательности операций по активизации после состояния "спячки" главное устройство переключает стробирующий сигнал MDDI_Stb из одного состояния в другое так, как будто бы уровень сигнала MDDI_Data0 всегда равен логическому нулю. Это эффективно устраняет понятие времени на стороне клиентского устройства, и на стороне главного устройства происходит изменение предшествующих промежутков времени, равных 150 мкс и 50 мкс для первых двух состояний, на 150 периодов тактовых импульсов и 50 периодов тактовых импульсов для этих промежутков времени.
Теперь главное устройство становится ответственным за приведение этой линии передачи данных в состояние с высоким уровнем сигнала, и в пределах 10 периодов тактовых импульсов начинает передачу стробирующего сигнала, как будто бы линия передачи данных имеет нулевой уровень сигнала. После того как линия передачи данных приведена главным устройством в состояние с высоким уровнем сигнала в течение промежутка времени, равного 150 периодам тактовых импульсов, главное устройство приводит линию передачи данных в состояние с низким уровнем сигнала на 50 периодов тактовых импульсов, продолжая передачу стробирующего сигнала. После того как главным устройством закончены обе эти процедуры, оно может начать передачу первого пакета "заголовок подкадра" (Sub-Frame Header).
На стороне клиентского устройства реализованное клиентское устройство теперь может использовать сгенерированные тактовые импульсы для вычисления количества периодов тактовых импульсов, в течение которых линия передачи данных сначала имеет высокий уровень сигнала, а затем низкий уровень сигнала. Количество периодов тактовых импульсов, которые должны произойти в обоих состояниях, равно: в линии передачи данных, приведенной в состояние с высоким уровнем сигнала, оно равно 150, а в линии передачи данных, приведенной в состояние с низким уровнем сигнала, оно равно 50. Это означает, что для правильной последовательности операций по активизации после состояния "спячки" клиентское устройство должно быть способным отсчитывать, по меньшей мере, 150 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала, после которых следуют, по меньшей мере, 50 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей низкий уровень сигнала. Как только эти два условия удовлетворены, клиентское устройство может начинать поиск специального слова первого подкадра. Перерыв в этой последовательности импульсов используют в качестве основания для возврата счетчиков к исходное состояние, в котором клиентское устройство снова производит поиск первых 150 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала.
Реализация клиентского устройства из настоящего изобретения для активизации после состояния "спячки", инициированной главным устройством, очень сходна с ситуацией первоначального запуска, за исключением того, что не производят принудительную установку начальной тактовой частоты, равной 1 Мб/с, как описано выше. Вместо этого тактовая частота может быть установлена таким образом, что возобновляется с любой предшествующей скорости передачи, которая была активной при входе линии связи в состояние "спячки". Если главное устройство начинает передачу стробирующего сигнала так, как описано выше, то клиентское устройство должно быть способным снова отсчитывать, по меньшей мере, 150 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала, после которых следуют, по меньшей мере, 50 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей низкий уровень сигнала. Как только эти два условия удовлетворены, клиентское устройство может начинать поиск специального слова.
Реализация клиентского устройства из настоящего изобретения для активизации после состояния "спячки", инициированной клиентским устройством, является аналогичной активизации после состояния "спячки", инициированной главным устройством, за исключением того, что она начинается при приведении в действие линии передачи данных клиентским устройством. Клиентское устройство может приводить линию передачи данных в действие асинхронным способом без использования тактовых импульсов для активизации главного устройства после состояния "спячки". Как только главное устройство распознает, что клиентское устройство привело линию передачи данных в состояние с высоким уровнем сигнала, оно может начать последовательность операций по его активизации после состояния "спячки". Клиентское устройство может отсчитывать количество периодов тактовых импульсов, сгенерированных главным устройством с момента начала процесса активизации после состояния "спячки" или в течение этого процесса. Как только клиентским устройством отсчитано 70 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала, оно может прекратить приведение линии передачи данных в состояние с высоким уровнем сигнала. В этот момент главное устройство также уже должно приводить линию передачи данных в состояние с высоким уровнем сигнала. Затем клиентское устройство может отсчитать еще 80 непрерывных периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала, чтобы их количество достигло 150 периодов тактовых импульсов в линии передачи данных, имеющей высокий уровень сигнала, и затем оно может произвести поиск 50 периодов тактовых импульсов в линии передачи данных, имеющей низкий уровень сигнала. Как только эти три условия удовлетворены, клиентское устройство может начинать поиск специального слова.
Преимущество этой новой реализации обработки данных при активизации после состояния "спячки" состоит в том, что она устраняет потребность в наличии устройства измерения времени. Вне зависимости от того, является ли оно генератором колебаний, схемой на основе разряда конденсатора или одним из иных известных подобных устройств, клиентскому устройству больше не нужны такие внешние устройства для определения условий запуска. Это экономит деньги и площадь электрической схемы при реализации контроллеров, счетчиков и т.д. на плате клиентского устройства. Хотя для главного устройства это может иметь не настолько большие преимущества, как для клиентского устройства, этот способ также должен привести к потенциально возможному упрощению главного устройства с точки зрения использования логических схем с очень высокой плотностью упаковки (VHDL) для основных электрических схем. Потребление мощности при использовании линий передачи данных и стробирующего сигнала в качестве средства уведомления об активизации после состояния "спячки" и источника результатов измерений также является более низким, поскольку для активизации после состояния "спячки", инициированной главным устройством, не требуется работа внешних электрических схем во время режима ожидания, в котором находятся основные элементы. Количество использованных периодов или тактов приведено лишь в качестве примера, и может быть использовано иное количество другие периодов, что является очевидным для специалиста в данной области техники.
Преимущество этой новой реализации обработки данных при активизации после состояния "спячки" состоит в том, что она устраняет потребность в наличии устройства измерения времени. Вне зависимости от того, является ли оно генератором колебаний, схемой на основе разряда конденсатора или одним из иных известных подобных устройств, клиентскому устройству больше не нужны такие внешние устройства для определения условий запуска. Это экономит деньги и площадь электрической схемы при реализации контроллеров, счетчиков и т.д. на плате клиентского устройства. Хотя для главного устройства это может иметь не настолько большие преимущества, как для клиентского устройства, этот способ также должен привести к потенциально возможному упрощению главного устройства с точки зрения использования логических схем с очень высокой плотностью упаковки (VHDL) для основных электрических схем. Потребление мощности при использовании линий передачи данных и стробирующего сигнала в качестве средства уведомления об активизации после состояния "спячки" и источника результатов измерений также является более низким, поскольку для активизации после состояния "спячки", инициированной главным устройством, не требуется работа внешних электрических схем во время режима ожидания, в котором находятся основные элементы.
Для пояснения и иллюстрации функционирования этого нового способа на фиг.68A, фиг.68В и фиг.68С показана временная диаграмма сигналов MDDI_Data0, MDDI_Stb и различных операций относительно периодов тактовых импульсов.
Пример операций обработки для типичной активизации после состояния "спячки", инициированной главным устройством, без конкуренции проиллюстрирован на фиг.68A, на котором для удобства иллюстративного пояснения события опять обозначены посредством букв A, B, C, D, E, F и G. Последовательность операций начинается в точке А, когда главное устройство передает в клиентское устройство пакет "отключение линии связи" (Link Shutdown), уведомляя его о том, что линия связи перейдет в состояние "спячки" с низким энергопотреблением. При следующей операции, которая обозначена как точка B, главное устройство переключает стробирующий сигнал MDDI_Stb из одного состояния в другое в течение, приблизительно, 64 периодов (или в течение такого количества периодов, которое является желательным для конкретной конструкции системы), чтобы дать возможность клиентскому устройству завершить обработку данных до момента прекращения переключения стробирующего сигнала MDDI_Stb из одного состояния в другое, приводящего к прекращению восстановленной тактовой синхронизации в клиентском устройстве. Главное устройство также устанавливает первоначальный уровень сигнала MDDI_Data0 равным логическому нулю и затем отключает вывод сигнала MDDI_Data0 на промежуток времени в интервале от 16 до 48 периодов (обычно этот интервал включает в себя задержки отключения вывода, связанные с прохождением сигнала) после ЦИК. Может оказаться желательным установить высокоскоростные приемники для MDDI_Data0 и MDDI_Stb в клиентском устройстве в состояние с низким энергопотреблением через некоторое время после этих 48 периодов, следующих после ЦИК, и перед следующей операцией (C). Клиентское устройство устанавливает свои высокоскоростные приемники для MDDI_Data0 и MDDI_Stb в состояние "спячки" в любой момент времени после фронта нарастания 48-го периода стробирующего сигнала MDDI_Stb после ЦИК пакета "отключение линии связи" (Link Shutdown). Рекомендуется, чтобы клиентское устройство установило свои высокоскоростные приемники для MDDI_Data0 и MDDI_Stb в состояние "спячки" до фронта нарастания 64-го периода стробирующего сигнала MDDI_Stb после ЦИК пакета "отключение линии связи" (Link Shutdown).
Главное устройство входит в состояние "спячки" с низким энергопотреблением в точке или при операции C, отключая формирователи линий MDDI_Data0 и MDDI_Stb и устанавливая контроллер главного устройства в состояние "спячки" с низким энергопотреблением. В зависимости от желания, формирователь линии стробирующего сигнала MDDI_Stb также может быть установлен в состояние с уровнем сигнала, равным логическому нулю (с использованием высокоимпедансной цепи смещения), или же его переключение из одного состояния в другое может быть продолжено во время состояния "спячки". Клиентское устройство также находится в состоянии "спячки" с низким уровнем энергопотребления.
По истечении некоторого промежутка времени главное устройство начинает в точке D последовательность операций по возобновлению линии связи, включая выход формирователей линий MDDI_Data0 и MDDI_Stb. Основное устройство приводит уровень сигнала MDDI_Data0 в состояние логической единицы и уровень стробирующего сигнала MDDI_Stb в состояние логического нуля в течение промежутка времени, требуемого для полного включения соответствующих выходов его формирователей. Перед возбуждением импульсов стробирующего сигнала MMDI_Stb главное устройство обычно находится в режиме ожидания в течение приблизительно 200 наносекунд после того, как эти выходные сигналы достигли желательных логических уровней. Это дает клиентскому устройству время на подготовку к приему.
Когда формирователи главного устройства включены и уровень сигнала MDDI_Data0 приведен в состояние логической единицы, главное устройство начинает переключать стробирующий сигнал MDDI_Stb из одного состояния в течение 150 периодов стробирующего сигнала MDDI_Stb, что видно на чертеже как точка E. Главное устройство приводит уровень сигнала MDDI_Data0 в состояние логического нуля на промежуток времени, равный 50 периодам, что показано на чертеже как точка F, и клиентское устройство начинает поиск пакета "заголовок подкадра" (Sub-Frame Header) после того, как сигнал MDDI_Data0 имеет уровень, равный логическому нулю, в течение 40 периодов стробирующего сигнала MDDI_Stb. Главное устройство начинает передачу данных по линии прямой связи, передавая пакет "заголовок подкадра" (Sub-Frame Header), что показано на чертеже как точка G.
Пример операций обработки для типичной активизации после состояния "спячки", инициированной клиентским устройством, без конкуренции проиллюстрирован на фиг.68В, на котором для удобства иллюстративного пояснения события опять обозначены посредством букв A, B, C, D, E, F, G, H и I. Как и ранее, последовательность операций начинается в точке А, когда главное устройство передает пакет "отключение линии связи" (Link Shutdown), уведомляя клиентское устройство о том, что линия связи перейдет в состояние с низким энергопотреблением.
В точке B главное устройство переключает стробирующий сигнал MDDI_Stb из одного состояния в другое в течение приблизительно 64 периодов (или в течение такого количества периодов, которое является желательным для конкретной конструкции системы), чтобы дать возможность клиентскому устройству завершить обработку данных до момента прекращения переключения стробирующего сигнала MDDI_Stb из одного состояния в другое, приводящего к прекращению восстановленной тактовой синхронизации в клиентском устройстве. Главное устройство также устанавливает первоначальный уровень сигнала MDDI_Data0 равным логическому нулю и затем отключает вывод сигнала MDDI_Data0 на промежуток времени в интервале от 16 до 48 периодов (обычно этот интервал включает в себя задержки отключения вывода, связанные с прохождением сигнала) после ЦИК. Может оказаться желательным установить высокоскоростные приемники для MDDI_Data0 и MDDI_Stb в клиентском устройстве в состояние с низким энергопотреблением через некоторое время после этих 48 периодов, следующих после ЦИК, и перед следующей операцией (C).
Главное устройство входит в состояние "спячки" с низким энергопотреблением в точке или при операции C, отключая формирователи линий MDDI_Data0 и MDDI_Stb и устанавливая контроллер главного устройства в состояние "спячки" с низким энергопотреблением. В зависимости от желания, формирователь линии стробирующего сигнала MDDI_Stb также может быть установлен в состояние с уровнем сигнала, равным логическому нулю (с использованием высокоимпедансной цепи смещения), или же его переключение из одного состояния в другое может быть продолжено во время состояния "спячки". Клиентское устройство также находится в состоянии "спячки" с низким уровнем энергопотребления.
По истечении некоторого промежутка времени клиентское устройство начинает в точке D последовательность операций возобновления линии связи, включая приемник стробирующего сигнала MDDI_Stb и также включая смещение в приемнике стробирующего сигнала MDDI_Stb для гарантии того, что состоянием принятого варианта стробирующего сигнала MDDI_Stb в клиентском устройстве является уровень, равный логическому нулю, до того, как главное устройство включит свои формирователи стробирующего сигнала MDDI_Stb. Для клиентского устройства может оказаться желательным включение смещение непосредственно перед включением приемника для обеспечения гарантированного приема правильного дифференциального сигнала и для запрета приема ошибочных сигналов, что является желательным. Клиентское устройство включает формирователь MDDI_Data0, приводя уровень сигнала в линии MDDI_Data0 в состояние логической единицы. Разрешено одновременное включение сигнала MDDI_Data0 и стробирующего сигнала MDDI_Stb в том случае, если время, отведенное на включение смещения и на включение стандартного дифференциального приемника стробирующего сигнала MDDI_Stb, является меньшим, чем 200 наносекунд (нс).
В пределах приблизительно 1 миллисекунды (мс), точка E, главное устройство распознает импульс запроса на обслуживание, поступившего из клиентского устройства, и главное устройство начинает последовательность операций по возобновлению линии связи, включая выходы формирователей линий MDDI_Data0 и MDDI_Stb. Главное устройство приводит уровень сигнала MDDI_Data0 в состояние логической единицы и уровень стробирующего сигнала MDDI_Stb в состояние логического нуля в течение промежутка времени, требуемого для включения соответствующих выходов формирователей. Перед возбуждением импульсов стробирующего сигнала MMDI_Stb главное устройство обычно находится в режиме ожидания в течение приблизительно 200 наносекунд после того, как эти выходные сигналы достигли желательных логических уровней. Это дает клиентскому устройству время на подготовку к приему.
Когда формирователи главного устройства включены и уровень сигнала MDDI_Data0 приведен в состояние логической единицы, главное устройство начинает вывод импульсов по линии передачи стробирующего сигнала MDDI_Stb в течение промежутка времени длительностью 150 периодов стробирующего сигнала MDDI_Stb, что видно на чертеже как точка F. Когда клиентским устройством распознан первый импульс стробирующего сигнала MDDI_Stb, то оно отключает смещение в своем приемнике стробирующего сигнала MDDI_Stb. Клиентское устройство продолжает приводить уровень сигнала MDDI_Data0 в состояние логической единицы в течение 70 периодов стробирующего сигнала MDDI_Stb и отключает свой формирователь линии MDDI_Data0 в точке G. Главное устройство продолжает приводить уровень сигнала MDDI_Data0 в состояние логической единицы в течение еще 80 дополнительных импульсов стробирующего сигнала MDDI_Stb, и в точке H приводит уровень сигнала MDDI_Data0 в состояние логического нуля.
Как видно на чертеже в точках G и H, главное устройство приводит уровень сигнала MDDI_Data0 в состояние логического нуля в течение 50 периодов, и клиентское устройство начинает поиск пакета "заголовок подкадра" (Sub-Frame Header) после того, как уровень сигнала MDDI_Data0 находится в состоянии логического нуля в течение 40 периодов стробирующего сигнала MDDI_Stb. После приведения в действие стробирующего сигнала MDDI_Stb в течение промежутка времени длительностью 50 периодов главное устройство начинает передачу данных по линии прямой связи, передавая пакет "заголовок подкадра" (Sub-Frame Header), что показано на чертеже как точка I.
Пример операций обработки для типичной активизации после состояния "спячки", инициированной главным устройством, с наличием конкуренции со стороны клиентского устройства, то есть когда клиентское устройство также хочет активизировать линию связи после состояния "спячки", проиллюстрирован наа фиг.68С. Для удобства иллюстративного пояснения события опять обозначены посредством букв A, B, C, D, E, F, G, H и I. Как и ранее, последовательность операций начинается в точке А, когда главное устройство передает пакет "отключение линии связи" (Link Shutdown), уведомляя клиентское устройство о том, что линия связи перейдет в состояние с низким энергопотреблением, после чего переходят к точке B, в которой стробирующий сигнал MDDI_Stb переключают из одного состояния в другое в течение приблизительно 64 периодов (или в течение такого количества периодов, которое является желательным для конкретной конструкции системы), чтобы дать возможность клиентскому устройству завершить обработку данных, а затем переходят к точке C, в которой главное устройство входит в состояние "спячки" с низким энергопотреблением, отключая формирователи линий MDDI_Data0 и MDDI_Stb и устанавливая контроллер главного устройства в состояние "спячки" с низким энергопотреблением. По истечении некоторого промежутка времени главное устройство начинает в точке D последовательность операций по возобновлению линии связи, включая выход формирователей линий MDDI_Data0 и MDDI_Stb, и начинает переключать стробирующий сигнал MDDI_Stb из одного состояния в другое в течение промежутка времени длительностью 150 периодов стробирующего сигнала MDDI_Stb, что видно на чертеже как точка E.
В момент времени до того, как прошли 70 периодов стробирующего сигнала MDDI_Stb после точки E, который здесь обозначен как точка F, клиентским устройством еще не распознано, что главное устройство привело уровень сигнала MDDI_Data0 в состояние логической единицы, поэтому клиентское устройство также приводит уровень сигнала MDDI_Data0 в состояние логической единицы. Здесь это происходит потому, что клиентское устройство желает выдать запрос на обслуживание, но не распознает, что главное устройство, с которым оно пытается установить связь, уже начало последовательность операций по возобновлению линии связи. В точке G клиентское устройство прекращает приводить уровень сигнала MDDI_Data0 в соответствующее состояние и устанавливает свой формирователь в высокоимпедансное состояние, отключая его выход. Главное устройство продолжает приводить уровень сигнала MDDI_Data0 в состояние логической единицы в течение еще 80 дополнительных периодов.
Главное устройство приводит уровень сигнала MDDI_Data0 в состояние логического нуля в течение 50 периодов, что показано на чертеже как точка H, и клиентское устройство начинает поиск пакета "заголовок подкадра" (Sub-Frame Header) после того, как уровень сигнала MDDI_Data0 находится в состоянии логического нуля в течение 40 периодов стробирующего сигнала MDDI_Stb. Главное устройство начинает передачу данных по линии прямой связи, передавая пакет "заголовок подкадра" (Sub-Frame Header), что показано на чертеже как точка I.
VI. Электрические характеристики интерфейса
В вариантах осуществления изобретения, которые приведены в качестве примеров, данные закодированы в формате "без возврата к нулю" (NRZ) с использованием сигнала данных - стробирующего сигнала (data-strobe) или формата DATA-STB, который позволяет внедрять информацию о тактовых импульсах в сигналы данных и в стробирующие сигналы. Тактовая синхронизация может быть восстановлена без наличия сложных схем фазовой автоподстройки частоты. Данные передают по двусторонней дифференциальной линии связи, обычно реализованной с использованием проводного линейного кабеля, хотя, как изложено выше, могут быть использованы иные проводники, печатные проводники или передающие элементы. Стробирующий сигнал (STB) передают по однонаправленной линии связи, управление которой осуществляет только главное устройство. Стробирующий сигнал переключает значение (0 или 1) из одного состояния в другое всякий раз, когда имеет место состояние с наличием противоположных уровней, 0 или 1, которое остается тем же самым в линии передачи данных или в сигнале данных.
На фиг.40 в графическом виде показан пример того, каким образом может быть осуществлена передача последовательности данных, например, битов "1110001011" с использованием кодирования типа "данные-стробирующий сигнал" (DATA-STB). На фиг.40 в верхней строке временной диаграммы сигнала показан сигнал 4002 "данные" (DATA), а во второй строке показан стробирующий сигнал 4004 (STB), который каждый раз является выровненным надлежащим образом (общая начальная точка). С течением времени, когда возникает изменение состояния в линии (сигнале) 4002 "данные" (DATA), то линия 4004 стробирующего сигнала (STB) сохраняет предыдущее состояние, таким образом, первое состояние сигнала "данные" (DATA), равное '1', взаимосвязано с первым состоянием стробирующего сигнала STB, равным '0', то есть с его первоначальным значением. Однако, если или когда состояние или уровень сигнала "данные" (DATA) не изменяется, то стробирующий сигнал (STB) переключают в противоположное состояние или в состояние, которое в данном примере равно '1', что имеет место на фиг.40, где сигнал "данные" (DATA) дает еще одно значение, равное '1'. То есть в каждом периоде передачи бита имеет место один и только один переход между состояниями сигнала "данные" (DATA) и стробирующего сигнала (STB). Следовательно, снова происходит переход стробирующего сигнала (STB) в иное состояние, на сей раз в состояние '0', поскольку сигнал "данные" (DATA) остается в состоянии '1' и сохраняет этот уровень или значение, когда уровень сигнала "данные" (DATA) изменяется на '0'. Когда сигнал "данные" (DATA) остается в состоянии '1', то происходит переключение стробирующего сигнала (STB) в противоположное состояние или в состояние '1' в данном примере и т.д., по мере того, как происходит изменение или сохранение уровней или значений сигнала "данные" (DATA).
После приема этих сигналов выполняют операцию "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) с сигналом "данные" (DATA) и со стробирующим сигналом (STB) для получения тактового сигнала 4006, который показан в нижней части временной диаграммы для относительного сравнения с желательными сигналами "данные" и "стробирующий сигнал". Пример схемы, пригодной для генерации в главном устройстве выходных данных или сигналов "данные" (DATA) и "стробирующий сигнал" (STB) из входных данных и для последующего восстановления или извлечения данных из сигналов "данные" (DATA) и "стробирующий сигнал" (STB) в клиентском устройстве, показан на фиг.41.
Как показано на фиг.41, передающий узел 4100 использован для генерации и передачи исходных сигналов "данные" (DATA) и "стробирующий сигнал" (STB) через промежуточный тракт 4102 передачи сигналов, а приемный узел 4120 использован для приема сигналов и восстановления данных. Как показано на фиг.41, для передачи данных из главного устройства в клиентское устройство сигнал "данные" (DATA) вводят в два элемента 4104 и 4106 схемы D-триггера вместе с тактовым сигналом для запуска схем. В этом случае два выхода (Q) триггерной схемы разделены соответственно на дифференциальную пару сигналов MDDI_Data0+, MDDI_Data0- и MDDI_Stb +, MDDI_Stb- с использованием двух формирователей 4108 и 4110 дифференциального канала (режим напряжения). Вентиль, схема или логический элемент 4112 "ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ" (XNOR), имеющий три входа, соединен таким образом, что получает сигнал "данные" (DATA) и выходные сигналы из обоих триггеров, и осуществляет генерацию выходного сигнала, который обеспечивает входные данные для второго триггера, который, в свою очередь, осуществляет генерацию стробирующих сигналов MDDI_Stb+, MDDI_Stb-. Для удобства изображенный на чертеже логический элемент "ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ" (XNOR) снабжен кружком, обозначающим инверсию, для указания того, что он фактически инвертирует выходной сигнал Q триггера, осуществляющего генерацию стробирующего сигнала.
В приемном узле 4120 из фиг.41 прием сигналов MDDI_Data0+, MDDI_Data0- и MDDI_Stb+, MDDI_Stb- производится каждым из двух приемников 4122 и 4124 дифференциального канала, которые осуществляют генерацию одиночных выходных сигналов из дифференциальных сигналов. Сигналы с выходов усилителей затем вводят в каждый из входов вентиля, схемы или логического элемента 4126 "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR), имеющего два входа, который создает тактовый сигнал. Тактовый сигнал используют для запуска каждой из двух схем 4128 и 4130 D-триггера, в которые поступает вариант сигнала "данные" (DATA) с задержкой, созданной посредством элемента 4132 задержки, одна из которых (4128) осуществляет генерацию значений данных, равных '0', а другая (4130) осуществляет генерацию значений данных, равных '1'. Тактовые импульсы также имеют независимый выход из логического элемента "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR). Так как информация о тактовых импульсах распределена между линиями передачи сигналов "данные" (DATA) и "стробирующий сигнал" (STB), то отсутствуют какие-либо более частые переходы между состояниями сигналов, чем с частотой, равной половине тактовой частоты. Поскольку тактовые импульсы воспроизведены с использованием обработки сигналов "данные" (DATA) и "стробирующий сигнал" (STB) посредством операции "ИСКЛЮЧАЮЩЕЕ ИЛИ", то система фактически допускает удвоенную величину перекоса задержки между входными данными и тактовыми импульсами по сравнению с той ситуацией, когда тактовый сигнал передают напрямую по одной выделенной линии передачи данных.
Двухпроводные линии передачи данных интерфейса MDDI, по которым производят передачу сигналов MDDI_Stb+ и MDDI_Stb-, работают в дифференциальном режиме для обеспечения максимальной защищенности от отрицательного влияния шумов. Каждая дифференциальная двухпроводная линия заканчивается параллельно подключенной оконечной нагрузкой, равной волновому сопротивлению кабеля или проводника, используемого для передачи сигналов. Обычно все параллельно подключенные оконечные нагрузки находятся в клиентском устройстве. Они расположены около дифференциального приемника прямого потока информационного обмена (данных, передаваемых из главного устройства в клиентское устройство), но они находятся на возбуждаемом конце кабеля или иных проводников или передающих элементов для обратного потока информационного обмена (данных, передаваемых из клиентского устройства в главное устройство). Для обратного потока информационного обмена сигнал возбуждает клиентское устройство, он отражается от высокоимпедансного приемника в главном устройстве и завершается в клиентском устройстве. Как изложено в другом месте описания, обратные данные или данные, передаваемые по линии обратной связи, могут быть переданы или посланы с более высокими скоростями передачи данных, чем величина, обратная значению двусторонней задержки в кабеле. Возбуждение проводников или сигналов MDDI_Stb+ и MDDI_Stb- осуществляет только главное устройство.
На фиг.42 показан пример конфигурации элементов, пригодной для реализации формирователей, приемников и согласованных нагрузок для передачи сигналов в качестве части предложенного в настоящем изобретении интерфейса MDDI. В этом интерфейсе, который приведен в качестве примера, используют низковольтное считывание, напряжение которого здесь равно 200 милливольт (мВ), с колебанием мощности менее 1 вольта и с низким потреблением мощности. Формирователь каждой пары сигналов имеет дифференциальный выход по току. При приеме пакетов интерфейса MDDI в двухпроводных линиях MDDI_Data и MDDI_Stb используют обычный дифференциальный приемник с пороговым значением разности напряжений, равным нулю вольт. В состоянии "спячки" выходы формирователя отключены, и параллельно подключенные согласующие резисторы уменьшают разность напряжений в каждой паре сигналов до нуля вольт. Во время состояния "спячки" особый приемник в двухпроводной линии MDDI_Data0 имеет положительное смещение порогового значения разности напряжений на входе, равное 125 мВ, которое вызывает то, что приемник линии, находящейся в состоянии "спячки", интерпретирует пару невозбужденных сигналов как уровень логического нуля.
Разность напряжений в дифференциальной паре определена как разность между напряжением, приложенным к положительному (+) сигналу, минус напряжение, приложенное к отрицательному (-) сигналу. Наименования пары дифференциальных сигналов заканчиваются или "плюсом" ("+"), или "минусом" ("-"), которые указывают соответственно положительный или отрицательный сигнал в этой паре. Ток на выходе формирователя дифференциальной пары определен как ток, вытекающий из положительного (+) выхода. Ток, проходящий через отрицательный (-) выход дифференциального формирователя, всегда равен по величине току, проходящему через положительный (+) выход того же самого дифференциального формирователя, но является противоположным ему по направлению.
ESD-and-Rx
ESD-and-Rx
TX-HI-Z
TX-HI-Z
external-ESD
external-ESD
Иногда главное устройство или клиентское устройство одновременно приводят уровень сигнала в дифференциальной паре приложенным к уровню логической единицы или логического нуля для гарантии надлежащего логического уровня в паре при изменении направления потока (из главного устройства в клиентское устройство или из клиентского устройства в главное устройство). При одновременном возбуждении выходных сигналов, приводимых в состояние с одним и тем же логическим уровнем, диапазон выходного напряжения и характеристики выхода по-прежнему удовлетворяют заданным условиям. В некоторых системах может потребоваться ввести небольшой ток в дифференциальную пару с оконечной нагрузкой для создания небольшого напряжения смещения в определенные моменты времени во время состояния "спячки" и во время активизации линия связи после состояния "спячки". В этих случаях включенные цепи смещения со смещением по току возбуждают уровни тока, именуемые как: I - вводимый ток для внутреннего диода защиты от электростатического разряда (ESD) и для дифференциального приемника, при этом обычно I≤1 мкА (микроампер); I - выходной ток дифференциального формирователя в высокоимпедансном состоянии, при этом обычно I I≤1мкА; и I - ток утечки через внешние диоды защиты от электростатического разряда (ESD), при этом обычно I ≤3 мкА.
Каждый из этих токов утечки проиллюстрирован на фиг.47. Схемы повышения и понижения напряжения должны обеспечивать минимальную разность напряжений при наихудших вышеописанных условиях утечки, когда все они возникают одновременно. Суммарные потери от утечек ≤4 мкА для внутреннего режима без внешних диодов защиты от электростатического разряда (ESD) и ≤10 мкА для внешнего режима с наличием внешней защиты от электростатического разряда (ESD).
Электрические параметры и характеристики формирователей дифференциального канала и линейных приемников описаны для одного варианта осуществления изобретения, который приведен в качестве примера, в таблицах IXa-IXd. С функциональной точки зрения формирователь осуществляет передачу логического уровня, имеющегося на входе, непосредственно в положительный выход, и логического уровня, обратного тому, который имеется на входе, в отрицательный выход. Задержка между входом и выходом является хорошо подходящей для дифференциального канала, который возбуждают дифференцированно. Чтобы свести к минимуму потребляемую мощность и электромагнитные излучения, в большинстве вариантов реализации перепад напряжения на выходах является меньшим, чем его перепад на входе. В одном из вариантов осуществления изобретения минимальный перепад напряжения составляет приблизительно 0,5 В (вольт). Однако могут быть использованы и иные значения, что является известным фактом для специалистов в данной области техники, и авторы изобретения предполагают возможность использования в некоторых вариантах осуществления изобретения меньшего значения, что зависит от конструктивных ограничений.
input
input
Приемники дифференциального канала имеют ту же самую характеристику, как и высокоскоростной компаратор напряжений. На фиг.41 вход без кружка является положительным входом, а вход с кружком - отрицательным входом. Выходной сигнал равен логической единице, если (V+)-(V-) больше нуля. Другим способом описания этого является дифференциальный усилитель с очень большим (практически бесконечным) коэффициентом усиления и с ограничением напряжения выходного сигнала логическими уровнями 0 и 1.
Чтобы дифференциальная система передачи работала с самой высокой возможной скоростью, перекос задержки между различными парами должен быть сведен к минимуму.
<b>Таблица IXa</b>
Электрические характеристики передатчика главного устройства
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Максимальное значение</b>
<b>Единица измерения</b>
V<sub>output-Range</sub>
Допустимый диапазон выходного напряжения формирователя в главном устройстве относительно "земли" главного устройства
0,35
1,60
В
I<sub>OD+</sub>
Ток на дифференциальном выходе формирователя при высоком уровне сигнала, соответствующем уровню логической единицы (при возбуждении линии передачи с оконечной нагрузкой)
2,5
4,5
мА
I<sub>OD-</sub>
Ток на дифференциальном выходе формирователя при низком уровне сигнала, соответствующем уровню логического нуля (при возбуждении линии передачи с оконечной нагрузкой)
-4,5
-2,5
мА
T<sub>Rise-Fall</sub>
Время нарастания и спада (между 20% и 80% по амплитуде) сигнала на выходе формирователя, измеренное в дифференциальном режиме
425
Примечание 1
пикосекунд
T<sub>skew-pair</sub>
Фазовый сдвиг между положительным и отрицательным выходными сигналами одной и той же дифференциальной пары (фазовый сдвиг внутри пары)
125
пикосекунд
T<sub>Differential-Skew</sub>
Максимальный перекос задержки между одной дифференциальной парой и любой другой дифференциальной парой
См. выше
пикосекунд
T<sub>A</sub>
Флуктуации сигнала, от границы бита до точки пересечения с центром
0
T<sub>B</sub>-283
пикосекунд
T<sub>B-TP0-DRVR</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала
0
См. выше
пикосекунд
Примечание 1: максимальное время нарастания и спада равно меньшему из следующих значений: или 30% от промежутка времени, необходимого для передачи одного бита по одной дифференциальной паре, или 100 наносекундам (нс).
<b>Таблица IXb</b>
Электрические характеристики передатчика клиентского устройства
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Максимальное значение</b>
<b>Единица измерения</b>
V <sub>output-Range-Ext</sub>
Допустимый диапазон выходного напряжения формирователя в клиентском устройстве относительно "земли" клиентского устройства (внешний режим)
0
1,25
В
V<sub>output-Range-Int</sub>
Допустимый диапазон выходного напряжения формирователя в клиентском устройстве относительно "земли" клиентского устройства (внутренний режим)
0,35
1,60
В
I<sub>OD-</sub>
Ток на дифференциальном выходе формирователя при высоком уровне сигнала, соответствующем уровню логической единицы (при возбуждении эквивалента схем повышения и понижения напряжения, имеющихся в главном устройстве и в клиентском устройстве)
2,5
4,5
мА
I<sub>OD-</sub>
Ток на дифференциальном выходе формирователя при высоком уровне сигнала, соответствующем уровню логического нуля (при возбуждении эквивалента схем повышения и понижения напряжения, имеющихся в главном устройстве и в клиентском устройстве)
-4,5
-2,5
мА
T<sub>Rise-Fall</sub>
Время нарастания и спада (между 20% и 80% по амплитуде) сигнала на выходе формирователя, измеренное в дифференциальном режиме
425
Примечание 1
пикосекунд
T<sub>skew-pair</sub>
Фазовый сдвиг между положительным и отрицательным выходными сигналами одной и той же дифференциальной пары (фазовый сдвиг внутри пары)
125
пикосекунд
T<sub>Differential-Skew</sub>
Максимальный перекос задержки между одной дифференциальной парой и любой другой дифференциальной парой
См. выше
пикосекунд
T<sub>A</sub>
Флуктуации сигнала, от границы бита до точки пересечения с центром
T<sub>B</sub>-283
пикосекунд
T<sub>B-TP4-DRVR</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала
См. выше
пикосекунд
Примечание 1: максимальное время нарастания и спада равно меньшему из следующих значений: или 30% от промежутка времени, необходимого для передачи одного бита по одной дифференциальной паре, или 100 наносекундам (нс).
<b>Таблица IXc </b>
Электрические характеристики приемника клиентского устройства
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единица измерения</b>
V<sub>IT+</sub>
Пороговая разность напряжений на входе приемника при высоком уровне сигнала. При превышении этой разности напряжений входной сигнал интерпретируют как уровень логической единицы.
0
50
мВ
V<sub>IT-</sub>
Пороговая разность напряжений на входе приемника при низком уровне сигнала. Когда разность напряжений на входе меньше этой разности напряжений, то входной сигнал интерпретируют как уровень логического нуля.
-50
0
мВ
V<sub>IT+</sub>
Пороговая разность напряжений на входе приемника при высоком уровне сигнала (смещение для активизации после состояния "спячки"). При превышении этой разности напряжений входной сигнал интерпретируют как уровень логической единицы.
125
175
мВ
V<sub>IT-</sub>
Пороговая разность напряжений на входе приемника при низком уровне сигнала (смещение для активизации после состояния "спячки"). Когда разность напряжений на входе меньше этой разности напряжений, то входной сигнал интерпретируют как уровень логического нуля.
75
125
мВ
V<sub>Input-Range</sub>
Допустимый диапазон входного напряжения приемника клиентского устройства относительно "земли" клиентского устройства
0
1,65
В
R<sub>term</sub>
Значение сопротивления параллельного согласующего резистора
98
100
102
Ом
I<sub>in</sub>
Ток утечки на входе
-10
10
мкА
C<sub>pad</sub>
Электрическая емкость контактной площадки относительно "земли" клиентского устройства(Примечание 1)
5
пикофарад (пФ)
C<sub>diff</sub>
Электрическая емкость между двумя сигналами дифференциальной пары (Примечание 1)
1
пикофарада (пФ)
T<sub>skew-pair-INT</sub>
Вызванный дифференциальным приемником фазовый сдвиг между положительным и отрицательным входами дифференциального приемника одной и той же дифференциальной пары (фазовый сдвиг внутри пары). Внутренний режим
250
пикосекунд
T<sub>skew-pair-EXT</sub>
Фазовый сдвиг внутри пары. Внешний режим
50
пикосекунд
T<sub>Differential-Skew</sub>
Максимальный перекос задержки между одной дифференциальной парой и любой другой дифференциальной парой
См. выше
пикосекунд
T<sub>A</sub>
Флуктуации сигнала, от границы бита до точки пересечения с центром
TB-38,5
пикосекунд
T<sub>B-TP4-RCVR-INT</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала (внутренний режим)
0
См. выше
пикосекунд
T<sub>B-TP4-RCVR-EXT</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала (внешний режим)
0
См. выше
пикосекунд
<b>Таблица IXd</b>
Электрические характеристики приемника главного устройства
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единица измерения</b>
V<sub>IT+</sub>
Пороговая разность напряжений на входе приемника при высоком уровне сигнала (без смещения). При превышении этой разности напряжений входной сигнал интерпретируют как уровень логической единицы
0
50
мВ
V<sub>IT-</sub>
Пороговая разность напряжений на входе приемника при низком уровне сигнала (без смещения). Когда разность напряжений на входе меньше этой разности напряжений, то входной сигнал интерпретируют как уровень логического нуля
-50
0
мВ
V<sub>IT+</sub>
Пороговая разность напряжений на входе приемника при высоком уровне сигнала (смещение для активизации после состояния "спячки"). При превышении этой разности напряжений входной сигнал интерпретируют как уровень логической единицы
125
175
мВ
V<sub>IT-</sub>
Пороговая разность напряжений на входе приемника при низком уровне сигнала (смещение для активизации после состояния "спячки"). Когда разность напряжений на входе меньше этой разности напряжений, то входной сигнал интерпретируют как уровень логического нуля
75
125
мВ
V<sub>Input-Range</sub>
Допустимый диапазон входного напряжения приемника клиентского устройства относительно "земли" главного устройства
0
1,65
В
I<sub>in</sub>
Ток утечки на входе (исключая смещение для режима "спячки")
-10
10
мкА
C<sub>pad</sub>
Электрическая емкость контактной площадки относительно "земли" главного устройства
5
пикофарад (пФ)
C<sub>diff</sub>
Электрическая емкость между двумя сигналами дифференциальной пары
1
пикофарада (пФ)
T<sub>skew-pair</sub>
Вызванный дифференциальным приемником фазовый сдвиг между положительным и отрицательным входами дифференциального приемника одной и той же дифференциальной пары (фазовый сдвиг внутри пары)
250
пикосекунд
T<sub>skew-pair-EXT</sub>
Фазовый сдвиг внутри пары. Внешний режим
50
пикосекунд
T<sub>A</sub>
Флуктуации сигнала, от границы бита до точки пересечения с центром
TB-38,5
пикосекунд
T<sub>B-TP0-RCVR-INT</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала (внутренний режим)
См. выше
пикосекунд
T<sub>B-TP0-RCVR-EXT</sub>
Флуктуации сигнала, от границы бита до минимального уровня выходного сигнала (внешний режим)
См. выше
пикосекунд
На фиг.42 контроллер 4202 главного устройства и контроллер 4204 клиентского устройства или устройства отображения показаны производящими передачу пакетов по линии 4206 связи. Контроллер главного устройства, использует группу из трех формирователей 4210, 4212 и 4214 для приема сигналов "данные" (DATA) и "стробирующий сигнал" (STB) главного устройства, подлежащих передаче, а также для приема сигналов данных из клиентского устройства, подлежащих передаче, при этом клиентское устройство использует три формирователя 4230, 4232 и 4234. Формирователь, ответственный за прохождение сигнала (4212) "данные" (DATA) главного устройства, использует входной разрешающий сигнал, позволяющий производить активацию линии связи, как правило, только тогда, когда желательна передача из главного устройства в клиентское устройство. Так как стробирующий сигнал (STB) сформирован в виде части передаваемых данных, то для этого формирователя (4212) не используют дополнительный разрешающий сигнал. Входы каждого из имеющихся в клиентском устройстве приемников (4132, 4230) сигналов "данные" (DATA) и "стробирующий сигнал" (STB) имеют согласующие нагрузки или резисторы 4218 и 4220, соответственно размещенные параллельно им. Формирователь 4234 в контроллере клиентского устройства использован для подготовки сигналов данных, передаваемых из клиентского устройства в главное устройство, в котором формирователь 4214 на входной стороне производит обработку данных.
Специальные приемники (формирователи) 4216 и 4236 соединены или связаны с линиями передачи сигнала "данные" (DATA) и осуществляют генерацию или используют описанное выше смещение напряжения, равное 125 мВ, в качестве части средства управления состоянием "спячки", изложенного в другом месте описания. Наличие смещений вызывает то, что приемники линии передачи, находящейся в состояния "спячки", интерпретируют пары невозбужденных сигналов как уровень логического нуля.
Вышеупомянутые формирователи и согласующие нагрузки могут быть выполнены в виде отдельных компонентов, или в виде части модуля электронных схем, или в виде специализированной интегральной микросхемы (ASIC), которая действуют как более рентабельное решение для реализации устройства кодирования или декодирования.
Можно легко заметить, что передачу электропитания из главного устройства в клиентское устройство или в устройство отображения осуществляют с использованием сигналов, обозначенных как HOST_Pwr и HOST_Gnd, по паре проводников. Часть этого сигнала, обозначенная как HOST_Gnd, действует для клиентского устройства в качестве базового заземления и обратного пути или сигнала источника питания. Сигнал HOST_Pwr действует в качестве источника питания клиентского устройства, приводимого в действие главным устройством. В конфигурации, которая приведена в качестве примера, для областей применения с малым энергопотреблением клиентскому устройству разрешено потреблять до 500 мА. Сигнал HOST_Pwr может быть предоставлен из портативных источников питания, например из находящегося в главном устройстве литий-ионного аккумулятора типа или литий-ионной аккумуляторной батареи, но этот пример не является ограничивающим признаком, и может выдавать напряжение в диапазоне от 3,2 до 4,3 вольт относительно сигнала HOST_Gnd.
VII. ВРЕМЕННЫЕ ХАРАКТЕРИСТИКИ
A. Общий обзор
На фиг.43A, фиг.43В и фиг.43С проиллюстрированы операции и уровни сигналов, используемые соответственно для введения в состояние "спячки" (отсутствуют запросы, желания или требования о предоставлении обслуживания) и для обеспечения гарантированного получения клиентским устройством обслуживания из главного устройства, инициированные любым из устройств: главным устройством или клиентским устройством. На фиг.43A, фиг.43В и фиг.43С первая часть показанных на чертежах сигналов демонстрирует передачу пакета "отключение линии связи" (Link Shutdown) из главного устройства и последующее приведение линии передачи данных в состояние логического нуля с использованием высокоимпедансной цепи смещения. Клиентское устройство или главное устройство, формирователь которого отключен, не производит передачу данных. В нижней части видна последовательность стробирующих импульсов для линии передачи стробирующего сигнала MDDI_Stb, так как стробирующий сигнал MDDI_Stb является активным во время передачи пакета "отключение линии связи" (Link Shutdown). После окончания передачи пакета логический уровень изменяется на равный нулю, поскольку главное устройство приводит цепь смещения и логические схемы в состояние логического нуля. Это отображает завершение последней передачи сигнала из главного устройства или последнего этапа предоставляемого им обслуживания и могло происходить в любой момент времени в прошлом и включено в состав чертежа для того, чтобы показать имевшее место ранее прекращение обслуживания и состояние сигналов до начала обслуживания. Например, при желании может быть передан сигнал только для того, чтобы вновь установить надлежащее состояние линию связи без 'известной' предшествующей передачи информации, произведенной ранее этим главным устройством.
Как показано на фиг.43A и описано выше для пакета "отключение линии связи" (Link Shutdown), в состоянии "спячки" с малым энергопотреблением формирователь линии MDDI_Data0 отключен, будучи переведенным в высокоимпедансное состояние, начинающееся после 16-48-го периода, или импульса, стробирующего сигнала MDDI_Stb после последнего бита поля "все нули" в пакете "отключение линии связи" (Link Shutdown). Для линий связи типа 2, типа 3 или типа 4 сигналы MDDI_Data1 - MDDI_DataPwr7 также устанавливают в высокоимпедансное состояние в тот же самый момент времени, когда происходит отключение формирователя линии MDDI_Data0. Как описано в определении поля "все нули", после старшего значащего бита поля ЦИК пакета "отключение линии связи" (Link Shutdown) происходит переключение стробирующего сигнала MDDI_Stb из одного состояния в другое в течение 64 периодов (или в течение количества периодов, желательного для конкретной конструкции системы) для обеспечения возможности завершения обработки данных клиентским устройством и для облегчения правильного отключения в контроллере клиентского устройства. Один период представляет собой изменение уровня сигнала от низкого к высокому, после чего следует изменение уровня сигнала от высокого к низкому, или изменение уровня сигнала от высокого к низкому, после чего следует изменение уровня сигнала от низкого к высокому. После передачи поля "все нули" формирователи линий MDDI_Stb и MDDI_Data0 в главном устройстве отключают, и главное устройство входит в состояние "спячки" с малым энергопотреблением. По истечении некоторого промежутка времени главное устройство начинает последовательность операций по возобновлению линии связи, что показано на фиг.43В и фиг.43С, путем включения линий или выходов MDDI_Data0 и MDDI_Stb формирователя, и начинает переключать стробирующий сигнал MDDI_Stb из одного состояния в другое в качестве части запроса на активизацию после состояния "спячки", инициированного любым из устройств: главным устройством или клиентским устройством.
stb-data-enbl
client-startup
client-startup
restart-high
restart-low
restart-low
Как показано на фиг.43В, по истечении некоторого времени после отключения выходов формирователей линий MDDI_Data0 и MDDI_Stb главное устройство инициирует обслуживание или активизацию после состояния "спячки", включая свой формирователь стробирующего сигнала MDDI_Stb на промежуток времени, обозначенный как t, в течение которого уровень сигнала в линии приведен в состояние логического нуля, до тех пор, пока она не будет полностью включена, а затем включает свой формирователь сигнала MDDI_Data0. Главное устройство сохраняет стробирующий сигнал MDDI_Stb на уровне логического нуля после того, как сигнал MDDI_Data0 достигает высокого уровня или уровня логической единицы, что происходит в течение промежутка времени, обозначенного как t. Затем, в конце промежутка времени t главное устройство переключает сигнал или линию MDDI_Stb из одного состояния в другое. Главное устройство приводит уровень сигнала в линии MDDI_Data0 в состояние с высоким уровнем, равным уровню логической единицы, при этом клиентское устройство не возбуждает сигнал MDDI_Data0 в течение промежутка времени, обозначенного как t, а затем приводит уровень сигнала в линии MDDI_Data0 в состояние с низким уровнем, или с уровнем логического нуля, в течение промежутка времени, обозначенного как t. После этого начинается первый прямой поток информационного обмена с пакета "заголовок подкадра" (Sub-Frame Header), и затем производят передачу пакетов прямого потока информационного обмена. Стробирующий сигнал MDDI_Stb является активным в течение промежутка времени t и последующего пакета "заголовок подкадра" (Sub-Frame Header).
stb-data-enbl
host-detect
Как показано на фиг.43С, по истечении некоторого промежутка времени, в течение которого выходные сигналы из формирователей MDDI_Data0 и MDDI_Stb отключены, клиентское устройство инициирует выдачу запроса на обслуживание или на активизацию после состояния "спячки" путем включения смещения в приемнике стробирующего сигнала MDDI_Stb или выходного сигнала в течение описанного выше промежутка времени, обозначенного как t, перед тем как главное устройство включит свой формирователь стробирующего сигнала MDDI_Stb. Затем клиентское устройство включает свой формирователь сигнала MDDI_Data0 на промежуток времени, обозначенный как t, в течение которого уровень сигнала в линию приводят в состояние логического нуля перед тем, как главное устройство начинает переключать стробирующий сигнал MDDI_Stb из одного состояния в другое.
host-detect
stb-startup
restart-high
Определенный промежуток времени проходит или может потребоваться перед тем, как главное устройство обнаружит запрос в течение промежутка времени t, после которого главное устройство отвечает на это, сохраняя уровень стробирующего сигнала MDDI_Stb равным логическому нулю в течение промежутка времени, обозначенного как t, перед тем как главное устройство начинает переключать стробирующий сигнал MDDI_Stb из одного состояния в другое в начале последовательности операций по запуску линии связи, приводя уровень сигнала MDDI_Data0 в состояние логической единицы или высокого уровня в течение промежутка времени, обозначенного как t. Когда клиентское устройство распознает первый импульс в линии передачи стробирующего сигнала MDDI_Stb, оно отключает смещение в своем приемнике стробирующего сигнала MDDI_Stb. Клиентское устройство продолжает приводить уровень сигнала MDDI_Data0 в состояние логической единицы в течение промежутка времени, обозначенного как
client-detect
restart-high
t, до тех пор, пока оно не обнаружит, что главное устройство возбуждает эту линию. В этот момент времени клиентское устройство отменяет запрос и отключает свой формирователь сигнала MDDI_Data0, поэтому выходной сигнал из клиентского устройства вновь переходит в состояние с уровнем логического нуля, и главное устройство приводит в действие линию MDDI_Data0. Как и ранее, главное устройство продолжает приводить уровень сигнала в линии MDDI_Data0 в состояние логической единицы в течение промежутка времени t, а затем приводит уровень сигнала в линии MDDI_Data0 в состояние с низким уровнем в течение промежутка времени
restart-low
restart-low
t, после чего начинается первый прямой поток информационного обмена с пакета "заголовок подкадра" (Sub-Frame Header). Стробирующий сигнал MDDI_Stb является активным в течение промежутка времени t и последующего пакета "заголовок подкадра" (Sub-Frame Header).
В таблице X показаны типичные значения времени или продолжительности периодов обработки для продолжительности различных описанных выше промежутков времени и их зависимость от минимальной и максимальной скорости передачи данных, которые приведены в качестве примера, где промежуток времени передачи бита равен:
где скорость_передачи_данных_по_линии_связи (Link_Data_Rate) является скоростью передачи битов по одной двухпроводной линии передачи данных.
<b>Таблица X</b>
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единицы измерения</b>
1/t<sub>BIT-min-perf</sub>
Скорость передачи данных по линии связи для устройства, работающего с минимальной производительностью
0,001
1,1
мегабит в секунду (Мб/с)
l/t<sub>BIT-max-perf</sub>
Диапазон максимальных скоростей передачи данных по линии связи для устройства, внешний режим
0,001
400
Мб/с
1/t<sub>BIT-max-perf</sub>
Диапазон максимальных скоростей передачи данных по линии связи для устройства, внутренний режим
0,001
550
Мб/с
Скорость передачи данных по линии обратной связи
0,0005
50
Мб/с
t<sub>BIT</sub>
Промежуток времени передачи одного бита данных по линии прямой связи, внешний режим
2,5
10<sup>6</sup>
наносекунд (нс)
t<sub>BIT</sub>
Промежуток времени передачи одного бита данных по линии прямой связи, внутренний режим
1,8
10<sup>6</sup>
нс
t<sub>restart-high</sub>
Длительность импульса при возобновлении линии связи главным устройством в состоянии с высоким уровнем
140
150
160
количество тактовых импульсов стробирующего сигнала
t<sub>restart-low</sub>
Длительность импульса при возобновлении линии связи главным устройством в состоянии с низким уровнем
50
50
50
количество тактовых импульсов стробирующего сигнала
t<sub>stb-data-enabl</sub>
Промежуток времени в последовательности операций по возобновлению линии связи от момента полного включения стробирующего сигнала MDDI_Stb до момента включения сигнала MDDI_Data0
0
микросекунд (мкс)
t<sub>client-startup</sub>
Промежуток времени, в течение которого главное устройство удерживает стробирующий сигнал MDDI_Stb на уровне логического нуля после того, как уровень сигнала MDDI_Data0 достиг высокого логического уровня
200
нс
t<sub>host-detect</sub>
Промежуток времени от момента приведения сигнала MDDI_Data0 в состояние с высоким уровнем до момента переключения стробирующего сигнала MDDI_Stb из одного состояния в другое
0
1000
мкс
t<sub>client-detect</sub>
Промежуток времени для того, чтобы клиентское устройство обнаружило сигнал MDDI_Data0 с высоким логическим уровнем, возбуждаемый работающим устройством
60
80
количество тактовых импульсов стробирующего сигнала
t<sub>stb-startup</sub>
Промежуток времени, в течение которого главное устройство удерживает стробирующий сигнал MDDI_Stb на уровне логического нуля перед тем, как главное устройство начинает переключение стробирующего сигнала MDDI_Stb из одного состояния в другое
200
нс
Специалисты в данной области техники легко поймут, что функции отдельных элементов, проиллюстрированные на фиг.41 и фиг.42, являются хорошо известными, а функция элементов из фиг.42 подтверждена временной диаграммой, показанной на фиг.43А, фиг.43В и фиг.43С. На фиг.41 подробности о группе согласующих резисторов и резисторов для состояния "спячки", которые показаны на фиг.42, были опущены, поскольку эта информация является ненужной для описания того, как следует выполнять кодирование сигнала "данные" - стробирующего сигнала (Data-Strobe) и восстановление тактовой синхронизации, исходя из этого кодирования.
B. Временная диаграмма сигнала "данные" - стробирующего сигнала (Data-Strobe) в линии прямой связи
tdd-(host-output)
tdd
tbit
tbit
tbit
tds-(host-output)
tss-(host-output)
tsd-(host-output)
tddx-(host-output)
tdxdx-(host-output)
tdxs-(host-output)
tsdx-(host-output)
Характеристики переключения для передачи данных по линии прямой связи с выхода формирователя в главном устройстве показаны в таблице XI-1. В таблице XI в табличном виде представлена зависимость желательных минимального и максимального значений времени от типичных значений времени для имеющих место переходов между сигналами. Например, типичная продолжительность промежутка времени для того, чтобы произошел переход от начала значения данных до его конца (вывод '0' или '1'), то есть переход " Data0 - Data0", именуемый как t(то есть t на выходе главного устройства), равна t, в то время как минимальная продолжительность этого промежутка времени равна t - 0,5 нс (наносекунд), а максимальная равна t + 0,5 нс. Относительный интервал между переходами в линии передачи Data0 в других линиях передачи данных (DataX) и в линии передачи стробирующего сигнала (Stb) проиллюстрирован На фиг.44, на котором показаны следующие переходы: "Data0 - стробирующий сигнал", "стробирующий сигнал - стробирующий сигнал", "стробирующий сигнал - сигнал Data0", "сигнал Data0 - иной сигнал данных, чем Data0 (non-Data0)", "иной сигнал данных, чем Data0 - иной сигнал данных, чем Data0", "иной сигнал данных, чем Data0 - стробирующий сигнал" и "стробирующий сигнал - иной сигнал данных, чем Data0", которые именуют соответственно как t, t, t, t, t, t и t .
<b>Таблица XI-1</b>
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единицы измерения</b>
t <sub>tdd-(host-</sub><sub>output)</sub>
переход "сигнал Data0 - сигнал Data0"
t<sub>tbit</sub>-0,5
t<sub>tbit</sub>
t<sub>tbit</sub>+0,5
нс
t<sub>tds-(host-</sub><sub>output)</sub>
переход "Data0 - стробирующий сигнал"
t<sub>tbit</sub>-0,8
t<sub>tbit</sub>
t<sub>tbit</sub>+0,8
нс
t<sub>tss-(host-</sub><sub>output)</sub>
переход "стробирующий сигнал - стробирующий сигнал"
t<sub>tbit</sub>-0,5
t<sub>tbit</sub>
t<sub>tbit</sub>+0,5
нс
t<sub>tsd-(host-</sub><sub>output)</sub>
переход "стробирующий сигнал - сигнал Data0"
t<sub>tbit</sub>-0,8
t<sub>tbit</sub>
t<sub>tbit</sub>+0,8
нс
t<sub>tddx-(host-</sub><sub>output)</sub>
переход "сигнал Data0 - иной сигнал данных, чем Data0 (non-Data0)"
t<sub>tbit</sub>
нс
t<sub>tdxdx-(host-</sub><sub>output)</sub>
переход "иной сигнал данных, чем Data0 - иной сигнал данных, чем Data0"
t<sub>tbit</sub>-0,5
t<sub>tbit</sub>
t<sub>tbit</sub>+0,5
нс
t<sub>tdxs-(host-</sub><sub>output)</sub>
переход "иной сигнал данных, чем Data0 - стробирующий сигнал"
t<sub>tbit</sub>
нс
t<sub>tsdx-(host-</sub><sub>output)</sub>
переход "стробирующий сигнал - иной сигнал данных, чем Data0"
t<sub>tbit</sub>
нс
Типичные требования к временным интервалам для входа приемника клиентского устройства в интерфейсе MDDI для тех же самых сигналов передачи данных по линии прямой связи показаны в Таблице XI-2. Для специалистов в данной области понятно, что поскольку рассматриваются те же самые сигналы, но имеющие задержку по времени, то для иллюстративного пояснения характеристик сигналов или смысла соответствующих обозначений новый чертеж не требуется.
<b>Таблица XI-2</b>
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единицы измерения</b>
t<sub>tdd-(client-input)</sub>
переход "сигнал Data0 - сигнал Data0"
t<sub>tbit</sub>-1,0
t<sub>tbit</sub>
t<sub>tbit</sub>+1,0
нс
t<sub>tds-(client-input)</sub>
переход "Data0 - стробирующий сигнал"
t<sub>tbit</sub>-1,5
t<sub>tbit</sub>
t<sub>tbit</sub>+1,5
нс
t<sub>tss-(client-input)</sub>
переход "стробирующий сигнал - стробирующий сигнал"
t<sub>tbit</sub>-1,0
t<sub>tbit</sub>
t<sub>tbit</sub>+1,0
нс
t<sub>tsd-(client-input)</sub>
переход "стробирующий сигнал - сигнал Data0"
t<sub>tbit</sub>-1,5
t<sub>tbit</sub>
t<sub>tbit</sub>+1,5
нс
t<sub>tddx-(host-output)</sub>
переход "сигнал Data0 - иной сигнал данных, чем Data0 (non-Data0)"
t<sub>tbit</sub>
нс
t<sub>tdxdx-(host-</sub><sub>output)</sub>
переход "иной сигнал данных, чем Data0 - иной сигнал данных, чем Data0"
t<sub>tbit</sub>
нс
t<sub>tdxs-(host-output)</sub>
переход "иной сигнал данных, чем Data0 - стробирующий сигнал"
t<sub>tbit</sub>
нс
t<sub>tsdx-(host-output)</sub>
переход "стробирующий сигнал - иной сигнал данных, чем Data0"
t<sub>tbit</sub>
нс
На фиг.45 и фиг.46 проиллюстрирована задержка ответа, которая может возникать соответственно при отключении или при включении главным устройством формирователя, имеющегося в главном устройстве. В случае передачи главным устройством определенных пакетов, например пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) или пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), главное устройство отключает формирователь линии после того, как отправлены желательные пакеты, например пакеты "ЦИК параметров", "выравнивание стробирующего сигнала" и "все нули", показанные на фиг.45 как уже переданные. Однако, как показано на фиг.45, переключение состояния линии из состояния '0' в желательное состояние с более высоким уровнем не обязательно происходит мгновенно, хотя и существует потенциальная возможность достижения этого при наличии определенных управляющих элементов или элементов схемы, но для этого требуется некоторый промежуток времени реакции, именуемый "задержкой отключения формирователя в главном устройстве" (Host Driver Disable Delay). Хотя это и может происходить, в сущности, мгновенно, и в этом случае длительность этого промежутка времени равна 0 наносекунд (нс), но легче растянуть это на некоторый более длительный промежуток времени с желательной максимальной длительностью этого промежутка времени, равной 10 нс, во время периодов передачи пакета "первый защитный временной интервал" (Guard Time 1) или пакета "первое изменение направления передачи на обратное" (Turn Around 1).
На фиг.46 видно изменение уровня сигнала, происходящее тогда, когда формирователю в главном устройстве разрешено произвести передачу пакета, например пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) или пакета "измерение двусторонней задержки" (Round Trip Delay Measurement). Здесь после промежутков времени передачи пакета "второй защитный временной интервал" (Guard Time 2) или пакета "второе изменение направления передачи на обратное" (Turn Around 2) включают формирователь в главном устройстве, и он начинает приводить уровень сигнала в состояние '0' и приближается к этому значению или достигает его в течение промежутка времени, именуемого "задержкой включения формирователя в главном устройстве" (Host Driver Enable Delay), что происходит во время промежутка времени повторного включения формирователя в главном устройстве перед передачей первого пакета.
Аналогичный процесс имеет место для формирователей и для передач сигналов в клиентском устройстве, которым здесь является устройство отображения. Общие рекомендации относительно длительности этих промежутков времени и их соответствующие зависимости показаны в приведенной ниже таблице XII.
<b>Таблица XII</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Максимальное значение</b>
<b>Единицы измерения</b>
Задержка отключения формирователя в главном устройстве
0
10
нс
Задержка включения формирователя в главном устройстве
0
2,0
нс
Задержка отключения формирователя в устройстве отображения
0
10
нс
Задержка включения формирователя в устройстве отображения
0
2,0
нс
C. Значения времени разрешения вывода и запрета вывода для главного устройства и клиентского устройства
host-enable
host-disable
client-enable
client-disable
На фиг.48 показаны характеристики переключения и относительные временные зависимости для значений времени разрешения и запрета вывода для главного устройства и клиентского устройства, или операции, связанные со структурой и с промежутком времени передачи пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Функции или операции вывода, выполняемые формирователем, обозначены как: t - для промежутка времени, в течение которого главному устройству разрешен вывод, t - для промежутка времени, в течение которого главному устройству запрещен вывод, t - для промежутка времени, в течение которого клиентскому устройству разрешен вывод, и t - для промежутка времени, в течение которого клиентскому устройству запрещен вывод. Типичные значения времени для переходов определенных сигналов из одного состояния в другое описаны ниже. Минимальный промежуток времени для этих операций мог бы быть равен нулю наносекунд, но типичные или максимальные его значения определяются конструкцией системы, в которой использован интерфейс, и могут составлять порядка 8 наносекунд или более.
Общие рекомендации относительно длительности этих промежутков времени (значений времени разрешения/запрета вывода для главного устройства и клиентского устройства) и их соответствующие зависимости показаны в приведенной ниже таблице XIII.
<b>Таблица XIII</b>
<b>Параметр</b>
<b>Описание</b>
<b>Минимальное значение</b>
<b>Типовое значение</b>
<b>Максимальное значение</b>
<b>Единицы измерения</b>
t<sub>host-enable</sub>
Время разрешения вывода для главного устройства
0
24·t<sub>BIT</sub>
нс
t<sub>host-disable</sub>
Время запрета вывода для главного устройства, длина всего поля "первое изменение направления передачи на обратное" (Turn-Around 1)
0
24·t<sub>BIT</sub>
нс
t<sub>client-enable</sub>
Время разрешения вывода для клиентского устройства, длина всего поля "первое изменение направления передачи на обратное" (Turn-Around 1)
0
24·t<sub>BIT</sub>
нс
t<sub>client-disable</sub>
Время запрета вывода для клиентского устройства, измеренное с конца последнего бита поля "второе изменение направления передачи на обратное" (Turn-Around 2)
0
24·t<sub>BIT</sub>
нс
VIII. РЕАЛИЗАЦИЯ УПРАВЛЕНИЯ КАНАЛОМ СВЯЗИ (ФУНКЦИОНИРОВАНИЕ КОНТРОЛЛЕРА КАНАЛА СВЯЗИ)
A. Устройство обработки пакетов на основе конечного автомата
Пакеты, передаваемые по линии связи интерфейса MDDI, посылают очень быстро, обычно со скоростью передачи порядка 300 мегабит в секунду (Мб/с) или более, равной, например, 400 Мб/с, хотя, конечно же, при желании могут быть обеспечены более низкие скорости передачи. Скорость передачи по шине или по линии передачи этого типа является слишком большой для управления ею при помощи серийно выпускаемых в настоящее время (экономичных) универсальных микропроцессоров или аналогичных устройств. Следовательно, для практической реализации, обеспечивающей такой тип передачи сигнала, необходимо использовать программируемый конечный автомат, анализирующий входной поток пакетов для создания пакетов, которые передают или перенаправляют в надлежащую аудиовизуальную подсистему, для которой они предназначены. Такие устройства являются хорошо известными, и в них используют схемы, обычно являющиеся специально предназначенными для реализации ограниченного количества операций, функций или состояний для достижения желательного высокоскоростного или очень высокоскоростного функционирования.
Для более адекватных действий или манипуляций с некоторой информацией, например с пакетами управления или с пакетами со сведениями о состоянии, для которых требуются более низкие скорости передачи, могут быть использованы универсальные контроллеры, процессоры или обрабатывающие элементы. При приеме этих пакетов (пакетов управления, пакетов со сведениями о состоянии или иных заранее заданных пакетов) конечный автомат должен подать их через буфер данных или аналогичный обрабатывающий элемент в универсальный процессор, поэтому на пакеты можно воздействовать для обеспечения желательного результата (эффекта), при этом пакеты со звуковой и визуальной информацией передают в соответствующий им пункт назначения для воспроизведения. Если в будущем будут производиться такие микропроцессоры или иные универсальные контроллеры, процессоры, или обрабатывающие элементы, которые обеспечат возможности обработки для более высоких скоростей передачи данных, то описанные ниже состояния или конечный автомат также смогут быть реализованы с использованием программного управления такими устройствами, обычно в виде программ, хранящихся в запоминающем элементе или на носителях информации.
В некоторых вариантах осуществления изобретения функция универсального процессора может быть реализована путем использования вычислительной мощности или избыточных вычислительных возможностей, доступных для микропроцессоров (центральных процессоров (ЦП)) при применении компьютеров, или для контроллеров, устройств обработки данных, процессоров цифровой обработки сигналов (DSPs), специализированных схем или специализированных интегральных схем, имеющихся в беспроводных устройствах, способом, во многом аналогичным тому, как некоторые модемы или графические процессоры используют вычислительную мощность центральных процессоров, имеющихся в компьютерах, для выполнения некоторых функций и для уменьшения сложности аппаратных средств и их стоимости. Однако это разделение или использование вычислительных возможностей может оказывать отрицательное воздействие на скорость обработки, синхронизацию или на всю работу таких элементов, поэтому во многих областях применения для этой общей обработки предпочтительны специализированные схемы или элементы.
Для того, чтобы обеспечить просмотр данных об изображении на устройстве отображения (микродисплее) или надежный прием всех пакетов, переданных главным устройством, обработка сигналов клиентским устройством является синхронизированной с временной диаграммой прямого канала связи. То есть сигналы, приходящие в клиентское устройство, и схемы клиентского устройства должны быть, по существу, синхронизированными по времени для обеспечения надлежащей обработки сигналов. На фиг.49 представлена диаграмма высокого уровня, на которой показаны состояния, достигнутые сигналом, для одного из вариантов осуществления изобретения. На фиг.49 показаны возможные "состояния" синхронизации линии прямой связи для конечного автомата 4900, классифицированные как одно состояние 4904 "асинхронные кадры" (ASYNC FRAMES), два состояния 4902 и 4906 "вхождение в режим синхронизации" (ACQUIRING SYNC) и три состояния 4908, 4910 и 4912 "наличие синхронизации" (IN-SYNC).
Как показано на чертеже, на начальном этапе или в состоянии 4902 устройство отображения или клиентское устройство, которым является, например, устройство воспроизведения, сначала находится в заранее выбранном состоянии "синхронизация отсутствует" и производит поиск специального слова в первом обнаруженном пакете "заголовок подкадра" (Sub-Frame Header). Следует отметить, что это состояние "синхронизация отсутствует" представляет собой установку минимальных параметров связи или установку параметров "переход на нижний уровень по скорости", при которой выбран интерфейс типа 1. Когда во время поиска найдено специальное слово, то клиентское устройство сохраняет поле "длина подкадра" в памяти. При обработке этого первого кадра или до тех пор, пока не получена синхронизация, проверку битов ЦИК не производят. Если длина этого подкадра равна нулю, то обработку состояния синхронизации продолжают, переходя соответственно к состоянию 4904, обозначенному здесь как состояние "асинхронные кадры", которое указывает, что синхронизация еще не была достигнута. Этот этап обработки обозначен на фиг.49 как наличие условия 3 или как "условие 3". В противном случае, если длина кадра больше нуля, то в процедуре обработки состояния синхронизации переходят к состоянию 4906, в котором состояние интерфейса установлено как "найден один кадр синхронизации". Этот этап обработки обозначен на фиг.49 как наличие условия 5 или как "условие 5". Кроме того, если конечный автомат видит пакет заголовка кадра и хорошее определение ЦИК для длины кадра, большей нуля, то в процедуре обработки переходят к состоянию "найден один кадр синхронизации". На фиг.49 это обозначено как удовлетворение условию 6 или как "условие 6".
В каждом случае, когда система находится в ином состоянии, чем состояние "синхронизация отсутствует", если обнаружен пакет с хорошим результатом проверки посредством ЦИК, то состояние интерфейса изменяют на состояние 4908 "наличие синхронизации". Этот этап обработки обозначен на фиг.49 как наличие условия 1 или как "условие 1". В противном случае, если ЦИК в каком-либо пакете является неправильным, то обработку состояния синхронизации продолжают или возвращаются в состояние 4902 интерфейса, именуемое состоянием "кадр синхронизации отсутствует". На диаграмме состояний, показанной на фиг.49, эта часть процедуры обработки обозначена как наличие условия 2, или как "условие 2".
B. Время вхождения в режим синхронизации
Интерфейс может быть сконфигурирован таким образом, что приспособлен к наличию определенного количества "ошибок синхронизации" до принятия решения о том, что синхронизация потеряна, и возврата в состояние "кадр синхронизации отсутствует". Как показано на фиг.49, после того как конечным автоматом достигнуто "состояние наличия синхронизации" и не обнаружено ошибок, он постоянно обнаруживает результат "условие 1" и остается в состоянии "наличие синхронизации". Однако после того как обнаружен один результат "условие 2", в процедуре обработки происходит изменение состояние на состояние 4910 "наличие одной ошибки синхронизации". Если в этот момент обработка приводит к обнаружению другого результата "условие 1", то конечный автомат возвращается в состояние "наличие синхронизации", в противном случае он обнаруживает другой результат "условие 2" и переходит в состояние 4912 "наличие двух ошибок синхронизации". И вновь, если возникает "условие 1", то процедура обработки возвращает конечный автомат в состояние "наличие синхронизации". В противном случае обнаруживают другое "условие 2", и конечный автомат возвращается в состояние "синхронизация отсутствует". Также понятно, что когда интерфейс обнаруживает пакет "отключение линии связи", то это вызывает завершение передачи данных по линии связи и возврат в состояние "кадр синхронизации отсутствует", поскольку отсутствует то, с чем производить синхронизацию, что в диаграмме состояний фиг.49 именуют как удовлетворение условию 4, или как "условие 4".
Понятно, что существует возможность наличия повторяющейся "ложной копии" специального слова, которая может появляться в некоторых постоянных местах внутри подкадра. В той ситуации очень маловероятно то, что конечный автомат синхронизируется с подкадром, поскольку при обработке также должен быть правильным ЦИК для пакета "заголовок подкадра" (Sub-Frame Header) для того, чтобы в процедуре обработки в интерфейсе MDDI был совершен переход в состояние "наличие синхронизации".
Длина подкадра в пакете "заголовок подкадра" (Sub-Frame Header) может быть установлена равной нулю для указания того, что перед отключением линии связи главное устройство произведет передачу только одного подкадра и что интерфейс MDDI будет помещен в состояние бездействия, именуемое состоянием "спячки" (hibernation), или будет сконфигурирован таким образом, что перейдет в это состояние. В этом случае клиентское устройство должно немедленно получить пакеты по линии прямой связи после обнаружения пакета "заголовок подкадра" (Sub-Frame Header), поскольку перед переходами линии связи в состояние бездействия передают только один подкадр. В обычных или в типичных режимах работы длина подкадра не равна нулю, и во время того как интерфейс находится в этих состояниях, которые все вместе показаны на фиг.49 как состояния "наличие синхронизации", клиентское устройство только лишь производит обработку пакетов, передаваемых по линии прямой связи.
Клиентское устройство, работающее во внешнем режиме, может быть присоединено к главному устройству в тот момент времени, когда главное устройство уже производит передачу последовательности данных по линии прямой связи. В этой ситуации клиентское устройство должно синхронизироваться с главным устройством. Время, требуемое для того, чтобы клиентское устройство синхронизировалось с сигналом в линии прямой связи, является непостоянным и зависит от размера подкадра и скорости передачи данных по линии прямой связи.
Вероятность обнаружения "ложной копии" специального слова в виде части случайных или более случайных данных в линии прямой связи возрастает по мере увеличения размера подкадра. В то же самое время способность восстановления после ложного обнаружения является более низкой, и время, затрачиваемое на это, является более длительным при более медленной скорости передачи данных по линии прямой связи.
Для одного или для большего количества вариантов осуществления изобретения рекомендовано или понятно следующее: перед тем как главным устройством интерфейса MDDI будет остановлена передача по линии прямой связи для перехода в режим с низким энергопотреблением или для полного отключения линии связи, им должны быть выполнены определенные дополнительные операции для обеспечения устойчивости линии обратной связи интерфейса MDDI.
Одна из проблем, которые могут возникнуть, состоит в следующем: если главное устройство использует неправильный результат измерения значения двусторонней задержки, то это может вызвать то, все впоследствии принятые данные, переданные по линии обратной связи из клиентского устройства, будут неправильными, даже если линия прямой связи оказывается хорошо работающей. Это может произойти в том случае, если главное устройство предпринимает попытку передать пакет "измерение двусторонней задержки" (Round Trip Delay Measurement) в тот момент, когда клиентское устройство не синхронизовано с линией прямой связи, или вследствие чрезвычайно большого изменения температуры окружающей среды, которое вызывает соответствующее большое изменение задержки на прохождение сигнала в дифференциальных формирователях и приемниках, оказывающее влияние на двустороннюю задержку. Наличие прерывистого контакта в кабеле или нарушение контакта в соединителе также могут вызвать временную потерю синхронизации клиентским устройством и последующее восстановление синхронизации, причем в течение этого времени оно может пропустить прием пакета "измерение двусторонней задержки" (Round Trip Delay Measurement). Главное устройство было бы неспособно правильно декодировать последующие пакеты, передаваемые по линии обратной связи.
Может возникнуть проблема иного типа, состоящая в следующем: если произошла временная потеря синхронизации клиентским устройством, и главное устройство передает пакет "отключение линии связи" (Link Shutdown) до того момента, когда клиентское устройство способно восстановить синхронизацию. Главное устройство будет находиться в состоянии "спячки", в это время клиентское устройство не способно войти в состояние "спячки", поскольку им получен пакет "отключение линии связи" (Link Shutdown), и не имеет тактовых импульсов, поскольку линия связи находится в состоянии "спячки".
Одним из способов или вариантов осуществления изобретения, который является пригодным для решения таких проблем, состоит в следующем: главное устройство должно гарантировать то, что перед введением линии прямой связи в состояние "спячки" клиентское устройство является синхронизированным с этой линией связи. Если главное устройство интерфейса MDDI неспособно сделать это или не имеет такой возможности, например, при потере им мощности или при резком разрыве или повреждении линии связи вследствие разрыва, поломки или отсоединения кабеля, проводника или соединителя, происходящих во время работы, то главное устройство должно сначала предпринять попытку обеспечить синхронизацию клиентского устройства перед тем, как им будет начат процесс измерения двусторонней задержки или передан пакет "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation).
Главное устройство может следить за полем "количество ошибок, обнаруженных посредством ЦИК" в пакете "запрос клиентского устройства и его состояние" (Client Request and Status), переданном клиентским устройством, для определения целостности линии прямой связи. Этот пакет запрошен главным устройством из клиентского устройства. Однако в случае серьезной неисправности или серьезного нарушения линии связи наиболее вероятно, что этот запрос останется без ответа, так как клиентское устройство не будет способно надлежащим образом декодировать пакет или, возможно, даже принять его целиком. Запрос на получение сведений о количестве ошибок, обнаруженных посредством ЦИК, с использованием пакета "запрос клиентского устройства и его состояние" (Client Request and Status), переданного в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), действует в качестве первой проверки целостности, являющейся чем-то вроде первой "линии обороны". Кроме того, главное устройство может передать пакет "измерение двусторонней задержки" (Round Trip Delay Measurement) для подтверждения того, является ли предположение о том, что клиентское устройство вышло из синхронизации, правильным или нет. Если клиентское устройство не отвечает на пакет "измерение двусторонней задержки" (Round Trip Delay Measurement), то главное устройство делает вывод о том, что клиентское устройство не синхронизировано, и затем может начать процесс его возвращения в синхронизированное состояние.
После того как главным устройством сделан вывод о том, что с большой степенью вероятности клиентским устройством потеряна синхронизация с линией прямой связи, оно находится в режиме ожидания до следующего заголовка подцикла перед попыткой передать любые другие пакеты, кроме пакетов-заполнителей. Это сделано для того, чтобы предоставить клиентскому устройству достаточное время для обнаружения или поиска одного специального слова, содержащегося в пакете "заголовок подцикла". После этого главное устройство может предположить, что клиентское устройство произвело сброс своих параметров в исходное состояние, так как им не было найдено специальное слово в надлежащем месте. В этот момент главное устройство может послать после пакета "заголовок подцикла" пакет "измерение двусторонней задержки" (Round Trip Delay Measurement). Если клиентское устройство по-прежнему не отвечает правильно на пакет "измерение двусторонней задержки" (Round Trip Delay Measurement), то главное устройство может повторить процесс повторной синхронизации. Правильным ответом является тот, в котором клиентское устройство передает назад в главное устройство заданную последовательность в поле "период измерения" пакета "измерение двусторонней задержки" (Round Trip Delay Measurement). Если эта последовательность не принята, то попытки получения данных по линии обратной связи в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) потерпят неудачу. Продолжающаяся неисправность такого характера может служить признаком наличия какой-либо иной системной ошибки, которую нужно исправлять каким-либо иным образом, и в этот момент не является частью синхронизации линии связи.
Однако, если после успешной передачи пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) главное устройство по-прежнему видит разрушенные данные или отсутствие ответа в пакетах "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), то оно должно подтвердить, что выборка данных, переданных по линии обратной связи, является правильной, путем повторной передачи пакета "измерение двусторонней задержки" (Round Trip Delay Measurement). Если после нескольких попыток успех не достигнут, то для одного из вариантов осуществления изобретения рекомендовано, чтобы главное устройство снизило скорость передачи данных по линии обратной связи путем увеличения значения делителя скорости передачи по линии обратной связи.
Перед введением линии связи интерфейса MDDI в состояние "спячки" главное устройство должно выполнить описанные выше операции обнаружения неисправности линии связи и, возможно, повторной синхронизации линии связи. Как правило, это гарантирует успешную передачу пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), производимую после возобновления работы линии связи впоследствии. Если у главного устройства отсутствует повод подозревать наличие неисправности линии связи, и клиентское устройство сообщает правильный ответ на пакет "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) и о том, что ошибки, обнаруженные посредством ЦИК в линии прямой связи, равны нулю, главное устройство может предположить, что все  работает или функционирует надлежащим или соответствующим образом (например, отсутствует неисправность линии связи), и продолжает процесс выключения питания/перехода в состояние "спячки".
Другим способом, посредством которого главное устройство может проверить наличие синхронизации, является передача главным устройством пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) и подтверждение правильного ответа от клиентского устройства. Если главным устройством получен правильный ответ, то может быть сделано обоснованное предположение о том, что клиентское устройство успешно интерпретирует пакеты, передаваемые по линии прямой связи.
C. Инициализация
Как изложено выше, во время "запуска" главное устройство конфигурирует линию прямой связи таким образом, чтобы она работала на требуемой или желательной минимальной скорости передачи данных, равной 1 мегабит в секунду (Мб/с), или на меньшей скорости, и соответствующим образом конфигурирует длину подкадра и частоту кадров с аудиовизуальной информацией для заданного применения. То есть обе линии связи: линия прямой связи и линия обратной связи, начинают работать с использованием интерфейса типа 1. Эти параметры обычно собираются использовать всего лишь временно во время того, как главное устройство определяет возможности или желательную конфигурацию клиентского устройства отображения (или клиентского устройства иного типа). Главное устройство посылает или передает по линии прямой связи пакет "заголовок подкадра" (Sub-Frame Header), после которого следует пакет "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), в котором значение бита номер '0' в поле "флаги запроса" установлено равным единице (1), для выдачи запроса на получения из устройства отображения или клиентского устройства ответа в виде пакета "возможности клиентского устройства" (Client Capability). После того, как установлена синхронизация устройства отображения с линией прямой связи, оно передает пакет "возможности клиентского устройства" (Client Capability) и пакет "запрос клиентского устройства и его состояние" (Client Request and Status) по линии обратной связи или каналу.
Главное устройство исследует содержимое пакета "возможности клиентского устройства" (Client Capability) для определения того, каким образом следует реконфигурировать линию связи для обеспечения оптимального или желательного уровня производительности. Главное устройство исследует поля "версия протокола" и "минимальная версия протокола" для подтверждения того, что главное устройство и клиентское устройство используют версии протокола, которые являются совместимыми одна с другой. Версии протокола обычно остаются в качестве первых двух параметров пакета "возможности клиентского устройства" (Client Capability) для того, чтобы совместимость могла быть определена даже в том случае, когда другие элементы протокола могут являться несовместимыми или могут быть истолкованы как не полностью совместимые.
Во внутреннем режиме главное устройство может заранее знать параметры клиентского устройства, при этом отсутствует необходимость в получении пакета "возможности клиентского устройства" (Client Capability). Запуск линия связи может быть произведен на любой скорости передачи данных, с которой могут работать оба устройства: главное устройство и клиентское устройство. Во многих вариантах осуществления изобретения наиболее вероятно то, что разработчик системы выберет вариант запуска линии связи на максимально достижимой скорости передачи данных для ускорения передачи данных, однако это не является обязательным условием и может не использоваться во многих ситуациях. Для работы во внутреннем режиме частота стробирующих импульсов, используемая во время последовательности операций по возобновлению линии связи после состояния "спячки", обычно является согласованной с этой желательной скоростью передачи.
D. Обработка ЦИК
Для пакетов всех типов конечный автомат устройства обработки пакетов обеспечивает соответствующее или надлежащее управление устройством контроля посредством ЦИК. Он также осуществляет приращение показания счетчика ошибок, обнаруженных посредством ЦИК, тогда, когда сравнение ЦИК приводит к обнаружению одной или большего количества ошибок, и сброс показания счетчика ЦИК в исходное состояние в начале каждого обрабатываемого подкадра.
E. Альтернативная проверка факта потери синхронизации
Несмотря на то что описанная выше последовательность операций или состояний работает таким образом, что обеспечивает более высокие скорости передачи данных или более высокую пропускную способность, заявителями было обнаружено, что для эффективного достижения еще более высоких скоростей передачи данных или еще более высокой пропускной способности может быть использована альтернативная схема или альтернативное изменение условий, используемое клиентским устройством для заявления о факте потери синхронизации с главным устройством. Новый вариант осуществления, обладающий признаками изобретения, имеет ту же самую основную структуру, но измененные условия для изменения состояния. В дополнение к этому, реализован новый счетчик, помогающий проведению проверок синхронизации подкадров. Эти операции и условия представлены На фиг.63, на котором проиллюстрирована последовательность состояний и условий, пригодная для создания операций способа или конечного автомата. Для доходчивости на чертеже показаны только те части, которые представляют собой состояния "вхождение в режим синхронизации" (ACQUIRING-SYNC) и состояния "наличие синхронизации" (IN-SYNC). Кроме того, поскольку результирующие состояния являются, по существу, теми же самыми, как и в самом конечном автомате, то использована та же самая их нумерация. Однако условия для изменения состояния (и работы конечного автомата) несколько отличаются, поэтому для доходчивости все они обозначены на двух чертежах различными номерами (1, 2, 3, 4, 5 и 6 в сравнении с 61, 62, 63, 64 и 65) для удобства определения отличий. Поскольку состояние "асинхронные кадры" в этом месте описания не рассматривают, то на этом чертеже одно состояние (4904) и одно условие (6) уже не используют.
Как показано на фиг.63, в начале в системе или в клиентском устройстве (предназначенном для отображения или воспроизведения) конечный автомат 5000 находится в заранее выбранном состоянии 4902 "синхронизация отсутствует", как и на фиг.49. Первым изменением состояния для изменения состояний, приводящего к выходу из состояния 4902 "синхронизация отсутствует", является наличие условия 64, которым является обнаружение синхронизирующей комбинации. Предполагая, что ЦИК заголовка подкадра также передан в этом пакете (удовлетворено условие 61), состояние конечного автомата устройства обработки пакетов может быть изменено на состояние 4908 "наличие синхронизации". Возникновение ошибки синхронизации, обозначенное как условие 62, вызовет переход конечного автомата в состояние 4910, а второе ее возникновение - в состояние 4912. Однако было обнаружено, что любой неправильный ЦИК пакета интерфейса MDDI вызывает переход конечного автомата из состояния 4908 "наличие синхронизации" в состояние 4910 "одна ошибка синхронизации". Другой неправильный ЦИК любого пакета интерфейс MDDI вызывает переход в состояние 4912 "две ошибки синхронизации". Пакет, декодированный с правильным значением ЦИК, вызывает возврат конечного автомата в состояние 4908 "наличие синхронизации".
Тем, что было изменено, является использование значения ЦИК или его определение для 'каждого' пакета. То есть для определения факта потери синхронизации конечный автомат должен проверять значение ЦИК для каждого пакета, а не просто отслеживать пакеты "заголовок подкадра" (Sub-Frame Header). В этой конфигурации или в этом процессе определение факта потери синхронизации с использованием специального слова и только значений ЦИК заголовка подкадра не производят.
Этот новый вариант реализации интерфейса обеспечивает для линии связи интерфейса MDDI возможность намного более быстрого распознавания нарушений синхронизации и, следовательно, также более быстрого их устранения.
Чтобы обеспечить более высокую устойчивость этой системы к ошибкам, в клиентское устройство также должен быть добавлен счетчик подкадров или оно должно использовать его. В этом случае клиентское устройство проверяет наличие специального слова в тот момент времени, когда ожидается его поступление или наличие в сигнале. Если в надлежащий момент времени специальное слово отсутствует, то клиентское устройство может распознать, что произошло нарушение синхронизации, намного быстрее, чем в том случае, когда оно должно было находиться в режиме ожидания в течение нескольких (в этом случае трех) промежутков времени или периодов передачи пакета, продолжительность которых превышает длину подкадра. Если результат проверки специального слова указывает, что оно отсутствует, другими словами, что привязка по времени является неправильной, то клиентское устройство может незамедлительно объявить о потере синхронизации в линии связи и перейти в состояние "синхронизация отсутствует". Процесс проверки наличия надлежащего специального слова добавляет в конечный автомат условие 65, гласящее, что специальное слово является неправильным. Если ожидается, что пакет подкадра должен быть принят в клиентском устройстве и не соответствует ему, то клиентское устройство может незамедлительно перейти в состояние 4902 "синхронизация отсутствует", экономя дополнительное время на ожидание множества ошибок синхронизации (условие 62), что обычно происходит путем прохода через состояния 4910 и 4912.
В этом измененном варианте в ядре клиентского устройства используют дополнительный счетчик или функцию отсчета для отсчета длины подкадра. В одном из вариантов осуществления изобретения использована функция отсчета в обратном порядке, и если показания счетчика истекли, то передачу любого пакета, обрабатываемого в текущий момент времени, прерывают для проверки специального слова в подкадре. В альтернативном варианте счетчик может отсчитывать, в какой именно момент производят проверку текущего пакета, путем сравнения отсчета с максимальным желательным значением или с конкретным желательным значением. Этот процесс защищает клиентское устройство от декодирования пакетов, неправильно принятых в клиентском устройстве, с необычно большими значениями длины пакета. Если счетчик длины подкадра должен прервать какой-либо другой пакет, декодирование которого производят в текущий момент времени, то факт потери синхронизации все же может быть определен, так как границу подкадра не должен пересечь никакой из пакетов.
IX. ОБРАБОТКА ПАКЕТОВ
Для пакета каждого из описанных выше типов, который получает конечный автомат, он выполняет конкретную операцию или последовательность операций обработки для реализации функционирования интерфейса. Обработку пакетов, передаваемых по линии прямой связи, обычно осуществляют согласно приведенным в качестве примера операциям обработки, перечисленным в приведенной ниже таблице XIV.
<b>Таблица XIV</b>
<b>Тип пакета</b>
<b>Отклик конечного автомата устройства обработки пакетов</b>
"Заголовок подкадра"(Sub-Frame Header, SH)
Подтверждает, что пакет является правильным, извлекает данные из поля "длина подкадра" и передает параметры пакета в универсальный процессор
"Заполнитель"(Filler, F)
Игнорирует данные
Поток видеоинформации" (Video Stream, VS)
Интерпретирует дескриптор формата видеоинформации и другие параметры, при необходимости распаковывает упакованные данные об элементах изображения, при необходимости производит преобразование элементов изображения посредством карты цветов и записывает данные об элементах изображения в надлежащие места в растровом изображении
"Поток звуковой информации" (Audio Stream, AS)
Передает установленное значение частоты дискретизации звукового сигнала в генератор тактовых импульсов для выборки звуковых данных, при необходимости разделяет выборки звуковых данных на выборки заданного размера, при необходимости распаковывает данные о выборках звуковых данных и направляет выборки звуковых данных в надлежащий буфер обратного магазинного типа (FIFO) для выборок звуковых данных
"Карта цветов" (Color Map, CM)
Считывает размер и параметры смещения карты цветов и записывает данные карты цветов в запоминающее устройство или в ячейку памяти для карты цветов
"Инкапсуляция для линии обратной связи"(Reverse Link Encapsulation, REL)
Облегчает передачу пакетов в обратном направлении в надлежащий момент времени. Исследует флаги линии обратной связи и при необходимости передает пакеты "возможности клиентского устройства" (Client Capability). Также производят передачу соответствующих пакетов "запрос клиентского устройства и его состояние" (Client Request and Status)
"Возможности клиентского устройства"(Client Capability, CC)
Пакет этого типа оно передает по запросу главного устройства с использованием поля "флаги линии обратной связи" в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation)
"Данные клавиатуры" ("Keyboard Data", K)
Передает эти пакеты в универсальный процессор и из универсального процессора, который производит обмен информацией с устройством типа клавиатуры, при его наличии и если желательно его использование
"Данные координатно-указательного устройства" (Pointing Device Data, PD)
Передает эти пакеты в универсальный процессор и из универсального процессора, который производит обмен информацией с устройством, представляющим собой координатно-указательное устройство, при его наличии и если желательно его использование
"Отключение линии связи" (Link Shutdown, LS)
Регистрирует тот факт, что линия связи отключена, и уведомляет об этом универсальный процессор
"Запрос клиентского устройства на обслуживание и его состояние"(Client Service Request and Status, CSRS)
Передает этот пакет как первый пакет в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation)
"Передача блока данных растрового изображения"(Bitmap Block Transfer, BPT)
Интерпретирует такие параметры пакета, как, например, дескриптор формата видеоинформации, определяет, какие именно элементы изображения следует переместить первыми, и выполняет требуемое перемещение элементов изображения в растровом изображении
"Закрашивание участка растрового изображения"(Bitmap Area Fill, BAF)
Интерпретирует параметры пакета, при необходимости производит преобразование элементов изображения посредством карты цветов и записывает данные об элементах изображения в надлежащие места в растровом изображении
"Заполнение узором из растровых изображений" (Bitmap Pattern Fill, BPF)
Интерпретирует параметры пакета, при необходимости распаковывает упакованные данные об элементах изображения, при необходимости производит преобразование элементов изображения посредством карты цветов и записывает данные об элементах изображения в надлежащие места в растровом изображении
"Канал линии связи" (Communication Link Channel, (CLC))
Передает эти данные напрямую в универсальный процессор
"Запрос на обслуживание клиентского устройства" (Client Service Request, CSR) во время состояния "спячки"
Универсальный процессор осуществляет управление функциями передачи запроса на нижнем уровне и обнаруживает наличие конкуренции за самостоятельное возобновление действия линии связи
"Запрос на переключение типа интерфейса" (Interface Type Handoff Request, ITHR) и "подтверждение приема данных о типе интерфейса" (Interface Type Acknowledge, ITA)
Может передавать эти пакеты в универсальный процессор и из него. Логические средства для приема пакета этого типа и для формулировки ответа с сообщением о подтверждении приема являются, по существу, минимальными. Следовательно, эта операция также может быть реализована в конечном автомате устройства обработки пакетов. Результирующее переключение режима происходит на нижнем уровне в виде действия на физическом уровне, и маловероятно, что оно окажет воздействие на функциональные возможности или на функционирование универсального процессора
"Выполнить переключение в режим указанного типа" (Perform Type Handoff, (PTH)
Может оказывать действие на эти пакеты либо непосредственно, либо путем их передачи в универсальный процессор, также выдает в аппаратные средства команду "изменить режим"
X. УМЕНЬШЕНИЕ СКОРОСТИ ПЕРЕДАЧИ ДАННЫХ
По линии обратной связи
Авторами изобретения было замечено, что определенные параметры, используемые для контроллера канала связи главного устройства, могут быть отрегулированы или сконфигурированы определенным образом для достижения максимальной или более оптимизированной (масштабированной) скорости передачи данных по линии обратной связи, которая является очень желательной. Например, в течение промежутка времени, используемого для передачи поля "пакеты данных, передаваемые по обратному каналу" в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), пару стробирующих сигналов MDDI_Stb переключают из одного состояния в другое для создания периодических тактовых импульсов для данных с частотой, соответствующей половине скорости передачи данных по линии прямой связи. Это происходит потому, что контроллер канала связи главного устройства осуществляет генерацию стробирующего сигнала MDDI_Stb, который соответствует такому сигналу данных MDDI_Data0, что как будто бы в нем передают все нули. Стробирующий сигнал MDDI_Stb передают из главного устройства в клиентское устройство, в котором его используют для генерации тактового сигнала для того, чтобы произвести передачу данных по линии обратной связи из клиентского устройства, посредством чего данные, подлежащие передаче по линии обратной связи, передают назад в главное устройство. На фиг.50 показан иллюстративный пример типичных значений задержки, возникающей при передаче и обработке сигнала в прямом и в обратном трактах в системе, в которой использован интерфейс MDDI. На фиг.50 рядом с узлами обработки, которыми являются следующие каскады: каскад генерации стробирующих сигналов Stb+/-, каскад передачи в клиентское устройство по кабелю, каскад приемника клиентского устройства, каскад генерации тактового сигала, каскад тактирования сигнала, каскад генерации сигналов Data0+/-, каскад передачи в главное устройство по кабелю и каскад приемника главного устройства, показана последовательность значений задержки, равных соответственно 1,5 нс, 8,0 нс, 2,5 нс, 2,0 нс, 1,0 нс, 1,5 нс, 8,0 нс и 2,5 нс.
В зависимости от скорости передачи данных по линии прямой связи и имеющихся задержек обработки сигналов для завершения этого эффекта или этой совокупности событий "прохождения сигнала в прямом и в обратном направлениях" может потребоваться большее количество времени, чем один период стробирующего сигнала MDDI_Stb, что приводит к тому, что на это расходуется нежелательное количество времени или периодов. Для преодоления этой проблемы делитель скорости передачи по обратному каналу дает возможность охватить множество периодов стробирующего сигнала MDDI_Stb за время одного интервала передачи бита по линии обратной связи. Это означает, что скорость передачи данных по линии обратной связи является меньшей, чем скорость передачи по линии прямой связи.
Следует отметить, что реальная длительность задержек сигналов, проходящих через интерфейс, может быть различной в зависимости от каждой конкретной системы клиентского устройства и главного устройства или от используемых аппаратных средств. Как правило, каждая система может быть выполнена таким образом, что функционирует лучше при использовании пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) для измерения реальной задержки в системе для того, чтобы можно было установить оптимальное значение делителя скорости передачи по обратному каналу, хотя это не является обязательным условием. Главное устройство может обеспечивать поддержку как базовой выборки данных, которая является более простой, но работает с более медленной скоростью, так и усовершенствованной выборки данных, то которая является сложной, но обеспечивает поддержку более высоких скоростей передачи данных по линии обратной связи. Считают, что клиентское устройство также способно обеспечивать поддержку обоих способов.
Двустороннюю задержку измеряют путем передачи главным устройством пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) в клиентское устройство. Клиентское устройство отвечает на этот пакет путем передачи последовательности единиц назад в главное устройство внутри или в течение заранее выбранного окна измерений в этом пакете, которое именуют полем "период измерения". Подробная временная диаграмма этого измерения была описана выше. Значение двусторонней задержки используют для определения скорости передачи, с которой можно безошибочно производить выборку данных, передаваемых по линии обратной связи.
Измерение двусторонней задержки состоит из определения, регистрации или подсчета количества тактовых интервалов при передаче данных по линии прямой связи, проходящих между началом поля "период измерения" и началом того промежутка времени, когда главным устройством получена ответная последовательность 0×ff, 0×ff, 0×00, переданная обратно из клиентского устройства. Следует отметить следующее: возможно, что ответ из клиентского устройства может быть принят на малую долю такта в линии прямой связи до того, как собираются произвести приращение отсчета результата измерения. Если для вычисления делителя скорости передачи по обратному каналу используют это неизмененное значение, то это могло бы вызвать ошибки в битах, передаваемых по линии обратной связи, вследствие недостоверной выборки данных. Пример этой ситуации проиллюстрирован На фиг.51, на котором в графическом виде показаны сигналы, отображающие сигнал данных MDDI_Data в главном устройстве, стробирующий сигнал MDDI_Stb в главном устройстве, тактовые импульсы для данных, передаваемых по линии прямой связи, в главном устройстве и отсчет задержки, посредством которых затем производят запись результирующего элемента изображения в целевое местоположение элемента изображения. Показанная на фиг.51 ответная последовательность была принята из клиентского устройства на долю периода такта в линии прямой связи до того, как собираются произвести приращение отсчета задержки от 6 до 7. Если сделано предположение о том, что задержка равна 6, то главное устройство произведет выборку данных, переданных по линии обратной связи, только после перемещения бита или, возможно, в середине перемещения бита. Это может привести к ошибочной выборке в главном устройстве. Поэтому измеренное значение задержки обычно должно быть увеличено на единицу перед его использованием для вычисления делителя скорости передачи по обратному каналу.
Делитель скорости передачи по обратному каналу равен количеству периодов стробирующего сигнала MDDI_Stb, в течение которого главное устройство должно находиться в режиме ожидания перед тем, как будет произведена выборка данных, переданных по линии обратной связи. Поскольку частота стробирующего сигнала MDDI_Stb соответствует половине скорости передачи по линии прямой связи, то скорректированное измеренное значение двусторонней задержки должно быть разделено на 2, а затем округлено в большую сторону до следующего целого числа. Выраженная в виде формулы, эта зависимость имеет следующий вид:
Для приведенного примера он равен:
Если бы в этом примере был использован результат измерения двусторонней задержки, равный 7, а не 6, то делитель скорости передачи по обратному каналу также был бы равен 4.
Выборку данных, передаваемых по линии обратной связи, главное устройство производит по фронту нарастания тактовых импульсов в линии обратной связи. В обоих устройствах: в главном устройстве и в клиентском устройстве (в устройстве отображения), имеется счетчик либо аналогичная известная схема или аналогичное известное устройство для генерации тактовых импульсов в линии обратной связи. Счетчики инициализированы таким образом, чтобы первый фронт нарастания тактовых импульсов в линии обратной связи возникал в начале первого бита в поле "пакеты, передаваемые по линии обратной связи" пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). На фиг.52A это проиллюстрировано для примера, описанного ниже. Приращение показания счетчиков происходит на каждом фронте нарастания стробирующего сигнала MDDI_Stb, и количество отсчетов, производимых до их зацикливания, задано параметром "делитель скорости передачи по обратному каналу" в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation). Так как переключение стробирующего сигнала MDDI_Stb из одного состояния в другое происходит с частотой, соответствующей половине скорости передачи по линии прямой связи, то скорость передачи по линии обратной связи равна половине скорости передачи по линии прямой связи, разделенной на делитель скорости передачи по обратному каналу. Например, если скорость передачи по линии прямой связи равна 200 мегабит в секунду (Мб/с) и делитель скорости передачи по обратному каналу равен 4, то выражение для скорости передачи данных по линии обратной связи имеет следующий вид:
Пример, демонстрирующий временную диаграмму линий передачи сигналов MDDI_Data0 и MDDI_Stb для пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation), показан на фиг.52, где параметры пакета, использованные в качестве иллюстративного примера, имеют следующие значения:
длина пакета = 1024 (0×0400);
тип пакета = 65 (0×41);
флаги линии обратной связи = 0;
ЦИК параметров = 0×db43;
длина поля "первое изменение направления передачи на обратное" = 1;
длина поля "второе изменение направления передачи на обратное" = 1;
делитель скорости передачи по обратному каналу = 2
"все нули" 0×00;
данные пакета между полями "длина пакета" и "ЦИК параметров": 0×00, 0×04, 0×41, 0×00, 0×02, 0×01, 0×01, 0×43, 0×db, 0×00, … .
Первым пакетом, возвращенным по линии обратной связи из клиентского устройства, является пакет "запрос клиентского устройства и его состояние" (Client Request and Status), имеющий длину пакета, равную 7, и тип пакета, равный 70. Этот пакет начинается с байтов, значения которых равны 0×07, 0×00, 0×46 … и т.д. Однако на фиг.52 виден только первый байт (0×07). На чертеже этот первый пакет, переданный по линии обратной связи, показан имеющим сдвиг по времени почти на один период тактового импульса в линии обратной связи для того, чтобы проиллюстрировать фактическую задержку в линии обратной связи. Идеальная форма сигнала с нулевой двусторонней задержкой при прохождении сигнала между главным устройством и клиентским устройством показана пунктирной линией.
После поля "тип пакета" передают самый старший байт поля "ЦИК параметров", а затем поле "все нули". Стробирующий сигнал из главного устройства переключают из состояния "единица" в состояние "ноль" и обратно в состояние "единица" по мере того, как данные из главного устройства изменяют уровень, образуя более широкие импульсы. Когда сигнал "данные" переходит в состояние "ноль", переключение стробирующего сигнала происходит с более высокой частотой, только изменение данных, передаваемых по линии передачи данных, вызывает изменение вблизи конца поля выравнивания. В течение остального времени, показанного на чертеже, переключение стробирующего сигнала происходит с более высокой частотой вследствие наличия фиксированных уровней сигнала данных, равных 0 или 1, в течение длительных промежутков времени и того, что переходы между уровнями попадают на последовательность (фронт) импульсов.
Тактовые импульсы в линии обратной связи для главного устройства равны нулю до конца промежутка времени "первое изменение направления передачи на обратное" (Turn Around 1), когда начинают подачу тактовых импульсов для обеспечения передачи пакетов по линии обратной связи. Стрелки в нижней части чертежа указывают те моменты, когда производят выборку данных, что является очевидным из остальной части настоящего описания заявки. Здесь показано, что первый передаваемый байт поля пакета (равный здесь 11000000) начинается после поля "первое изменение направления передачи на обратное" (Turn Around 1) и что произошла стабилизация уровня сигнала в линии передачи вследствие отключения формирователя главного устройства. Видна задержка прохождения первого бита и, как видно, до бита номер три, обозначенная пунктирными линиями для сигнала данных.
На фиг.53 показаны типичные значения делителя скорости передачи по обратному каналу, полученные исходя из скорости передачи данных по линии прямой связи. Реальный делитель скорости передачи по обратному каналу определяют в результате измерения линии связи при прохождении сигнала в обоих направлениях, чтобы гарантировать надлежащее функционирование линии обратной связи. Первая область 5302 соответствует области надежной работы, вторая область 5304 соответствует области работы в предельно допустимом режиме, а третья область 5306 указывает установочные параметры, при которых правильное функционирование маловероятно.
Результат измерения двусторонней задержки и установленное значение делителя скорости передачи по обратному каналу являются теми же самыми при работе с любым установленным значением типа интерфейса по любой из линий связи: по линии прямой связи или по линии обратной связи, поскольку они выражены и функционируют в единицах реальных периодов тактовых импульсов, а не в единицах количества переданных или принятых битов.
Как правило, наибольший возможный делитель скорости передачи по обратному каналу равен половине того количества битов, которое может быть передано в окне измерений пакета "измерение двусторонней задержки" (Round Trip Delay Measurement) с использованием интерфейса типа 1, или для этого примера он равен
В качестве альтернативы также может быть использован усовершенствованный способ выборки данных, переданных по линии обратной связи, который позволяет обеспечить меньший интервал передачи бита по линии обратной связи, чем двусторонняя задержка. Для этого способа главное устройство не только измеряет двустороннюю задержку, но также может определять фазу ответа из клиентского устройства относительно границы 'идеального' бита клиентского устройства и линии связи с нулевой задержкой. Зная фазу ответа клиентского устройства, главное устройство может определить относительно безопасное время для выборки битов данных, переданных по линии обратной связи из клиентского устройства. Результат измерения двусторонней задержки указывает главному устройству местоположение первого бита данных, переданных по линии обратной связи, относительно начала поля "пакеты данных, передаваемые по обратному каналу".
Пример одного из вариантов осуществления усовершенствованной выборки данных, переданных по линии обратной связи, показан в графическом виде на фиг.52В. Идеальный сигнал данных, переданных по линии обратной связи с нулевой двусторонней задержкой, показан как форма сигнала, обозначенная пунктирной линией. Реальную двустороннюю задержку между 3,5 и 4 периодами стробирующего сигнала MDDI_Stb можно увидеть как разность задержки между формой сигнала, обозначенной сплошной линией, и формой идеального сигнала. Эта задержка является такой же самой задержкой, которая была бы измерена с использованием пакета "измерение двусторонней задержки" (Round Trip Delay Measurement), и представляет собой измеренное значение двусторонней задержки, равное 7 интервалам передачи бита по линии прямой связи. В этом варианте осуществления изобретения биты данных, переданных по линии обратной связи, имеют длину, равную 2 импульсам стробирующего сигнала MDDI_Stb, которая равна 4 интервалам передачи бита по линии прямой связи, что соответствует делителю скорости передачи по обратному каналу, равному 2. Для усовершенствованной выборки данных, переданных по линии обратной связи, удобно использовать заранее выбранный делитель скорости передачи по обратному каналу, равный 2, вместо его вычисления, описанного в другом месте описания. Этот вариант представляется, по существу, оптимальным вариантом для усовершенствованной выборки данных, переданных по линии обратной связи, потому, что идеальный момент выборки может быть легко определенным с использованием результатов обычных измерений, описанных выше.
Идеальный момент выборки для данных, переданных по линии обратной связи, может быть легко вычислен, беря остаток от деления общей двусторонней задержки на количество тактовых импульсов в линии прямой связи, приходящееся на бит, переданный по линии обратной связи, или путем вычисления значения двусторонней задержки по модулю величины, равной количеству тактовых импульсов в линии прямой связи, приходящемуся на бит, переданный по линии обратной связи. Затем вычитают либо 1, либо 2 для того, чтобы добраться до безопасной точки, отдаленной от перехода в данных. В этом примере 7 по модулю 4=3, тогда 3-1=2 или 3-2=1. Надежный момент выборки отстоит или на 1 или на 2 интервала передачи бита по линии прямой связи от края границы "идеального" бита для нулевой двусторонней задержки. На чертеже показан момент выборки, отстоящий от границы идеального бита на 2 интервала передачи бита по линии прямой связи, что указано серией вертикальных стрелок, расположенных внизу временной диаграммы. Моментом первой выборки является первая граница идеального бита после измеренной двусторонней задержки плюс смещение для обеспечения надежной выборки. В этом примере результат измерения двусторонней задержки равен 7, поэтому граница следующего идеального бита находится в восьмом интервале передачи бита, затем добавляют 1 или 2 для обеспечения надежного момента выборки, поэтому выборку первого бита следует производить в девятом или в десятом интервале передачи бита по линии прямой связи после начала поля "пакеты данных, передаваемые по обратному каналу".
XI. ВРЕМЕННЫЕ ИНТЕРВАЛЫ, ОТВЕДЕННЫЕ НА ИЗМЕНЕНИЕ НАПРАВЛЕНИЯ ПЕРЕДАЧИ НА ОБРАТНОЕ, И ЗАЩИТНЫЕ ВРЕМЕННЫЕ ИНТЕРВАЛЫ
Поле "первое изменение направления передачи на обратное" (Turn-Around 1) в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) обеспечивает наличие времени для одновременного отключения формирователей в главном устройстве и включения формирователей в клиентском устройстве. Поле "первый защитный временной интервал" в пакете "измерение двусторонней задержки" (Round Trip Delay Measurement) обеспечивает возможность перекрытия по времени для главного устройства и клиентского устройства, поэтому формирователи в клиентском устройстве могут быть включены до того, как будут отключены формирователи интерфейса в главном устройстве. Поле "второе изменение направления передачи на обратное" (Turn-Around 2) в пакете "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation) обеспечивает возможность передачи из клиентского устройства всех данных, имеющихся в предыдущем поле, до включения формирователей в главном устройстве. Поле "второй защитный временной интервал" обеспечивает промежуток времени или период такой длительности, которая позволяет одновременно приводить формирователи в клиентском устройстве и в главном устройстве в состояние с уровнем, равным логическому нулю. Поля "первый защитный временной интервал" и "второй защитный временной интервал" обычно заполнены заранее заданными или заранее выбранными значениями длины, но это не означает, что их регулируют. В зависимости от используемых аппаратных средств интерфейса, эти значения могут быть созданы с использованием эмпирических данных и в некоторых случаях скорректированы для улучшения функционирования.
"Первое изменение направления передачи на обратное"
(Turn-Around 1)
BIT
В определение длины поля "первое изменение направления передачи на обратное" (Turn-Around 1) вносят вклад несколько факторов, и ими являются: скорость передачи данных по линии прямой связи, максимальное время запрета для формирователей канала MDDI_Data в главном устройстве и время разрешения работы формирователя в клиентском устройстве, которое обычно является тем же самым, что и время запрета для главного устройства. Длина поля "первое изменение направления передачи на обратное" (Turn-Around 1) выбрана таким образом, что равна 24·t (см. таблицу XIII). Длину количества байтов, передаваемых по линии прямой связи, в поле "первое изменение направления передачи на обратное" (Turn-Around 1) определяют с использованием показателя "тип интерфейса" (Interface Type Factor) и вычисляют с использованием следующей зависимости:
где показатель "тип интерфейса" равен 1 для типа 1, равен 2 для типа 2, равен 4 для типа 3 и равен 8 для типа 4, а аббревиатура ЛПС означает "линия прямой связи".
"Второе изменение направления передачи на обратное"
(Turn-Around 2)
BIT
Факторами, которые определяют отрезок времени, обычно используемый для второго изменения направления передачи на обратное (Turn-Around 2), являются следующие: двусторонняя задержка в линии связи, максимальное время запрета для формирователей линии MDDI_Data в клиентском устройстве и время разрешения работы формирователя в главном устройстве, которое задано равным времени запрета для формирователя в клиентском устройстве. Максимальное значение времени разрешения работы формирователя в главном устройстве и время запрета для формирователя в клиентском устройстве указаны в другом месте описания. Двусторонняя задержка измерена в единицах t. Минимальную длину, указанную как количество байтов, передаваемых по линии прямой связи, в поле "второе изменение направления передачи на обратное" (Turn-Around 2) вычисляют согласно следующей зависимости:
Например, для линии прямой связи типа 3 с двусторонней задержкой, равной 10 тактовым импульсам в линии прямой связи, для второго изменения направления передачи на обратное (Turn Around 2) обычно используют задержку порядка
XII. АЛЬТЕРНАТИВНОЕ РАСПРЕДЕЛЕНИЕ ВРЕМЕННЫХ ИНТЕРВАЛОВ В ЛИНИИ ОБРАТНОЙ СВЯЗИ
Хотя использование описанных выше временных и защитных интервалов и действует таким образом, что обеспечивает реализацию интерфейса с высокой скоростью передачи данных, авторами изобретения был найден способ, обеспечивающий возможность использования более коротких значений длины битов, передаваемых по линии обратной связи, чем время прохождения сигнала в прямом и обратном направлениях, путем изменения временной диаграммы в линии обратной связи.
Как изложено выше, в предыдущем подходе к распределению временных интервалов в линии обратной связи временная диаграмма сконфигурирована таким образом, что количество периодов тактовых импульсов отсчитывают от последнего бита поля "первый защитный временной интервал" пакета, определяющего временной интервал в линии обратной связи, до тех пор, пока не будет произведена выборка первого бита на фронте нарастания тактовых импульсов ввода-вывода (IO). То есть тактового сигнала (тактовых сигналов), используемого (используемых) в интерфейсе MDDI для согласования ввода и вывода сигналов по времени. В этом случае делитель скорости передачи по обратному каналу вычисляют следующим образом:
Это обеспечивает ширину бита, равную двусторонней задержке, что приводит к получению очень надежной линии обратной связи. Однако было продемонстрировано, что линия обратной связи способна работать быстрее или на более высокой скорости передачи данных, преимущества которой авторы настоящего изобретения желали бы использовать. Предложенный в настоящем изобретении новый способ позволяет использовать дополнительные возможности интерфейса для достижения более высоких скоростей.
Это достигнуто следующим образом: главное устройство отсчитывает количество периодов тактовых импульсов до тех пор, пока не произведена выборка единицы, но при этом во время передачи пакета, определяющего временной интервал в линии обратной связи, главное устройство производит выборку в линии передачи данных на обоих фронтах сигнала: на фронте нарастания и на фронте спада. Это позволяет главному устройству выбрать наиболее пригодный или даже оптимальный момент выборки в пределах бита, передаваемого по линии обратной связи, для обеспечения устойчивости бита. То есть для того, чтобы найти наиболее пригодный или оптимальный фронт нарастания для выборки данных в пакетах инкапсуляции для линии обратной связи для обратного потока информационного обмена. Оптимальный момент выборки зависит как от делителя для линии обратной связи, так и от того, была ли обнаружена первая единица на фронте нарастания или на фронте спада. Новый способ распределению временных интервалов позволяет главному устройству производить поиск только первого фронта последовательности 0xFF 0xFF 0x00, переданной клиентским устройством для привязки линии обратной связи по времени, для определения того, где именно следует произвести выборку в пакете "инкапсуляция для линии обратной связи".
Примеры поступления бита, переданного по линии обратной связи, и того, какой вид имеет этот бит при различных значениях делителя скорости передачи по обратному каналу, проиллюстрированы на фиг.64 вместе с несколькими периодами тактовых импульсов, прошедших после последнего бита поля "первый защитный временной интервал". На фиг.64 видно, что если первый фронт находится между фронтом нарастания и фронтом спада тактовых импульсов (что обозначено на чертеже как "нарастание/спад"), то оптимальным моментом выборки для делителя скорости передачи по обратному каналу, равного единице, является оптимальный момент выборки на фронте тактовых импульсов, обозначенном как 'b', поскольку он является единственным фронтом нарастания, находящимся в пределах интервала времени прохождения бита по обратному каналу. Для делителя скорости передачи по обратному каналу, равного двум, оптимальным моментом выборки, вероятно, по-прежнему является передний фронт 'b' тактовых импульсов, поскольку фронт 'c' тактовых импульсов находится ближе к фронту бита, чем 'b'. Для делителя скорости передачи по обратному каналу, равному четырем, оптимальным моментом выборки, вероятно, является фронт 'd' тактовых импульсов, поскольку он находится ближе к заднему фронту бита, переданного по линии обратной связи, где его значение, вероятно, уже стабилизировалось.
Возвращаясь к фиг.64, однако, если первый фронт находится между фронтом спада и фронтом нарастания тактовых импульсов (что обозначено на чертеже как "спад/нарастание"), то оптимальным моментом выборки для делителя скорости передачи по обратному каналу, равного единице, является момент выборки на фронте 'а' тактовых импульсов, поскольку он является единственным фронтом в пределах интервала времени прохождения бита по обратному каналу. Для делителя скорости передачи по обратному каналу, равному двум, оптимальным моментом выборки является фронт 'b', а для делителя скорости передачи по обратному каналу, равного четырем, оптимальным моментом выборки является фронт 'c'.
Видно, что по мере увеличения значения делителей скорости передачи по обратному каналу становится проще установить или выбрать оптимальный момент выборки, поскольку им должен являться фронт нарастания импульса, наиболее близкий к середине.
Главное устройство может использовать этот способ для выяснения количества фронтов нарастания тактовых импульсов до обнаружения фронтов нарастания сигнала данных пакета с данными о временных интервалах в линии передачи данных. Затем, на основании того, находится ли фронт между фронтом нарастания и фронтом спада или же между фронтом спада и фронтом нарастания и чему равен делитель скорости передачи по обратному каналу, оно может принять решение о том, какое количество дополнительных периодов тактовых импульсов следует добавить к показанию счетчика их количества для обеспечения достаточной гарантии того, что выборка бита всегда производится настолько близко к его середине, насколько это возможно.
После того как главным устройством выбрано или определено количество периодов тактовых импульсов, оно может "исследовать" различные делители скорости передачи по обратному каналу вместе с клиентским устройством для определения того, будет ли работать конкретный делитель скорости передачи по обратному каналу. Главное устройство (и клиентское устройство) может начать с делителя, равного единице, и произвести проверку ЦИК обратного пакета со сведениями о состоянии, принятого из клиентского устройства, для определения того, действительно ли эта скорость передачи по обратному каналу функционирует надлежащим образом для передачи данных. Если ЦИК нарушен, то имеется вероятность ошибки выборки, и главное устройство может увеличить делитель скорости передачи по обратному каналу и предпринять попытку снова выдать запрос на получение пакета со сведениями о состоянии. Если второй запрошенный пакет нарушен, то может быть вновь увеличен делитель и снова выдан запрос. Если же этот пакет декодирован правильно, то этот делитель скорости передачи по обратному каналу может быть использован для всех будущих обратных пакетов.
Этот способ эффективен и пригоден потому, что распределение временных интервалов в линии обратной связи не должно изменяться с момента начальной оценки времени прохождения сигнала в прямом и в обратном направлениях. Если линия прямой связи является устойчивой, то клиентское устройство должно продолжать декодирование пакетов, передаваемых по линии прямой связи, даже в случае наличия неисправностей в линии обратной связи. Конечно же, главное устройство по-прежнему является ответственным за установление делителя скорости передачи по линии обратной связи для линии связи, поскольку этот способ не гарантирует идеальную линию обратной связи. Кроме того, значение делителя зависит, главным образом, от качества тактовых импульсов, используемых для генерации тактовых импульсов ввода-вывода (IO). Если эти тактовые импульсы имеют значительный уровень флуктуаций, то существует большая вероятность ошибки при выборке. Эта вероятность ошибки возрастает с увеличением количества периодов тактовых импульсов в двусторонней задержке.
Оказывается, что этот вариант реализации работает лучше всего для данных, переданных по линии обратной связи типа 1, но для данных, переданных по линии обратной связи типа 2 - типа 4, могут возникать проблемы вследствие перекоса задержки между линиями передачи данных, который потенциально является слишком большим для работы линии связи на той скорости передачи, которая работает лучше всего только лишь для одной двухпроводной линии передачи данных. Однако, вероятно, что для работы не потребуется уменьшение скорости передачи данных до скорости из предыдущего способа даже для линий связи типа 2 - типа 4. Этот способ может работать наилучшим образом также в том случае, если он в точности повторен в каждой линии передачи данных для выбора идеального или оптимального места для выборки среди тактовых импульсов. Если для каждой двухпроводной линии передачи данных они приходятся на один и тот же момент выборки, то этот способ продолжал бы работать. Если же они находятся в различных периодах выборки, то могут быть использованы два различных подхода. Первым является выбор желательного или более оптимизированного места выборки для каждой точки данных, даже если оно не является одинаковым для каждой двухпроводной линии передачи данных. В таком случае главное устройство может восстановить поток данных после выборки всех битов из набора двухпроводных линий передачи данных: двух битов для типа 2, четырех битов для типа 3 и восьми битов для типа 4. Другим вариантом является следующий: главное устройство увеличивает делитель скорости передачи по обратному каналу таким образом, что выборка битов данных для каждой двухпроводной линии передачи данных может быть произведена на фронте одного и того же тактового импульса.
XIII. ВЛИЯНИЕ ЗАДЕРЖКИ И ПЕРЕКОСА ЗАДЕРЖКИ В ЛИНИИ СВЯЗИ
Перекос задержки в линии прямой связи между парами сигналов MDDI_Data и MDDI_Stb может ограничивать максимально возможную скорость передачи данных, если не использована компенсация перекоса задержки. Ниже приведено общее описание различий в задержке, вызывающих перекос задержки по времени, которые обусловлены наличием логических схем контроллера, формирователей и приемников линий связи, а также кабеля и соединителей.
A. Временной анализ линии связи с ограничениями из-за перекоса задержки (интерфейс MDDI типа 1)
1. Пример задержки и перекоса задержки в линии связи типа 1
На фиг.57 показана типичная схема интерфейса, аналогичная схеме, показанной на фиг.41, которая обеспечивает линию связи для интерфейса типа 1. На фиг.57 показаны приведенные в качестве примера, или типичные, значения задержки на прохождение сигнала и перекоса задержки для каждого из нескольких каскадов обработки или сопряжения для линии прямой связи интерфейса MDDI типа 1. Перекос задержки между стробирующим сигналом MDDI_Stb и сигналом данных MDDI_Data0 вызывает искажение рабочего цикла тактовых импульсов на выходе. Данные на входе D триггерной ячейки приемника (RXFF), в которой использованы триггеры 5728, 5730, слегка изменяются после фронта тактового импульса, поэтому можно производить достоверную их выборку. На чертеже показаны две каскадные линии 5732a и 5732b задержки, используемые для решения двух различных проблем, связанных с созданием этой временной зависимости. При практической реализации они могут быть объединены в единый элемент задержки.
На фиг.58 показана временная диаграмма сигнала "данные" (Data), стробирующего сигнала (Stb) и восстановления тактовой синхронизации в линии связи типа 1 для примера обработки сигналов посредством интерфейса.
Суммарный перекос задержки, который является существенным, обычно возникает или происходит из-за суммарного перекоса задержки в следующих каскадах: триггер передатчика (TXFF) с триггерами 5704, 5706; формирователь передатчика (TXDRVR) с формирователями 5708, 5710; кабель 5702; приемник линии приема (RXRCVR) с приемниками 5722, 5724; и логический элемент "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) приемника (RXXOR). "Задержка1" 5732a должна совпадать с задержкой, вносимой логическим элементом 5736 "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) в каскаде RXXOR, или превышать эту задержку, которая определяется следующей зависимостью:
Желательно, чтобы это требование было удовлетворено, поэтому сигнал на входе D триггера 5728, 5730 приемника не изменяют перед вводом его тактовых импульсов. Допустимо, если время задержки в RXFF равно нулю.
Назначение или функция линии задержки "задержка2" состоит в компенсации времени задержки триггера RXFF согласно следующей зависимости:
Во многих системах это значение равно нулю, так как время задержки равно нулю, и, конечно же, в этом случае максимальное значение задержки "задержка2" также может быть равно нулю.
Наихудший вклад в перекос задержки каскад "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) приемника вносит в случае "запоздавшие данные/преждевременный стробирующий сигнал", когда "задержка1" имеет максимальное значение, а тактовые импульсы с выхода логического элемента "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) приходят настолько рано, насколько это возможно, согласно следующей зависимости:
В этой ситуации может произойти изменение данных между двумя интервалами передачи бита, n и n+1, очень близко к тому моменту времени, когда бит n+1 подают в триггер приемника синхронно с тактовыми импульсами.
Максимальная скорость передачи данных (минимальный интервал передачи бита) в линии связи интерфейса MDDI типа 1 является функцией максимального перекоса задержки, который имеет место в линии связи интерфейса MDDI при прохождении сигнала через все формирователи, кабель и приемники, плюс суммарной начальной установки для данных, введенной в каскад RXFF. Суммарный перекос задержки в линии связи до выхода из каскада RXRCVR может быть выражен в следующем виде:
где слово "кабель" означает множество различных проводников или межкомпонентных соединений или проводов и соответствующую задержку, а минимальный интервал передачи бита определяется следующим выражением:
В примере, показанном на фиг.57, для внешнего режима
ПЕРЕКОС ЗАДЕРЖКИ - max (ЛИНИЯ СВЯЗИ)
t = 1000 пикосекунд (пс), а минимальный интервал передачи бита может быть выражен в следующем виде:
BIT - min
t = 1000+2·125+625+125+200+0+100=2300 пс,
или установлен как соответствующий скорости передачи приблизительно 434 мегабита в секунду (Мб/с). В примере, показанном на фиг.57, для внутреннего режима
ПЕРЕКОС ЗАДЕРЖКИ - max (ЛИНИЯ СВЯЗИ)
t =500 пс, а минимальный интервал передачи бита может быть выражен в следующем виде:
BIT - min
t = 500+2·125+625+125+200+0+100=1800 пс ,
или установлен как соответствующий скорости передачи приблизительно 555 Мб/с.
B. Временной анализ линии связи для интерфейса MDDI типов 2, 3 и 4
На фиг.59 показана типичная схема интерфейса, аналогичная схеме, показанной на фиг.41 и фиг.57, которая обеспечивает линии связи для интерфейса типов 2, 3 и 4. В каскадах TXFF (5904), TXDRVR (5908), RXRCVCR (5922) и RXFF (5932, 5928, 5930) использованы дополнительные элементы для обеспечения дополнительной обработки сигналов. На фиг.59 показаны приведенные в качестве примера, или типичные, значения задержки на прохождение сигнала и перекоса задержки для каждого из нескольких каскадов обработки или сопряжения для линии прямой связи интерфейса MDDI типа 2. В дополнение к перекосу задержки между стробирующим сигналом MDDI_Stb и сигналом данных MDDI_Data0, который оказывает влияние на рабочий цикл тактовых импульсов на выходе, также имеется перекос задержки между обоими из этих двух сигналов и остальными сигналами данных MDDI_Data. Данные на входе D триггерной ячейки B приемника (RXFFB), состоящей из триггеров 5928 и 5930, слегка изменяются после фронта тактового импульса, поэтому можно производить достоверную их выборку. Если сигнал данных MDDI_Data1 приходит раньше, чем стробирующий сигнал MDDI_Stb или сигнал данных MDDI_Data0, то для того, чтобы произвести выборку из сигнала данных MDDI_Data1, он должен быть задержан, по меньшей мере, на величину перекоса задержки. Для реализации этого производят задержку данных с использованием линии задержки "задержка3". Если сигнал MDDI_Data1 приходит позже, чем сигналы MDDI_Stb и MDDI_Data0, и также имеет задержку "задержка3", то в этом случае точку, где изменяется сигнал MDDI_Data1, перемещают ближе к следующему фронту тактового импульса. Этот процесс определяет верхний предел скорости передачи данных для линий связи интерфейса MDDI типа 2, 3 или 4. Несколько примеров различных возможных вариантов временной зависимости или зависимости перекоса задержки для двух сигналов данных и стробирующего сигнала MDDI_Stb относительно друг друга проиллюстрированы на фиг.60A, фиг.60В и фиг.60С.
Для обеспечения достоверной выборки данных в RXFFB, когда сигнал данных MDDI_DataX приходит настолько рано, насколько это возможно, значение "задержка3" устанавливают в соответствии со следующей зависимостью:
Максимальная скорость передачи в линии связи определяется минимальным допустимым интервалом передачи бита. Наибольшее воздействие на нее происходит тогда, когда сигнал данных MDDI_DataX приходит с настолько большим запозданием, насколько это возможно. В этом случае минимальное допустимое время цикла определяется следующим выражением:
В таком случае верхним предельным значением скорости передачи в линии связи является:
и с учетом этого предположения:
В приведенном выше примере нижнее предельное значение минимального интервала передачи бита определяется следующей зависимостью:
BIT-min (нижний предел)
t = 2·(1000+2·125+625+200)+1500+100+0=5750 пс.
Эта скорость передачи является намного более медленной, чем максимальная скорость передачи данных, которая может быть использована в линии связи типа 1. Способность интерфейса MDDI осуществлять автоматическую компенсацию перекоса задержки значительно уменьшает воздействие, которое этот перекос задержки оказывает на показатель максимальной скорости передачи в линии связи, находясь почти на границе допустимой настройки данных. Калиброванный перекос задержки между сигналом данных MDDI_Data0 и стробирующим сигналом MDDI_Stb равен
,
а минимальный интервал передачи бита равен
B
B
B
где "T" или t обозначает флуктуацию сигнала от границы бита до минимального выходного уровня. Обозначение "Асимметрия" просто относится к асимметричному характеру внутренней задержки при прохождении через дифференциальные приемники или в них. Обозначение "TP4" связано с электрической спецификацией и с задачами контроля как соединение или стык (контакты контроллера интерфейса MDDI в клиентском устройстве) для формирователей дифференциального канала и приемников в клиентском устройстве или является фактически определенным для них. Оно представляет собой удобную или заранее заданную точку, относительно которой производят измерение и определяют характеристики задержки сигнала для линии связи во всей остальной части системы. В одном из вариантов осуществления изобретения максимальное значение параметра t в точке TP4 определяется следующей зависимостью:
для внешнего режима и  для внутреннего режима для передатчиков клиентского устройства; и
для внешнего режима для приемников клиентского устройства.
B
Обозначение TP4 является просто полезным при нумерации различных контрольных точек (TP) в интерфейсе и в линиях связи. В одном из вариантов осуществления изобретения это местоположение контрольной точки определено таким образом, что является одинаковым для обоих режимов: для внутреннего режима и для внешнего режима. Имеется соответствующая контрольная точка "TP0" для контактов или связанная с контактами соединителя или стыка в контроллере интерфейса MDDI в главном устройстве, которое содержит формирователи и приемники дифференциального канала. В этом варианте осуществления изобретения максимальное значение параметра T в TP0 определяется следующей зависимостью:  для внутреннего режима и  для внешнего режима для приемников главного устройства; и  для передатчиков главного устройства.
В примере, показанном на фиг.59,
=300 пикосекундам (пс), а минимальный интервал передачи бита равен:
BIT-min-с калибровкой
t = 300+2·125+625+200+175+100=1650 пс,
что соответствует приблизительно 606 мегабит в секунду (Мб/с).
Для достоверной выборки данных в каскаде RXFFB в том случае, когда сигнал MDDI_Data1 прибывает настолько рано, насколько это возможно, соответствующую программируемую задержку регулируют таким образом, чтобы она была установлена равной оптимальному значению с точностью до одного интервала между отводами линии задержки, и для безопасности добавляют дополнительную задержку, равную одному интервалу между отводами линии задержки. Максимальная скорость передачи в линии связи определяется минимальным допустимым интервалом передачи бита. Наибольшее на нее происходит тогда, когда сигнал данных MDDI_Data1 приходит с настолько большим запозданием, насколько это возможно. В этом случае минимальное допустимое время цикла определяется следующим выражением:
A
где параметр "TA" или t обозначает флуктуации сигнала от границы бита до точки пересечения с центром.
В примере, приведенном на фиг.59, нижнее предельное значение минимального интервала передачи бита, основанное на выборке сигнала данных MDDI_Data1, равно
BIT-min-Data1-с калибровкой
t =2150+2·125=550 пс.
В одном из вариантов осуществления изобретения типичное суммарное время задержки для перекоса задержки, асимметрии задержки и флуктуации тактовых импульсов в передатчике главного устройства для внутреннего режима может быть определено следующим образом:
а для внешнего режима:
B-TP4
при этом типичное суммарное время задержки для перекоса задержки, асимметрии задержки и времени установки режима в клиентском устройстве (t) для внутреннего режима равно:
а для внешнего режима оно равно:
где член TBD представляет собой гибкую метку-заполнитель для значений, которые будут определены в будущем и которые будут зависеть от множества хорошо понятных характеристик и технических требований для связи во внешнем режиме.
XIV. ОПИСАНИЕ МЕЖКОМПОНЕНТНЫХ СОЕДИНЕНИЙ НА ФИЗИЧЕСКОМ УРОВНЕ
Физические соединения, пригодные для осуществления интерфейса согласно настоящему изобретению, могут быть реализованы с использованием серийно выпускаемых комплектующих, например изделия номер 3260-8S2 (01) по каталогу фирмы, выпускаемого фирмой Hirose Electric Company Ltd, со стороны главного устройства, и изделия номер 3240-8P-C по каталогу фирмы, выпускаемого фирмой Hirose Electric Company Ltd, со стороны клиентского устройства. Пример схемы контактов интерфейса с их назначением или "разводки выводов" для этих соединителей, используемых в интерфейсах типа 1/типа 2, приведен в таблице XV и проиллюстрирован на фиг.61.
<b>Таблица XV</b>
<b>Наименование сигнала</b>
<b>Номер контакта</b>
<b>Наименование сигнала</b>
<b>Номер контакта</b>
MDDI_Pwr
1
MDDI_Gnd
11
MDDI_Stb+
2
MDDI_Stb-
12
MDDI_Data0+
4
MDDI_Data0-
14
MDDI_Data1+
6
MDDI_Data1-
16
MDDI_Data2+
8
MDDI_Data2-
18
MDDI_Data3+
10
MDDDI_Data3-
20
MDDI_Data4+
9
MDDI_Data4-
19
MDDI_Data5+
7
MDDI_Data5-
17
MDDI_Data6+
5
MDDI_Data6-
15
MDDI_Data7+
3
MDDI_Data7-
13
Экран
Экран соединен с контактом HOST_Gnd в интерфейсе главного процессора, и провод заземления экрана в кабеле соединен с экраном соединителя клиентского устройства. Однако экран и провод заземления не соединены с заземлением схемы в клиентском устройстве.
Элементы или устройства межкомпонентного соединения выбраны или выполнены таким образом, что имеют достаточно малый размер для их использования в устройствах мобильной связи и в мобильных вычислительных устройствах, например в персональных информационных устройствах (PDA) и в беспроводных телефонах, или в портативных игровых устройствах, не являясь торчащими из них или неэстетичными по сравнению с относительным размером устройства. Любые соединители и кабельная разводка должны быть достаточно надежными для использования в типичной потребительской среде, должно быть предусмотрено, чтобы они имели небольшой размер, в особенности для кабельной разводки, и были относительно дешевыми. Передающие элементы должны обеспечивать передачу данных и стробирующих сигналов, которые представляют собой дифференциальные данные в формате "без возврата к нулю" (NRZ), со скоростью передачи до приблизительно 450 мегабит в секунду (Мб/с) для типа 1 и типа 2 и до 3,6 Гигабит в секунду для 8-битовой параллельной версии типа 4.
Для областей применения с внутренним режимом также отсутствуют соединители, что равным образом справедливо и для используемых проводников, или же такие соединительные элементы приближаются к очень миниатюризированным. Одним из примеров являются "разъемы" с нулевым усилием вставки для размещения в них интегральных микросхем или элементов, которые находятся в главном устройстве или в клиентском устройстве. Другим примером является тот, в котором главное устройство и клиентское устройство находятся на печатных платах с различными соединительными проводниками и имеют выступающие из корпусов "штырьки" или контакты, которые припаяны к контактам на проводниках для соединения интегральных микросхем друг с другом.
XV. ФУНКЦИОНИРОВАНИЕ
На фиг.54A и фиг.54В показана итоговая сводка общих операций, выполняемых при обработке данных и пакетов во время работы интерфейса с использованием вариантов осуществления настоящего изобретения, а также на фиг.55 приведен общий обзор устройства интерфейса, производящего обработку пакетов. На этих чертежах последовательность операций начинается с операции 5402, при которой определяют, являются ли клиентское устройство и главное устройство соединенными друг с другом с использованием канала связи, которым здесь является кабель, или нет. Это может быть произведено путем периодического опроса главным устройством с использованием программного обеспечения или аппаратных средства, которые обнаруживают наличие соединителей или кабелей или сигналов на входах в главное устройство (например, так, как это происходит для интерфейсов универсальной последовательной шины (USB)), или иными известными способами. Если отсутствует клиентское устройство, соединенное с главным устройством, то это главное устройство может просто войти в состояние ожидания на некоторый промежуток времени заранее заданной длительности, зависящей от конкретного применения, войти в режим "спячки", или может быть деактивировано, ожидая использования в будущем, для чего может потребоваться, чтобы пользователь предпринял действия по возобновлению работы главного устройства. Например, когда главное устройство находится в устройстве типа компьютера, то пользователю, возможно, придется нажать на выведенную на экран пиктограмму или выдать запрос на выполнение программы, которая приведет в действие выполнение главным устройством обработки данных для поиска клиентского устройства. И вновь, простое подключение разъема соединителя типа USB может привести в действие выполнение главным устройством обработки данных, что зависит от возможностей и конфигурации главного устройства или резидентного программного обеспечения главного устройства.
После того как клиентское устройство соединено с главным устройством или наоборот либо обнаружено его наличие, выполняют операции 5404 и 5406, при которых клиентское устройство или главное устройство передает соответствующие пакеты с запросом на обслуживание. При операции 5404 клиентское устройство может передать или пакеты с запросом на обслуживание клиентского устройства или со сведениями о состоянии. Следует отметить следующее: как описано выше, линия связи, возможно, уже была ранее отключена или находится в режиме "спячки", поэтому возможно, что после этого не производят полную инициализацию линии связи. После того как линия связи синхронизирована и главное устройство предпринимает попытку установить связь с клиентским устройством, выполняют операцию 5408, при которой клиентское устройство также посылает в главное устройство пакет "возможности клиентского устройства". Теперь главное устройство может начать определение типа обеспечиваемой им поддержки, в том числе скоростей передачи, которая может являться подходящей для клиентского устройства.
Как правило, главное устройство и клиентское устройство при операции 5410 также согласовывают тип (частоту/скорость передачи) используемого режима обслуживания, например тип 1, тип 2 и т.д. После того как тип обслуживания установлен, главное устройство может начать передачу информации. Кроме того, параллельно с обработкой других сигналов главное устройство может использовать пакеты "измерение двусторонней задержки" (Round Trip Delay Measurement) для оптимизации распределения временных интервалов в линиях связи, что показано на чертеже как операция 5411.
Как изложено выше, все передачи начинают с пакета "заголовок подкадра" (Sub-Frame Header), который, как показано на чертеже, передают при операции 5412, после чего выполняют операцию 5414, при которой производят передачу пакетов "тип данных", которыми здесь являются пакеты "поток видеоинформации" и "поток звуковой информации", и пакетов-заполнителей. Звуковая и видеоинформация является заранее подготовленной или преобразованной в пакеты, а пакеты-заполнители вставляют по мере необходимости или при желании для заполнения кадров с аудиовизуальной информацией до требуемого количества битов. Главное устройство может передавать пакеты, например пакеты "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable), для приведения в действие звуковых устройств. Кроме того, при выполнении операции 5416 главное устройство может производить передачу команд и информации с использованием пакетов иных описанных выше типов, это здесь показано как передача пакетов "карты цветов" (Color Map), "передача блока данных растрового изображения" (Bitmap Block Transfer) или иных пакетов. Кроме того, главное устройство и клиентское устройство могут производить обмен данными, связанными с клавиатурой или с координатно-указательными устройствами, с использованием соответствующих пакетов.
Во время работы может произойти одно из нескольких различных событий, которое приводит к тому, что главное устройство или клиентское устройство желают различной скорости передачи данных или режима интерфейса различного типа. Например, компьютер или иное устройство, производящее обмен данными, может столкнуться с такими условиями загрузки при обработке данных, которые вызывают замедление подготовки или воспроизведения пакетов. Клиентское устройство, получающее данные, может перейти от выделенного ему источника питания от сети переменного тока к более ограниченному источнику питания от аккумулятора, и либо может оказаться неспособным производить ввод передаваемых данных так же быстро и обработку команд так же легко, либо может оказаться неспособным использовать ту же самую величину разрешающей способности или глубины цвета при более ограниченных установленных уровнях мощности. В альтернативном варианте ограничивающее условие может быть отменено или аннулировано, что позволяет любому устройству производить передачу данных с более высокими скоростями передачи. Более желательным вариантом является следующий: может быть выдан запрос на переход в режим с более высокой скоростью передачи.
Если возникают или изменяются эти условия или известные условия иных типов, то любое из устройств: главное устройство или клиентское устройство, может обнаружить их наличие и предпринять попытку пересмотреть режим интерфейса путем согласования. Это показано на чертеже как операция 5420, при которой главное устройство передает пакеты "запрос на переключение типа интерфейса" (Interface Type Handoff Request) в клиентское устройство, выдавая запрос на переключение в другой режим, клиентское устройство передает пакеты "подтверждение приема данных о типе интерфейса" (Interface Type Acknowledge), подтверждающие возможность искомого изменения, и главное устройство передает пакеты "выполнить переключение в режим указанного типа" (Perform Type Handoff) для изменения режима на указанный режим.
Хотя это и не требует конкретной последовательности операций обработки, клиентское устройство и главное устройство могут также производит обмен пакетами, которые связаны с данными, предназначенными для или принятыми из координатно-указательных устройств, клавиатур или других пользовательских устройств ввода данных, связанных, в основном, с клиентским устройством, хотя такие компоненты также могут присутствовать на стороне главного устройства. Обработку этих пакетов обычно производят с использованием элемента, представляющего собой основной процессор, а не с использованием конечного автомата (5502). Кроме того, обработку некоторых из описанных выше команд также производят посредством основного процессора (5504, 5508).
После того как произведен обмен данными и командами между главным устройством и клиентским устройством, в некоторый момент времени принимают решение о том, следует ли производить передачу дополнительных данных или нет, или собирается ли главное устройство или клиентское устройство прекратить обслуживание передачи или нет. Это показано на чертеже как операция 5422. Если линия связи должна быть либо введена в состояние "спячки", либо отключена полностью, то главное устройство передает в клиентское устройство пакет "отключение линии связи" (Link Shutdown), и обе стороны завершают передачу данных.
Передачу пакетов, передаваемых при вышеописанных операциях обработки, осуществляют с использованием формирователей и приемников, описанных выше применительно к контроллерам главного устройства и клиентского устройства. Как показано На фиг.55, эти формирователи линии и иные логические элементы соединены с конечным автоматом и с основным процессорам, описание которых приведено выше. Как показано на фиг.55, конечный автомат 5502 и основные процессоры 5504 и 5508 могут быть, кроме того, соединены с другими элементами, не показанными на чертеже, например со специализированным интерфейсом универсальной последовательной шины (USB), с запоминающими элементами или с иными компонентами, находящимися вне контроллера канала связи, с которым они взаимодействуют, в том числе с источником данных и с микросхемой видеоконтроллера для устройств визуального отображения, но эти примеры не являются ограничивающим признаком.
Процессоры и конечный автомат обеспечивают управление включением и отключением формирователей, которое описано выше относительно защитных временных интервалов, и т.д., гарантируя эффективное установление или отключение линии связи и передачу пакетов.
XVI. БУФЕРЫ КАДРОВ УСТРОЙСТВА ОТОБРАЖЕНИЯ
По сравнению с компьютерной графикой, требования к буферизации видеоинформации для движущихся видеоизображений являются иными. Данные об элементах изображения чаще всего хранят в локальном буфере кадров в клиентском устройстве, поэтому обновление изображения в клиентском устройстве может быть произведено локально.
При выводе видеофильма кинематографического качества на экран устройства отображения (в каждом кадре с аудиовизуальной информацией изменяется почти каждый элемент изображения, выводимого на экран устройства отображения) обычно предпочтительно хранить поступающие данные об элементах изображения в одном буфере кадров, в то время как обновление изображения, выводимого на экран устройства отображения, производят из второго буфера кадров. Как описано ниже, для устранения видимых искажений изображения может быть использовано более двух дисплейных буферов. Когда в одном буфере кадров было принято все изображение, то буферы могут поменяться ролями, и в таком случае вновь принятое изображение используют для обновления изображения на экране устройства отображения, а другой буфер заполняют следующим кадром изображения. Эта концепция проиллюстрирована На фиг.88A, на котором данные об элементах изображения записывают в автономный буфер для изображений, что реализуют путем установки битов обновления данных для устройства отображения равными "01".
В других областях применения главному устройству необходимо обновлять только лишь небольшой участок изображения, при этом не требуется перерисовывать все изображение. В этой ситуации желательно записывать новые элементы изображения напрямую в буфер, используемый для обновления изображения на экране устройства отображения, что подробно показано На фиг.88В.
В тех областях применения, в которых имеется неподвижное изображение с небольшим окном для видеоинформации, наиболее удобно записать неподвижное изображение в оба буфера (значения битов обновления данных для устройства отображения равны "11"), как показано на фиг.88С, а после этого производить запись элементов движущегося изображения в автономный буфер, что реализуют путем установки значений битов обновления данных для устройства отображения равными "01".
Приведенные ниже правила описывают полезные манипуляции с указателями буферов, одновременно производя при этом запись новой информации в клиентское устройство и обновление изображения на экране устройства отображения. Существуют три указателя буфера: указатель "заполняемый_в_текущий_момент" (current_fill) указывает на буфер, заполняемый в текущий момент времени данными, передаваемыми по линии связи интерфейсв MDDI. Указатель "только_что_заполнен" (just_filled) указывает на буфер, который был заполнен самым последним. Указатель "выводимый_на_экран_устройства_отображения" (being_displayed) указывает на буфер, используемый в текущий момент времени для обновления изображения на экране устройства отображения. Все три указателя буферов могут содержать значения от 0 до N-1, где N - количество дисплейных буферов, и N≥2. Арифметические операции с указателями буфера выполняют по модулю N, например, когда N=3 и указатель "заполняемый_в_текущий_момент" (current_fill)=2, то приращение значения указателя "заполняемый_в_текущий_момент" (current_fill) на единицу вызывает установку значения указателя "заполняемый_в_текущий_момент" (current_fill), равного 0. В простом случае, когда N=2, указатель "только_что_заполнен" (just_filled) всегда является дополнением указателя "заполняемый_в_текущий_момент" (current_fill). На каждой границе (пакет "заголовок подкадра" (Sub-Frame Header) с полем "номер подкадра" (Sub-frame Count), равным нулю)) кадра с аудиовизуальной информацией интерфейса MDDI выполняют следующие операции в указанном порядке: установка значения указателя "только_что_заполнен" (just_filled) равным значению указателя "заполняемый_в_текущий_момент" (current_fill) и установка значения указателя "заполняемый_в_текущий_момент" (current_fill) равным значению "заполняемый_в_текущий_момент" + 1 (current_fill + 1).
Пакеты "поток видеоинформации" (Video Stream) интерфейса MDDI обновляют данные в буферах согласно следующей схеме или методологии: когда значения битов обновления данных для устройства отображения равны '01', то данные об элементах изображения записывают в буфер, указанный посредством указателя "заполняемый_в_текущий_момент" (current_fill); когда значения битов обновления данных для устройства отображения равны '00', то данные об элементах изображения записывают в буфер, указанный посредством указателя "только_что_заполнен" (just_filled); а когда значения битов обновления данных для устройства отображения равны "11", то данные об элементах изображения записывают во все буферы. Обновление изображения на экране устройства отображения производят из буфера, указанного посредством указателя "выводимый_на_экран_устройства_ _отображения" (being_displayed). После того как устройством отображения обновлен последний элемент изображения в одном периоде обновления кадра и перед тем, как им будет начато обновление первого элемента изображения в следующем периоде обновления кадра, в процессе обновления изображения на экране устройства отображения выполняют операцию установки значения указателя "выводимый_на_экран_устройства_ _отображения" (being_displayed) равным значению указателя "только_что_заполнен" (just_filled).
Пакеты с полем "атрибуты данных об элементах изображения" содержат два бита обновления данных для устройства отображения, которые указывают буфер кадров, в который должны быть записаны данные об элементах изображения. Пакет "возможности клиентского устройства" (Client Capability) имеет три дополнительные бита, которые указывают то, какие именно комбинации битов обновления данных для устройства отображения поддерживает клиентское устройство. Во многих случаях обновление созданных посредством компьютера изображений необходимо производить путем пошагового приращения на основании введенных пользователем данных или информации, полученной из компьютерной сети. Комбинации "00" и "11" битов обновления данных для устройства отображения поддерживают этот режим работы, вызывая запись данных об элементах изображения в тот буфер кадров, из которого производят вывод изображения на экран в текущий момент времени, или в оба буфера кадров.
Что касается видеоизображений, на фиг.89 проиллюстрировано то, каким образом производят вывод видеоизображений на экран устройства отображения с использованием двух буферов кадров при передаче видеоинформации по линии связи интерфейса MDDI, когда значения битов обновления данных для устройства отображения равны "01". После обнаружения границы кадра с аудиовизуальной информацией в линии связи интерфейс MDDI начинают процесс обновления изображения, выводимого на экран устройства отображения, при этом, когда процесс обновления для кадра, обновляемого в текущий момент времени, закончен, то обновление производят из следующего буфера кадров.
Важное предположение, относящееся к чертежу фиг.89, состоит в том, что изображение из главного устройства получают в виде непрерывного потока элементов изображения, которые переданы в том же самом порядке следования, который клиентское устройство использует при считывании элементов изображения из буфера кадров для обновления изображения на экране устройства отображения (обычно считывание начинают с левого верхнего угла, по строкам до правого нижнего угла экрана). Это является важной деталью в тех случаях, когда при операциях обновления изображения на экране устройства отображения и передачи изображений обращаются к одному и тому же буферу кадров.
Необходимо, чтобы частоты кадров при обновлении изображения на экране устройства отображения была большей, чем частота кадров при передаче изображения, во избежание вывода на экран неполных изображений. На фиг.90 показано то, каким образом может произойти фрагментация изображения при малой частоте обновления изображения на экране устройства отображения, то есть когда обновление изображения на экране является более медленным, чем передача изображения.
В изображении, которое содержит изображения компьютерной графики в сочетании с движущимися видеоизображениями, данные об элементах видеоизображения могут занимать небольшой участок кадра с аудиовизуальной информацией. Это может быть существенным в тех ситуациях, где при операции обновления изображения на экране устройства отображения и при передаче изображения обращаются к одному и тому же буферу кадров. Эти ситуации показаны на фиг.91 перекрестной штриховкой, где элементами изображения, считанными из буфера для обновления изображения на экране, могут являться элементы изображения, записанные в буфер двумя кадрами ранее, или же они могут соответствовать кадру, который непосредственно записывают в текущий момент времени в тот же самый буфер кадров.
Как показано на фиг.92, использование трех буферов кадров в клиентском устройстве решит проблему малого окна при наличии конкуренции за доступ к буферу кадров.
Однако, как показано на фиг.93, по-прежнему существует проблема в том случае, если скорость обновления изображения на экране устройства отображения является меньшей, чем скорость передачи кадров с аудиовизуальной информацией по линии связи интерфейса MDDI.
Как показано фиг.94, использование одиночного буфера для движущихся видеоизображений является весьма проблематичным. Когда обновление изображения на экране устройства отображения происходит быстрее, чем передача изображения в буфер, то иногда в обновляемом изображении будет видна верхняя часть записываемого кадра, а нижней частью изображения будет являться кадр, переданный ранее. При более быстром обновлении изображения на экране, чем передача изображения (предпочтительный режим работы), будут более частые случаи появления кадров, в которых видно подобное разделенное изображение.
XVII. ПОДДЕРЖКА МНОЖЕСТВА КЛИЕНТСКИХ УСТРОЙСТВ
Текущая версия протокола в явном виде не обеспечивает непосредственную поддержку множества клиентских устройств. Однако большая часть пакетов содержит зарезервированное поле идентификатора клиентского устройства, которое может быть использовано для адресации конкретных клиентских устройств в системе с множеством клиентских устройств. В настоящее время для многих областей применения этот идентификатор клиентского устройства или эти идентификаторы клиентских устройств установлены равными нулю. Пакет "заголовок подкадра" (Sub-Frame Header) также содержит поле, указывающее, поддерживает ли главное устройство систему с множеством клиентских устройств или нет. Следовательно, существует способ, посредством которого, вероятно, можно было бы соединить множество клиентских устройств, и могла бы быть обеспечена их адресация в будущих применениях интерфейса или протокола MDDI, помогающий разработчикам систем планировать на будущее совместимость главных устройств и клиентских устройств с множеством клиентских устройств.
В системах, имеющих множество клиентских устройств, удобно соединять клиентские устройства с главным устройством с использованием последовательного подключения клиентских устройств или с использованием концентраторов, как показано на фиг.95, или с использованием комбинации этих способов, как показано на фиг.96. Также может быть полезным, чтобы главное устройство отображало определенные сообщения об ошибках для управления подключенными клиентскими устройствами, например сообщение об ошибке в том случае, когда подключено одно или большее количество клиентских устройств, желающих получить адрес 0, что не должно иметь место в системах с множеством клиентских устройств, поскольку ожидается, что такие устройства отображения работают или настроены для работы как единственное клиентское устройство.
XIII. ПРИЛОЖЕНИЕ
В дополнение к описанным выше форматам, структурам и содержимому различных пакетов, использованных для реализации архитектуры и протокола для вариантов осуществления настоящего изобретения, здесь приведено более подробное описание содержимого полей или операций для некоторых из типов пакета. Эти сведения представлены здесь для дополнительного пояснения их соответствующего использования или соответствующих операций, чтобы дать возможность специалистам в данной области техники быстрее понять настоящее изобретение и использовать его для различных применений. Здесь дополнительно рассмотрено только несколько из тех полей, которые еще не были описаны выше. Кроме того, эти поля представлены с приведенными в качестве примера определения и значениями, которые связаны с представленными выше вариантами осуществления изобретения. Однако эти значения не следует истолковывать как ограничивающие настоящее изобретение, но они представляют собой один или большее количество вариантов осуществления, пригодных для реализации интерфейса и протокола, и все варианты их осуществления не обязательно реализовывать на практике вместе или одновременно. Для специалистов в данной области техники понятно, что для достижения желательного представления результатов передачи данных или скорости передачи данных в других вариантах осуществления изобретения могут быть использованы другие значения.
A. Для пакетов "поток видеоинформации" (Video Stream)
В одном из вариантов осуществления изобретения поле "атрибуты данных об элементах изображения" (2 байта) имеет последовательность значений битов, которые интерпретируют следующим образом: посредством битов номер 1 и 0 выбирают то, куда направляют данные об элементах изображения для их отображения. Для значений этих битов, равных '11', данные об элементах изображения отображают на оба глаза или для обоих глаз, для значений этих битов, равных '10', данные об элементах изображения направляют только на левый глаз, для значений этих битов, равных '01', данные об элементах изображения направляют только на правый глаз, а для значений этих битов, равных '00', данные об элементах изображения направляют в альтернативное устройство отображения, которое может быть указано посредством битов с восьмого (8) по одиннадцатый (11), описание которых приведено ниже. Если основное устройство отображения в клиентском устройстве, либо используемое или управляемое клиентским устройством, не поддерживает стереоскопические изображения или формирование стереоскопических изображений в каком-либо виде, то эти команды не могут быть эффективно введены для оказания воздействия, желательного для устройства отображения. В этой ситуации или конфигурации клиентское устройство должно направить данные об элементах изображения в основное устройство отображения вне зависимости от значений битов или для любой из комбинаций битов '01', '10' или '11', так как результирующие команды или средства управления не будут реализованы устройством отображения. Рекомендовано, чтобы для адресации основного устройства отображения в тех клиентских устройствах, которые не поддерживают возможность стереоскопического отображения, было использовано значение '11', но это не является обязательным условием для вариантов осуществления изобретения.
Бит номер 2 указывает, представлены ли данные об элементах изображения в формате с чересстрочной разверткой или нет, при этом значение, равное '0', означает, что данные об элементах изображения имеют стандартный формат с построчной (прогрессивной) разверткой и что номер строки (координату элемента изображения по оси Y) увеличивают на единицу при продвижении от одной строки к следующей. Когда значение этого бита равно '1', то данные об элементах изображения имеют формат с чересстрочной разверткой, и при продвижении от одной строки к следующей номер строки увеличивают на 2. Бит номер 3 указывает, что данные об элементах изображения имеют формат с чередованием элементов изображения. Этот формат подобен стандартному режиму с чересстрочной разверткой, который разрешен битом номер 2, но при этом чередование происходит по вертикали, а не по горизонтали. Когда значение бита номер 3 равно 0, то данные об элементах изображения имеют стандартный формат с построчной разверткой, и номер столбца (координату элемента изображения по оси X) увеличивают на единицу по мере приема каждого последующего элемента изображения. Когда значение бита номер 3 равно 1, то данные об элементах изображения имеют формат с чередованием элементов изображения, и по мере приема каждого элемента изображения номер столбца увеличивают на 2.
Бит номер 4 указывает, связаны ли данные об элементах изображения с устройством отображения или с камерой, как в том случае, когда данные передают во внутреннее устройство отображения или из него для беспроводного телефона, или аналогичного устройства, или даже портативного компьютера, или иных подобных устройств, которые описаны выше, или когда данные передают в камеру, встроенную в устройство или непосредственно соединенную с ним, или из нее. Когда значение бита номер 4 равно '0', то данные об элементах изображения передают в буфер кадров устройства отображения или из него. Когда значение бита номер 4 равно '1', то данные об элементах изображения передают в камеру или в видеоустройство какого-либо типа либо из камеры или из видеоустройства, причем такие устройства являют хорошо известными в данной области техники.
Бит номер 5 используют для указания того, когда данные об элементах изображения содержат следующую последовательную строку элементов изображения в устройстве отображения. В этом случае значение бита номер 5 установлено равным '1'. Когда значение бита номер 5 установлено равным '1', то параметры "координата левого края по оси X", "координата верхнего края по оси Y", "координата правого края по оси X", "координата нижнего края по оси Y", "координата начальной точки по оси X" и "координата начальной точки по оси Y" не определены, и клиентское устройство их игнорирует. Когда значение бита номер 15 установлено равным уровню логической единицы, то это указывает, что данные об элементах изображения в этом пакете являются последней строкой элементов изображения в изображении. Бит номер 8 в поле "указатели характерных функциональных возможностей клиентского устройства" (Client Feature Capability Indicators) пакета "возможности клиентского устройства" (Client Capability) указывает, поддерживается ли эта функциональная возможность.
Биты номер 7 и номер 6 представляют собой биты обновления данных для устройства отображения, которые указывают буфер кадров, в который должны быть записаны данные об элементах изображения. Более конкретное описание их влияния изложено в другом месте описания. Когда значения этих битов равны '01', то данные об элементах изображения записывают в автономный буфер для изображений. Когда значения этих битов равны '00', то данные об элементах изображения записывают в буфер для изображений, используемый для обновления изображения на экране устройства отображения. Когда значения этих битов равны '11', то данные об элементах изображения записывают во все буферы для изображений. Значения или комбинацию этих битов, равную '10', считают недопустимым значением или обозначением, и данные об элементах изображения игнорируют и не записывают ни в один из буферов для изображений. Это значение может быть использовано для будущих применений интерфейса.
Биты с восьмого (8) по одиннадцатый (11) образуют 4-битовое целое число без знака, которое указывает альтернативное устройство отображения или местоположение того устройства отображения, в которое должны быть направлены данные об элементах изображения. Значения битов номер 0 и номер 1 устанавливают равными '00' для того, чтобы клиентское устройство отображения интерпретировало биты с восьмого (8) по одиннадцатый (11) как номер альтернативного устройства отображения. Если значения битов номер 0 и номер 1 не равны '00', то значения битов с восьмого (8) по одиннадцатый (11) установлены равными уровню логического нуля.
Биты с двенадцатого (12) по четырнадцатый (14) являются зарезервированными для использования в будущем и обычно их значения установлены равными уровню логического нуля. Как описано выше, бит номер 15 используют вместе с битом 5, и установка значения бита номер 15, равного логической единице, указывает, что строка элементов изображения в поле "данные об элементах изображения" является последней строкой элементов изображения в кадре данных. Следующий пакет "поток видеоинформации" (Video Stream), в котором значение бита номер 5 установлено равным логической единице, будет соответствовать первой строке элементов изображения следующего кадра видеоинформации.
2-байтовые поля "координата начальной точки по оси X" и "координата начальной точки по оси Y" указывают абсолютные координаты точки по осям X и Y (координаты начальной точки по оси X и начальной точки по оси Y) для первого элемента изображения в поле "данные об элементах изображения". 2-байтовые поля "координата левого края по оси X" и "координата верхнего края по оси Y" указывают координату левого края по оси X и координату верхнего края по оси Y для окна экрана, заполненного полем "данные об элементах изображения", а поля "координата правого края по оси X" и "координата нижнего края по оси Y" указывают координату правого края по оси X и координату нижнего края по оси Y для обновляемого окна.
Поле "количество элементов изображения" (2 байта) указывает количество элементов изображения в расположенном далее поле "данные об элементах изображения".
Поле "ЦИК параметров" (2 байта) содержит ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "количество элементов изображения". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
Поле "данные об элементах изображения" содержит исходную видеоинформацию, которая подлежит отображению и которая сформатирована способом, описанным в поле "дескриптор формата видеоинформации". Передачу данных производят построчно, как изложено в ином месте описания. Когда значение бита номер 5 из поля "атрибуты данных об элементах изображения" установлено равным уровню логической единицы, то поле "данные об элементах изображения" содержит в точности одну строку элементов изображения, при этом элемент изображения, который передают первым, соответствует крайнему левому элементу изображения, а элемент изображения, который передают последним, соответствует крайнему правому элементу изображения.
Поле "ЦИК данных об элементах изображения" (2 байта) содержит 16-битовый ЦИК только поля "данные об элементах изображения". Если результат проверки этого значения посредством ЦИК является неуспешным, то данные об элементах изображения все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
B. Для пакетов "поток звуковой информации" (Audio Stream)
В одном из вариантов осуществления изобретения в поле "идентификатор канала звукового сопровождения" (1 байт) используют значение 8-битового целого числа без знака для определения конкретного канала звукового сопровождения, в который клиентское устройство передает звуковые данные. В этом поле указаны физические каналы звукового сопровождения или поставлены в соответствие физическим каналам как значения 0, 1, 2, 3, 4, 5, 6 или 7, которые указывают соответственно левый передний канал, правый передний канал, левый тыловой канал, правый тыловой канал, передний центральный канал, канал низкочастотного динамика (сабвуфера), левый канал системы объемного звучания и правый канал системы объемного звучания. Значение идентификатора канала звукового сопровождения, равное 254, указывает, что в оба канала: в левый передний канал и в правый передний канал, передают единый поток выборок цифровых звуковых данных. Это упрощает передачу информации для таких применений, как, например, использование стереонаушников для речевой связи, использование приложений расширения производительности в персональном информационном устройстве (PDA), или для таких применений, в которых простой интерфейс пользователя осуществляет генерацию предупреждающих сигналов. Значения для поля идентификатора находятся в интервале от 8 до 253, и 255 в настоящее время являются зарезервированными для использования в тех случаях, когда новые конструкции требуют наличия дополнительных обозначений, что предполагается специалистами в данной области техники.
"Зарезервированное поле 1" (1 байт) обычно является зарезервированным для использования в будущем, и значения всех битов в этом поле установлены равными нулю. Одна из функций этого поля состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
Поле "количество выборок звуковых данных" (2 байта) указывает количество выборок звуковых данных в этом пакете.
Поле "количество битов в выборке и упаковка" содержит 1 байт, который указывает формат упаковки звуковых данных. В одном из вариантов осуществления изобретения обычно используют следующий формат: биты с четвертого (4) по нулевой (0) определяют количество битов в выборке звуковых данных с импульсно-кодовой модуляцией (ИКМ). В этом случае бит номер 5 указывает, являются ли выборки цифровых звуковых данных упакованными или нет. Как упомянуто выше, на фиг.15 проиллюстрирована разница между упакованными выборками звуковых данных и выборками звуковых данных, выровненными по границе байта. Значение бита номер 5, равное '0', указывает, что каждая выборка звуковых данных с ИКМ в поле "цифровые звуковые данные" выровненной по границе байта интерфейса, а значение, равное '1', указывает, что каждая последующая выборка звуковых данных с ИКМ является упакованной относительно предыдущей выборки звуковых данных. Этот бит действует только тогда, когда значение, определенное в битах с четвертого (4) по нулевой (0) (количество бит в выборке звуковых данных с ИКМ), не является кратным восьми. Биты с седьмого (7) по шестой (6) являются зарезервированными для использования в будущем, и их значения обычно установлены равными нулю.
Поле "частота дискретизации звука" (1 байт) указывает частоту дискретизации звукового сигнала с ИКМ. Используемым форматом является следующий: значение, равное 0, использовано для указания частоты 8000 выборок в секунду соответственно, значение, равное 1, указывает частоту 16000 выборок в секунду, значение, равное 2, указывает частоту 24000 выборок в секунду, значение, равное 3, указывает частоту 32000 выборок в секунду, значение, равное 4, указывает частоту 40000 выборок в секунду, значение, равное 5, указывает частоту 48000 выборок в секунду, значение, равное 6, указывает частоту 11025 выборок в секунду, значение, равное 7, указывает частоту 22050 выборок в секунду и значение, равное 8, указывает частоту 44100 выборок в секунду, а значения от 9 до 255 являются зарезервированными для использования в будущем, поэтому в настоящее время они установлены равными нулю.
Поле "ЦИК параметров" (2 байта) содержит 16-битовый ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "частота дискретизации звука". Если результат проверки посредством этого ЦИК является неправильным, то весь пакет аннулируют. Поле "цифровые звуковые данные" содержит исходные выборки звуковых данных, подлежащие воспроизведению, и обычно они представлены в линейном формате в виде целых чисел без знака. Поле "ЦИК звуковых данных" (2 байта) содержит 16-битовый ЦИК только звуковых данных. Если результат проверки посредством этого ЦИК является неуспешным, то звуковые данные все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
C. Для пакетов "поток, определяемый пользователем" (User-Defined Stream)
В одном из вариантов осуществления изобретения 2-байтовое поле "идентификационный номер потока" используют для идентификации конкретного определяемого пользователем потока. Содержимое полей "параметры потока" и "данные потока" обычно определено фирмой-производителем оборудования интерфейса MDDI. 2-байтовое поле "ЦИК параметров потока" содержит 16-битовый ЦИК всех байтов параметров потока, начиная с поля "длина пакета" и заканчивая байтом "кодирование звука". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют. Оба поля "параметры потока" и "ЦИК параметров потока" могут быть аннулированы, если они не нужны для конечного применения интерфейса MDDI, то есть их считают необязательными. 2-байтовое поле "ЦИК данных потока" содержит ЦИК только данных потока. Если результат проверки посредством этого ЦИК является неправильным, то использование данных потока является необязательным, в зависимости от требований, предъявляемых областью применения. Для использования данных потока при условии наличия правильного ЦИК обычно требуется, чтобы данные потока находились в буфере до тех пор, пока не будет подтверждено, что ЦИК является правильным. Если при проверке ЦИК не совпадает, то количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
D. Для пакетов "карта цветов" (Color Map)
2-байтовое поле "идентификатор hClient клиентского устройства" содержит использованную ранее информацию или использованные ранее значения, которые являются зарезервированными для идентификатора клиентского устройства. Поскольку это поле обычно является зарезервированным для использования в будущем, то в настоящее время его значение установлено равным нулю путем установки битов в состояние '0'.
Значения в 2-байтовом поле "количество элементов в карте цветов" используют для указания общего количества 3-байтовых элементов карты цветов, содержащихся в поле "данные карты цветов", или элементов таблицы карты цветов, имеющихся в поле "данные карты цветов" в этом пакете. В этом варианте осуществления изобретения количество байтов в поле "данные карты цветов" является в 3 раза большим, чем количество элементов в карте цветов. Для того, чтобы не передавать данные карты цветов, значение поля "количество элементов в карте цветов" устанавливают равным нулю,. Если "размер карты цветов" равен нулю, то передачу значения "смещение карты цветов" все же обычно производят, но устройство отображения игнорирует это значение. Поле "смещение карты цветов" (4 байта) указывает смещение "данных карты цветов" в этом пакете относительно начала таблицы карты цветов в клиентском устройстве.
2-байтовое поле "ЦИК параметров" содержит ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая байтом "кодирование звука". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
Для поля "данные карты цветов" ширина каждого места на карте цветов указана посредством поля "размер элемента карты цветов", в котором в одном из вариантов осуществления изобретения первая часть указывает значение синего цвета, вторая часть указывает значение зеленого цвета, а третья часть указывает значение красного цвета. Поле "размер карты цветов" указывает количество 3-байтовых элементов таблицы карты цветов, имеющихся в поле "данные карты цветов". Если одна карта цветов не может поместиться в один пакет "формат видеоинформации и карта цветов" (Video Data Format and Color Map), то вся карта цветов может быть указана путем передачи множества пакетов с различными "данными карты цветов" и "смещениями карты цветов" в каждом пакете. Количество битов синего цвета, зеленого цвета и красного цвета в каждом элементе данных карты цветов, указанное в поле "широта карты цветов в формате RGB" (Color Map RGB Width) пакета "возможности устройства отображения" (Display Capability), обычно является одинаковым.
2-байтовое поле "ЦИК данных карты цветов" содержит ЦИК только данных карты цветов. Если результат проверки посредством этого ЦИК является неуспешным, то данные карты цветов все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
Передачу каждого элемента данных карты цветов следует производить в следующем порядке: синий цвет, зеленый цвет, красный цвет, при этом первым передают младший значащий бит каждой цветовой компоненты. Отдельные компоненты красного, зеленого и синего цвета каждого элемента карты цветов являются упакованными, но каждый элемент карты цветов (младший значащий бит компоненты синего цвета) должен быть выровненным по границе байта. На фиг.97 проиллюстрирован пример элементов данных карты цветов с 6 битами синего цвета, 8 битами зеленого цвета и 7 битами красного цвета. Для этого примера размер элемента карты цветов в пакете "карта цветов" (Color Map) равен 21, а значение поля "широта карты цветов в формате RGB" (Color Map RGB Width) в пакете "возможности клиентского устройства" (Client Capability) равно 0×0786.
E. Для пакетов "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation)
Поле "ЦИК параметров" (2 байта) содержит 16-битовый ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "длина поля "первое изменение направления передачи на обратное"" (Turn-Around 1 Length). Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
В одном из вариантов осуществления изобретения поле "флаги линии обратной связи" (1 байт) содержит набор флагов для выдачи запроса на получение информации из клиентского устройства и для указания типа линии обратной связи. Если значение какого-либо бита (например, бита номер 0) установлено равным уровню логической единицы, то главное устройство запрашивает указанную информацию из клиентского устройства, но если значение этого бита установлено равным уровню логического нуля, то главному устройству не нужна эта информация из клиентского устройства. Бит номер 0 используют для указания того, что главное устройство желает получить пакет "возможности клиентского устройства" (Client Capability), который клиентское устройство обычно передает в главное устройство в поле "пакеты данных, передаваемые по обратному каналу". Бит номер 1 используют для указания того, что главное устройство желает получить пакет "запрос клиентского устройства и его состояние" (Client Request and Status), который клиентское устройство передает в главное устройство в поле "пакеты данных, передаваемые по обратному каналу". Остальные биты (которыми здесь являются биты со второго (2) по седьмой (7)) зарезервированы для использования в будущем и установлены равными нулю. Однако при желании для установки флагов для линии обратной связи может быть использовано большее количество битов.
Поле "делитель скорости передачи по обратному каналу" (1 байт) указывает количество периодов стробирующего сигнала MDDI_Stb относительно тактовых импульсов для данных в линии обратной связи. Частота тактовых импульсов для данных в линии обратной связи равна частоте тактовых импульсов для данных в линии прямой связи, разделенной на делитель скорости передачи по обратному каналу, умноженный на два. Скорость передачи данных по линии обратной связи связана с частотой тактовых импульсов для данных в линии обратной связи и с типом интерфейса в линии обратной связи. В этом варианте осуществления изобретения для интерфейса типа 1 скорость передачи данных, передаваемых по линии обратной связи, равна частоте тактовых импульсов для данных в линии обратной связи, для интерфейсов типа 2, типа 3 и типа 4 значения скорости передачи данных, передаваемых по линии обратной связи, равны соответственно двукратной, четырехкратной и восьмикратной частоте тактовых импульсов для данных в линии обратной связи,.
Поле "все нули 1" содержит группу байтов, количество которых здесь равно 8, со значениями, установленными равными нулю путем установки уровня битов, равного логическому нулю, и это поле используют для обеспечения того, чтобы все сигналы MDDI_Data гарантированно имели уровень "логический ноль" в течение промежутка времени, достаточного для того, чтобы клиентское устройство имело возможность начать восстановление тактовой синхронизации с использованием только стробирующего сигнала MDDI_Stb до того, как будут отключены формирователи линии связи, имеющиеся в главном устройстве во время передачи поля "первое изменение направления передачи на обратное" (Turn-Around 1). В одном из вариантов осуществления изобретения длина поля "все нули 1" является большей или равной количеству интервалов передачи байта по линии прямой связи за время двусторонней задержки в кабеле.
Поле "длина поля "первое изменение направления передачи на обратное"" (Turn-Around 1 Length) (1 байт) указывает общее количество байтов, которое выделено для поля "первое изменение направления передачи на обратное" (Turn-Around 1), устанавливающего первый период изменения направления передачи на обратное. В поле "первое изменение направления передачи на обратное" (Turn-Around 1) используют количество байтов, указанное параметром "длина поля "первое изменение направления передачи на обратное"" (Turn-Around 1 Length), которое выделено для обеспечения возможности включения формирователей линии передачи сигнала MDDI_Data в клиентском устройстве до того, как будут отключены формирователи этой линии в главном устройстве. Клиентское устройство включает свои формирователи линии MDDI_Data в момент поступления бита номер 0 поля "первое изменение направления передачи на обратное" (Turn-Around 1), а главное устройство отключает свои выходные сигналы для того, чтобы они были полностью отключены до момента времени, соответствующего последнему биту поля "первое изменение направления передачи на обратное" (Turn-Around 1). Стробирующий сигнал MDDI_Stb имеет такой характер поведения, что как будто бы сигнал данных MDDI_Data0 находится на уровне логического нуля в течение всего периода первого изменения направления передачи на обратное. Более полное описание установки значения поля "первое изменение направления передачи на обратное" (Turn-Around 1) приведено выше.
Поле "пакеты данных, передаваемые по обратному каналу" содержит последовательность пакетов данных, передаваемых из клиентского устройства в главное устройство. Когда в клиентском устройстве отсутствуют данные, подлежащие передаче в главное устройство, то клиентское устройство может передавать пакеты-заполнители или приводить линии MDDI_Data в состояние логического нуля или устанавливать их уровень равным логическому нулю. В этом варианте осуществления изобретения в том случае, если линии MDDI_Data приведены в состояние логического нуля, то главное устройство интерпретирует это как пакет, имеющий нулевую длину (недопустимую длину), и главное устройство больше не принимает дополнительные пакеты из клиентского устройства в течение промежутка времени, равного длительности текущего пакета "инкапсуляция для линии обратной связи" (Reverse Link Encapsulation).
Поле "длина поля "второе изменение направления передачи на обратное"" (Turn-Around 2 Length) (1 байт) указывает общее количество байтов, которое выделено для поля "второе изменение направления передачи на обратное" (Turn-Around 2) для установления второго периода изменения направления передачи на обратное. Рекомендованная длина поля "второе изменение направления передачи на обратное" (Turn-Around 2) равна количеству байтов, которое требуется для учета двусторонней задержки, плюс время, требуемое для включения главным устройство своих формирователей линии MDDI_Data. Значение поля "длина поля "второе изменение направления передачи на обратное"" (Turn-Around 2 Length) также может быть большим, чем минимальное требуемое или вычисленное значение, для обеспечения достаточного времени на обработку пакетов, переданных по линии обратной связи, в главном устройстве.
Поле "второе изменение направления передачи на обратное" (Turn Around 2) состоит из количества байтов, указанного параметром "длина поля "изменение направления передачи на обратное"" (Turn-Around Length). Перед тем как главное устройство включит свои формирователи линии MDDI_Data во время второго изменения направления передачи на обратное, оно находится в режиме ожидания, по меньшей мере, в течение времени двусторонней задержки. Главное устройство включает свои формирователи линии MDDI_Data таким образом, что обычно они являются полностью включенными до поступления последнего бита поля "второе изменение направления передачи на обратное" (Turn-Around 2), а клиентское устройство отключает свои выходные сигналы таким образом, чтобы обычно они были полностью отключенными до поступления последнего бита поля "второе изменение направления передачи на обратное" (Turn-Around 2). Назначение поля "второе изменение направления передачи на обратное" (Turn-Around 2) состоит в том, чтобы обеспечить возможность передачи или пересылки из клиентского устройства оставшегося объема данных из поля "пакеты данных, передаваемые по обратному каналу". Несмотря на наличие изменений в различных системах, в которых реализован интерфейс, и на величину присвоенного коэффициента надежности, существует возможность того, что ни главное устройство, ни клиентское устройство не будут приводить уровень сигналов MDDI_Data в состояние логического нуля в течение некоторых частей периода поля "второе изменение направления передачи на обратное" (Turn Around 2), что замечают линейные приемники в главном устройстве. Стробирующий сигнал MDDI_Stb имеет такой характер поведения, что как будто бы сигнал MDDI_Data0 находится на уровне логического нуля в течение, по существу, всего периода второго изменения направления передачи на обратное. Описание установки значения поля "второе изменение направления передачи на обратное" (Turn-Around 2) приведено выше.
Поле "пакеты данных, передаваемые по обратному каналу" содержит последовательность пакетов данных, передаваемых из клиентского устройства в главное устройство. Как изложено ранее, для заполнения остающегося пространства, не использованного пакетами других типов, производят передачу пакетов-заполнителей.
Поле "все нули 2" содержит группу байтов (количество которых в этом варианте осуществления изобретения равно 8) со значениями, установленными равными нулю путем установки уровней битов равными логическому нулю, это поле используют для обеспечения того, чтобы все сигналы MDDI_Data гарантированно имели уровень "логический ноль" в течение промежутка времени, достаточного для того, чтобы клиентское устройство имело возможность начать восстановление тактовой синхронизации с использованием обоих сигналов: MDDI_Data0 и MDDI_Stb, после включения формирователей линии главного устройства после поля "второе изменение направления передачи на обратное" (Turn-Around 2).
F. Для пакетов "возможности клиентского устройства" (Client Capability)
Как показано на чертеже для одного из вариантов осуществления изобретения, в поле "версия протокола" используют 2 байта для указания версии протокола, используемой клиентским устройством. Исходная версия в настоящее время установлена равной единице и с течением времени будет изменена по мере создания новых известных версий, а в поле "минимальная версия протокола" используют 2 байта для указания минимальной версии протокола, которую клиентское устройство может использовать или интерпретировать. В этом случае значение, равное нулю, также является допустимым значением. Поле "возможности по скорости передачи данных" (2 байта) указывает максимальную скорость передачи данных, с которой клиентское устройство может производить прием по каждой двухпроводной линии передачи данных в линии прямой связи интерфейса, и она указана в виде единиц "мегабит в секунду" (Мб/с). Поле "возможности поддержки типа интерфейса" (1 байт) указывает типы интерфейса, поддержка которых обеспечена в линиях прямой и обратной связи. Значение бита, установленное равным '1', указывает, что поддержка указанного типа интерфейса обеспечена, а значение бита, установленное равным '0', указывает, что указанный тип не поддерживается. Главные устройства и клиентские устройства должны обеспечивать поддержку, по меньшей мере, интерфейса типа 1 в линиях прямой и обратной связи. Поддержка ряда смежных типов интерфейса является необязательной. Например, абсолютно допустима поддержка интерфейсов только типа 1 и типа 3, а не типа 3 и типа 4. Также необязательно, чтобы линии прямой и обратной связи работали с одним и тем же типом интерфейса. Однако когда линия связи выходит из состояния "спячки", то обе линии: линия прямой связи и линия обратной связи, должны начать работу в режиме типа 1 до тех пор, пока обоими устройствами: главным устройством и клиентским устройством, не смогут быть согласованы, выбраны или иным образом одобрены другие режимы для их использования.
В одном из вариантов осуществления изобретения поддерживаемые интерфейсы указывают путем выбора бита номер 0, бита номер 1 или бита номер 2 для выбора соответственно или режима типа 2 (2 бита), или режима типа 3 (4 бита), или режима типа 4 (8 битов) в линии прямой связи; и бита номер 3, бита номер 4 или бита номер 5 для выбора соответственно или режима типа 2, или режима типа 3 или режима типа 4 в линии обратной связи; при этом биты номер 6 и номер 7 являются зарезервированными, и на настоящий момент времени их обычно устанавливают равными нулю. Поля "ширина растрового изображения" и "высота растрового изображения", каждое из которых здесь имеет длину 2 байта, указывают соответственно ширину и высоту растрового изображения, выраженную в единицах элементов изображения.
Поле "возможность использования черно-белого формата" (Monochrome Capability) (1 байт) в одном из вариантов осуществления изобретения используют для указания количества битов дискретности, которое может быть отображено в черно-белом формате. Если устройство отображения не может использовать черно-белый формат, то это значение установлено равным нулю. Биты с седьмого (7) по четвертый (4) являются зарезервированными для использования в будущем и, следовательно, установлены равными нулю. Биты с третьего (3) по нулевой (0) определяют максимальное количество битов шкалы уровней серого цвета, которое может существовать для каждого элемента изображения. Эти четыре бита обеспечивают возможность указать значения от 1 до 15 для каждого элемента изображения. Если это значение равно нулю, то устройство отображения не поддерживает черно-белый формат.
В поле "возможность использования формата Байера" (Bayer Capability) используют 1 байт для указания количества битов дискретности, группы элементов изображения и порядка следования элементов изображения, которые могут быть переданы в формате Байера (Bayer). Если клиентское устройство не может использовать формат Байера, то это значение равно нулю. Поле "возможность использования формата Байера" (Bayer Capability) состоит из следующих значений: биты с третьего (3) по нулевой (0) определяют максимальное количество битов интенсивности, которые имеются в каждом элементе изображения, при этом биты с пятого (5) по четвертый (4) определяют требуемый шаблон группы элементов изображения, а биты с восьмого (8) по шестой (6) определяют требуемый порядок следования элементов изображения; причем биты с четырнадцатого (14) по девятый (9) являются зарезервированными для использования в будущем и на настоящий момент времени обычно установлены равными нулю. Когда значение бита номер 15 установлено равным уровню логической единицы, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате Байера, как в упакованном, так и в распакованном формате. Если же значение бита номер 15 установлено равным нулю, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате Байера, только в неупакованном формате.
Поле "возможности карты цветов" (Color Map Capability) (3 байта) в одном из вариантов осуществления изобретения указывает максимальное количество элементов таблицы, имеющихся в таблице карты цветов в устройстве отображения. Если устройство отображения не может использовать формат на основе карты цветов, то это значение установлено равным нулю.
Поле "возможность использования формата RGB" (RGB Capability) (2 байта) указывает количество битов дискретности, которое может быть отображено в формате RGB. Если устройство отображения не может использовать формат RGB, то это значение равно нулю. Слово, содержащееся в поле "возможность использования формата RGB" (RGB Capability), состоит из трех отдельных значений без знака, при этом: биты с третьего (3) по нулевой (0) определяют максимальное количество битов синего цвета, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов зеленого цвета, а биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов красного цвета в каждом элементе изображения. В настоящее время биты с четырнадцатого (14) по двенадцатый (12) являются зарезервированными для использования в будущем и обычно установлены равными нулю. Когда значение бита номер 15 установлено равным уровню логической единицы, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате RGB, как в упакованном, так и в неупакованном формате. Если же значение бита номер 15 установлено равным уровню логического нуля, то это указывает, что клиентское устройство может принимать данные об элементах изображения, представленные в формате RGB, только лишь в неупакованном формате.
Поле "возможность использования формата YCbCr" (YCbCr Capability) (2 байта) указывает количество битов дискретности, которое может быть отображено в формате YCrCb. Если клиентское устройство не может использовать формат CrCbY, то это значение установлено равным нулю. Слово, содержащееся в поле "возможность использования формата YCbCr" (YCbCr Capability), состоит из трех отдельных значений без знака, при этом: биты с третьего (3) по нулевой (0) определяют максимальное количество битов в выборке компоненты Cb, биты с седьмого (7) по четвертый (4) определяют максимальное количество битов в выборке компоненты Cr, биты с одиннадцатого (11) по восьмой (8) определяют максимальное количество битов в выборке компоненты Y, а биты с пятнадцатого (15) по двенадцатый (12) в настоящее время являются зарезервированными для использования в будущем и установлены равными нулю.
В поле "характерные функциональные возможности клиентского устройства" (Client Feature Capability) в одном из вариантов осуществления изобретения используют 4 байта, которые содержат набор флагов, указывающих особые функциональные возможности клиентского устройства, поддержка которых обеспечена. Значение бита, установленное равным уровню логической единицы, указывает, что эта возможность поддерживается, а значение бита, установленное равным уровню логического нуля, указывает, что эта возможность не поддерживается. В одном из вариантов осуществления изобретения значение бита номер 0 указывает, обеспечена ли поддержка пакета "передача блока данных растрового изображения" (Bitmap Block Transfer) (пакета типа 71) или нет. Значения битов номер 1, номер 2 и номер 3 указывают, обеспечена ли поддержка соответственно пакета "закрашивание участка растрового изображения" (Bitmap Area Fill) (пакета типа 72), пакета "заполнение узором из растровых изображений" (Bitmap Pattern Fill) (пакета типа 73) или пакета "считать из буфера кадров" (Read Frame Buffer) (пакета типа 74) или нет. Значение бита номер 4 указывает, способно ли клиентское устройство сделать один цвет прозрачным, используя пакет "разрешен прозрачный цвет" (Transparent Color Enable), или нет, при этом значения битов номер 5 и номер 6 указывают, может ли клиентское устройство принимать звуковые данные соответственно в распакованном или в упакованном формате, а значение бита номер 7 указывает, может ли клиентское устройство передавать поток видеоинформации из камеры по линии обратной связи или нет. Значение бита номер 8 указывает, способно ли клиентское устройство принимать полную строку данных об элементах изображения и игнорировать адресацию устройства отображения, указанную посредством бита номер 5 в поле "атрибуты данных об элементах изображения" пакета "поток видеоинформации" (Video Stream), а также может ли клиентское устройство обнаруживать синхронизацию кадра или конец данных кадра видеоинформации с использованием бита номер 15 в поле "атрибуты данных об элементах изображения" или нет.
Значение бита номер 9 указывает, способно ли клиентское устройство интерпретировать пакет "запрос сведений о конкретном состоянии" (Request Specific Status) и отвечать на него пакетом "перечень ответов о допустимом состоянии" (Valid Status Reply List) или нет. Как описано выше, клиентское устройство может указать, что оно способно возвращать дополнительные сведения о состоянии в поле "перечень ответов о допустимых значениях параметров" (Valid Parameter Reply List) пакета "перечень ответов о допустимом состоянии" (Valid Status Reply List). Значение бита номер 10 указывает, способно ли клиентское устройство поддерживать состояние 01 потребления энергии устройством отображения или нет. Состояние потребления энергии устройством отображения установлено с использованием битов [3:2] в поле "состояние энергопотребления" описанного выше пакета "состояние энергопотребления устройством отображения" (Display Power State). Состояние 01 потребления энергии устройством отображения представляет собой состояние, в котором выбранное устройство отображения не подсвечивается и потребляет минимальную мощность или вообще не потребляет ее, и обычно во время этого состояния гарантируется сохранение содержимого буфера кадров.
Значения битов номер 11 и номер 12 указывают то, когда клиентское устройство производит обмен информацией либо с координатно-указательным устройством и может соответственно передавать и принимать пакеты "данные координатно-указательного устройства" (Pointing Device Data), либо с клавиатурой и может соответственно передавать и принимать пакеты "данные клавиатуры" (Keyboard Data). Значение бита номер 13 указывает, способно ли или нет клиентское устройство устанавливать один или большее количество параметров звуковой или видеоинформации, обеспечивая поддержку следующих пакетов функции ВПУ (VCP Feature): пакета "запрос о предоставлении функции ВПУ" (Request VCP Feature), пакета "ответ на запрос о предоставлении функции ВПУ" (VCP Feature Reply), пакета "задать функцию ВПУ" (Set VCP Feature), пакета "запрос о предоставлении допустимого параметра" (Request Valid Parameter) и пакета "ответ на запрос о предоставлении допустимого параметра" (Valid Parameter Reply). Значение бита номер 14 указывает, способно ли клиентское устройство записывать данные об элементах изображения в автономный буфер кадров устройства отображения, что проиллюстрировано на фиг.88A. Если значение этого бита установлено равным уровню логической единицы, то значения битов обновления данных для устройства отображения (битов номер 7 и номер 6 в поле "атрибуты данных об элементах изображения" пакета "поток видеоинформации" (Video Stream)) могут быть установлены равными '01'.
Значение бита номер 15 указывает, способно ли клиентское устройство записывать данные об элементах изображения только в буфер кадров устройства отображения, используемый в текущий момент времени для обновления изображение, выводимого на экран устройства отображения, что проиллюстрировано на фиг.88В. Если значение этого бита установлено равным уровню логической единицы, то значения битов обновления данных для устройства отображения (битов номер 7 и номер 6 в поле "атрибуты данных об элементах изображения" пакета "поток видеоинформации" (Video Stream)) могут быть установлены равными '00'. Значение бита номер 16 указывает, способно ли клиентское устройство записывать данные об элементах изображения из одного пакета "поток видеоинформации" (Video Stream) во все буферы кадров устройства отображения, что проиллюстрировано на фиг.88С. Если значение этого бита установлено равным уровню логической единицы, то значения битов обновления данных для устройства отображения (битов номер 7 и номер 6 в поле "атрибуты данных об элементах изображения" пакета "поток видеоинформации" (Video Stream)) могут быть установлены равными '11'.
В одном из вариантов осуществления изобретения значение бита номер 17 указывает, способно ли клиентское устройство отвечать на пакет "запрос сведений о конкретном состоянии" (Request Specific Status), значение бита номер 18 указывает, способно ли клиентское устройство отвечать на пакет "измерение двусторонней задержки" (Round Trip Delay Measurement), а значение бита номер 19 указывает, способно ли клиентское устройство отвечать на пакет "калибровка перекоса задержки линии прямой связи" (Forward Link Skew Calibration). В одном из вариантов осуществления изобретения значение бита номер 20 указывает, способно ли клиентское устройство отвечать на пакет "состояние энергопотребления устройством отображения" (Display Power State).
В одном из вариантов осуществления изобретения значение бита номер 21 указывает, способно ли клиентское устройство использовать поле "операция с растром" пакета "передача блока данных растрового изображения" (Bitmap Block Transfer) (пакета типа 71), пакет "закрашивание участка растрового изображения" (Bitmap Area Fill) (пакет типа 72) и пакет "заполнение узором из растровых изображений" (Bitmap Pattern Fill) (пакет типа 73), если клиентское устройство обеспечивает поддержку этих пакетов, что указано битами номер 0, номер 1 и номер 2 или этим полем. В одном из вариантов осуществления изобретения, если бит 21 имеет значение или уровень, равный логическому нулю, и обеспечивается поддержка этих пакетов, то клиентское устройство неспособно использовать поле "операция с растром", и клиентское устройство способно только копировать или записывать в те места расположения элементов изображения, которые указаны посредством этих пакетов.
Значение бита номер 22 указывает, способно ли клиентское устройство отвечать на пакет "доступ к регистрам" (Register Access) или нет. Биты с двадцать третьего (23) по тридцать первый (31) в настоящее время являются зарезервированными для использования в будущем или для альтернативных обозначений, полезных для разработчиков систем, и их значения обычно установлены равными нулю или уровню логического нуля.
Поле "возможная частота видеокадров в устройстве отображения" (Display Video Frame Rate Capability) (1 байт) указывает максимальную возможную частоту обновления видеокадров в устройстве отображения, выраженную в кадрах в секунду. Главным устройством может быть выбрана более медленная частота обновления изображения, чем значение, указанное в этом поле.
Поле "емкость буфера звуковых данных" (2 байта) указывает емкость буфера регулируемой емкости в устройстве отображения, который предназначен для каждого потока звуковой информации.
Поле "возможности звуковых каналов" (Audio Channel Capability) (2 байта) содержит группу флагов, которые указывают то, какие именно каналы звукового сопровождения поддерживает клиентское устройство или устройство, соединенное с клиентским устройством. Значение бита, установленное равным единице, указывает, что канал поддерживается, а значение бита, установленное равным нулю, указывает, что канал не поддерживается. Позиции битов присвоены различным каналам, например, в одном из вариантов осуществления изобретения позиции битов 0, 1, 2, 3, 4, 5, 6 и 7 указывают соответственно левый передний канал, правый передний канал, левый тыловой канал, правый тыловой канал, передний центральный канал, канал низкочастотного динамика (сабвуфера), левый канал системы объемного звучания и правый канал системы объемного звучания. Биты с восьмого (8) по четырнадцатый (14) в настоящее время являются зарезервированными для использования в будущем и обычно установлены равными нулю. В одном из вариантов осуществления изобретения бит номер 15 используют для указания того, обеспечивает ли клиентское устройство поддержку пакета "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable). Если оно обеспечивает его поддержку, то значение бита номер 15 установлено равным уровню логической единицы. Однако если клиентское устройство не способно отключать каналы звукового сопровождения в результате получения пакета "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable) или если клиентское устройство не обеспечивает поддержку никаких возможностей воспроизведения звука, то уровень или значение этого бит устанавливают равным логическому нулю.
2-байтовое поле "возможные частоты дискретизации звука" (Audio Sample Rate Capability) для линии прямой связи содержит набор флагов, указывающих возможные частоты дискретизации звука для клиентского устройства. Позициям битов назначены различные соответствующие частоты, например битам номер 0, 1, 2, 3, 4, 5, 6, 7 и 8 назначены частоты соответственно 8000, 16000, 24000, 32000, 40000, 48000, 11025, 22050 и 44100 выборок в секунду, а биты с девятого (9) по пятнадцатый (15) являются зарезервированными для использования в будущем или, при желании, для использования иных частот, поэтому в настоящее время их значения установлены равными '0'. Установка значения бита, равного '1', для одного из этих битов указывает, что эта конкретная частота дискретизации поддерживается, а установка значения этого бита, равного '0', указывает, что эта частота дискретизации не поддерживается.
Поле "минимальная частота подкадров" (2 байта) указывает минимальную частоту подкадров, выраженную в кадрах в секунду. Минимальная частота подкадров обеспечивает сохранение достаточной частоты обновления сведений о состоянии клиентского устройства для считывания показаний определенных датчиков или данных из координатно-указательных устройств, имеющихся в клиентском устройстве.
2-байтовое поле "возможные частоты дискретизации звука с микрофона" (Mic Sample Rate Capability) для линии обратной связи содержит набор флагов, указывающих возможные частоты дискретизации звукового сигнала с микрофона в клиентском устройстве. Для задач интерфейса MDDI микрофон клиентского устройства сконфигурирован таким образом, что минимальная поддерживаемая частота дискретизации равна, по меньшей мере, 8000 выборок в секунду. Позициям битов для этого поля назначены различные частоты, причем позиции битов номер 0, 1, 2, 3, 4, 5, 6, 7, и 8 используют, например, для отображения частот соответственно 8000, 16000, 24000, 32000, 40000, 48000, 11025, 22050 и 44100 выборок в секунду, а биты с девятого (9) по пятнадцатый (15) являются зарезервированными для использования в будущем или, при желании, для использования иных частот, поэтому в настоящее время их значения установлены равными '0'. Установка значения бита, равного '1', для одного из этих битов указывает, что эта конкретная частота дискретизации поддерживается, а установка значения этого бита, равного '0', указывает, что эта частота дискретизации не поддерживается. Если отсутствует подключенный микрофон, то значения каждого из битов поля "возможные частоты дискретизации звука с микрофона" (Mic Sample Rate Capability) установлены равными нулю.
Поле "формат данных клавиатуры" (Keyboard Data Format) (здесь 1 байт) указывает, подключена ли к системе клиентского устройства клавиатура или нет, и тип подключенной клавиатуры. В одном из вариантов осуществления изобретения значение, установленное посредством битов с шестого (6) по нулевой (0), используют для определения типа подключенной клавиатуры. Если это значение равно нулю (0), то тип клавиатуры считают неизвестным. Для значения, равного 1, полагают, что формат данных клавиатуры является стандартным форматом типа PS-2. В настоящее время значения в интервале от 2 до 125 не используют, они являются зарезервированными для их использования проектировщиками систем и лицами, внедряющими интерфейс, или разработчиками изделий для определения конкретной клавиатуры или конкретных устройств ввода данных для использования с интерфейсом MDDI и с соответствующими клиентскими устройствами или главными устройствами. Значение, равное 126, используют для указания того, что формат данных клавиатуры определяет пользователь, а значение, равное 127, используют для указания того, что клавиатура не может быть подключена к этому клиентскому устройству. Кроме того, бит номер 7 может быть использован для указания того, может ли клавиатура производить обмен информацией с клиентским устройством или нет. Предполагаемым использованием этого бита является указание того, что клавиатура может производить обмен информацией с клиентским устройством с использованием канала беспроводной связи. Значение бита номер 7 должно быть установлено равным нулю в том случае, если биты с шестого (6) по нулевой (0) указывают, что клавиатура не может быть подключена к клиентскому устройству. Следовательно, для одного из вариантов осуществления изобретения в том случае, когда значение бита номер 7 равно 0, клавиатура и клиентское устройство не могут обмениваться информацией, а если значение бита номер 7 равно 1, то клавиатурой и клиентским устройством подтверждено, что они могут обмениваться информацией друг с другом.
Поле "формат данных координатно-указательного устройства" (Pointing Device Data Format) (равное здесь 1 байту) указывает, подключено ли к системе клиентского устройства координатно-указательное устройство или нет, и тип подключенного координатно-указательного устройства. В одном из вариантов осуществления изобретения значение, установленное посредством битов с шестого (6) по нулевой (0), используют для определения типа подключенного координатно-указательного устройства. Если это значение равно нулю (0), то тип координатно-указательного устройства считают неизвестным. Для значения, равного 1, полагают, что формат данных координатно-указательного устройства, является стандартным форматом типа PS-2. В настоящее время значения в интервале от 2 до 125 не используют, они являются зарезервированными для их использования проектировщиками систем и лицами, внедряющими интерфейс, или разработчиками изделий для определения конкретного координатно-указательного устройства или конкретных устройств ввода данных для использования с интерфейсом MDDI и с соответствующими клиентскими устройствами или главными устройствами. Значение, равное 126, используют для указания того, что формат данных координатно-указательного устройства определяет пользователь, а значение, равное 127, используют для указания того, что координатно-указательное устройство не может быть подключено к этому клиентскому устройству. Кроме того, бит номер 7 может быть использован для указания того, может ли координатно-указательное устройство производить обмен информацией с клиентским устройством или нет. Предполагаемым использованием этого бита является указание того, что координатно-указательное устройство может производить обмен информацией с клиентским устройством с использованием канала беспроводной связи. Значение бита номер 7 должно быть установлено равным нулю в том случае, если биты с шестого (6) по нулевой (0) указывают, что координатно-указательное устройство не может быть подключено к клиентскому устройству. Следовательно, для одного варианта осуществления изобретения в том случае, когда значение бита номер 7 равно 0, координатно-указательное устройство и клиентское устройство не могут обмениваться информацией, а если значение бита номер 7 равно 1, то координатно-указательным устройством и клиентским устройством подтверждено, что они могут обмениваться информацией друг с другом.
Поле "тип защиты информационного содержимого" (2 байта) содержит набор флагов, указывающих тип защиты цифрового информационного содержимого, который поддерживается устройством отображения. В настоящее время позицию бита номер 0 используют для указания того, что поддерживается система защиты информационного содержимого при цифровой передаче (DTCP), а позицию бита номер 1 используют для указания того, что поддерживается система защиты широкополосного цифрового информационного содержимого (HDCP), при этом позиции битов со второго (2) по пятнадцатый (15) являются зарезервированными для использования для других желательных или имеющихся схем защиты, поэтому в настоящее время их значения установлены равными нулю.
Поле "наименование производителя" (равное здесь 2 байтам) содержит 3-символьный идентификатор фирмы-производителя согласно спецификации расширенной стандартной архитектуры для промышленного применения (EISA), упакованный в три 5-битовых символа способом согласно спецификации стандарта расширенной идентификации дисплеев (EDID), разработанного Ассоциацией по стандартам в области видеоэлектроники (VESA EDID Specification). Буква 'A' представлена в двоичном коде как 00001, буква 'Z' представлена в двоичном коде как 11010, а все буквы между 'A' и 'Z' представлены как последовательные двоичные значения, соответствующие последовательности букв алфавита между 'A' и 'Z'. Старший значащий бит поля "наименование производителя" не используют, и на настоящий момент времени его значение обычно установлено равным логическому нулю до тех пор, пока не будет найдено его применение в будущих реализациях. Например, фирма-производитель, отображенная строкой "XYZ", имела бы значение "наименование производителя", равное 0×633a. Если клиентское устройство не обеспечивает поддержку этого поля, то его значение обычно устанавливают равным нулю. В поле "код изделия" используют 2 байта, содержащие код изделия, присвоенный фирмой-производителем устройства отображения. Если клиентское устройство не обеспечивает поддержку этого поля, то его значение обычно устанавливают равным нулю.
Поля "зарезервированное поле 1", "зарезервированное поле 2" и "зарезервированное поле 3" (длина каждого из которых здесь равна 2 байтам) являются зарезервированными для использования в будущем при передаче информации. Логические уровни всех битов в этих полях обычно должны быть установлены равными логическому нулю. В настоящее время назначение этих полей состоит в том, чтобы вызвать выравнивание всех последующих 2-байтовых полей по адресу 16-битового слова и вызвать выравнивание 4-байтовых полей по адресу 32-битового слова.
В поле "серийный номер" в этом варианте осуществления изобретения используют 4 байта для указания серийного номера устройства отображения в числовом виде. Если клиентское устройство не обеспечивает поддержку этого поля, то его значение обычно устанавливают равным нулю. В поле "неделя изготовления" используют 1 байт для определения недели, когда было изготовлено устройства отображения. Это значение обычно находится в интервале от 1 до 53, если клиентское устройство обеспечивает его поддержку. Если же клиентское устройство не обеспечивает поддержку этого поля, то его значение устанавливают равным нулю. Поле "год изготовления", равное 1 байту, определяет год изготовления устройства отображения. Это значение представляет собой смещение относительно 1990 года. Посредством этого поля могут быть выражены годы в пределах с 1991 года по 2245 год. Пример: 2003 год соответствует значению в поле "год изготовления", равному 13. Если клиентское устройство не обеспечивает поддержку этого поля, то его значение устанавливают равным нулю.
Поле "ЦИК" (равное здесь 2 байтам) содержит 16-битовый ЦИК всех байтов в пакете, в том числе байтов, содержащихся в поле "длина пакета".
G. Для пакетов "запрос клиентского устройства и его состояние" (Client Request and Status)
Поле "запрос на предоставление линии обратной связи" (Reverse Link Request) (3 байта) указывает количество байтов, которое требуется клиентскому устройству в линии обратной связи для передачи информации в главное устройство в следующем подкадре.
Поле "количество ошибок, обнаруженных посредством ЦИК" (1 байт) указывает количество ошибок, обнаруженных посредством ЦИК, возникших с начала кадра с аудиовизуальной информацией. При передаче пакета "заголовок подкадра" (Sub-Frame Header) с номером подкадра, равным нулю, отсчет количества ошибок, обнаруженных посредством ЦИК, устанавливают в исходное состояние, равное нулю. Если реальное количество ошибок, обнаруженных посредством ЦИК, превышает 255, то это значение обычно достигает насыщения при значении, равном 255.
В поле "изменение возможностей" (Capability Change) используют 1 байт для указания изменения возможностей клиентского устройства. Это может происходить в том случае, если пользователь подключает периферийное устройство, например микрофон, клавиатуру или устройство отображения, либо по какой-либо иной причине. Когда значения битов [7:0] равны 0, то возможности не изменились с момента передачи последнего пакета "возможности клиентского устройства" (Client Capability). Однако когда значения битов [7:0] равны от 1 до 255, то возможности изменились. Для определения новых характеристик устройства отображения производят анализ пакета "возможности клиентского устройства" (Client Capability).
В поле "флаги "клиентское устройство занято"" (Client Busy Flags) используют 2 байта для указания того, что клиентское устройство выполняет конкретную функцию и еще не готово принять другой пакет, связанный с этой функцией. Значение бита, установленное равным уровню или значению логической единицы, указывает, что клиентское устройство в текущий момент времени выполняет конкретную функцию, и что соответствующая функция в клиентском устройстве "занята". Если соответствующая функция в клиентском устройстве готова к работе, то значение этого бита устанавливают равным логическому нулю. Клиентское устройство должно возвращать состояние "занято" (значение бита, установленное равным единице) для всех функций, которые клиентское устройство не поддерживает.
,
В одном из вариантов осуществления изобретения эти байты интерпретируют согласно описанным ниже зависимостям. Если значение бита номер 0 равно '1', то "занята" функция передачи блока данных растрового изображения, при этом если значение бита номер 1 равно '1', то "занята" функция "закрашивание участка растрового изображения", а если значение бита номер 2 равно '1' то "занята" функция "заполнение узором из растровых изображений". При этом этим значение бита номер 3 равно '1', то "занята" графическая подсистема, выполняющая операцию, для которой требуется использование буфера кадров в клиентском устройстве. Другие графические функции, для которых требуется использование буфера кадров, не могут быть начаты до тех пор, пока значение этого бита не будет установлено равным логической единице.
В настоящее время биты с четвертого (4) по пятнадцатый (15) остаются зарезервированными для использования в будущем, и их значения обычно установлены равными уровню логической единицы или в состояние логической единицы для указания состояния "занято", если в будущем эти биты будут предназначены для этого.
H. Для пакетов "передача блока данных растрового изображения" (Bitmap Block Transfer)
В каждом из полей "значение координаты левого верхнего угла окна по оси X" и "значение координаты левого верхнего угла окна по оси Y" используют по 2 байта для указания значений координат левого верхнего угла окна, подлежащего перемещению, по осям X и Y. В каждом из полей "ширина окна" и "высота окна" используют по 2 байта для указания ширины и высоты окна, подлежащего перемещению. В каждом из полей "перемещение окна по оси X" и "перемещение окна по оси Y" используют по 2 байта для указания количества элементов изображения, на которое должно быть перемещено окно соответственно по горизонтали и по вертикали. Как правило, эти координаты сконфигурированы таким образом, что положительные значения для оси X вызывают перемещение окна вправо, а отрицательные значения вызывают его перемещение влево, в то время как положительные значения для оси Y вызывают перемещение окна вниз, а отрицательные значения вызывают его перемещение вверх.
I. Для пакетов "закрашивание участка растрового изображения" (Bitmap Area Fill)
В каждом из полей "значение координаты левого верхнего угла окна по оси X" и "значение координаты левого верхнего угла окна по оси Y" используют по 2 байта для указания значений координат левого верхнего угла окна, подлежащего закрашиванию, по осям X и Y. Поля "ширина окна" и "высота окна" (по 2 байта каждое) указывают ширину и высоту окна, подлежащего закрашиванию. Поле "дескриптор формата видеоинформации" (2 байта) указывает формат поля "значение элемента изображения, которым закрашивают участок изображения". Его формат является тем же, что и в таком же поле в пакете "поток видеоинформации" (Video Stream). Поле "значение элемента изображения, которым закрашивают участок изображения" (4 байта), содержит значение элемента изображения, которым должно закрашено окно, указанное посредством описанных выше полей. Формат этого элемента изображения указан в поле "дескриптор формата видеоинформации".
J. Для пакетов "заполнение узором из растровых изображений" (Bitmap Pattern Fill)
В каждом из полей "значение координаты левого верхнего угла окна по оси X" и "значение координаты левого верхнего угла окна по оси Y" используют по 2 байта для указания значений координат левого верхнего угла окна, подлежащего заполнению, по осям X и Y. Поля "ширина окна" и "высота окна" (по 2 байта каждое) указывают ширину и высоту окна, подлежащего заполнению. Поля "ширина узора" и "высота узора" (по 2 байта каждое) указывают соответственно ширину и высоту узора-заполнителя. Поле "смещение узора по горизонтали" (2 байта) указывает смещение узора, состоящего из данных об элементах изображения, по горизонтали относительно левого края указанного окна, подлежащего заполнению. Указываемое значение должно быть меньшим, чем значение в поле "ширина узора". Поле "смещение узора по вертикали" (2 байта) указывает смещение узора, состоящего из данных об элементах изображения, по вертикали относительно верхнего края указанного окна, подлежащего заполнению. Указываемое значение должно быть меньшим, чем значение в поле "высота узора".
2-байтовое поле "дескриптор формата видеоинформации" указывает формат поля "значение элемента изображения, которым закрашивают участок изображения". На фиг.11 проиллюстрировано то, каким образом закодирован дескриптор формата видеоинформации. Его формат является тем же, что и в таком же поле в пакете "поток видеоинформации" (Video Stream).
Поле "ЦИК параметров" (2 байта) содержит ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "дескриптор формата видеоинформации". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют. Поле "данные об элементах изображения узора" содержит исходную видеоинформацию, которая указывает узор-заполнитель в формате, указанном в поле "дескриптор формата видеоинформации". Данные упакованы в байты, и первый элемент изображения каждой строки должен быть выровнен по границе байта. Данные об узоре-заполнителе передают построчно. Поле "ЦИК данных об элементах изображения узора" (2 байта) содержит ЦИК только поля "данные об элементах изображения узора". Если результат проверки посредством этого ЦИК является неуспешным, то данные об элементах изображения узора все же могут быть использованы, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
K. Для пакетов "канал передачи данных по линии связи" (Communication Link Data Channel)
Поле "ЦИК параметров" (2 байта) содержит 16-битовый ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "тип пакета". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
Поле "данные, передаваемые по линии связи" содержит исходные данные из канала связи. Это данные просто передают в вычислительное устройство в устройстве отображения.
Поле "ЦИК данных, передаваемых по линии связи" (2 байта) содержит 16-битовый ЦИК только поля "данные, передаваемые по линии связи". Если результат проверки посредством этого ЦИК является неуспешным, то данные из поля "данные, передаваемые по линии связи" по-прежнему используют или считают пригодными, но количество ошибок, обнаруженных посредством ЦИК, увеличивают на единицу.
L. Для пакетов "разрешен прямой канал звукового сопровождения" (Forward Audio Channel Enable)
Поле "маска включения канала звукового сопровождения" (1 байт) содержит группу флагов, которые указывают то, какие каналы звукового сопровождения должны быть разрешены в клиентском устройстве. Значение бита, установленное равным единице, разрешает соответствующий канал, а значение бита, установленное равным нулю, запрещает соответствующий канал. Биты с нулевого (0) по пятый (5) обозначают каналы с нулевого по пятый, которые указывают соответственно левый передний канал, правый передний канал, левый тыловой канал, правый тыловой канал, передний центральный канал и канал низкочастотного динамика (сабвуфера). Биты номер 6 и номер 7 являются зарезервированными для использования в будущем, и на настоящий момент времени их значения обычно установлены равными нулю.
M. Для пакетов "частота дискретизации звука в линии обратной связи" (Reverse Audio Sample Rate)
Поле "частота дискретизации звука" (Audio Sample Rate) (1 байт) указывает частоту дискретизации цифрового звукового сигнала. Значения в этом поле предназначены для указания различных частот, при этом значения 0, 1, 2, 3, 4, 5, 6, 7 и 8 используют для указания частот соответственно 8000, 16000, 24000, 32000, 40000, 48000, 11025, 22050 и 44100 выборок в секунду, при этом значения от 9 до 254 являются зарезервированными для использования, при желании, иных частот, поэтому в настоящее время их значения установлены равными '0'. Значение 255 использовано для запрета передачи потока звуковой информации по линии обратной связи.
Поле "формат выборки" (1 байт) указывает формат выборок цифровых звуковых данных. Когда значения битов [1:0] равны '0', то выборки цифровых звуковых данных имеют линейный формат, когда они равны 1, то выборки цифровых звуковых данных имеют формат, соответствующий закону компандирования с мю-характеристикой (µ-Law), а когда они равны 2, то выборки цифровых звуковых данных имеют формат, соответствующий закону компандирования с А-характеристикой (A-Law). Биты [7:2] являются зарезервированными для альтернативного использования при обозначении желательных звуковых форматов, и обычно их значения установлены равными нулю.
N. Для служебных пакетов "защита цифрового информационного содержимого" (Digital Content Protection Overhead Packets)
Поле "тип защиты информационного содержимого" (1 байт) указывает используемый способ защиты цифрового информационного содержимого. Значение, равное '0', указывает наличие системы защиты информационного содержимого при цифровой передаче (DTCP), а значение, равное 1, указывает наличие системы защиты широкополосного цифрового информационного содержимого (HDCP). Интервал значений от 2 до 255 в настоящее время не определен, но зарезервирован для использования с иными схемами защиты по желанию. Поле "служебные сообщения, связанные с защитой информационного содержимого" представляет собой поле переменной длины, содержащее сообщения системы защиты информационного содержимого, которые передают между главным устройством и клиентским устройством.
O. Для пакетов "разрешен прозрачный цвет" (Transparent Color Enable)
Поле "разрешен прозрачный цвет" (1 байт) указывает, разрешен ли режим с прозрачным цветом или запрещен. Если значение бита номер 0 равно 0, то режим с прозрачным цветом запрещен, если же оно равно 1, то режим с прозрачным цветом разрешен, и прозрачный цвет указан посредством следующих двух параметров. Биты с первого (1) по седьмой (7) из этого байта являются зарезервированными для использования в будущем, и их значения обычно установлены равными нулю.
Поле "дескриптор формата видеоинформации" (2 байта) указывает формат поля "значение элемента изображения, которым закрашивают участок изображения". На фиг.11 проиллюстрировано то, каким образом закодирован дескриптор формата видеоинформации. Его формат обычно является тем же, что и в таком же поле в пакете "поток видеоинформации" (Video Stream).
В поле "значение элемента изображения, которым закрашивают участок изображения" используют 4 байта, предназначенные для значения элемента изображения, которым должно быть заполнено указанное выше окно. Формат этого элемента изображения указан в поле "дескриптор формата видеоинформации".
P. Для пакетов "измерение двусторонней задержки" (Round Trip Delay Measurement)
2-байтовое поле "длина пакета" указывает общее количество байтов в пакете за исключением поля "длина пакета", и в одном из вариантов осуществления изобретения это количество выбрано таким образом, что имеет фиксированную длину, равную 159. 2-байтовое поле "тип пакета", определяюшее пакет этого типа посредством значения 82, определяет этот пакет как пакет "измерение двусторонней задержки" (Round Trip Delay Measurement). Как и ранее, поле "идентификатор hClient клиентского устройства" является зарезервированным для использования в будущем в качестве идентификатора клиентского устройства, и обычно его значение установлено равным нулю.
В одном из вариантов осуществления изобретения поле "ЦИК параметров" (2 байта) содержит 16-битовый ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "тип пакета". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
Поле "первый защитный временной интервал" (равное здесь 64 байтам) использовано для того, чтобы обеспечить возможность включения формирователей линии MDDI_Data в клиентском устройстве до того, как будут отключены формирователи этой линии в главном устройстве. Клиентское устройство включает свои формирователи линии MDDI_Data во время получения бита номер 0 поля "первый защитный временной интервал", а главное устройство отключает свои формирователи этой линии для того, чтобы они были полностью отключены до поступления последнего бита "первый защитный временной интервал". В течение первого защитного временного интервала оба устройства: главное устройство и клиентское устройство, возбуждают уровень логического нуля, когда они не отключены. Другим назначением этого поля является обеспечение того, чтобы все сигналы MDDI_Data гарантированно имели уровень "логический ноль" в течение промежутка времени, достаточного для того, чтобы клиентское устройство имело возможность начать восстановление тактовой синхронизации или тактового сигнала с использованием только стробирующего сигнала MDDI_Stb до того, как будут отключены формирователи линии связи, имеющиеся в главном устройстве.
Поле "период измерения" представляет собой 64-байтовое окно, используемое для того, чтобы предоставить клиентскому устройству возможность послать ответ в виде двух байтов 0×ff и 30 байтов 0×00 со скоростью передачи, равной половине скорости передачи данных, используемой в линии прямой связи. Эта скорость передачи данных соответствует делителю скорости передачи в линии обратной связи, равному 1. Клиентское устройство возвращает этот ответ незамедлительно в тот момент времени, который оно воспринимает как начало "периода измерения". Этот ответ из клиентского устройства будет принят в главном устройстве точно в тот момент времени, который соответствует двусторонней задержке в линии связи плюс логической задержке клиентского устройства относительно начала первого бита "период измерения" в главном устройстве.
Поле "все нули 1" (2 байта) содержит нули, обеспечивая перекрытие во времени для формирователей линии MDDI_Data в главном устройстве и в клиентском устройстве для того, чтобы линия MDDI_Data всегда была возбуждена. Главное устройство включает формирователи линии MDDI_Data во время поступления бита номер 0 из поля "все нули 1", и клиентское устройство также продолжает приводить уровень сигнала в состояние логического нуля так же, как оно делало это в конце поля "период измерения".
Значение в поле "второй защитный временной интервал" (64 байта) обеспечивает возможность перекрытия периода измерения, приводимого в действие клиентским устройством в том случае, когда двусторонняя задержка имеет максимальное значение, которое может быть измерено за период измерения. Клиентское устройство отключает свои формирователи линии во время прохождения бита номер 0 из поля "второй защитный временной интервал", а главное устройство включает свои формирователи линии сразу же после последнего бита поля "второй защитный временной интервал". В течение второго защитного временного интервала оба устройства: главное устройство и клиентское устройство, возбуждают уровень логического нуля, когда они не отключены. Другим назначением этого поля является обеспечение того, чтобы все сигналы MDDI_Data гарантированно имели уровень "логический ноль" в течение промежутка времени, достаточного для того, чтобы клиентское устройство имело возможность начать восстановление тактовой синхронизации или тактового сигнала с использованием обоих сигналов MDDI_Data0 и MDDI_Stb после включения формирователей линии связи для главного устройства.
Q. Для пакетов "калибровка перекоса задержки в линии прямой связи" (Forward Link Skew Calibration)
В одном из вариантов осуществления изобретения поле "ЦИК параметров" (2 байта) содержит 16-битовый ЦИК всех байтов, начиная с поля "длина пакета" и заканчивая полем "тип пакета". Если результат проверки посредством этого ЦИК является неуспешным, то весь пакет аннулируют.
В поле "все нули 1" используют 8 байтов для гарантии того, что будут переходы стробирующего сигнала MDDI_Stb из одного состояния в другое в начале поля "последовательность калибровочных данных". Как правило, для этих байтов используют 8-битовые целые числа без знака, равные нулю. Оно также обеспечивает достаточное время для того, чтобы основные логические схемы клиентского устройства изменили режим схемы восстановления тактовой синхронизации с режима, при котором используют операцию "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) над сигналами MDDI_0 и MDDI_Stb, на режим, при котором просто используют MDDI_Stb или стробирующий сигнал MDDI_Stb в качестве восстановленных тактовых импульсов.
Поле "последовательность калибровочных данных" содержит последовательность данных, которая вызывает переключение сигналов MDDI_Data из одного состояния в другое в каждом периоде передачи данных. Длина поля "последовательность калибровочных данных" определяется интерфейсом, используемым в линии прямой связи. Во время обработки последовательности калибровочных данных контроллер главного устройства интерфейса MDDI устанавливает все сигналы MDDI_Data равными стробирующему сигналу. Во время приема поля "последовательность калибровочных данных" клиентским устройством схема восстановления тактовой синхронизации клиентского устройства должна использовать для восстановления тактовых импульсов для данных только стробирующий сигнал MDDI_Stb, а не результат логической операции "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) над сигналами MDDI_Stb и MDDI_Data0 (MDDI_Stb XOR MDDI_Data0). В зависимости от точной фазы стробирующего сигнала MDDI_Stb в начале поля "последовательность калибровочных данных", последовательность калибровочных данных, основанная на типе интерфейса, используемого при передаче этого пакета, обычно является одной из следующих.
Тип 1 - (64-байтовая последовательность данных) 0xaa, 0xaa... или 0x55, 0x55...
Тип 2 - (128-байтовая последовательность данных) 0xcc, 0xcc... или 0x33, 0x33...
Тип 3 - (256-байтовая последовательность данных) 0xf0, 0xf0... или 0x0f, 0x0f...
Тип 4 - (512-байтовая последовательность данных) 0xff, 0x00, 0xff, 0x00... или 0x00, 0xff, 0x00, 0xff...
В поле "все нули 2" используют 8 байтов для обеспечения достаточного времени для того, чтобы основные логические схемы клиентского устройства изменили режим схемы восстановления тактовой синхронизации назад в первоначальное состояние с режима, при котором в качестве восстановленных тактовых импульсов используют стробирующий сигнал MDDI_Stb, на режим, при котором используют операцию "ИСКЛЮЧАЮЩЕЕ ИЛИ" (XOR) над сигналами MDDI_0 и MDDI_Stb. Как правило, в этих байтах используют 8-битовые целые числа без знака, равные нулю.
Пример возможных форм сигнала MDDI_Data и стробирующего сигнала MDDI_Stb для интерфейсов обоих типов: типа 1 и типа 2, показан соответственно на фиг.62A и фиг.62В.
XIX. ЗАКЛЮЧЕНИЕ
Несмотря на то, что выше было приведено описание различных вариантов осуществления настоящего изобретения, следует понимать, что они были представлены только лишь в качестве примера, а не ограничения. Таким образом, широту и объем настоящего изобретения не следует ограничивать ни одним из описанных выше вариантов его осуществления, которые приведены в качестве примеров, но их следует определять только в соответствии с приведенной ниже формулой изобретения и с ее эквивалентами.