Slave-контроллер MODBUS RTU для AVR
Здесь выложена прошивка и представлена схема, реализующая простой контроллер шины MODBUS RTU по интерфейсу RS-232.
Схема контроллера приведена на рисунке выше. Скорость обмена – 115200 бод. Контроллер поддерживает команды чтения-записи HOLDING REGISTERS, и чтения INPUT REGISTERS.
Карта памяти приведена ниже:
MODBUS тип данных |
Внутренний тип данных контроллера |
MODBUS стартовый адрес |
Внутренний стартовый адрес памяти контроллера |
Размер области, байт |
Holding
registers |
IO
registers |
0 |
0 |
96 |
Holding
registers |
SRAM |
1000 |
0 |
512 |
Holding
registers |
Program
FLASH |
2000 |
0 |
8192 |
Holding
registers |
EEPROM |
12000 |
0 |
512 |
Input
registers |
IO
registers |
0 |
0 |
96 |
Input
registers |
SRAM |
1000 |
0 |
512 |
Input
registers |
Program
FLASH |
2000 |
0 |
8192 |
Input
registers |
EEPROM |
12000 |
0 |
512 |
Входные регистры доступны только для чтения, holding регистры доступны как для чтения так и для записи, однако при попытке записи в program flash контроллер ответит ошибкой адреса. Так как память контроллера 8-и разрядная, то при попытке записи в регистры значения более 255 контроллер ответит ошибкой данных. Таким образом, контроллер позволяет обращаться ко всем видам свое внутренней памяти, а так же изменять ее состояние (кроме памяти программ). Таймаут символа выбран 10 мс, период паузы между сообщениями > 20 мс
Ссылки:
Конечно же www.modbus.org )))
Полезные файлы: Честно говоря, забыл, откуда я брал эти файлы, если кто заметит , что его, пусть сообщит, я заменю файл на ссылку)
Описание
протокола с modbus.org ENGL/PDF
Еще одно описание протокола MODBUS ENGL. PDF
Описание протокола и
функций RUS/PDF
И еще одно на
русском (совсем жиденькое))) ) RUS/PDF
Modbus poll – Хорошая программа для тестирования slave-modbus контроллеров с PC через COM-порт