Maverick, Так как информация редкая достаточно, то для энкодеров забирать ее по , так сказать "прерыванию" от самой периферии, то есть при обнаружение высокого уровня на любом из блоков энкодеров, из него нужно забрать значение/уровень линии данных. Прошу прощения, если выражаюсь не совсем корректно. О конечном автомате подумывал, но пока не вижу в нем вариантов из за возможных одновременно пришедших сигналов от блоков, если правильно понимаю, все равно придется идти на уступки, делать какую нить минимальную приоритезацию.
iosifk, спасибо за личное приглашение в скайп, но пока откажусь, так как домашний комп пришел в негодность, а с рабочего как то неудобно в рабочее время. Плюс, мне текстовая информация лучше к усвоению, плюс можно перечитать. В плане общественного развития, можно просто организовать конференцию из желающих в определенное время, и ответить на их сокровенные вопросы.
Благодарю за развернутый ответ по стратегии, более подробно постараюсь вникнуть. Насчет интерфейса, SPI, он был выбран так как имеется аппаратный на борту с размером до 16-ти бит, конечно ничего не мешает организовать свой параллельный "ногодрыг", или что то похожее, просто думал уже привязаться к существующему.
Что касается кадров, обдумывал данный вопрос:
есть 8 независимых каналов, в каждом канале: энкодер, кнопка (которая в торце энкодера), кнопка отдельная, 8+1+1 светодиодов (8 энкодера, 1 кнопка энкодера, 1 кнопка отдельная) исходя из этого вырисовывается два типа кадров:
- длинный {адрес канала [2:0], инкремент_энкодера, дикремент_энкодера, светодиоды[2:0], кнопка, светодиод, кнопка_отдельная, светодиод_отдельный}
- короткий {абсолютный адрес [5:0], значение [2:0]}
абсолютный адрес является порядковым номером элемента, со счетом по движению луча ЭЛТ (слева на право, переход на начало новой строки), где столбцы это каналы, строки - типы элементов.
krux,джойстик пока не планируется, все типы элементов-датчиков описать чуть выше в сообщении.
PS. Как я понимаю вставки ника в сообщение на форуме нет?
PSS. Редактирование сообщений дается на некоторое время?