ПРОТОКОЛ USB-УСТРОЙСТВА ДЛЯ ИГРОВОЙ МАШИНЫ Российский патент 2009 года по МПК G07F17/32 

Описание патента на изобретение RU2347275C2

Изобретение относится к игровым перифериям для игровых машин типа слот-машин и машин для видеопокера. В частности, настоящее изобретение относится к коммуникационным подключениям стандартной периферии между игровой периферией и игровой машиной.

Имеется множество различных вспомогательных устройств, которые могут быть подключены к игровой машине типа слот-машины или машины для видеопокера. В качестве отдельных примеров этих устройств можно назвать источники света, билетопечатающие устройства, считыватели для карточек, динамики, купюроприемники, монетоприемники, панели отображения, клавишные и кнопочные панели. Многие из этих устройств встроены в игровую машину. Зачастую некоторые устройства сгруппированы вместе в отдельном корпусе, который размещают наверху машины. Устройства этого типа обычно называются приставкой.

Как правило, игровая машина управляет различными комбинациями устройств. Эти устройства обеспечивают игровые настройки, расширяющие настройки игровой машины. Кроме того, многие устройств типа приставок спроектированы с возможностью их снятия с игровой машины, чтобы обеспечить гибкость в выборе игровых настроек данной игровой машины.

Управление настройками любого устройства обычно осуществляется "ведущим игровым контроллером" в составе игровой машины. Например, в процессе игры ведущий игровой контроллер может подать команду на источники света для их включения и выключения в различных комбинациях, подать команду на принтер для печати билета или послать информацию, которая будет отображена на экране дисплея. Для обеспечения выполнения этих операций ведущим игровым контроллером устройства подключаются проводами непосредственно к электронной плате какого-либо типа (например, к "системной плате" или "материнской плате"), на которой находится ведущий игровой контроллер.

Для управления устройством ведущему игровому контроллеру требуется информация о параметрах, о рабочих настройках и о конфигурации, предназначенная для каждого конкретного периферийного устройства. Эта информация включена в программное обеспечение и хранится в устройстве памяти какого-либо типа в составе ведущего игрового контроллера. Это специфическое для устройства программное обеспечение управляет настройками устройства в процессе игры. Как пример, для управления комплектом источников света программному обеспечению для ведущего игрового контроллера требуется такая информация, как число и типы источников света, настройки источников света, сигналы, которые соответствуют каждой настройке, и время ответа источников света.

Один недостаток существующего способа обслуживания устройств, управляемых ведущим игровым контроллером, состоит в необходимости выключения игровой машины в каждом случае замены устройства. При этом идущую от устройства проводку отключают от ведущего игрового контроллера и к ведущему контроллеру подключают с помощью проводов новое устройство. Замена устройства может осуществляться с целью изменения игровых настроек или восстановления работоспособности устройства. Точно также, если монтажная схема, на которой установлен ведущий игровой контроллер, или сам ведущий игровой контроллер нуждается в ремонте, то перед демонтажем игрового контроллера должна быть демонтирована проводка от всех устройств, подключенных к игровому контроллеру. После ремонта или замены ведущий игровой контроллер должен быть подключен проводами ко всем устройствам. Этот процесс проводного соединения требует времени и может привести к значительному простою игровой машины. Кроме того, от человека, выполняющего монтаж, требуется детальное знание механизмов в составе игровой машины. Следовательно, было бы желательно создать стандартный коммуникационный протокол и/или систему подключения для монтажа или демонтажа устройств и ведущих игровых контроллеров, которые позволят упростить этот процесс проводного соединения.

Другой недостаток существующего способа обслуживания устройств, управляемых ведущим игровым контроллером, связан с программным обеспечением для устройств. При установке нового устройства в игровой машине в ведущий игровой контроллер должно быть инсталлировано специфическое для устройства программное обеспечение. При этом опять-таки игровая машина должна быть выключена и от человека, выполняющего процесс инсталляции, требуется детальное знание игровой машины и устройства. Следовательно, было бы желательно упростить процесс инсталляции программного обеспечения.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Предлагаемое изобретение направлено на удовлетворение обозначенных выше потребностей путем создания игровой машины, имеющей множество "игровых периферий", каждая из которых обменивается информацией с ведущим игровым контроллером посредством стандартного интерфейса периферийных устройств типа USB (универсальной последовательной шины). Для некоторых игровых периферий связь между ведущим игровым контроллером и игровой периферией может включать в себя различные настройки защиты типа шифрования, защищенных портов и защищенных хабов. Для USB-совместимой связи определены характеристики класса игровой USB-периферии. Класс игровой USB-периферии позволяет управлять настройками игровой USB-периферии в классе игровой USB-периферии с помощью USB-хоста, совместимым с USB образом.

Один объект настоящего изобретения касается игровой машины. Игровая машина может быть, в общем, охарактеризована как содержащая ведущий игровой контроллер, спроектированный или сконфигурированный для управления одной или более играми, ведущимися на игровой машине, и обмена информацией с множеством игровых USB-периферий с использованием USB-совместимой связи; и множество игровых USB-периферий, подсоединяемых к игровой машине с возможностью обмена информацией с ведущим игровым контроллером. Каждая из множества игровых USB-периферий может содержать: 1) USB-совместимое коммуникационное подключение, 2) одно или более периферийных устройств, специфических для каждой игровой USB-периферии, причем каждое периферийное устройство поддерживает одну или более USB-настроек и 3) контроллер USB-периферии, спроектированный или сконфигурированный i) для управления одним или более периферийными устройствами и ii) для обмена информацией с ведущим игровым контроллером и периферийными устройствами с использованием USB-совместимой связи. Контроллер USB-периферии может содержать один или более USB-совместимых интерфейсов, каждый из которых назначен одной USB-настройке в одном из периферийных устройств. Игровая машина может представлять собой механическую слот-машину, машину для видеослота, машину для кено, машину для лотерейной игры или машину для видеопокера. Одно или более периферийных устройств выбраны из группы, в состав которой входят источники света, принтеры, накопители монет, купюроприемники, считыватели для билетов, считыватели для карточек, клавишные и кнопочные панели, экраны дисплеев, динамики, информационные панели, двигатели, массовые запоминающие устройства и соленоиды.

В частном примере осуществления игровая машина может содержать USB-совместимый хост-контроллер. Игровая машина может дополнительно содержать множество USB-совместимых драйверов настроек, причем каждый драйвер настройки обменивается информацией с USB-настройкой в одном из периферийных устройств, связанных с драйвером настройки. Ведущий игровой контроллер может быть дополнительно спроектирован или сконфигурирован для выполнения процессов клиентов настроек, которые обмениваются информацией с одной из USB-настроек с использованием связанного с ней USB-совместимого драйвера настройки.

В другом примере осуществления ведущий игровой контроллер может быть дополнительно спроектирован или сконфигурирован 1) для проведения опроса игровой USB-периферии с целью определения возможностей игровой USB-периферии, и 2) для загрузки драйвера класса игровой USB-периферии и/или USB-совместимых драйверов настроек для управления определенными возможностями игровой USB-периферии. Поэтому ведущий игровой контроллер может содержать память, хранящую один или более USB-совместимых драйверов для, по меньшей мере, некоторых из игровых USB-периферий. USB-совместимый драйвер класса игровой периферии может быть использован для обслуживания каждой игровой USB-периферии. USB-совместимый драйвер класса игровой периферии может быть выполнен с возможностью проведения опроса USB-совместимых интерфейсов с целью определения USB-настроек игровой USB-периферии. Кроме того, USB-совместимый драйвер класса игровой периферии может быть выполнен с возможностью загрузки USB-совместимых драйверов настроек для каждой определенной USB-настройки.

В частных примерах осуществления ведущий игровой контроллер может содержать память, хранящую программное обеспечение для шифрования, дешифрования или шифрования и дешифрования USB-совместимой связи между ведущим игровым контроллером и по меньшей мере одной из игровых USB-периферий. Контроллер USB-периферии может содержать энергонезависимую память, предназначенную для хранения а) параметров конфигурации, специфических для отдельной игровой USB-периферии, и/или b) информации журнала состояний игровой USB-периферии.

В состав параметров конфигурирования может входить назначение USB-совместимых интерфейсов, соответствующих USB-настройкам. Игровая USB-периферия может дополнительно содержать USB-совместимый контроллер устройства или USB-совместимый хаб.

Эти и другие признаки настоящего изобретения будут рассмотрены более детально в приведенном ниже подробном описании изобретения со ссылками на соответствующие фигуры.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

ФИГ. 1 - перспективное изображение игровой машины, имеющей приставку и другие устройства.

Фиг.2 - блок-схема игровой периферии и ее подключения к ведущему игровому контроллеру.

Фиг.3 - блок-схема более детального примера игровой периферии в соответствии с этим изобретением.

Фиг.4 - блок-схема последовательности операций при включении питания игровой периферии и в процессе обмена информацией с ведущим игровым контроллером.

Фиг.5 - блок-схема последовательности операций в процессе обмена информацией между игровой периферией и ведущим игровым контроллером на стадии после включения питания.

Фиг.6 - блок-схема последовательности операций в процессе общего обмена информацией с периферийным устройством посредством интерфейса стандартной периферии, который представлен на фиг.5, в частностях.

Фиг.7 - блок-схема последовательности операций в процессе транзакции общего события, представленной на фиг.5.

Фиг.8 - блок-схема архитектуры USB-связи, которая может быть использована для обеспечения USB-связи в настоящем изобретении.

Фиг.9 - блок-схема ведущего игрового контроллера, участвующего в обмене информацией с игровой USB-периферией.

Фиг.10 - схема взаимодействия хоста и игровой USB-периферии, соответствующих настоящему изобретению, в режиме двусторонней передачи информации.

Фиг.11 - блок-схема архитектуры программного обеспечения в игровой машине для обмена информацией с игровой USB-периферией.

Фиг.12 - блок-схема последовательности операций в реализуемом в игровой машине способе инициализации связи между игровой машиной и игровой USB-периферией.

ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ПРИМЕРОВ ОСУЩЕСТВЛЕНИЯ

На фиг.1 изображена видеоигровая машина 2, соответствующая настоящему изобретению. Машина 2 содержит основной корпус 4, который, как правило, окружает внутреннюю часть машины (не показана) и который доступен взгляду пользователей. Со своей передней стороны основной корпус 4 имеет главную дверцу 8, открывающуюся для обеспечения доступа внутрь машины. Как правило, главная дверца 8 и/или любые другие дверцы, которые обеспечивают доступ внутрь машины, используют механизм блокировки какого-либо вида как настройку защиты для ограничения доступа внутрь игровой машины. На поверхность главной дверцы выведены переключатели или кнопки 32 ввода для игрока, монетоприемник 28 и купюроприемник 30, лоток 38 для монет, защитное стекло 40 и рамка 42 монитора. Через главную дверцу можно видеть монитор с видеодисплеем 34 и информационную панель 36. Монитор с дисплеем 34, как правило, представляет собой катодно-лучевую трубку, плоскопанельный жидкокристаллический (ЖК) дисплей с высоким разрешением или другой обычный видеомонитор с электронным управлением. Информационная панель 36 может представлять собой стеклянную панель с задней подсветкой и выполненными методом трафаретной печати надписями для отображения общей игровой информации, в том числе, например, количества играющих монет. Купюроприемник 30, переключатели 32 ввода для игрока, монитор с видеодисплеем 34 и информационная панель являются устройствами, используемыми для ведения игры на игровой машине 2. Управление этими устройствами осуществляется схемами (не показаны), размещенными внутри основного корпуса 4 машины 2. Предлагаемая в данном изобретении игровая машина может обеспечить ведение всевозможных игр, в том числе традиционных слотов, видеослотов, видеопокера, кено и лотереи.

