CcTalk - CcTalk

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

Протокол ccTalk - один из 2 протоколов, указанных BACTA для использования во всех автоматах AWP с серийными монетоприемниками. (Другой - протокол Host Intelligent Interface, разработанный Mars Electronics International ).[1]:20

Протокол был разработан в компании под названием Coin Controls (отсюда и название coin-control-talk, позже названное Money Controls и с 2010 года Crane Payment Solutions) на окраине Манчестер на северо-западе Англия в основном инженером Эндрю Уильямом Барсоном. Первый выпуск протокола был в 1996 году.[2]

Протокол ccTalk - это открытый стандарт.[1]:13

Протокол использует асинхронную передачу символьных кадров аналогично RS232. Основное отличие состоит в том, что он использует один двусторонняя связь линия передачи данных для полудуплексной связи, а не отдельные линии передачи и приема. Он работает в Напряжения TTL и является «многоточечным», т.е. периферийные устройства могут быть подключены к общей шине и логически разделены адресом устройства. Каждое периферийное устройство на шине ccTalk должно иметь уникальный адрес.

Исходный протокол работал на 4800 бод с последующими выпусками, стандартизованными на 9600 бод. Недорогие мостовые микросхемы теперь доступны от ряда производителей, что позволяет ccTalk работать через USB со скоростью не менее 1 Мбит / с.

Стеки протоколов ccTalk были реализованы на ряде устройств от крошечных Микрочип микроконтроллеры с 512 байты из ПЗУ к мощному ARM7 32-битные процессоры.[1]:12–13

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

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

В 2010, DES К некоторым командам было добавлено шифрование, чтобы сделать его более устойчивым к атакам на шину.[2]Каждое периферийное устройство имеет свой уникальный ключ DES.[3][4]

Пример пакета сообщения ccTalk

Данные TX = 2 0 1 245 8

  • 2 = адрес назначения
  • 0 = нулевые байты данных
  • 1 = адрес источника
  • 245 = заголовок команды «Запросить идентификатор категории оборудования»
  • 8 = контрольная сумма (2 + 0 + 1 + 245 + 8 = 256 = 0 по модулю 256)

Это сообщение от адреса 1 (хоста) к периферийному адресу 2, чтобы узнать, что это такое.

Данные RX = 1 13 2 0 67 111 105 110 32 65 99 99 101 112 116 111 114 22

  • 1 = адрес назначения
  • 13 = 13 байтов данных
  • 2 = адрес источника
  • 0 = заголовок ответа
  • 67… 114 = ASCII для «монетоприемника»
  • 22 = контрольная сумма (сумма всех байтов пакета равна нулю)

Ответ с адреса 2 на адрес 1 идентифицирует его как монетоприемника.

Подробности

Протокол ccTalk - это байтовый протокол. Последовательность байтов в сообщении, представленная выше как последовательность десятичных чисел, передается как 8-Н-1.

Многие устройства имеют один электрический разъем, который передает питание (обычно +12 В или +24 В) и данные ccTalk по 4 проводам.

Для снижения затрат на короткие расстояния между подключениями CPI рекомендует отправлять данные ccTalk по несбалансированной многоточечный интерфейс с открытым коллектором: как передача, так и получение сообщений происходят по одной двунаправленной последовательной линии ДАННЫХ на Уровень TTL, управляемый через NPN-транзистор с открытым коллектором. Подтягивающий резистор на хосте подтягивает линию DATA к +5 В, поэтому логическая 1 (и холостой ход) номинально составляет +5 В, а логический 0 (и стартовый бит) номинально 0 В.[1]:15,17Для больших расстояний CPI рекомендует отправлять данные ccTalk через сбалансированный многоточечный RS-485 интерфейс драйвера, тоже номинально +5 В и 0 В.[1]:17

Безопасные периферийные устройства требуют, чтобы все байты сообщения были зашифрованы, за исключением первых двух байтов - байт адреса назначения и байт длины данных никогда не шифруются, что позволяет смешивать стандартные и безопасные периферийные устройства на одной шине.[1]:26

Общая длина пакета сообщения может варьироваться от минимум 5 байтов (байт длины данных равен 0) до 260 байтов (байт длины данных равен 255). Для более длительных передач требуется серия пакетов сообщений.[1]:28

Именование монет и банкнот

За прошедшие годы в рамках спецификации ccTalk появился ряд связанных стандартов. Например, глобальные теги для обозначения постоянно меняющихся в мире монет и банкнот.

В ccTalk монета имеет 6-значный идентификатор формата <2-буквенный код страны> <3-значное значение> <1-буквенный код выпуска>

Код страны соответствует ISO 3166. Код выпуска присваивается разным датам выпуска или особым вариациям монетного двора одной и той же монеты.

например

  • US025A США 25c
  • GB010B Великобритания 10p
  • EU200A евро 2 евро

Банкноты следуют тому же шаблону, но значению присвоено 4 символа, и существует связанный коэффициент масштабирования, обычно x100, со страной.

например

  • US0001A США $ 1
  • GB0020A Великобритания 20 фунтов стерлингов
  • EU0005A 5 евро

Рекомендации

  1. ^ а б c d е ж грамм «Протокол последовательной связи ccTalk: общие спецификации» В архиве 2017-10-16 в Wayback Machine.Выпуск 4.7
  2. ^ а б «Контроль денег»
  3. ^ ""Шифрование DES для монетоприемников и валидаторов купюр"". Архивировано из оригинал на 2017-08-08. Получено 2017-08-08.
  4. ^ ""Шифрование DES для хопперов"". Архивировано из оригинал на 2017-07-21. Получено 2017-08-08.

внешняя ссылка