Всем привет.
Есть отладочная плата SK-MLPC-2478, необходимо подключить по SPI АЦП контроллер, пока не суть важно, что именно подключать, вопрос в другом. Не удаётся завести SPI: запоминающий осциллограф показывает, что на SCK вместо клоков идёт непрерывный уровень. Настройка SPI вроде как в примере: выбор функций ног, включаем мастер, делитель - 8 (или 16), отправляем байт для начала генерации клоков. Результат: устанавливается единичный уровень на SCK и SSEL, клоков нет. Что ещё нужно учесть при запуске SPI? Самое интересное, что пример с диска тоже не работает: на осциллографе чёткий уровень без клоков.
а вы с каким каналом работаете?
бегло глянул схему - на SPI1 висит Dataflash, если она читается/пишется, то как минимум SPI1 исправен
ваши варианты:
- смотрите не те ноги
- проинтили не те ноги
- проинтили не тот канал
- чего-то не доинтили
- возможно какая-то периферия заняла ножку и залочила под себя
- возможно есть отличия в цоколевке у двух ревизий плат
чтобы отсечь аппаратные вопросы - выведите банальный меандр на подозрительную ножку - т.б. есть осцилл..
На грабли с SPI0/SPI1, которые на самом деле SSP0/SSP1, мы вроде не наступили, нашли истинный SPI (он один), который является четвёртой функцией портов P0[15]-P0[18]. Ноги проверили, если на порт без включения режима SPI принудительно выдать единицу, уровень видно.
я в схему особо не вникал - а как тогда идет обмен с Dataflash?
неужто GPIO-моде? она (флеш) тоже SPI любит..
кстати, в момент пробы своего SPI гляньте - что творится на лапках Dataflash.. вдруг..
DataFlash в текущем проекте не используется, и он, если не ошибаюсь, работает как раз по SSP1 в SPI режиме.
В принципе, проблему решили ручной эмуляцией SPI, посмотрим, хватит ли производительности CPU.