Игровая машина 2 имеет в своем составе приставку 6, которая установлена на верхней поверхности основного корпуса 4. Внутри приставки 6 находится ряд устройств, в том числе динамики 10, 12, 14, стеклянная панель с лампами 16 отображения, билетопечатающее устройство 18, которое может печатать билеты 20 со штрих-кодом, клавишная панель 22 для ввода данных трекинга игрока и считыватель 26 карточек для ввода карточки с магнитной полосой, содержащей данные трекинга игрока. В приставке 6 могут быть размещены другие или дополнительные устройства, отличные от показанных на фиг.1 и 2. Устройства, размещенные в приставке 6, придают игре, ведущейся на машине 2, дополнительные настройки. Управление этими устройствами в процессе игры осуществляется частично с помощью схем (не показано), размещенных внутри основного корпуса 4 машины 2. Схемы управления периферией в приставке 6 также обеспечивают некоторые функции управления для устройств приставки. Приставка 6 спроектирована так, что ее можно снимать с машины 2. Как правило, приставку 6 заменяют для того, чтобы отремонтировать устройство внутри приставки 6 или установить новую приставку 6 с другим набором устройств.

Когда пользователь желает запустить игровую машину 2, он (или она) вводит наличные деньги через монетоприемник 28 или купюроприемник 30. В начале игры игрок может ввести данные своего трекинга, используя считыватель 26 для карточек, клавишную панель 22 и флуоресцентный дисплей 26. В процессе игры игрок просматривает игровую информацию, используя видеодисплей 34. Обычно в ходе игры у игрока возникает необходимость в принятии ряда решений, оказывающих влияние на результат игры. Возможность выбора этих вариантов игрок может реализовать с помощью переключателей 32 ввода для игрока. При определенных игровых событиях игровая машина 2 может воспроизводить визуальные и звуковые эффекты, оказывающие на игрока несомненное влияние. Эти эффекты придают игре дополнительный эмоциональный накал, вызывающий у игрока желание продолжить игру. Звуковые эффекты могут представлять собой различные звуки, воспроизводимые динамиками 10, 12, 14. В качестве визуальных эффектов могут быть использованы вспыхивающие или стробирующие огни или другие узоры, воспроизводимые источниками света на игровой машине 2, в том числе источниками света, расположенными за передним стеклом 16 на приставке 6 или за защитным стеклом 40. По окончании игры игрок может получить игровые жетоны из лотка 38 для монет или билет 20 из принтера 18, причем этот билет может быть использован для дальнейших игр. Кроме того, игрок может получить из принтера 18 билет 20 на еду, товары или игры.

На фиг.2 представлена блок-схема игровой периферии и ее подключения к ведущему игровому контроллеру. Ведущий игровой контроллер 200, показанный на фиг.2, размещен в основном корпусе 4 игровой машины 2, изображенной на фиг.1. Ведущий игровой контроллер 200 управляет одной или более играми, ведущимися на игровой машине 2. Как правило, ведущий игровой контроллер подключен к материнской плате или к "системной плате" 202, которая крепится к задней стенке основного корпуса 4 игровой машины 2. Системная плата 202 может иметь держатель с защелкой (не показано) для механического соединения или сцепления с ведущим игровым контроллером 200 и корневой хаб 206 расширения с одним или более стандартными коммуникационными портами 208. Стандартные коммуникационные порты 208 используются для подключения к другим устройствам со стандартными коммуникационными портами.

Стандартные коммуникационные порты 208, корневой хаб 206 расширения, хаб 210 и хаб 230, и подключения к устройствам составляют систему связи, которая позволяет ведущему игровому контроллеру 200 обмениваться информацией с устройствами, подключенными к этой системе. Устройства и подключения, показанные на фигуре, являются только одним примером осуществления настоящего изобретения. Как правило, подключения устройства к конкретному порту не требуется. Среди примеров устройств, которые могут быть подключены к корневому хабу 206 расширения со стандартными коммуникационными портами 208 на материнской плате 202 с ведущим игровым контроллером 200, можно назвать волоконно-оптический конвертор 204, удаленный хаб 210, монетоприемник 216, купюроприемник и игровое периферийное устройство 228. Эти устройства могут быть размещены внутри основного корпуса 4 игровой машины 2 или могут постоянно находиться вне основного корпуса 4. В качестве других примеров устройств, которые могут иметь стандартный коммуникационный порт 208, обменивающийся информацией с ведущим игровым контроллером 200, можно назвать накопитель монет 212, купюроприемник 214, монетоприемник 216, кнопочную панель 218, матрицу 236 источников света, принтер 238, считыватель 240 для карточек и камеру 242 на фиг.2, а также динамик 10, который является частью аудиосистемы, экран 34 дисплея, информационную панель 36 и клавишную панель 22 на фиг.1. Эти устройства могут быть подключены непосредственно к материнской плате 202, содержащей корневой хаб 206 расширения, с использованием одного или более стандартных коммуникационных портов 208 или через одно или более устройств, содержащих стандартные коммуникационные порты, которые подключены к корневому хабу 206 расширения на материнской плате 202. Например, накопитель монет 212 подключен к стандартному коммуникационному порту 222 на купюроприемнике 214. Купюроприемник 214 подключен к корневому хабу 206 расширения на материнской плате 202, содержащей ведущий игровой контроллер 200. В качестве другого примера, камера 242 подключена к хабу 230 на игровой периферии 228, который подключен к корневому хабу 206 расширения на материнской плате 202.

Корневой хаб 206 расширения, интегрированный в системную плату 202, обеспечивает коммутационные подключения для устройств внутри игрового корпуса, не требуя при этом дополнительных аппаратных средств или неинтегрированного расширения коммуникационного порта, в том числе удаленного хаба 210 или хаба 230. Как правило, подключения к корневому хабу 206 расширения идут от подключения к корневому порту в схеме ведущего игрового контроллера 200 (т.е. к корневому порту, предусмотренному в схеме в составе ведущего игрового контроллера 200). Когда корневой хаб расширения подключен к корневому порту на ведущем игровом контроллере 200, то корневому хабу 206 расширения может быть обеспечен более высокий уровень защиты, чем у других удаленных хабов, в том числе у хабов 210 и 230. Вообще, любому хабу можно обеспечить более или менее высокий уровень защиты, чем другим хабам в игровой машине. Защита для хаба может быть обеспечена путем ограничения доступа внутрь игровой машины с помощью одной или более дверец с механическими и/или электрическими механизмами блокировки. Наблюдение за этими механизмами блокировки может вестись ведущим игровым контроллером 200 с использованием датчиков, в том числе электрических выключателей. Далее порты 208 и 224 в корневом хабе расширения могут иметь дополнительные настройки защиты. Например, доступ к портам может быть ограничен с помощью электронного ключа или крышек с механическими блокировками, предотвращающими доступ. Кроме того, устройства, подключенные к этим портам, могут быть блокированы для предотвращения отключения устройства. Далее электронные или механические датчики, в том числе специальная пленка, могут быть использованы применительно к конкретному порту, чтобы определить, имело ли место обращение к порту или нет. Одна или более из этих настроек защиты, также как и другие настройки защиты, могут быть использованы для защиты определенных портов на корневом хабе 206 расширения или любых других портов, используемых для подключения устройств.

Использование стандартных коммуникационных портов 208 и корневого хаба 206 расширения позволяет снимать ведущий игровой контроллер 200 с держателя на материнской плате, которая прикреплена к системной плате 202, без отключения или перемонтажа каких бы то ни было устройств, подключенных к стандартным коммуникационным портам 208. Кроме того, дополнительные устройства могут быть подключены к корневому хабу 206 расширения на материнской плате 202 без перемонтажа материнской платы 202 и ведущего игрового контроллера 200. Например, при отключении удаленного хаба 210 от одного из коммуникационных портов 208 на корневом хабе 206 расширения и замене на подключение к другому устройству, в том числе к камере 242 и т.д., накопитель 212 монет, купюроприемник 214 или монетоприемник 216, а также материнская плата 202 и ведущий игровой контроллер 200 перемонтажу не подлежат.

Кроме того, стандартные коммуникационные порты в корневом хабе 206 расширения, хабе 210 и 230 могут допускать подключения к устройствам не всех типов, чтобы обеспечить дополнительную защиту. Например, уровень защиты стандартного коммуникационного порта 224 может быть выше, чем других стандартных коммуникационных портов 208 на корневом хабе 206 расширения. Поэтому стандартный коммуникационный порт 224 на корневом 206 хабе расширения может допускать подключения исключительно устройств, требующих более высокого уровня защиты, в том числе купюроприемника 214, монетоприемника 216 и игровой периферии 228. В этом примере ведущий игровой контроллер 200 не распознает входных данных от купюроприемника 214, монетоприемника 216 или игровой периферии, если эти устройства не подключены через стандартный коммуникационный порт с более высоким уровнем защиты, в том числе 224. Эта защита может быть обеспечена механическим, электронным или программным средством или их комбинацией. Например, порт 224 может быть размещен внутри защищенного кожуха с блокировкой, чтобы гарантировать, что никто не может подключиться или отключиться через тот порт, не имея необходимого ключа. В другом примере ведущий игровой контроллер имеет временный порт или хаб 201. Обычно этот порт 201 используется для электронного ключа и для диагностики и других безопасных работ на ведущем игровом контроллере. В процессе работы игровой машины устройство обычно не подключается через этот порт. Защищенные порты и шифрование данных способствуют выполнению необходимых требований по защите игровой машины.

В процессе работы игровой машины 2 ведущий игровой контроллер 200 обменивается данными с устройствами, подключенными через систему стандартных коммуникационных портов и подключений. Ведущий игровой контроллер 200 имеет в своем составе память, хранящую программное обеспечение для исполнения стандартного коммуникационного протокола, который позволяет осуществлять связь с различными устройствами с использованием стандартных коммуникационных подключений. Этот коммуникационный протокол может включать в себя возможность шифрования для обмена информацией с одним или более устройствами. Ведущий игровой контроллер 200 обменивается информацией с устройствами для получения информации об устройстве, в том числе информации о том, работает ли оно должным образом или подключено ли оно по-прежнему или нет. Подробно этот процесс связи описан со ссылками на фиг.4, 5, 6 и 7.

