Статьи
Открытые уроки
Лабораторные работы
Рефераты
Домашние задания
Оглавление
 
Яндекс.Метрика
Разработка интерфейсной платы Q256

Техническое задание

По разработке интерфейсной платы управления периферийными устройствами через параллельный интерфейс персонального компьютера

Смысл терминов используемых в настоящем документе:

Персональный компьютер (в дальнейшем «хост»)

IBM совместимая ЭВМ на базе процессора Intel x86 не ниже чем i486, оснащенная параллельным портом, работающим в соответствии со спецификацией IEEE 1284 "Standard Signaling Method for a Bidirectional Parallel Peripheral Interface for Personal Computers".

Плата управления (в дальнейшем Q256)

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

Периферийные устройства

Заранее определенные автономные устройства, список и спецификация которых предоставлены Заказчиком Исполнителю.

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

Периферийные устройства разрабатываемые Исполнителем (Приложение 2) должны соответствовать спецификации предоставленной Заказчиком до начала выполнения работ.

Функциональные модули

Расположенные непосредственно на плате управления автономные схемные решения, предназначенные для расширения ее функциональных возможностей

Канал платы управления

Канал платы управления – это уникальная битовая комбинация, устанавливаемая в регистре данных параллельного порта, к которому подключена плата Q256.

Канал периферийного устройства

Аппаратное свойство подключаемого изделия, определяемое производителем, используемое для передачи данных от периферийного устройства на плату управления и программно недоступное хост-машине.

§1. Требования к плате управления Q256

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

Предлагается следующее распределение каналов платы управления для доступа к периферийными устройствами и внутренними модулями.

 

 

Номер
канала

Тип
доступа

Маска

Функциональное
назначение канала

00

R

 

Нуль-канал, вычитываемое значение 00000???

FF

R

 

Нуль-канал, вычитываемое значение 11111???

FE

W

xxxxxxxx

Тест-канал записи (BIT 7..0)

FD

R

xxxxx???

Тест-канал чтения №1 (BIT 4..0)

FC

R

00xxx???

Тест-канал чтения №2 (BIT 7..5)

 

 

 

Каналы приемника монет

70

W

???????x

Запрет (inhibit) на прием монет

72

R

0000x???

Чтение состояния регистра запрета приемника монет

01

R

 

Счетчик монет канала #1

02

R

 

Счетчик монет канала #2

03

R

 

Счетчик монет канала #3

04

R

 

Счетчик монет канала #4

05

R

 

Счетчик монет канала #5

06

R

 

Счетчик монет канала #6

81

A

 

Канал сброса в нулевое значение счетчика монет канала #1

82

A

 

Канал сброса в нулевое значение счетчика монет канала #2

83

A

 

Канал сброса в нулевое значение счетчика монет канала #3

84

A

 

Канал сброса в нулевое значение счетчика монет канала #4

85

A

 

Канал сброса в нулевое значение счетчика монет канала #5

86

A

 

Канал сброса в нулевое значение счетчика монет канала #6

 

 

 

Каналы приемника купюр

71

W

???????x

Запрет (inhibit) с INH1 по INH4 на прием купюр

73

R

0000x???

Чтение состояния регистра запрета приема купюр

07

R

xxxxx???

Счетчик купюр канала #1 low (BIT4..0)

08

R

xxxxx???

Счетчик купюр канала #1 high (BIT9..5)

0F

-

 

Зарезервировано для использования в будущих разработках

87

A

 

Канал сброса в нулевое значение купюр канала #1

8F

-

 

Зарезервировано для использования в будущих разработках

 

 

 

Каналы хоппера

30

W

????xxxx

Установка счетчика хоппера (младшая тетрада)

31

W

????xxxx

Установка счетчика хоппера (старшая тетрада)

34

R

0xxxx???

Чтение счетчика хоппера (младшая тетрада)

35

R

0xxxx???

Чтение счетчика хоппера (старшая тетрада)

40

W

???????x

Канал разрешения выдачи монет

41

R

