Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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 стеки были реализованы на ряде устройств от крошечных Microchip микроконтроллеры с 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-N-1 .

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

Для снижения затрат на короткие расстояния между соединениями CPI рекомендует отправлять данные ccTalk через несбалансированный многоточечный интерфейс с открытым коллектором: как передача, так и получение сообщений происходят по одной двунаправленной последовательной линии DATA на уровне 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. ^ a b c d e f g «Протокол последовательной связи ccTalk: общие спецификации». Архивировано 16 октября 2017 г. на Wayback Machine . Выпуск 4.7
  2. ^ a b «Контроль денег»
  3. ^ " " Шифрование DES для монетоприемников и валидаторов банкнот " " . Архивировано из оригинала на 2017-08-08 . Проверено 8 августа 2017 .
  4. ^ " " Шифрование DES для хопперов " " . Архивировано из оригинала на 2017-07-21 . Проверено 8 августа 2017 .

Внешние ссылки [ править ]

  • https://web.archive.org/web/20070329093914/http://www.cctalk.org/