В процессе игры ведущий игровой контроллер 200 управляет устройствами. Используя стандартные коммуникационные подключения и стандартный коммуникационный протокол, ведущий игровой контроллер 200 может посылать в устройство команды на выполнение определенной операции. Эти команды могут быть в форме команд низкого или высокого уровня. Ведущий игровой контроллер 200 посылает команды нижнего уровня в устройства, которыми он непосредственно управляет. Среди примеров команд нижнего уровня могут быть команды на включение определенного источника света, выключение определенного источника света, запуск двигателя или останов двигателя. Ведущий игровой контроллер может посылать команды высокого уровня в игровое периферийное устройство 228. Игровое периферийное устройство 228 - это устройство, которое содержит, например, хаб 230 со стандартными коммуникационными подключениями, контроллер 234 периферии и подключения с одним или более периферийными устройствами. Как правило, контроллер периферии управляет одним или более периферийными устройствами. Кроме того, при использовании коммуникационных подключений и стандартного коммуникационного протокола контроллер 234 периферии разрешает обмен информацией между ведущим игровым контроллером 200 и одним или более периферийными устройствами. Среди примеров некоторых периферийных устройств, которые могут быть включены в состав игровой периферии 228 в качестве части, источники 236 света, принтер 238, считыватель 240 для смарт-карт, купюроприемник 214, монетоприемник 216 и кнопочная панель 218 на фиг.2, а также динамик 10, экран 34 видеодисплея, клавишная панель 22 и флуоресцентный дисплей 24 на фиг.1. Контроллер 234 периферии управляет периферийными устройствами, подключенными к контроллеру 234 периферии, в том числе источниками 236 света, принтером 238 и считывателем 240 для смарт-карт. Когда ведущий игровой контроллер 200 посылает команду высокого уровня в игровое периферийное устройство 228 для инициирования запроса на выполнение операции периферийным устройством, управляемым контроллером 234 периферии, контроллер 234 периферии получает команду высокого уровня и преобразует ее в команды нижнего уровня, специфические для операции, запрашиваемой ведущим игровым контроллером 200. Например, ведущий игровой контроллер 200 может послать в игровое периферийное устройство 228 команду высокого уровня на "стробирование" его источников 236 света. Контроллер 234 периферии получает эту команду высокого уровня и отправляет на источники 236 света ряд команд нижнего уровня, в том числе команды включения и выключения определенных источников света с определенными интервалами. В другом примере ведущий игровой контроллер может послать в игровую периферию 228 команду на "печать купона", контроллер 234 периферии примет эту команду высокого уровня и преобразует ее в ряд команд нижнего уровня для принтера 238, в том числе в команды на запуск двигателя, печати строки, перехода к новой строке, протяжки бумаги и останова двигателя. Система команд высокого уровня, позволяющая ведущему игровому контроллеру 200 управлять периферийным устройством в составе игровой периферии 228 с помощью контроллера 234 периферии, хранится как программное обеспечение драйверов устройств в запоминающем устройстве в составе ведущего игрового контроллера 200.

На фиг.3 представлена блок-схема более детального примера игровой периферии в соответствии с этим изобретением. Ведущий игровой контроллер 200 подключен к хабу 230, имеющему в своем составе стандартные коммуникационные подключения в игровой периферии. Контроллер 234 периферии подключен к хабу 230 с использованием линии 300 связи с периферией. Линия 300 связи с периферией подключена к схеме 304 защиты от бросков напряжения и переходных процессов. Схема 304 защиты от бросков напряжения и переходных процессов защищает контроллер периферии от сигналов, поступающих в линии связи с периферией, способных повредить управляющий микропроцессор 312.

Мощность от ведущего игрового контроллера 200 передается в преобразователь 302 мощности. Преобразователь 302 мощности преобразует напряжение, поступающее от ведущего игрового контроллера 200, в напряжения, необходимые для управляющего микропроцессора 312 в составе контроллера 234 периферии или любого из периферийных устройств, подключенных к контроллеру 234, в том числе для двигателя 320, источников 322 света или принтера 324 и др. Периферийные устройства могут также получать мощность непосредственно от блока питания (не показано) с помощью или без помощи преобразователя 302 мощности. Блок питания обычно находится внутри основного корпуса игровой машины.

Аппаратные средства, необходимые для подключения контроллера 234 периферии к определенному периферийному устройству, размещены в интерфейсе 318 периферии. По меньшей мере одно или более периферийных устройств подключены к интерфейсу 318 периферии. В число этих периферийных устройств могут входить двигатель 320, источники 322 света, принтер 324, считыватели для карточек, клавишные панели, кнопочные панели, информационные панели, экраны дисплеев, купюроприемники и монетоприемники. Конфигурация контроллера 234 периферии, в которую входит информация о типах периферийных устройств, управляемых контроллером 234 периферии, хранится в энергонезависимой памяти 316. При замене периферийных устройств в составе игровой периферии энергонезависимая память 316 может быть заменена или перепрограммирована, чтобы содержать в себе новую конфигурацию.

В состав контроллера периферии входит управляющий микропроцессор 312, который управляет связью с ведущим игровым контроллером 200. Кроме того, управляющий микропроцессор 312 преобразует команды высокого уровня от ведущего игрового контроллера 200, инициирующего запросы на определенные операции от периферийных устройств, управляемых контроллером 234 периферии, в команды нижнего уровня, необходимые для выполнения операции. В одном примере осуществления в состав управляющего микропроцессора 312 входят постоянная память 310, энергозависимая память 308, таймер 314, блок 315 обеспечения отказоустойчивости и блок 306 связи с ведущим контроллером. В других примерах осуществления постоянная память 310 или энергозависимая память 308, или они обе могут не входить в состав управляющего микропроцессора.

Энергозависимая память 308 и постоянная память 310 могут быть модернизированы с использованием расширения 309 энергозависимой памяти и расширения 311 постоянной памяти. Расширение 311 постоянной памяти может быть выполнено в форме ППЗУ или флэш-памяти. При использовании флэш-памяти возможно обновление действующего кода контроллера периферии в условиях эксплуатации. Расширение 309 энергозависимой памяти может быть в форме статической оперативной памяти, которая использует батарею с длительным сроком эксплуатации для защиты содержимого памяти при отключении питания.

В предпочтительном примере осуществления каждая игровая периферия, содержащая контроллер 234 периферии, содержит, по существу, тот же самый управляющий микропроцессор 312. В таких модульных проектах схема 302 преобразования мощности и схема защиты от бросков напряжения/переходных процессов будут также, по существу, такими же самыми как у одной, так и у другой периферии. Различия между контроллерами периферии в отдельных перифериях останутся только в интерфейсе 318 периферии и информации, хранимой в энергонезависимой памяти 316. Это упрощает разработку периферии игровых машин и снижает расходы на их эксплуатацию.

Блок 306 связи с ведущим контроллером в составе управляющего микропроцессора 312 управляет связью между контроллером 234 периферии и ведущим игровым контроллером 200. Управляющий микропроцессор может быть серийным устройством, в том числе из семейства микроконтроллеров Infineon Technologies C541U. Блок 306 связи с ведущим контроллером обеспечивает связь с использованием стандартного коммуникационного протокола. По существу, этот блок реализует протокол, связанный со стандартным коммуникационным протоколом типа USB, IEEE1394 или т.д. Таймер 314 пересылает сигналы в управляющий микропроцессор 312, который управляет исполнением кода. Отказоустойчивый таймер 315 содержит код, который является независимым от кода в управляющем микропроцессоре 312. В случае утраты кода в управляющем микропроцессоре 312 или работы кода со сбоями отказоустойчивый таймер 315 сбрасывает всю игровую периферию. Как пример, отказоустойчивый таймер 315 может ожидать от управляющего микропроцессора 312 сообщения с фразой "не сбрасывать". При получении этого сообщения отказоустойчивый таймер 315 будет ожидать в течение определенного интервала времени следующего сообщения с фразой "не сбрасывать". Если по истечении определенного интервала отказоустойчивый таймер 315 не получает сообщения с фразой "не сбрасывать", он сбрасывает игровую периферию.

Постоянная память 310 - память только для чтения, содержимое которой сохраняется при снятии питания управляющего микропроцессора 312. Постоянная память 310 хранит базовый код, используемый управляющим микропроцессором 312 при работе. Код, хранимый в постоянной памяти 310, может быть тем же самым, что и в каждом контроллере 234 периферии. Чтобы управлять определенным периферийным устройством, управляющий микропроцессор 312 использует код, хранимый в постоянной памяти 310 со ссылками на определенную информацию о периферийном устройстве, хранимую в энергонезависимой памяти 316. Энергозависимая память 308 хранит код, параметры, данные от периферийных устройств и данные от ведущего игрового контроллера 200, необходимые для работы управляющего микропроцессора 312. Данные в энергозависимой памяти 308 теряются при снятии питания с управляющего микропроцессора 312. Критическая информация, в том числе информация о текущем состоянии периферийных устройств, хранится в энергонезависимой памяти 316. Энергонезависимая память может представлять собой СППЗУ, карточную флэш-память или оперативную память с питанием от батареи. В случае сбоя питания или какого-либо другого сбоя информация в энергонезависимой памяти 316 используется для восстановления игровой периферии в состояние, предшествующее сбою. Например, когда игрок вводит наличные деньги в игровую машину 2, эта информация может храниться в энергонезависимой памяти 316 контроллера 234 периферии. После сохранения в энергонезависимой памяти эта информация будет доступна для определения состояния машины 2 при любых последующих сбоях.

На фиг.4 представлена типичная блок-схема последовательности операций при включении питания игровой периферии и в процессе обмена информацией с ведущим игровым контроллером. Описание процесса дано для одной игровой периферии. В случае множества игровых периферий этот процесс осуществляется для каждой игровой периферии. Снятие питания с игровой периферии, которое может произойти случайно или иметь место при плановом техническом обслуживании игровой периферии, обычно сопровождается процессом на фиг.4. Когда игровая периферия впервые получает питание, стандартный управляющий микропроцессор, как пример см. 312 на фиг.3, на этапе 400 выполняет самодиагностику, чтобы подтвердить правильность работы периферии. При этом управляющий микропроцессор загружает программное обеспечение, хранимое в своей постоянной памяти. С помощью этого программного обеспечения управляющий микропроцессор выполняет ряд тестов по самодиагностике, чтобы принять решение о правильности работы своих различных компонентов. Среди этих тестов можно назвать тестирование функций процессора, таймера, отказоустойчивого таймера и блока связи с ведущим контроллером в составе управляющего микропроцессора.

После того как на этапе 400 управляющий микропроцессор завершает свою самодиагностику, на этапе 410 выполняется загрузка конфигурации и журнала состояний игровой периферии в энергозависимую память управляющего микропроцессора из энергонезависимой памяти, не входящей в состав управляющего микропроцессора. Энергонезависимая память хранит информацию о периферийных устройствах, подключаемых к управляющему микропроцессору через интерфейс периферии. Из этой информации стандартный управляющий микропроцессор узнает о типе игровой периферии, которой он управляет. Управляющий микропроцессор загружает информацию, хранимую в энергонезависимой памяти, и загружает код, хранимый в постоянной памяти управляющего микропроцессора, в энергозависимую память в составе управляющего микропроцессора, чтобы управлять периферийными устройствами. На фиг.3 управляющий микропроцессор 312, энергозависимая память 308, постоянная память 310, энергонезависимая память 316 и интерфейс 318 периферии - один возможный пример осуществления аппаратных средств, необходимых для реализации процесса, выполняемого на этапе 410. Один возможный пример конфигурационной информации, которая может храниться в энергонезависимой памяти, представляет собой информацию, описывающую световое табло, подключенное к игровой периферии. Энергонезависимая память может хранить информацию, включая тип светового табло, число источников света, время реакции источников света, сигнал, необходимый для включения источника света, сигнал, необходимый для выключения источника света, скорость передачи данных и емкость коммуникационного буфера для источника света. В другом примере энергонезависимая память может хранить конфигурационную информацию для двигателя, подключенного к игровой периферии, в состав которой могут быть включены тип двигателя, сигнал, необходимый для включения двигателя, сигнал, необходимый для выключения двигателя, время реакции двигателя, емкость коммуникационного буфера и скорость передачи данных для двигателя.