0000x???

Канал разрешения выдачи монет

42

A

 

Канал запрещения выдачи монет

 

 

 

Каналы управления индикацией

50

W

????xxxx

Управление индикаторами группы 0, IND=0…3

51

W

????xxxx

Управление индикаторами группы 1, IND=4…7

52

W

????xxxx

Управление индикаторами группы 2, IND=8…11

53

W

????xxxx

Управление индикаторами группы 3, IND=12…15

54

W

????xxxx

Управление индикаторами группы 4, IND=16…19

55

W

????xxxx

Управление индикаторами группы 5, IND=20…23

56

-

 

Зарезервировано для использования в будущих разработках

57

-

 

Зарезервировано для использования в будущих разработках

58

R

0xxxx???

Статус индикаторов группы 0

59

R

0xxxx???

Статус индикаторов группы 1

5A

R

0xxxx???

Статус индикаторов группы 2

5B

R

0xxxx???

Статус индикаторов группы 3

5C

R

0xxxx???

Статус индикаторов группы 4

5D

R

0xxxx???

Статус индикаторов группы 5

5E

-

 

Зарезервировано для использования в будущих разработках

5F

-

 

Зарезервировано для использования в будущих разработках

 

 

 

Каналы управляющих ключей

64

A

 

Сброс ключа 1 с защелкой (Type 1)

65

A

 

Сброс ключа 2 с защелкой (Type 1)

66

A

 

Сброс ключа 3 с защелкой (Type 1)

61

R

0xxxx???

Бит 0 ключ без защелки (Type 2)

Бит 1 ключ с защелкой (Type 1)

Бит 2 ключ с защелкой (Type 1)

Бит 3 ключ с защелкой (Type 1) (Reserved)

 

 

 

Каналы датчика вскрытия

62

W

 

Зарезервировано для использования в будущих разработках

63

R

0xxx????

Вычитываем битовое поле (5 бит – 4 датчика, один Reserved)

 

 

 

Каналы обмена с Serial EEPROM SPI

20

W

???????x

EEDATAIN (0)

21

W

???????x

EECS(0)

22

W

???????x

EECLK(0)

23

R

0xxxx???

EECLK(6), EECS(5), EEDATAIN (4), EEDATAOUT (3)

24

-

 

Зарезервировано для использования в будущих разработках

 

 

 

Каналы обмена с Serial EEPROM I2C

25

W

???????x

SCL (0)

26

W

???????x

SDA(0)

27

R

000xx???

SDA(4), SCL (3)

 

 

 

Каналы коммутации JPS

2C

W

???????x

JPS (0)

2D

R

0000x???

JPS(3)

 

 

 

Каналы коммутации SVGA

2E

W

???????x

SVGA (0)

2F

R

0000x???

SVGA(3)

 

Таблица 1.

Примечание.

R          -           Операция чтения данных из казала

W         -           Операция записи данных в канал

A          -           Операция адресации канала

§2. Описание программной модели, принятой после проведения макетных работ.

 

Здесь и далее мы предполагаем, что используется порт base=0378h, доступ к регистру данных осуществляется через{base}+0, к статусному регистру – через {base}+1, к регистру команд – через {base}+2. Для работы с контроллером Q256 выбраны следующие переназначения:

 

Смещение

Наименование

Использование

Разрядность

Маска

Base+0

Address/Data
Register

Для адресации (выбора) канала и передачи данных в него

8 bit

XXXXXXXX

Base+1

Status Register

Канал чтения данных

5 bit

XXXXX???

Base+2

Command Register

Канал управления передачей данных

4 bit

