Протокол MBUS.
Hardware level Hardware
level description | Protocol | RS232 | Speed | 9600 | Data bits | 8 | Parity | Odd | Stop bits | 1 | Logical 0 | 0.0 - 2.0V | Logical 1 | 2.0 - 3.6V |
MBUS использует выход с открытым
коллектором, который подтянут к + питания
телефона резистором.
Software level Структура
пакета данных | header | size | code | data | packet_number | checksum |
Структура
пакета подтверждения | header | 0x7F | acknowledged packet number | checksum |
| Имя поля | Длина | Описание | header | 2 bytes | От PC - [ 0x00 0xE9 ] От телефона - [ 0xE9 0x00 ] | size | 1 byte | Размер data в пакете | code | 1 byte | От PC - [ 0xE5 ] От телефона - [ 0xE6 ] | data | size bytes | Данные | packet_number | 1 byte | Значение увеличивается на 1 после
каждого удачного обмена | checksum | 1 byte | XOR-ка байт пакета |
Как вычислить checksum for( checksum = 0; i = 0; i < packet[2] + 5; i++ )
{
checksum ^= packet[i];
} Общение телефона с компом происходит по
следующей схеме:
PC send data packet
phone return acknowledge
phone send data packet
PC send acknowledge. После удачного обмена данными компьютер
должен увеличить packet_number на 1.
|