На этапе 410 управляющий микропроцессор загружает журнал состояний игровой периферии из энергонезависимой памяти. Журнал состояний содержит игровую информацию, которая описывает состояния периферийных устройств игровой периферии в процессе ведения игры на игровой машине. Например, информация о состоянии, хранимая в энергонезависимой памяти, может содержать сумму наличных денег, которые игрок ввел в машину, каждый этап игры, варианты, выбранные игроком в процессе игры, позиция барабанов или состояние источников света.

Когда в процессе игры происходит обесточивание игровой машины или возникает сбой в ее работе, информация, хранимая в энергонезависимой памяти, используется для восстановления игровой машины в игровое состояние, которое имело место перед самым обесточиванием или сбоем. Обычно при включении питания игровой машины игровая периферия до подключения ведущего контроллера устанавливается в заданное "безопасное" состояние. После установления связи между игровой периферией и ведущим игровым контроллером управляющий микропроцессор может попытаться передать релевантную информацию из журнала состояний, найденную в своей энергонезависимой памяти, в ведущий игровой контроллер.

На этапе 420 после самодиагностики и установки в какое-либо состояние контроллер периферии может осуществить тестирование периферийных устройств, которыми он управляет. Этот этап является необязательным. Среди примеров некоторых тестов, которые может выполнять контроллер периферии, - включение и выключение источников света на световом табло, печать пробного билета принтером, отображение контрольного узора на экране видеодисплея или воспроизведение звукового шаблона динамиком.

На этапе 430 контроллер периферии устанавливает связь между игровой периферией и ведущим игровым контроллером. Используя стандартные коммуникационные подключения и стандартный коммуникационный протокол, контроллер периферии устанавливает связь с ведущим игровым контроллером. Один пример осуществления аппаратных средств, необходимых для обеспечения этого процесса связи между контроллером периферии и ведущим игровым контроллером, показан на фиг.3. Один пример начальной последовательности операций для установления связи и обмена данными между контроллером периферии и ведущим игровым контроллером может быть представлен как ряд вопросов высокого уровня. Типичная последовательность операций установления связи может быть продолжена как поступающее от ведущего игрового контроллера сообщение с вопросом "есть ли кто-нибудь здесь?". Контроллер периферии может ответить "да", а ведущий игровой контроллер может спросить "каким типом устройства ты являешься?". Тогда контроллер периферии может ответить "я - игровая периферия какого-либо типа". В ответ на это ведущий игровой контроллер может спросить "какая у тебя скорость передачи данных и емкость буфера?". Контроллер периферии обычно посылает эту информацию в ведущий игровой контроллер, и устройства обычно продолжают обмениваться информацией. Указанные выше вопросы представляют собой характерный тип информации, пересылка которой осуществляется между устройствами с использованием стандартного коммуникационного протокола. Фактическая информация, пересылаемая устройствами в соответствии с вопросами, является специфической для конкретного протокола.

Существует много различных стандартных коммуникационных протоколов, в том числе USB или IEEE1394 и т.п. Каждый из этих протоколов использует стандартную коммуникационную последовательность. Но эта стандартная коммуникационная последовательность может меняться в зависимости от типа используемого протокола. Когда ведущий игровой контроллер использует USB-протокол для связи поверх стандартной связи, то ведущий игровой контроллер и контроллер периферии могут обмениваться между собой следующей информацией или частью этой информации: 1) номер спецификации варианта, 2) класс устройства, 3) подкласс (например, версия), 4) коммуникационный протокол устройства и модификация, 5) максимальные размеры принимаемых и посылаемых пакетов, 6) идентификация вендора, 7) идентификация продукта, 8) номер варианта устройства, 9) строка изготовителя, 10) строка продукта, 11) дескриптор устройства, 12) протокол устройства, 13) порядковый номер и 14) число интерфейсов конфигурирования. USB-стандарт является широко распространенным и описан в различных ссылках, например, в книге "USB Hardware and Software", John Garney, Ed Solari Shelagh Callahan, Kosar Jaff, Brad HosIer, издание Annabooks 11838 Bernado Plaza Court, San, Diego, CA, 92128, авторское право 1998, ISBN 0-929392-37-Х, которая включена в данное изобретение путем ссылки для всех целей.

После установления связи с игровой периферией ведущий игровой контроллер обращается к игровой периферии с вопросом о периферийных устройствах. На этапе 440 этот процесс назван последовательностью нумерации устройств. В процессе игры одно или более периферийных устройств в составе игровой периферии могут обмениваться информацией с ведущим игровым контроллером или управление этими устройствами может осуществляться ведущим игровым контроллером. На этом этапе ведущий игровой контроллер запрашивает информацию об устройствах от контроллера периферии. Информационный обмен между ведущим игровым контроллером и контроллером периферии может быть опять-таки представлен как ряд вопросов высокого уровня. Формат информационного обмена может меняться в зависимости от используемого коммуникационного протокола. Как пример, первый вопрос от ведущего игрового контроллера к контроллеру периферии может быть "имеешь ли ты какие-либо устройства?". Если игровая периферия ответит "да", то ведущий игровой контроллер может спросить "какое устройство?". При этом контроллер периферии пошлет информацию о типе периферийного устройства в ведущий игровой контроллер в каком-либо формате или протоколе, установленном до начала процесса связи. Этот протокол идентификации устройства отличается от коммуникационного протокола.

Для определенных устройств, требующих более высокого уровня защиты, в том числе для купюроприемников, монетоприемников и др., ведущий игровой контроллер может определить используемый этим устройством порт. Используя протокол идентификации устройства и информацию о порте, ведущий игровой контроллер может обмениваться или не обмениваться информацией с игровой периферией. Он может выдать сообщение об ошибке и прекратить дальнейшее взаимодействие, если устройство не использует требуемый порт. В качестве специфического можно привести пример, когда ведущий игровой контроллер требует до обращения к порту вставить в него электронный ключ (например, программный ключ) (как средство защиты). Когда периферийное устройство затем подключается к порту, в котором был использован электронный ключ, ведущий игровой контроллер может обмениваться данными только с устройствами определенных типов, которым разрешен доступ к этому порту на основе информации, предоставленной электронным ключом.

На этапе 450 ведущий игровой контроллер инициализирует один или более выбранных драйверов устройств для периферийного устройства, идентифицированного на этапе 440. Используя идентификационный номер устройства или какую-либо другую систему для идентификации периферийного устройства, ведущий игровой контроллер выбирает программный драйвер устройства, который будет управлять настройками периферийного устройства, пронумерованного на этапе 440. Ведущий игровой контроллер сначала поищет программный драйвер, который точно соответствует периферийному устройству. Если ведущий игровой контроллер не может определить местоположение программного драйвера, который точно соответствует периферийному устройству, то в этом случае ведущий игровой контроллер может поискать подобный программный драйвер, который сможет управлять всеми или некоторыми из настроек периферийного устройства. В качестве примеров периферийных устройств, управление которыми может осуществляться ведущим игровым контроллером с использованием программного драйвера, можно назвать источники света, принтеры, экраны видеодисплея, счетчики монет, монетоприемники, купюроприемники, считыватели для билетов, клавишные панели, двигатели и считыватели для карточек. После выбора программного драйвера ведущий игровой контроллер делает программное обеспечение доступным для использования. Обычно это делается путем загрузки программного обеспечения в память. Если местоположение программного драйвера для конкретного периферийного устройства не может быть определено, ведущий игровой контроллер не использует это устройство в процессе игры. Когда возникает необходимость в периферийном устройстве без программного драйвера для обслуживания игровой машины, ведущий игровой контроллер может генерировать сообщение об ошибке.

На этапе 440, чтобы выбрать программный драйвер, ведущий игровой контроллер может использовать протокол идентификации устройства. Как пример, протокол идентификации устройства может содержать ряд чисел, которые соответствуют специфическому периферийному устройству. В примере могут быть использованы комбинации информации о классе устройства, об изготовителе, о протоколе устройства и порядковый номер от специфического устройства. По этим числам ведущий игровой контроллер обычно может идентифицировать тип периферийного устройства и его настройки. Родственные периферийные устройства с подобными настройками могут иметь подобные числа. Например, две версии периферийного устройства, устройство А и устройство В, могут одновременно использовать одно или более чисел, например 11112 для обозначения устройства А и 11113 для обозначения устройства В. Это подобно концепции адресной маски в сетевой технологии. Этот процесс выбора может варьироваться в зависимости от изготовителя периферийных устройств и реализации драйвера.

На этапе 460 ведущий игровой контроллер определяет, завершена ли последовательность нумерации устройств. В случае необходимости нумерации большего числа устройств ведущий игровой контроллер возвращается к этапу 440. На этапе 460 ведущий игровой контроллер может определить необходимость нумерации большего числа устройств путем инициирования запроса к контроллеру периферии, или ведущий игровой контроллер может узнать о числе периферийных устройств, подключенных к игровой периферии по их типам. Тип игровой периферии был идентифицирован при установлении связи на этапе 430. На этапе 470 после завершения процесса нумерации для всех периферийных устройств, подключенных к контроллеру периферии, ведущий игровой контроллер может провести поиск дополнительных периферийных устройств, подключенных к другим контроллерам периферии, чтобы пронумеровать их и вернуться к этапу 440. По окончании нумерации всех периферийных устройств, подключенных ко всем контроллерам периферии, процесс, показанный на фиг.4, завершается.

Одним преимуществом процесса нумерации и инициализации драйверов устройств на этапах 440, 450, 460 является то, что нумерация может происходить в любое время в процессе работы машины. Например, если источники света, подключенные к игровой периферии, не работают, то их можно убрать из игровой периферии для ремонта и заменить новым набором источников света во время работы игровой машины, а ведущий игровой контроллер может разнумеровать старые источники света и затем пронумеровать новые источники света. Потенциально включение питания и процесс обмена информацией на фиг.4 могут быть выполнены ведущим игровым контроллером без вмешательства оператора или другого специалиста по техническому ремонту и обслуживанию.

На фиг.5 изображена блок-схема последовательности операций в процессе обмена информацией между игровой периферией и ведущим игровым контроллером на стадии после включения питания. На этой фигуре представлены некоторые возможные процессы взаимодействия и функционирования, которые происходят между ведущим игровым контроллером и игровой периферией на стадии после включения питания игровой машины. Среди некоторых событий, которые могут происходить на этой стадии, можно назвать работу игровой периферии в ходе игры, работу игровой периферии между играми и работу игровой периферии в ходе технического обслуживания.

На этапе 505 происходит обмен информацией с периферийным устройством посредством стандартного интерфейса периферии. В одном возможном примере осуществления этот этап может быть инициирован, когда ведущий игровой контроллер запрашивает операцию или информацию от одного из периферийных устройств, составляющих игровую периферию. В предпочтительном примере осуществления контроллер периферии получает это сообщение как команду высокого уровня и преобразует эту команду в одну и более команд нижнего уровня, необходимых для функционирования или обмена информацией с периферийным устройством. Частности этого этапа проиллюстрированы на фиг.6. Команды нижнего уровня пересылаются от контроллера периферии в периферийное устройство посредством интерфейса периферии. Периферийное устройство принимает команды и выполняет требуемую операцию. Как пример, световое табло может подсвечиваться отдельным источником света или подсвечиваться своими источниками света в виде определенного узора с миганием или вспышками. После выполнения операции периферийное устройство может сигнализировать контроллеру периферии о завершении операции. На другом этапе контроллер периферии может послать в ведущий игровой контроллер подтверждение о выполнении требуемой операции. В другом возможном примере осуществления этот этап может быть инициирован при использовании периферийного устройства игровой периферии. Например, игрок, желающий начать игру, может вставить карточку трекинга игрока в считыватель для карточек, подключенный к игровой периферии. В этом примере считыватель для карточек может послать в контроллер периферии сообщение о том, что карточка была вставлена. Тогда на другом этапе это сообщение может быть передано в ведущий игровой контроллер в каком-либо формате и может начаться ряд событий взаимодействия между игровой периферией и ведущим игровым контроллером. Процесс этого типа, когда последовательность обмена информацией начинается в периферийном устройстве, может происходить для ряда различных периферийных устройств, подключенных к игровой периферии, в том числе для считывателей карточек, считывателей билетов, монетоприемников, купюроприемников, клавишных и кнопочных панелей.

