Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_А.Парамонов.doc
Скачиваний:
18
Добавлен:
08.09.2019
Размер:
7.82 Mб
Скачать

1.1.3.Эмуляция аппаратных модулей pos-терминала

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

  • монохромный жидкокристаллический дисплей;

  • клавиатура (основная и навигационная);

  • термический черно-белый принтер для печати чеков;

  • считыватель магнитных карт (магнитная карта представляет собой карту на пластиковой или бумажной основе с наклеенной магнитной лентой, которая считывается магнитной головкой, после чего полученная информация декодируется);

  • считыватель электронных карт (электронная карта представляет собой пластиковую карту со встроенной микросхемой, работающую под управлением операционной системы и позволяющую считывать информацию с учетом идентификации пользователя);

  • два слота для считывания SAM-карт (SAM-карты представляют собой компактный вариант электронных карт, которые, как правило, используются для хранения ключей);

  • коммуникационный порт Ethernet (используется для управления терминалом через telnet, а так же для обновления программного обеспечения по протоколу FTP);

  • коммуникационный последовательный порт RS232 (используется для загрузки ядра операционной системы, образа файловой системы, начального загрузчика и активации системы безопасности терминала);

  • разъем питания.

Программное средство эмуляции POS-терминала было создано на базе POS-терминала «ЯРУС» (см. рис. Рис. 1 .3) - первого POS-терминала российского производства, разработанного фирмой «Терминальные технологии» («Виджет»).

Рис. 1.3. Внешний вид POS-терминала «ЯРУС».

POS-терминал «ЯРУС» работает под управлением операционной системы Linux. Данная операционная система была выбрана из ряда других в связи со следующими ее достоинствами по отношению к другим операционными системам:

  1. Гибкость. Практически все в Linux поддается настройке в соответствии с конкретными задачами и оборудованием. Кроме того разработчику становятся доступны исходные тексты ядра и приложений, в результате чего можно модифицировать систему так, как это нужно разработчику. Такое можно встретить далеко не в каждой операционной системе, особенно семейства Windows. Еще один важный аспект заключается в том, что возможна загрузка собственных драйверов, обслуживающих те или иные устройства, в оперативную память. Эта возможность в полной мере была использована при разработке терминала.

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

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

  4. Нетребовательность к ресурсам. Данное условие очень важно, т.к. значительно сокращает затраты на аппаратные ресурсы при проектировании терминала. В рассматриваемом терминале был использован процессор ARM Zilog ZA9L, а также всего несколько десятков мегабайт оперативной памяти, чего вполне достаточно для работы ядра Linux.

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

Интерфейс различных аппаратных модулей удобно реализовать в виде набора загрузочных модулей. Для написания загрузочных модулей, входящих в состав рассматриваемого программного средства, используется язык программирования С. Этот язык использован в системе Linux для написания всех загрузочных модулей, входящих в ее состав.

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

Выполнение на ПК программного обеспечения, предназначенного для запуска на терминале, возможно за счет того, что при компиляции собирается две версии программы под разные платформы – одна под Intel I386, другая под ARM Zilog ZA9L. Сравнительная схема работы программного средства на ПК и на терминале изображена на рис. Рис. 1 .4.

Рис. 1.4. Сравнительные схемы работы ПО POS-терминала.

Как видно из схемы работы программного средства, изображенной на рис. Рис. 1 .4, отличие в работе заключается в следующем. На терминале драйверы аппаратных модулей включают в себя всю необходимую функциональность по управлению данным аппаратным модулем. На ПК драйверы предоставляют программному обеспечению тот же интерфейс, но являются «каналами», через которые данные передаются от программного обеспечения к прикладной программе ПС ЭТ и обратно. Прикладная программа в свою очередь обрабатывает данные и выводит их на эмулируемые аппаратные модули POS-терминала.

В табл. Таблица 1 .2 приведена сравнительная характеристика рассмотренных программных средств.

Таблица 1.2