Это старая версия документа.
Содержание
Конвертер serial-to-ethernet на базе uPAC-7188EX
Индикация
Контроллер имеет 5 семисегментных индикаторов. Каждый из индикаторов индицирует работу одного последовательного порта, нумерация слева направо. Используются только горизонтальные сегменты:
- верхний - запись в serial порт
- средний - прием из serial порта
- нижний - отправка tcp-клиенту
Протокол обмена
outcoming requests
&<cmd>[<crc>][<cr>] &s3070<cr>
& - маркер начала посылки
cmd - команда
- h<port><data> - запись в порт в символьном hex-формате, где port - номер последовательного контроллера (от 1 до 9). Пример:
&h13132330D<cr>
отправка в serial последовательности байт31 32 33 0D
. - b<port><data> - запись в порт в символьном bin-формате. Кодировка символов данных:
& --> \a \ --> \\ #10 --> \r #13 --> \n
остальные символы идут как есть.
Пример: &b1:Ampersand-\a. Backslash-\\.\r<cr>
отправка в serial строки Ampersand-&. Backslash-\.<cr>
.
- p<tcpport> - установка tcp-порта, пример:
&setport 3070<cr>
- m<ipmask> - установка маски, пример:
&setmask 255.255.255.0<cr>
- i<address> - установка ip, пример:
&setip 192.168.0.55<cr>
- c<off|on> - установка режима crc, пример:
&crcmode on<cr>
- r<port><n> - установка переменной MaxReplySize (см.далее).
- portparams - параметры последовательного порта 4 символа:
- baud (по умолчанию C8N1):
0 - 50 1 - 75 2 - 110 3 - 134 4 - 150 5 - 300 6 - 600 7 - 1200 8 - 1800 9 - 2400 A - 4800 B - 7200 C - 9600 D - 19200 E - 38400 F - 57600 G - 115200 H - 230400 I - 460800 J - 921600
- data bits: 8 или 7
- parity (по умолчанию N):
N - NONE E - EVEN O - ODD M - MARK S - SPACE
- stop bits: 1 или 2
Все установочные значения сохраняются в eeprom контроллера.
data - данные
crc - crc16, четыре символа в hex-формате. Считается от маркера начала посылки включительно до последнего байта данных включительно. Пример: &b1:Hello490A<cr>
<cr> - маркер конца посылки (#10). если его в посылке нет, то концом считается - конец передачи.
incoming requests
&<cmd><data>[<crc>]<cr>
cmd
- h<port> - принятые данные в символьном hex-формате, где port - номер последовательного контроллера (1-9). Пример:
&h13132330D
означает, что в serial port 1 контроллера поступила последовательность байт31 32 33 0D
. - b<port> - принятые данные в bin-формате. Кодировка символов аналогична.
Отправка h и b контроллером происходит при выполнении одного из следующих условий:
- на вход serial поступали данные после чего в течение времени, 20мс, данные не поступают (состояние idle).
- на вход serial поступило MaxReplySize байт, где MaxReplySize по умолчанию равно 1000.
Если к устройству подключено несколько клиентов, то данные, полученные из COM порта передаются всем в базовом режиме и всем, подключенным к определенному порту, в режиме mirror.
Способ кодирования данных, полученных из COM в базовом режиме, соответствует последней команде запроса на соответствующий порт. Если последний запрос был выполнен командой &h, то все данные будут в этом формате, пока не придет запрос &b. Если с момента включения запросов не приходило, то считаем, что порт в режиме &h.
Режим Init
При включении контроллера в режиме init вступают в силу следующие параметры:
- mask = 255.255.255.0
- ip = 192.168.0.90
- port = 3070
Режим Mirror
TCP порты 5001..5008 соответствуют портам COM2-COM9, любые данные до 1000 символов прозрачно, без изменений передаются в обоих направлениях.
Карта памяти
Блоки по 5 байт 1.IP (4 из 5) 2.Mask (4 из 5) 3.Gate (4 из 5) 4.Port (5 из 5) 5.CRC (1 из 5) 6.MaxReply (2 из 5) 7.COM1 (4 из 5) 8.COM2 (4 из 5) 9.COM3 (4 из 5) 10.COM4 (4 из 5) 11.COM5 (4 из 5) 12.COM6 (4 из 5) 13.COM7 (4 из 5) 14.COM8 (4 из 5) 15.COM9 (4 из 5)