В процессе обмена информацией на этапе 505 был определен ряд возможных этапов, на которых контроллер периферии может посылать в ведущий игровой контроллер информацию о работе определенного периферийного устройства. Этот этап обмена информацией назван этапом 510 обработки события. Частности этого процесса описаны ниже со ссылками на фиг.7. При обработке события критическая информация от периферийного устройства, включая информацию о монете, принимаемой монетоприемником, билете, считываемом считывателем для билетов или купюроприемником, принимающим купюру, и др. передается между игровой периферией и ведущим игровым контроллером так, чтобы обеспечить ее сохранение в случае отключения или сбоя питания в процессе работы игровой машины. Этап обмена информацией на этапе 510 требует правильного взаимодействия контроллера периферии и ведущего игрового контроллера. На этапе 508 осуществляется контрольная проверка связи между ведущим игровым контроллером и контроллером периферии. При подтверждении нормальной связи между ведущим игровым контроллером и контроллером периферии на этапе 510 проводится обработка события. После успешной обработки транзакции на этапе 510 процесс обмена информацией между контроллером периферии и ведущим игровым контроллером, начатый на этапе 505, получает дальнейшее развитие.

При распознавании проблемы со связью между ведущим игровым контроллером и контроллером периферии происходит переход процесса к этапу 515. В процессе работы игровой машины на этапе 515 ведущий игровой контроллер может осуществить пересылку сигналов в одно или более периферийных устройств, подключенных к контроллеру периферии, чтобы определить, подключено ли периферийное устройство по-прежнему. Для целей связи ведущий игровой контроллер рассматривает контроллер периферии и периферийное устройство как один объект. Когда контроллер периферии отключен от ведущего игрового контроллера, периферийные устройства, подключенные к контроллеру периферии через интерфейс периферии, больше не могут обмениваться информацией с ведущим игровым контроллером, и ведущий игровой контроллер может предположить, что все периферийные устройства были отключены. Когда периферийное устройство отключено или не может больше обмениваться информацией с контроллером периферии, контроллер периферии, который еще может обмениваться данными с ведущим игровым контроллером, может обнаружить отключение и может послать ведущему игровому контроллеру сообщение о том, что периферийное устройство больше не имеет связи или подключения к контроллеру периферии. Например, вызвать случайное отключение периферийного устройства от контроллера периферии может дефект проводного соединения между контроллером периферии и периферийным устройством. В другом примере периферийное устройство может быть преднамеренно отключено от игровой периферии и контроллера периферии для технического обслуживания периферийного устройства. Кроме того, в другом примере, периферийное устройство может быть отключено от игровой периферии и контроллера периферии и вновь подключено к другому периферийному устройству с целью взлома игровой машины. В каждом из случаев ведущий игровой контроллер спроектирован так, чтобы обнаружить отключение периферийного устройства. Как пример, USB-коммуникационный протокол обращается с этим вопросом к схеме коммуникационной шины и проводного соединения. При каждой возможности контроллеры периферии могут способствовать обнаружению отключения.

В процессе обмена информацией между контроллером периферии и ведущим игровым контроллером могут быть использованы сообщения "подтверждения активности", которые регулярно посылаются в ведущий игровой контроллер с определенными интервалами. Когда ведущий игровой контроллер не получает этого сообщения по истечении определенного интервала, то игровая машина или игровая периферия может быть выведена в режим проверки ошибок. Кроме того, если контроллер периферии полагает, что периферийное устройство было отключено, игровая периферия может быть переведена в режим проверки ошибок контроллером периферии.

На этапе 520 ведущий игровой контроллер может с определенными интервалами посылать в периферийное устройство сообщение с вопросом о правильности работы или периферийное устройство может с определенными интервалами посылать сообщение с подтверждением правильности своей работы в ведущий игровой контроллер. Сообщение может быть ответом на запрос ведущего игрового контроллера о выполнении определенной операции. Например, когда ведущий игровой контроллер посылает на световое табло сообщение с запросом о стробировании его источников света, которое интерпретируется контроллером периферии и пересылается на световое табло, световое табло может послать сообщение с подтверждением о стробировании своих источников света в контроллер периферии назад. В другом примере световое табло или любое другое периферийное устройство может посылать в контроллер периферии регулярные сообщения, в том числе "готово", "работаю" или "выполняю операцию". В случае когда контроллер периферии перестает получать эти сообщения или подобные сообщения, контроллер периферии может решить, что периферийное устройство не ответило должным образом и перевести игровую периферию в режим проверки ошибок. Кроме того, контроллер периферии может ретранслировать это сообщение в ведущий игровой контроллер, который может перевести игровую периферию или игровую машину в режим проверки ошибок. Когда периферия подключена и отвечает должным образом, контроллер периферии возвращается назад к этапу 505 для обработки следующего коммуникационного события.

На этапе 525, когда контроллер периферии или ведущий игровой контроллер определяет, что периферийное устройство может быть отключено или что периферийное устройство отвечает ненадлежащим образом, принимается решение о типе ошибки и ответа. На этапе 530, когда контроллер периферии или ведущий игровой контроллер определяет, что произошла "критическая ошибка", контроллер периферии или ведущий игровой контроллер регистрирует ошибку и вызывает оператора. Оператор может быть вызван путем включения источника света на игровой машине или сообщением с запросом на какой-либо ответ, которое может быть послано в удаленный пункт. "Критическая ошибка" является событием, требующим для машины внешнего вмешательства, чтобы устранить ошибку. Например, ошибки, возникающие вследствие возможного взлома игровой машины, могут привести к критической ошибке. На этапе 535 при возникновении некритической ошибки контроллер периферии или ведущий игровой контроллер определяет, является ли ошибка результатом планового отключения или нет.

На этапе 540, если периферийное устройство будет удалено в результате планового отключения (например, при плановом техническом обслуживании), ведущий игровой контроллер разнумерует это периферийное устройство и скорректирует свою работу, чтобы отразить удаление устройства. Процесс разнумерации периферийного устройства может происходить в обратном порядке по отношению к процессу нумерации, описываемому при рассмотрении фиг.4. В процессе разнумерации ведущий игровой контроллер выгружает драйвер устройства для отключенного периферийного устройства и прекращает попытки установления связи с устройством. В зависимости от периферийного устройства игровая машина может продолжить работу при отключенном периферийном устройстве. Например, при отключении светового табло от игровой периферии для ремонта игровая машина может продолжать работать без светового табло. Возможность разнумерации устройства и продолжения работы является преимуществом в тех случаях, когда периферийное устройство невозможно немедленно отремонтировать или заменить.

На этапе 545 в случае некритической ошибки, которая не является результатом планового отключения, контроллер периферии или ведущий игровой контроллер может попытаться игнорировать, сбросить или повторно инициализировать периферийное устройство, в зависимости от конкретного характера критической ошибки. Кроме того, контроллер периферии или ведущий игровой контроллер могут зарегистрировать эту ошибку в журнале событий какого-либо типа. Например, в процессе печати билета принтер может работать со сбоями. Когда сбой принтера рассматривается как незначительная ошибка, контроллер периферии или ведущий игровой контроллер могут сбросить принтер на этапе 545 и затем запустить процесс связи вновь на этапе 505 при новой попытке напечатать билет. В другом возможном примере ведущий игровой контроллер может проигнорировать незначительную ошибку и вновь запросить выполнения операции от устройства.

На фиг.6 изображена блок-схема последовательности операций на этапе 505 в процессе обмена информацией с периферийным устройством посредством интерфейса стандартной периферии, который представлен на фиг.5, в некоторых частностях. На стадии включения питания, описываемой при рассмотрении фиг.4, ведущий игровой контроллер устанавливает связь с игровой периферией и выбирает программные драйверы для периферийных устройств, которыми ведущий игровой контроллер может управлять. На этапе 600 ведущий игровой контроллер может использовать программный драйвер, чтобы послать в контроллер периферии команду высокого уровня с запросом на операцию определенной настройки периферийного устройства. Эта команда высокого уровня посылается с использованием аппаратных средств коммуникационного подключения и стандартного коммуникационного протокола. Пример осуществления возможных аппаратных средств этого процесса показан на фиг.2. Для светового табло среди примеров потенциальных команд высокого уровня могут быть: "стробировать источники света", "обеспечить вспышки источников света", "реализовать световой узор А" или "реализовать световой узор В". Для билетопечатающего устройства в состав примеров потенциальных команд высокого уровня могут входить "печать билета для 10 игр", "печать купона для ресторана" или "печать купона для гостиницы А". Кроме того, команды высокого уровня могут посылаться в периферийные устройства других типов, в том числе на кнопочные панели, экраны видеодисплеев, считыватели для карточек, двигатели, клавишные панели, купюроприемники, монетоприемники и информационные панели. На этапе 610 контроллер периферии получает команду высокого уровня для периферийного устройства и преобразует команду высокого уровня в одну или более команд нижнего уровня, необходимых для выполнения определенной операции в периферийном устройстве. Например, команда высокого уровня от ведущего игрового контроллера для "стробирования источников света" на световом табло с 3 источниками света, подключенными к игровой периферии, может быть преобразована в последовательные команды нижнего уровня, в том числе "включить источник света 1", "ожидать в течение 100 миллисекунд", "выключить источник света 1", "включить источник света 2", "ожидать в течение 100 миллисекунд", "выключить источник света 2", "включить источник света 3". На этапе 620 контроллер периферии посылает в периферийное устройство определенные команды нижнего уровня, связанные с устройством, через интерфейс периферии. Последовательность команд нижнего уровня, посылаемых от контроллера периферии, позволяет периферийному устройству выполнять операцию, требуемую ведущим игровым контроллером.

На фиг.7 представлена подробная блок-схема последовательности операций на этапе 510 транзакции события, показанной на фиг.5. В процессе работы игровой машины и, в частности, при ведении игроком игры контроллер периферии и ведущий игровой контроллер могут попытаться сохранить информацию о некоторых событиях, которые происходят в одном или более периферийных устройствах. Как правило, критические события хранятся в энергонезависимой памяти как контроллера периферии, так и ведущего игрового контроллера, чтобы гарантировать, что в случае сбоя питания или некоторого другого сбоя в игровой машине в процессе игры информация о критическом событии не будет утрачена. В случае сбоя питания или некоторого другого сбоя в игровой машине, который прерывает игру, эта информация о критическом событии может быть использована для определения состояния игровой машины и игры перед прерыванием.