????XXXX

 

 

            Выбор канала с передачей данных в него (WRITE):

  • записать необходимые данные в Data/Address Register
  • установить в Command Register значение 0x01
  • установить в Command Register значение 0x00
  • установить в Data/Address Register номер канала,
               которому адресованы эти данные
  • установить в Command Register значение 0x02
  • установить в Command Register значение 0x00
  • завершить транзакцию и передать данные/адрес
               из локального буфера Q256 в канал назначения
  • установить в Command Register значение 0x04
  • установить в Command Register значение 0x00

 

 

            Выбор канала без передачи данных в него (ADDRESS):

  • установить в Data/Address Register номер канала
  • установить в Command Register значение 0x02
  • установить в Command Register значение 0x00
  • завершить транзакцию (передать адрес из локального
               буфера Q256 в канал назначения)
  • установить в Command Register значение 0x04
  • установить в Command Register значение 0x00

 

 

            Выбор канала с передачей данных из него (READ):

  • установить в Data/Address Register номер канала
  • установить в Command Register значение 0x02
  • установить в Command Register значение 0x00
  • завершить транзакцию (передать данные/адрес
               из канала в Status Register)
  • установить в Command Register значение 0x04
  • установить в Command Register значение 0x00
  • прочитать необходимые данные из Status Register

 

 

I. Канал приемника монет

Предназначен для подключения периферийных устройств ввода информации о приеме монет в систему.  Управление устройством осуществляется с помощью двух общих каналов:

 

70h                  inhibit all coin channels

При установке в регистре выбора канала этого значения (070h) приемнику монет подается команда на принудительное отклонение приема любой из монет.

72h                 read coin status

При установке в регистре выбора канала этого значения (072h) в регистре чтения данных становится доступной информация о статусе приемника монет: устройство готово к приему монет, либо устройство находится в состоянии inhibit

 

Реализация одного из каналов приемника монет следующая (пример):

 

06h                 coin counter                           (5 bit width)

При каждом достоверном срабатывании приемника монет в этом канале значение увеличивается на 1. Значение 0 – монет нет. Значение 1..31 – количество поступивших монет по маске XXXXX???.

86h                 coin counter reset

При установке в регистре выбора канала этого значения (086h) значение счетчика в канале 06h устанавливается в ноль.

 

                      

 

II. Канал приемника купюр

Предназначен для подключения периферийных устройств ввода информации о приеме купюр в систему. Управление устройством осуществляется с помощью трех общих каналов:

 

71h                  inhibit all note channels

При установке в регистре выбора канала этого значения (071h) приемнику купюр подается команда на принудительное отклонение приема любой из купюр.

73h                 read note status

При установке в регистре выбора канала этого значения (073h) в регистре чтения данных становится доступной информация о статусе приемника купюр: устройство готово к приему, устройство находится в состоянии inhibit, устройство находится в состоянии alarm

 

74h                 note validator alarm

При установке в регистре выбора канала этого значения (074h) в регистре чтения данных становится доступной информация о нештатной ситуации (alarm), возникшей на приемнике купюр: замин купюры, задержка в прохождении купюры через внутренний сканер, обратное движение купюры и т.п. Состояние alarm формируется аппаратно, для его устранения каких-либо действия со стороны платы управления Q256 не предусматриваются.

 

07h                 low note counter                                (5 bit width) 4..0

08h                 high note counter                               (5 bit width) 9..5

В канале приемника купюр реализован счетный 10 битный канал. Принцип его работы состоит в том, что при каждом достоверном срабатывании приемника купюр в этом канале значение увеличивается на 1 при попадании купюры достоинством 1 гривна, 2 – 2 гривны и т.д. Значение 0 – банкнот нет.  Максимальное значение – 1023 гривны. Чтение количества поступивших купюр организовано при помощи двух каналов – 07h и 08h по маске XXXXX???.

87h                 note counter reset

При установке в регистре выбора канала этого значения (087h) значение счетчика купюр в регистрах 07h и 08h устанавливается в ноль.

III. Канал хоппера

Канал со счетчиком предназначен для управления внешним устройством выдачи жетонов типа «Хоппер». Контроллер канала содержит 8-битный счетчик выдачи жетонов (hopper counter), значением которого управляют каналы 30h и 31h. Младшие 4 бита (тетрада) счетчика устанавливаются через канал 30h, старшие – канал 31h.

 

30h                 hopper counter write LOW     (4 bit)

