Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
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 евро
Ссылки [ править ]
- ^ a b c d e f g «Протокол последовательной связи ccTalk: общие спецификации». Архивировано 16 октября 2017 г. на Wayback Machine . Выпуск 4.7
- ^ a b «Контроль денег»
- ^ " " Шифрование DES для монетоприемников и валидаторов банкнот " " . Архивировано из оригинала на 2017-08-08 . Проверено 8 августа 2017 .
- ^ " " Шифрование DES для хопперов " " . Архивировано из оригинала на 2017-07-21 . Проверено 8 августа 2017 .
Внешние ссылки [ править ]
- https://web.archive.org/web/20070329093914/http://www.cctalk.org/