Этап 700 - первый этап в транзакции события между контроллером периферии и ведущим игровым контроллером. На этапе 700 периферийное устройство посылает какую-либо информацию в контроллер периферии через интерфейс периферии. Контроллер периферии получает данные от периферийного устройства и решает, составляет ли информация критическое событие или нет. Среди нескольких возможных примеров критических событий можно назвать подтверждение опускания монеты монетоприемником, подтверждение приема наличных денег купюроприемником или приема билета считывателем билетов для ведения игры. На этапе 710, когда контроллер периферии решает, что информация от периферийного устройства является критическим событием, контроллер периферии может послать все или часть данных для хранения в энергонезависимой памяти контроллера периферии. Пример осуществления возможных аппаратных средств этого процесса показан на фиг.3. На этапе 720 после регистрации информации о критическом событии в энергонезависимой памяти копия информации о критическом событии, которая может быть зашифрована, посылается в ведущий игровой контроллер с использованием стандартного коммуникационного протокола и стандартных коммуникационных подключений. Информация о критическом событии может включать в себя порядковый номер, чтобы избежать двойных транзакций. На этапе 730 ведущий игровой контроллер получает информацию о критическом событии. Если информация зашифрована, ведущий игровой контроллер дешифрует информацию. Вся информация, полученная от контроллера периферии, или ее часть хранится в энергонезависимой памяти ведущего игрового контроллера. На этапе 740 ведущий игровой контроллер посылает назад в контроллер периферии уведомление о получении информации о критическом событии, посланной от контроллера периферии. На этапе 750 после получения этого уведомляющего сообщения от ведущего игрового контроллера контроллер периферии может стереть информацию о предыдущем критическом событии из своей энергонезависимой памяти.

Фиг.8-12 иллюстрируют способы и устройства, обеспечивающие возможность USB-связи между ведущим игровым контроллером и периферийными устройствами в игровой машине. На фиг.8 представлена упрощенная блок-схема архитектуры USB-связи. Фиг.9 иллюстрирует архитектуру USB-связи в контексте игровой среды, использующей обмен информации между ведущим игровым контроллером и игровыми USB-перифериями. На фиг.10 представлен поток данных между игровым хост-компьютером, типа ведущего игрового контроллера, и игровой USB-периферией с использованием USB-связи. Фиг.11 иллюстрирует архитектуру программного обеспечения игровой машины, обеспечивающую возможность USB-связи. Фиг.12 иллюстрирует способ инициализации связи между игровым хост-компьютером и игровой USB-периферией.

На фиг.8 представлена блок-схема архитектуры 800 USB-связи, которая может быть использована для обеспечения USB-связи в настоящем изобретении. USB-устройство 803 может быть разделено на ряд компонентов типа: устройство, конфигурация, интерфейс и оконечная точка. Спецификации класса определяют, как устройство использует эти компоненты для доставки имеющихся функциональных возможностей в хост-систему. В некоторых случаях хост-система использует информацию о конкретном устройстве в дескрипторе устройства или интерфейса, чтобы связать устройство с драйвером типа протокола идентификации устройства, описываемого при рассмотрении фиг.5. Стандартные дескрипторы устройства и интерфейса содержат поля, которые относятся к классификации: класс, подкласс и протокол. Эти поля могут быть использованы хост-системой, чтобы связать устройство или интерфейс с драйвером, в зависимости от того, как они конкретизированы спецификацией класса.

Отношения между USB-устройством 803 и хост-системой 801 могут быть описаны согласно ряду уровней. На самом низком уровне хост-контроллер 814 физически обменивается данными с контроллером 816 устройства в USB-устройстве 803 через USB 818. Как правило, хост 801 требует хост-контроллера 814, а каждое USB-устройство 800 требует контроллера 816 устройства.

На среднем уровне программное обеспечение 810 USB-системы может использовать абстракцию устройств, определенную в Universal Serial Bus Specification, для взаимодействия с интерфейсом USB-устройства в USB-устройстве. Интерфейс USB-устройства является аппаратным средством (типа программируемого оборудования) или программным обеспечением, которое отвечает на стандартные запросы и возвращает стандартные дескрипторы. Стандартные дескрипторы позволяют хост-системе 801 узнавать о возможностях USB-устройства 803. Universal Serial Bus Specification обеспечивает структуру 808 устройства типа описаний стандартных дескрипторов и стандартных запросов.

На самом высоком уровне драйвер 804 устройства использует абстракцию интерфейсов, чтобы взаимодействовать с функцией, обеспеченной физическим устройством. Драйвер 804 устройства может управлять устройствами с определенными функциональными характеристиками в общем. Функциональные характеристики могут быть одним интерфейсом USB-устройства или это может быть группа интерфейсов. В случае группы интерфейсов спецификация класса может быть реализована USB-устройством. Если интерфейс принадлежит к конкретному классу, спецификация класса может определять эту абстракцию. Спецификации класса добавляют другой уровень требований, непосредственно связанных с тем, как программное обеспечение взаимодействует с возможностью, выполняемой устройством или интерфейсом, который является компонентом класса. В настоящем изобретении описаны характеристики спецификации класса игровой периферии, причем спецификации, совместимой с USB, что может быть использовано для обеспечения USB-связи в игровой машине.

USB-класс описывает группу устройств или интерфейсов с подобными атрибутами или услугами. Фактическое описание состава класса может варьироваться от класса к классу. Спецификация класса, типа спецификации класса игровой периферии, определяет требования для такой родственной группы. Полная спецификация класса может позволить изготовителям создать примеры реализации с управлением при помощи адаптивных драйверов устройств. Драйвер класса является адаптивным драйвером на основе описания класса. Адаптивные драйверы могут быть разработаны вендорами операционной системы и программного обеспечения с третьей стороны, а также изготовителями, поддерживающими множество различных продуктов.

Как правило, два устройства (или интерфейса) могут быть отнесены к одному и тому же классу, если они обеспечивают или потребляют потоки данных, имеющие подобные форматы данных, или если оба устройства используют подобное средство обмена информацией с хост-системой. USB-классы могут быть использованы для описания способа обмена информацией интерфейса с хостом, в том числе как информационного механизма, так и механизма управления. Кроме того, USB-классы могут иметь вторичную цель идентификации возможности, предоставляемой этим интерфейсом в целом или частично. Поэтому информация о классе может быть использована для идентификации драйвера, ответственного за управление возможностью подключения интерфейса и возможностью, предоставляемой интерфейсом.

Совместное группирование устройств или интерфейсов в классы и последующая спецификация характеристик в спецификации класса может позволить осуществить разработку программного обеспечения хоста, которое сможет управлять многочисленными реализациями на основе этого класса. Используя описательную информацию, представленную устройством, такое программное обеспечение хоста может адаптировать свою работу к определенному устройству или интерфейсу. Программное обеспечение хоста может узнать возможности устройства в процессе нумерации для этого устройства (см. описания фиг.4, 5 и 12). Спецификация класса может служить структурой для определения минимальной операции всех устройств или интерфейсов, которые идентифицируют себя как члены класса.

Как показано на фиг.8, в контексте USB-архитектуры 800 термин "устройство" может иметь различное значение в зависимости от контекста, в котором оно используется. Устройство в USB-архитектуре может быть логическим или физическим объектом, выполняющим одну или более функций. Фактически описываемый объект зависит от контекста ссылки. На самом низком уровне устройство может быть одним компонентом аппаратного обеспечения типа запоминающего устройства. На более высоком уровне устройство может быть совокупностью компонентов аппаратного обеспечения, которые выполняют конкретную функцию, типа интерфейса USB-устройства. На еще более высоком уровне термин "устройство" может относиться к функции 806, выполняемой объектом, подключенным к USB, типа устройства отображения. Устройства могут быть физическими, электрическими, адресуемыми или логическими. Как правило, при использовании в качестве неспецифической ссылки устройство является или хабом, или функцией 806. Хаб - это USB-устройство, обеспечивающее точки подключения к USB.

Типичный маршрут USB-связи может начинаться с процесса, выполняемого в хост-системе, которая может пытаться управлять функцией физического устройства. Драйвер 804 устройства может послать сообщение в программное обеспечение 810 USB. Программное обеспечение USB может обработать сообщение и послать его в хост-контроллер 814. Хост-контроллер 814 может передать сообщение через последовательную шину 818 в аппаратное средство 816. Интерфейс USB-устройства может обработать сообщение, полученное от аппаратного средства 812, и направить это в целевой интерфейс, который может направить информацию в физическое устройство, выполняющее требуемую операцию.

USB изменяет традиционные отношения между драйвером и устройством. Взамен обеспечения прямого аппаратного доступа драйвера к устройству USB ограничивает связь между драйвером и устройством четырьмя основными типами передачи (т.е. передачей массивов данных, передачей управления, передачей с прерываниями и изохронной передачей), реализуемой как программный интерфейс, предоставляемый хост-средой.

Следовательно, устройство должно отвечать в соответствии с ожиданиями уровней системного программного обеспечения или драйвер не сможет обмениваться информацией со своим устройством. По этой причине USB-совместимые классы типа игровой периферии, соответствующей настоящему изобретению, основаны по меньшей мере на том, как устройство или интерфейс подключено к USB, а не только на атрибутах или услугах, предоставляемых устройством.

В примере класс игровой периферии может описывать, как игровая USB-периферия подключена к хост-системе - как один однонаправленный канал вывода или как два однонаправленных канала, один канал вывода и один канал ввода в для возврата рабочего статуса игровой периферии. Класс игровой периферии может также основываться на формате данных, пересылаемых между хостом и устройством. Несмотря на возможность использования потоков необработанных (или неопределенных) данных, класс может также идентифицировать форматы данных более конкретно. Например, канал вывода (и необязательный канал ввода) может выбрать инкапсуляцию данных игровой периферии, как определено в другом промышленном стандарте типа протокола SAS (системы бухгалтерского учета для слот-машин), используемого компанией АйДжиТи (г.Рино, шт. Невада) /IGT (Reno, NV)/. Класс игровой периферии может обеспечивать механизм возврата этой информации, используя команду, специфическую для класса. В настоящем изобретении точно определено использование интерфейсов, являющихся членами класса игровой периферии.

На фиг.9 представлена блок-схема ведущего игрового контроллера 200, участвующего в обмене информацией с игровой USB-периферией 830. Ведущий игровой контроллер 200 можно рассматривать в качестве хоста 801 с аппаратными и программными функциональными возможностями, как было указано при описании фиг.8. Игровую USB-периферию 830 можно рассматривать вместе с аппаратными и программными функциональными возможностями USB-устройства, как было указано при описании фиг.8.

Ведущий игровой контроллер 200 может использовать USB-связь 850 для обмена информацией с рядом периферийных устройств типа источников света, принтеров, счетчиков монет, купюроприемников, считывателей для билетов, считывателей для карточек, клавишных панелей, кнопочных панелей, экранов дисплеев, динамиков, информационных панелей, двигателей, массовых запоминающих устройств и соленоидов, рассмотренных при описании фиг.3. USB-связь 850 может включать в себя аппаратное обеспечение и программное обеспечение, в том числе программное обеспечение 816 USB, хост-контроллер 814, последовательную шину 818, интерфейс 812 USB-устройства, интерфейсы 815 и контроллер 832 USB-периферии. Контроллер 832 USB-периферии может обеспечивать функциональные возможности контроллера 816 устройства (см. фиг.8) игровой USB-периферии 830. Контроллер 832 USB-периферии может быть другим примером осуществления контроллеров периферии, рассмотренных при описании фиг.1-6, типа контроллера 234 периферии, рассмотренных при описании фиг.3.

