Разное и полезное > Микроконтроллеры и их программирование

Памагити с SPI!

(1/2) > >>

cu6apum:
Привет.
Не доводилось пока испытывать проблем с этой шинкой, т.к. использовал стандартные решения. Сейчас есть потребность пообщаться по ней с AK4118, которая даже не упоминает SPI в мануале, довольствуясь абстрактной "4 wire interface".
Софтина чужая, голова - arduino nano, на первый пуск всё работало. Потом - внезапу перестало. Грешить можно на АКашку, на ардуину, на провода. Последние прозвонил, но могут быть паразитические емкости, препятствующие общению.

Ардуина жива хотя бы в смысле общения с дисплеем и кнопками и независания проги.
Чип ресивера жив хотя бы нормальными режимами по постоянке и состояниями выходов by default, но окончательно я не уверен. До первого (успешного!) запуска я успел ей влупить 8В питания вместо пяти по дурацкой ошибке. Но пахала же!

Вкратце. MOSI, CCLK и CS исправно прыгают по осциллу вверх-вниз, a MISO вяло дергается у нуля, если шину не поддернуть к +5, и мертво стоит у +5, если поддернуть через 10к. Выход прерывания с ресивера молчит как рыба об забор, хотя должен реагировать. Получается, что прописать регистры в ресивер тоже не выходит, иначе б он отозвался хотя бы прерыванием.

Где может скрываться брутальный косяк? Есть подозрение, что прога не особо выдерживает нужные тайминги, но - работала же!

MCZarin:
Я так понимаю, быстро заменить AK4118 возможности нет. Хотя мне кажется наиболее вероятным, что дело в ней.
Нужно снять сигналы MISO и MOSI щупом прямо на ногах AK4118, если до этого измерения проходили со стороны ардуины или на контактных площадках. Вдруг где-то непропай.

Если на ардуине сигнал с MOSI завести на MISO, данные ардуиной будут приниматься? (Желательно перекоммутировать как можно ближе к AK4118, чтобы заодно проверить соединения.) Так мы проверим саму ардуину.
Впрочем, на ардуину грешить сложно - свой MOSI она выдает, а на MISO тишина. Ну не коротит же ардуина внутри себя MISO на землю, тем более наблюдаются дерганья, а с подтяжкой 10к к питанию это питание на шине присутствует.

Насчет подозрения на тайминги - нужно его проверять...

cu6apum:
Михаил, спасибо. Непропаи проверил 198 раз, есть все сигналы. Miso явно торчит в Z, куда поддернешь, там и болтается, хоть к середине. Непонятно только то, почему работало и перестало. А так грешу на АКашку, да. Вывод прерывания с нее должен быть двухтактным, а на нем торчит целый вольт, если дуина тянет его вверх через свои 20к. Так по-любому не должно быть.
Одно смущает. Выходной ток у нее заявлен 400мкА(!) и, если что-то ее прогружает больше, весь буфер теоретически может моросить... Странная мелкосхема.

MCZarin:

--- Цитата: cu6apum от 04 Мая 2015, 19:16:27 ---Выходной ток у нее заявлен 400мкА(!) и, если что-то ее прогружает больше, весь буфер теоретически может моросить...
--- Конец цитаты ---
Может попробовать создать ей тепличные условия?

xar:
cu6apum, простите за дерзость, но miso/mosi ты по принципу rx/tx не скрестил? ;D

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии