Стоит задача выбора интерфейса для следующей сети. Скорость ~9600. Топология “дерево”. Количество устройств от 10 до ~100. Расстояние “ветки дерева” не более 100 метров. Сеть располагается в здании рядом с проводами электропитания.
Что хотелось бы иметь:
1. Дешевизна.
2. Помехоустойчивость
3. Скорость.
4. Малое потребление.
Что имеем в рельной жизни.
1. CAN драйвер, например MCP 2551
-Дешивезна нет (~1.1$)
-Помехоустойчивость высокая
-Скорость высокая есть, но вроде не рассчитаны на низкие скорости?
-Малое потребление – нет
-Дерво – неподдерживается
-Конфликт на шине - норма
2. RS-485 драйвер, например SN65ALS176
-Стоит ~0.3$ плюс
- Помехоустойчивость – высокая
-скорость высокая
-Дерево не поддерживается
-На порядок “хлюпковатее” по сравнению с CAN по перегрузкам по входу
-Конфликт на шине – аварийное состояние
4. MicroLan (1Waire)
-Стоимость мизерная, реализуется аппаратно. И плюс и минус – котроллер грузит.
-Помехоустойчивость низкая
-Дерево поддерживается
-Скорость низкая, потребление малое – не надо на “терминаторы” работать
-Конфликт на шине –норма
Ну там I2C есть, но не подходит.
Кто какие идеи может посоветовать? Или использовал что нибудь похожее? Я вот пока остановился на варианте AVR+USART в режиме адресации. Но какой интерфейс использовать? Хочется диф-пару, но CAN слишком дорог, да и дерево не поддерживает и не рассчитан на низкие скорости. Интерестно RC-485 имеет смысл использовать в дереве без терминаторов, или проку не будет?