Младшей тетраде счетчика присваивается значение после того, когда оно записывается в регистр «Канал записи данных», а затем в регистре «Выбор канала» устанавливается номер канала - 30h по маске ????XXXX.

31h                 hopper counter write HIGH    (4 bit)

Старшей тетраде счетчика присваивается значение после того, когда оно записывается в регистр «Канал записи данных», а затем в регистре «Выбор канала» устанавливается номер канала - 31h по маске ????XXXX.

 

34h                 hopper counter read LOW                  (4 bit)

Установив в регистр «Выбор канала» значение 34h и прочитав регистр «Канал чтения данных» можно получить текущее значение младшей тетрады счетчика жетонов хоппера по маске 0XXXX???.

35h                 hopper counter read HIGH     (4 bit)

Установив в регистр «Выбор канала» значение 35h и прочитав регистр «Канал чтения данных» можно получить текущее значение старшей тетрады счетчика жетонов хоппера по маске 0XXXX???.

40h      -           hopper Enable write                           (1 bit)

Если количество жетонов на выдачу в 8-ми разрядном счетчике (каналы 30h, 31h, 34h, 35h) хоппера не равно 0, то записав в регистр «Канал записи данных» значение 1, установив в регистр «Выбор канала» значение 40h, а потом записав в регистр «Канал записи данных» значение 0 мы разрешаем хопперу начать выдачу жетонов.

 

41h      -           hopper Enable read                            (1 bit)

Отображает текущее значение состояния сигнала hopper Enable. Для получения данных о состоянии сигнала необходимо записать в регистр «Выбор канала» значение 41h и читать регистр «Канал данных чтение» по маске 0000X???

 

42h      -           hopper Disable

При установке в регистре выбора канала этого значения (42h), устройство прекращает выдачу жетонов, но не сбрасывает счетчик жетонов. Работа хоппера может быть продолжена путем повторного программирования канала 40h.

Примечание.

Во время работы хоппера на соответствующие входы приемника монет и приемника купюр подается сигнал Inhibit, запрещающий прием монет/купюр на момент выдачи жетонов

 

 

IV. Канал управления индикацией

Канал управления предназначен для включения/выключения 28 индикаторов подсветки (светодиодов или низковольтных ламп накаливания), разбитых на 8 групп, и имеет композитную структуру. Композитная структура канала строится таким образом, что группа светодиодов, подключенных к нему, управляется битовой комбинацией регистра записи данных. Включение/выключение того или иного индикатора взаимно однозначно сопоставляется биту указанного регистра. Нулевое значение бита соответствует выключенному состоянию индикатора, единичное – включенному (индикатор подсвечен). Группа состоит из 4-х индикаторов, что определяется доступной разрядностью регистра записи данных.

 

50h      -           Control groupe #0 indicator              (4 bit)

Канал задается явно установкой в регистре выбора канала значения 50h. Бит 0 в регистре записи данных соответствует  IND#0. …, бит 3 – IND#3.

 

58h      -           Status groupe #0 read                                   (4 bit)

После установки в регистре выбора канала значения 58h, отображает текущее значение состояния индикаторов группы в регистре чтения данных. Бит 3 соответствует IND#0,…, бит 6 – IND#3. Значение бита 7  всегда равно 0.

 

            V. Каналы управляющих ключей

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

  • Type 1 – «Ключ с защелкой». Если ключ открыт, то индицируется «0» в соответствующем бите канала Read Control Keys. Закрытие ключа устанавливает этот бит в «1». Дальнейший сброс этого бита в «0» должен осуществляться хостом записью «0» в соответствующий бит канала Write Control Keys.
  • Type 2 – «Ключ без защелки». Информация об открытии или закрытии ключа динамически отображается в соответствующем бите канала Read Control Keys.

Канал имеет следующую композитную структуру:

 

61h      -           Read Control Keys                              (4 bit)

64        -           Reset Key#1 (Type 1)

65        -           Reset Key#2 (Type 1)

