Шина SPI и 2.5 байта
- Войдите на сайт для отправки комментариев
Сейчас стоит задачка сделать небольшой реверс-инжиниринг одной железки, состоящей из двух устройств.
Одно устройство - "голова", второе - "дисплей". Цель реверс-инжиниринга - заменить "дисплей" на свой.
Между "головой" и "дисплеем" имеется кабель с 5 проводниками:
+5В
GND
SCK
CS
DATA
Проводники заботливо подписаны китайскими разработчиками.
Очевидно, что тут SPI-шина.
Подключаю осциллограф и вижу следующую картину:
Канал А - CS, B - SCK, C - DATA
Осциллограммы мою гипотезу про SPI-шину поддерживают.
Но вот состав передаваемого пакета интересный. Два полных байта и один "полубайт" (смотрим на канал B).
Можно ли такое организовать через аппаратный SPI? или придется писать собственную софтовую реализацию?
а инициализация, разрешение дисплея, цветовой режим и другие глупости вас не волнуют?
через аппаратный не получится. точнее я не встречал такой разрядности. даже в cortex M0 где можно можно настроить разрядность SPI (а в М3 почему то нет, сволочи) только от 4 до 16 бит кажется
"прочие глупости" в данном случае не интересуют :) (конкретно в этом случае) - поскольку их там просто нет.
"Дисплей" - в данном случае крайне убогий (поэтому и хочется его изменить). Более того, разглядывание осциллограмм наталкивает на мысли, что данные от "головы" идут в сыром виде (тупо передаются данные с определенных датчиков), а "дисплей" - получает эти данные и на их основе что-то там индицирует.
Т.е. моя конкретная задачка с одной стороны - упростилась (достаточно распарсить данные) и чуть усложнилась (придется еще и "математику" придумать).
Спасибо, про аппаратную реализацию так и подумал.. буду программить.