Comments 13
Пока в избранное, почитаю немного позже.
в мемориз однозначно!
Только начало казаться, что на хабре в последнее время нет дельных статей и вот оно, приятный сюрприз.
Отлично. Я как раз не так давно обозревал SPI для другого ресурса и возникли мысли по управлению разными SPI-девайсами с компа, а тут как раз ваша статья (:
Вполне можно организовать SPI контроллер на базе LPT порта компа.
Для примера можно посмотреть на драйвер контроллера drivers/spi/spi_lm70llp.c (вообще это кит для температурного датчика, но датчик работает по SPI и в Linux драйвер разделён на две части: драйвер контроллера и работающий поверх него драйвер hwmon). Он как раз работает через LPT, правда это трёх-проводная версия SPI, но для примера вполне пойдёт.
Даташит на сам кит: www.national.com/assets/en/boards/LM70LLPEVALmanual.pdf
Для примера можно посмотреть на драйвер контроллера drivers/spi/spi_lm70llp.c (вообще это кит для температурного датчика, но датчик работает по SPI и в Linux драйвер разделён на две части: драйвер контроллера и работающий поверх него драйвер hwmon). Он как раз работает через LPT, правда это трёх-проводная версия SPI, но для примера вполне пойдёт.
Даташит на сам кит: www.national.com/assets/en/boards/LM70LLPEVALmanual.pdf
Спасибо, посмотрю. Но вообще была мысль сделать это при помощи FT232RL bit-bang — тогда получится SPI over USB, что предпочтительнее, т.к. LPT ни на одном современном лаптопе/ноуте нема, тогда как USB — грузи вагонами (на моей новой мат. плате аж 8 USB-портов).
Кстати, если от устройства не требуется производительности, использовать IIC удобнее, чем SPI.
IIC не так просто развязать. Сейчас делаем плату для измерения собственных 20-ти битных АЦП, естественно это всё нужно каким то образом гальванически развязать.
Ну как сказать… SPI простой, как валенок, и реализуется программно в одну недлинную функцию + получаем дешёвые расширители входов и выходов. Вот то, что I2C выводы экономит — это большой плюс.
Sign up to leave a comment.
Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть первая, обзорная)