66        -           Reset Key#3 (Type 1)

При установке в регистре выбора каналов одного из этих значений (64h, 65h, 66h), соответствующий ключ устанавливается в ноль.

            VI. Каналы датчиков вскрытия

Предназначены для предоставления информации в хост-систему об отработке блокирующих датчик вскрытия корпуса, в котором установлена хост система и плата управления Q256. Информация об срабатывании датчика вскрытия динамически отображается в соответствующем бите канала Read Access Sensor Status. Канал имеет следующую композитную структуру:

63h      -           Read Access Sensor Status                (4 bit)

                                  

VII. Канал доступа к EEPROM

Предназначен для записи служебной информации в Serial EEPROM контроллера. Планируется поддержка двух протоколов обмена данными с Serial EEPROM: SPI (для обслуживания микросхем типа 93Cxx) и I2C (для обслуживания микросхем 24Cxx). Чтение и запись информации осуществляются из хост-системы путем программирования следующих каналов:

 

20h      -           Write Data SPI                                    (4 bit)

21h      -           Read Data SPI                                     (5 bit)

22h      -           Write Data I2C                                    (2 bit)

23h      -           Read Data I2C                                     (2 bit)

25h      -           SCL

26h      -           SDA

27h      -           SDA(4), SCL(3)

                                  

VIII. Канал коммутации JPS

Предназначен для передачи удаленному JackPot серверу информации, о событих в системе

 

2Ch      -           Write JPS

2Dh     -           Read JPS

                                  

IX. Канал коммутации SVGA

Предназначен для запрета передавать от хост-системы на монитор изображение путем коммутации сигнала синхронизации развертки

 

2Eh      -           Enable SVGA

2Fh      -           Disable SVGA

§3. Дополнительные особенности контроллера Q256.

            Для обеспечения устойчивости  контроллера от сбоев при кратковременном пропадании питания плата может быть опционально дополнена датчиком, который устанавливает Q256 в исходное состояние, приостанавливает всякую работу периферийных устройств, переводит их в неактивное состояние. Q256 имеет разъем подключения к хост компьютеру, посредством которого его можно перевести в состояние сброса (RESET). Заказчик должен самостоятельно программно отслеживать и обслуживать возникновение состояния сброса хост компьютера.

§4. Разъемы

            На плате имеются следующие разъемы для подключения внешних устройств

Наименование

К-во

Тип

Цена

1

Интерфейсный разъем для соединения платы Q256 с хост-компьютером

1

DRB-25FA

0,44

2

Подключение приемника монет

1

SCM-10R

0,28

3

Подключение приемника купюр

1

SCM-14R

0,32

4

Входное питание хоппера

1

PWL-3R

0,11

5

Выходное питание хоппера

1

PWL-2R

0,09

6

Интерфейс хоппера

1

WH-2R

0,04

7

Управление индикацией

2

SCM-14R

0,32

8

Управляющие ключи

4

WH-2R

0,04

9

Датчики вскрытия

4

WH-2R

0,04

10

Reset

2

WH-2R

0,04

11

Питание платы Q256 от хост-компьютера

1

THP-4MR

0,53

12

ISP разъем для программирования

2

PLD-80/6

0,03

13

JPS

1

WH-2R

0,04

14

SVGA F

1

DSB-15F

1,05

15

SVGA M

1

DSB-15M

1,10

            Подключение к разъемам платы Q256 интерфейсных кабелей выполняется Заказчиком самостоятельно с использованием кабелей Заказчика.

§5. Питание и предохранители

Настоящее Техническое задание предусматривает, что питание платы Q256 +5В, +12В обеспечивается от блока питания хост-системы. Предохранители в этом случае схемным решением не предусмотрены.

            Хоппер запитывается от внешнего источника питания, поставляемого Заказчиком самостоятельно. Схемное решение платы Q256 предусматривает наличие самовосстанавливающегося предохранителя 0,5А в цепи +24В.

            Схемы индикации запитаны от внешнего источника питания, наличие автономного блока питания и предохра