USB-связь 850 может позволить игровому программному обеспечению 820 типа операционной системы 822 игровой машины использовать игровые драйверы 824 типа игровых драйверов настроек и игровых драйверов класса для управления настройками типа 833, 834 и 836 в периферийных устройствах 838 и 840. Логика для каждой игровой USB-периферии 830 может быть разделена на совокупность USB-настроек типа 833, 834 и 836. USB-настройка может быть независимым кодом, который управляет одним устройством ввода-вывода или несколькими, по существу, идентичными устройствами ввода-вывода типа барабанов или бонусных колес. Например, устройство 838 может представлять собой бонусные колеса для игровой машины, а устройство 840 - еще одни бонусные колеса или барабаны для механической слот-машины. Настройка 834 может управлять источниками света для бонусного колеса 840, а настройка 836 может управлять движением бонусного колеса, например началом вращения, раскручиванием, торможением и остановом. Настройка 833 может управлять подобными функциями для одного или более барабанов 840, т.е. началом вращения, раскручиванием, торможением и остановом для каждого барабана.

В игровой USB-периферии 830 каждое устройство типа 838 и 840 может иметь одну или более настроек. Настоящее изобретение не ограничено двумя устройствами типа 838 и устройство может иметь множество настроек. Каждая USB-настройка может в типичном случае иметь единую цель, которая может быть определена в классе игровой периферии, соответствующей настоящему изобретению. Например, игровая USB-периферия 830 с двумя устройствами типа кнопок для ввода данных и источников света для вывода может иметь две настройки - настройку кнопок и настройку источников света. Управление настройкой кнопок и настройкой источников света может быть осуществлено соответствующими игровыми драйверами настроек в игровых драйверах 824. Например, игровой драйвер настройки кнопок может управлять настройкой кнопок, а игровой драйвер настройки источников света может управлять настройкой источников света посредством USB-связи 850.

Назначение числа настроек в игровой периферии может быть поручено изготовителю игровой USB-периферии. Изготовитель может делить задачу, выполняемую периферией, на различные настройки, пока это будет иметь смысл для периферии, рассматриваемой в программном обеспечении с такой точки зрения. Максимальное число разрешенных настроек на одной периферии может быть ограничено выбранной для периферии USB-реализацией.

На фиг.10 представлена схема взаимодействия хоста 860, типа ведущего игрового контроллера, и игровой USB-периферии 830, соответствующих настоящему изобретению, посредством USB-связи 850 в режиме двустороннего обмена информацией. USB-устройство, типа игровой USB-периферии 830, может иметь много конфигураций и интерфейсов. Детальная информация относительно конфигураций и интерфейсов имеется в спецификациях USB-стандартов на сайте www.usb.org. В основном, конфигурация - это набор интерфейсов (например, интерфейсов 815 на фиг.9).

В настоящем изобретении каждая настройка имеет свой собственный интерфейс. Например, настройка А назначена интерфейсу 1, а настройка В - интерфейсу 2. Настоящее изобретение не ограничено двумя интерфейсами и двумя настройками, например, (1-N) настроек может быть назначено во взаимно-однозначном соответствии (1-N) интерфейсам. Настройка, типа настройки А или настройки В, может поддерживать команды по конкретизации своей функции (команды, специфические для настройки).

Например, настройка колеса может иметь команду "вращения" и команду "останов вращения". Эти сообщения не могут быть найдены в других настройках, типа настройки источников света. Поэтому сообщения, специфические для настройки, могут быть направлены в интерфейс, назначенный для этой настройки. Например, настройка А может получать команды, специфические для настройки А, посредством сообщений 880 по настройке А, посылаемых в интерфейс 1, а настройка В может принимать команды, специфические для настройки А, посредством сообщений 864, посылаемых в интерфейс 2. Класс игровых периферийных устройств может быть спроектирован так, чтобы позволять добавлять команды, связанные с новой настройкой, к любой настройке и не оказывать при этом влияния на базовый протокол класса. Поэтому новая периферия, совместно использующая общий базовый протокол класса, может наращивать функциональные возможности без предъявления требований по изменениям к старым перифериям, уже использующим общий базовый протокол класса.

В классе игровых устройств, соответствующих настоящему изобретению, все настройки при нормальных условиях будут использовать нулевой интерфейс 872 для асинхронных сообщений. Поэтому нулевой интерфейс может быть использован при нормальных условиях для асинхронной связи между периферией 830 и хостом 860. Каждая игровая периферия 830 может совместно использовать общие сообщения 872, которые идентифицируют ее как игровую периферию. Среди таких сообщений могут быть запрос на вычисление циклического избыточного кода (CRC), запрос на сброс аппаратных средств, запрос на ввод режима работы в конфликтной ситуации, запрос на отмену режима работы в конфликтной ситуации, запрос на ввод режима самотестирования, запрос на получение конфигурации и запрос на получение статуса. Общие сообщения могут касаться периферии в целом, например периферии 876, или конкретных настроек, например настройки А или настройки В. Когда сообщение касается периферии в целом, в качестве адресата сообщения используется нулевой интерфейс. Когда сообщение касается настройки, в качестве адресата сообщения используется интерфейс для этой настройки.

Драйвер 870 класса игровой периферии, который управляет физическим устройством (например, игровой USB-периферией 830), в хосте может выполнять соответствующие драйверы настроек, чтобы управлять каждой настройкой (см. фиг.11). Например, драйвер 870 класса игровой периферии может загружать драйвер 878 и 862 настройки, чтобы управлять настройками А и В в игровой USB-периферии. Драйвер 870 класса игровой периферии может быть выполнен с возможностью определения настроек, поддерживаемых игровой USB-периферией 830, и соответствующих драйверов настроек, чтобы загрузить их путем опроса игровой USB-периферии при инициировании связи. Например, при обнаружении настройки принтера драйвером класса игровой периферии в игровой USB-периферии драйвер настройки принтера может быть подвергнут загрузке и запуску в хосте. Игровое программное обеспечение в машине получит при этом доступ к принтеру и позволит печатать билеты. Подробности взаимодействия между игровым программным обеспечением и игровыми драйверами настроек рассматриваются при описании фиг.11. Подробности способов, используемых для определения настроек игровой периферии и соответствующих драйверов с целью их загрузки, рассматриваются при описании фиг.5 и 12.

Как описано выше, в настоящем изобретении каждая настройка имеет свой собственный интерфейс. Преимущество наличия своего собственного интерфейса состоит в том, что USB-хост в игровой машине может рассматривать физическое устройство (например, игровую периферию) как совокупность настроек. Такой подход способствует упрощению архитектуры драйвера в хосте. Кроме того, использование назначения настроек интерфейсам во взаимно-однозначном соотношении может обеспечить возможность многократного применения кодирования для интерфейсов и настроек в случае других игровых USB-периферий с общими настройками.

На фиг.11 представлена блок-схема архитектуры игрового программного обеспечения 851 в игровой машине для связи с игровой USB-периферией, соответствующей настоящему изобретению. Подробности архитектуры игрового программного обеспечения, которая может быть использована вместе с настоящим изобретением, описаны в совместно рассматриваемой заявке №10/040329 на патент США, поданной 3 января 2002 г. под названием "Game Development Architecture that Decouples the Game Logic from the Graphics Logic" ("Архитектура разработки игровых программ с отделением игровой логики от графической") и включенной в данное изобретение полностью и для всех целей.

Игровая операционная система в игровой машине может выполнять процессы клиентов настроек, которые используют возможности периферийных устройств, подключенных к игровым машинам типа периферийных устройств, размещенных в игровых USB-перифериях, как об этом говорится при описании фиг.8-10. Чтобы использовать функции периферийного устройства в игровой USB-периферии, процесс клиента настройки, типа 852 или 854, может посылать команды, специфические для настройки, в драйвер настройки. Клиенты настроек могут посылать команды и запросы в драйверы настроек посредством взаимодействия процессов (IPC), которое поддерживается игровой операционной системой. Описание игровых драйверов 824, драйверов 862 и 878 настройки и драйвера 870 класса игровой периферии приведено при рассмотрении фиг.9 и 10.

В примере процесс 852 клиента настройки может пытаться управлять источниками света в игровой USB-периферии 830 в качестве части представления результата игры в игровой машине. Управление источниками света в игровой USB-периферии может быть осуществлено драйвером 862 настройки. Поэтому процесс клиента настройки может послать команду типа "обеспечить вспышку источников света" в драйвер 862 настройки. При этом драйвер 862 может использовать USB-связь 850, как было указано при описании фиг.10, чтобы послать команду "обеспечить вспышку источников света" в игровую USB-периферию 830 так, чтобы источники света могли вспыхивать.

Процессы 852 и 854 клиентов настройки могут осуществлять пересылку общих команд в драйвер 870 класса игровой периферии. Среди примеров общих команд можно назвать запрос на вычисление циклического избыточного кода (CRC), запрос на сброс аппаратных средств, запрос на ввод режима работы в конфликтной ситуации, запрос на отмену режима работы в конфликтной ситуации, запрос на ввод режима самотестирования, запрос на получение конфигурации и запрос на получение статуса. Эти команды могут касаться игровой USB-периферии в целом или конкретной настройки в игровой USB-периферии.

Процесс клиента настройки может посылать команды различным драйверам настроек в разное время. Например, процессы 852 и 854 клиентов настроек могут быть одними и теми же процессами. В первый раз процесс 852 клиента настройки может послать команду, специфическую для настройки, с целью управления первой настройкой в игровой USB-периферии 830 посредством драйвера 862 настройки. Во второй раз тот же самый процесс, процесс 854 клиента настройки, может послать команду, специфическую для настройки, с целью управления второй настройкой в игровой USB-периферии 830 посредством драйвера 878 настройки. Вообще, другой процесс может попытаться использовать тот же самый драйвер настройки в то же самое время или в различные моменты времени или тот же самый процесс может попытаться использовать другие драйверы настроек во время своего выполнения.

Игровая USB-периферия 830 может использовать передачи с прерываниями (см. USB-спецификации), чтобы сообщить об изменениях в статусах, асинхронных событиях и об отклонении сообщений. Всякий раз, когда периферия или настройка имеет сообщение для хоста, хост принимает его в течение интервала опроса, заданного для канала прерывания. Положительный результат от использования передач с прерываниями состоит в том, что программное обеспечение с использованием периферии в хост-машине будет работать без прерываний, если периферии будет нечего сообщить. Хорошее применение это находит при поиске результата вычисления циклического избыточного кода (CRC). Как только хост-машина запрашивает вычисления CRC у периферии, ей не требуется контролировать периферию так же часто, чтобы выяснить, выполнено ли вычисление CRC. Когда игровая USB-периферия выполнит эту операцию, она сообщит о CRC назад в хост. В числе других сообщений, которые используют передачи с прерываниями, обновления статуса по настройке и причины отклонения для любой команды.

На фиг.11 передачи с прерываниями с использованием USB-связи 850 с драйверам 862, 870 и 878 обозначены тремя стрелками от игровой USB-периферии 830 к каждому драйверу соответственно. После получения информации в драйверах посредством передач с прерываниями процесс 852 клиентов настроек или процесс 854 клиент настройки могут получать информацию от одного из драйверов. Способ пересылки информации от драйвера в процесс клиента настройки может варьироваться в зависимости от используемых операционной системы и архитектуры программного обеспечения.

