ORFA — различия между версиями
Vooon (обсуждение | вклад) (→Команды UART->I2M/sup>C) |
=DeaD= (обсуждение | вклад) |
(нет различий)
|
Версия 05:38, 9 мая 2009
I2C-gate — это модульная прошивка для шлюз-контроллеров Open Robotics.
Находится в разработке. На данный момент поддерживает только микроконтроллеры семейства AVR Mega.
На данный момент состоит из монолитного шлюза UART->I2C и модульного виртуального подчиненного устройства на шине I2C.
При таком подходе ПК обращается к блокам МК как и к любым другим устройствам на шине i2c, что дает унификацию. А при некоторой доработке виртуального слейва можно сделать прошивку для второго шлюз-контроллера, управляемого через i2c.
Те можно достаточно малой кровью получить хорошо расширяемую систему.
Взаимодействие модулей подчиненного устройсва основано на регистровой модели, т.е. каждый драйвер устройства связан с определенным набором адресов ячеек.
Содержание
Структура и взаимодействие модулей в варианте с модулем uart->i2t:
Структура и взаимодействие модулей в варианте только i2c slave:
Команды UART->I2C
Все команды текстовые, перевод строки означает окончание команды, запуск на исполнение.
Название | Запрос | Ответ | Комментарий |
---|---|---|---|
Get protocol version | V
|
V1.0
|
|
Clear I2C bus | X
|
X
|
|
Set local address | L<addr>
|
L<addr>
|
|
Set bus speed (freq) | C<freq>
|
C<freq>
|
|
Read register | R<addr><reg>[<len>]
|
SWASR<rdata>P
|
|
Write register | W<addr><reg>
|
SWA(A)+P
|
A = Ack |
I2C request |
|
|
|
Установка
Репозиторий исходных кодов: http://hg.vehq.ru/i2c-gate