Протокол 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.
|