Фиг.12 иллюстрирует реализуемый в игровой машине способ 900 инициализации связи между хостом типа ведущего игрового контроллера игровой машины и игровой USB-периферией. После подключения устройства к порту USB на этапе 905 USB-хост может обнаружить игровую USB-периферию и начать обмен информацией. На этапе 910 USB-хост может пронумеровать устройство, как было указано при описании фиг.5. В последовательности нумерации на этапе 915 хост может определить ряд интерфейсов, определенных для устройства. Затем на этапе 920 USB-хост может уведомить драйвер класса игровой периферии о наличии новой игровой периферии. На этапе 925 драйвер класса игровой периферии в хосте может провести опрос каждого интерфейса, чтобы определить имеющиеся настройки. На этапе 930 драйвер класса может загрузить и запустить драйверы настроек, чтобы обеспечить взаимодействие с настройками в игровой периферии. В одном примере осуществления загрузка драйверов настроек может быть инициирована процессами клиентов настроек (см. фиг.9). При этом клиенты в хосте могут управлять настройками в игровой USB-периферии и соответствующим ей физическим устройством посредством драйвера настройки. На этапе 935 хост может начать взаимодействие с игровыми USB-перифериями, например пересылку команд, специфических для настройки, в драйверы настроек или общих команд в драйвер класса игровой периферии, с использованием USB-связи. Команды, специфические для настройки, или общие команды могут быть использованы хостом для обеспечения управления игровой USB-периферией.

Выше было приведено подробное описание настоящего изобретения, целями которого является прояснение сущности изобретения. Однако очевидно, что в пределах объема притязаний прилагаемой формулы изобретения в него могут быть внесены определенные изменения и дополнения. Например, несмотря на то что игровые машины в этом изобретении были описаны как имеющие игровые периферии, физически прикрепленные к основному корпусу игровой машины, использование игровых периферий в соответствии с этим изобретением не ограничивается такими перифериями. Например, настройки периферии, обычно предоставляемые в приставке, могут быть включены в отдельный корпус, расположенный рядом с главным шасси игровой машины, но не подключенный к нему.

Похожие патенты RU2347275C2

название год авторы номер документа
ПРОТОКОЛЫ И СТАНДАРТЫ ДЛЯ КОММУНИКАЦИЙ С USB-ПЕРИФЕРИЕЙ 2004
  • Кураиши Надим Ахмад
  • Лэм Рекс Йинзок
  • Пикеринг Роберт Лилэнд
  • Куна Венката Дхананджайа
  • Пэтил Сангшетти
  • Лимэй Стивен Дж.
RU2331926C9
ПРОЦЕДУРЫ ЗАГРУЗКИ ДЛЯ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ 2004
  • Кураиши Надим Ахмад
  • Лэм Рекс Йинзок
  • Пикеринг Роберт Лилэнд
  • Куна Венката Дхананджайа
  • Пэтил Сангшетти
  • Лимэй Стивен Дж.
RU2331928C9
АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ USB В ИГРОВОЙ МАШИНЕ 2004
  • Лэм Рекс Йинзок
  • Кураиши Надим Ахмад
  • Лимэй Стивен Дж.
RU2331927C9
СВЯЗЬ НА БАЗЕ ОТКРЫТОЙ АРХИТЕКТУРЫ В ИГРОВОЙ СЕТИ 2003
  • Броснан Уилльям
  • Лимэй Стивен Дж.
  • Кокерилл Уорнер
  • Нельсон Дуайн
  • Брэкнер Роберт
RU2332805C9
УПРАВЛЕНИЕ КОНФИГУРАЦИЕЙ НА ОСНОВЕ СКАНИРОВАНИЯ В ИГРОВОЙ СРЕДЕ 2003
  • Пэрротт Грэг
  • Кривелли Франко
RU2343552C9
ВИРТУАЛИЗАЦИЯ МАССОВОГО ЗАПОМИНАЮЩЕГО УСТРОЙСТВА ДЛЯ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ 2014
  • Коленбрандер Рулоф Родерик
RU2649771C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОРГАНИЗАЦИИ ЗАГРУЗОК КОДА ИГРОВОЙ МАШИНЫ 2003
  • Роу Рик
RU2327210C9
АППАРАТ, СПОСОБ И СИСТЕМА ДЛЯ УПРАВЛЕНИЯ НАГРУЗОЧНЫМ УСТРОЙСТВОМ ЧЕРЕЗ ЛИНИЮ ЭЛЕКТРОПИТАНИЯ С ИСПОЛЬЗОВАНИЕМ ПРОТОКОЛА СОГЛАСОВАНИЯ ЭЛЕКТРОПИТАНИЯ 2015
  • Бей Марсель
  • Вендт Маттиас
RU2698708C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ПРЕДОСТАВЛЕНИЯ ИНФОРМАЦИИ ПОСРЕДСТВОМ УСТРОЙСТВА ТРЕКИНГА ИГРОКА В СОСТАВЕ ИГРОВОЙ МАШИНЫ 2003
  • Роу Рик
  • Шеферд Джефф
RU2333027C9
СИСТЕМЫ И СПОСОБЫ ДЛЯ ОБНАРУЖЕНИЯ ХОСТОМ ВОЗМОЖНОСТИ АСИНХРОННОГО УВЕДОМЛЕНИЯ USB 2014
  • Боуви Джеймс
  • Тхинд Равиндер
  • Прюитт Ли
RU2667033C2

Иллюстрации к изобретению RU 2 347 275 C2

Реферат патента 2009 года ПРОТОКОЛ USB-УСТРОЙСТВА ДЛЯ ИГРОВОЙ МАШИНЫ

Изобретение относится к игровым перифериям для игровых машин типа слот-машин и машин для видеопокера. В частности, настоящее изобретение относится к коммуникационным подключениям стандартной периферии между игровой периферией и игровой машиной. Технический результат заключается в упрощении замены и установки периферийных устройств в игровых машинах и расширении функциональных возможностей игровых машин. Такой результат достигается за счет того, что предлагаемая игровая машина имеет множество игровых периферий, каждая из которых обменивается информацией с ведущим игровым контроллером посредством стандартного интерфейса периферии типа USB (универсальная последовательная шина). Для USB-совместимой связи определены характеристики класса игровой USB-периферии. Класс игровой USB-периферии обеспечивает возможность управления настройками игровой USB-периферии в классе игровой USB-периферии с помощью USB-хоста совместимым с USB образом. 16 з.п. ф-лы, 12 ил.

Формула изобретения RU 2 347 275 C2

1. Игровая машина, содержащая ведущий игровой контроллер, спроектированный или сконфигурированный для управления одной или более играми, ведущимися на игровой машине, и обмена информацией с множеством игровых USB-периферий с использованием USB-совместимой связи, и множество игровых USB-периферий, подсоединяемых к игровой машине с возможностью обмена информацией с ведущим игровым контроллером, причем каждая из множества игровых USB-периферий содержит USB-совместимое коммуникационное подключение,

одно или более периферийных устройств, определенных для каждой игровой USB-периферий, причем каждое периферийное устройство поддерживает одну или более USB -настроек, и контроллер USB-периферий, спроектированный или сконфигурированный i) для управления одним или более периферийными устройствами и ii) для обмена информацией с ведущим игровым контроллером и периферийными устройствами с использованием USB-совместимой связи, причем контроллер USB-периферий содержит один или более USB-совместимых интерфейсов, каждый из которых назначен одной USB-настройке в одном из периферийных устройств.

2. Игровая машина по п.1, отличающаяся тем, что дополнительно содержит USB-совместимый хост-контроллер.3. Игровая машина по п.1, отличающаяся тем, что дополнительно содержит множество USB-совместимых драйверов настроек, причем каждый драйвер настройки обменивается информацией с USB-настройкой в одном из периферийных устройств, связанных с драйвером настройки.4. Игровая машина по п.1, отличающаяся тем, что ведущий игровой контроллер дополнительно спроектирован или сконфигурирован для выполнения процессов клиентов настроек, которые обмениваются информацией с одной из USB-настроек с использованием связанного с ней USB-совместимого драйвера настройки.5. Игровая машина по п.1, отличающаяся тем, что дополнительно содержит USB-совместимый драйвер класса игровой периферии для обслуживания каждой игровой USB-периферии.6. Игровая машина по п.5, отличающаяся тем, что USB-совместимый драйвер класса игровой периферии выполнен с возможностью проведения опроса USB-совместимых интерфейсов с целью определения USB- настроек игровой USB-периферии.7. Игровая машина по п.6, отличающаяся тем, что USB-совместимый драйвер класса игровой периферии выполнен с возможностью загрузки USB-совместимых драйверов настроек для каждой определенной USB- настройки.8. Игровая машина по п.1, отличающаяся тем, что ведущий игровой контроллер дополнительно спроектирован или сконфигурирован для проведения опроса игровой USB-периферии с целью определения возможностей игровой USB-периферии.9. Игровая машина по п.8, отличающаяся тем, что ведущий игровой контроллер дополнительно спроектирован или сконфигурирован для загрузки драйвера класса игровой USB-периферии и/или USB- совместимых драйверов настроек для управления определенными возможностями игровой USB-периферии.10. Игровая машина по п.1, отличающаяся тем, что представляет собой механическую слот-машину, машину для видеослота, машину для кено, машину для лотерейной игры или машину для видеопокера.11. Игровая машина по п.1, отличающаяся тем, что ведущий игровой контроллер содержит память, хранящую один или более USB- совместимых драйверов для, по меньшей мере, некоторых из игровых USB-периферий.12. Игровая машина по п.1, отличающаяся тем, что ведущий игровой контроллер содержит память, хранящую программное обеспечение для шифрования, дешифрования или шифрования и дешифрования USB- совместимой связи между ведущим игровым контроллером и, по меньшей мере, одной из игровых USB-периферий.13. Игровая машина по п.1, отличающаяся тем, что контроллер USB-периферий содержит энергонезависимую память, предназначенную для хранения а) параметров конфигурации, связанных с отдельной игровой USB-периферией, и/или b) информации журнала состояний игровой USB- периферий.14. Игровая машина по п.1, отличающаяся тем, что в состав параметров конфигурирования входят назначение USB-совместимых интерфейсов USB-настроек.15. Игровая машина по п.1, отличающаяся тем, что одно или более периферийных устройств выбраны из группы, в состав которой входят источники света, принтеры, накопители монет, купюроприемники, считыватели для билетов, считыватели для карточек, клавишные и кнопочные панели, экраны дисплеев, динамики, информационные панели, двигатели, массовые запоминающие устройства и соленоиды.16. Игровая машина по п.1, отличающаяся тем, что игровая USB-периферия дополнительно содержит USB-совместимый контроллер устройства.17. Игровая машина по п.1, отличающаяся тем, что игровая USB-периферия дополнительно содержит USB-совместимый хаб.

Документы, цитированные в отчете о поиске Патент 2009 года RU2347275C2

ЕР 1094425 А2, 25.04.2001
ЭЛЕКТРОННАЯ ИГРОВАЯ СИСТЕМА 1995
  • Львов Денис Эрнестович
RU2102790C1
ИГРОВАЯ СИСТЕМА 1995
RU2101065C1
US 4856787 А, 15.08.1998
US 5833540 А, 10.11.1998.

RU 2 347 275 C2

Авторы

Лэм Рекс Й.

Пикеринг Роберт Л.

Кураиши Надим А.

Куна Венката Д.

Лимэй Стивен Дж.

Даты

2009-02-20Публикация

2003-08-22Подача