я обычно разбиваю протоколы на уровни, типа модели OSI. на каждом уровне свои протоколы для определенных целей (контроль целостности пакетов, упаковка кадра, контроль связи, квитирование и т.д.) в итоге на верхнем (прикладном) уровне можно цеплять любой интерфейс (я прицеплял пирамиду для конфигурирования устройства + свои протокол передачи сообщений). В качестве транспорта хорошо подходит MODBUS ASCII (цепляется на любой последовательный канал). При разработке нового устройства надо только сделать для него набор запросов/откликов, а проблемы с транспортом сообщений, контр. суммой и т.д пусть разбирают протоколы нижнего уровня, общие для всех девайсов.
хороший учебник по протоколам
http://book.itep.ru/