Подключение Saleae Logic 8 к MISO (контакт 12) на Uno 3 с NRF24L01+ останавливает программу

У меня есть NRF24L01+ с базовым модулем (регулирует напряжение), подключенным к Arduino Uno 3. Я использую tmrh20 NRF24 библиотеку и запускаю одну из примеров программ. Я пытаюсь прослушать шину SPI, поэтому у меня подключен Saleae Logic 8. Как только я подключаю зажим к выводу MISO, программа Arduino перестает выполняться. Я могу воспроизвести это в 100% случаев. Кажется, проблема связана только с контактом MISO. Для библиотеки, которую я использую, MISO использует контакт 12 на Uno 3.

Кто-нибудь знает, что происходит? Кажется, что Saleae заземляет контакт 12, когда я его подключаю. Не знаю, почему проблема возникает только с контактом 12.

Я могу воспроизвести ту же проблему, когда вручную подключаю контакт 12 напрямую к GND.

Я прекрасно могу собирать образцы без MISO, но это, конечно, говорит мне только половину истории.

Есть предложения?

РЕДАКТИРОВАТЬ: Вот несколько ссылок и ресурсов для получения дополнительной информации.

Я в основном следую инструкциям из этой статьи: http://arduino-info.wikispaces.com/Nrf24L01-2.4ghz-HowTo

Секционная доска http://www.addicore.com/1x-nRF24L01-Adapter-p/ad279.htm

И это схематично:

Ссылка на даташит на саму радиостанцию: http://www.nordicsemi.com/eng/Products/2.4ghz-RF/nRF24L01 И немного фото того, как я его подключил:

, 👍2

Обсуждение

Не могли бы вы добавить ссылку на модуль NRF24L01+, который вы используете, и возможные схемы? Как подключить заземление к Saleae Logic 8?, @Mikael Patel

Добавлены ссылки. Я подключил несколько заземляющих контактов на Saleae к заземляющей шине на макетной плате (см. фото выше). Земля от Arduino подключена к заземляющей шине на макетной плате., @Brennan Cheung

Анализатор включен? Что считывает этот канал? Попробуйте использовать другой канал. Также посмотрите, какой размер резистора можно подключить между выводом и землей, не нарушая работу - 100 кОм? 10 кОм? 1 кОм? Имейте в виду, что ваш NRF24L01 будет выдавать только около 3,3 В, ATmega при 5 В имеет относительно низкий Vih для 5-вольтовой детали, но не будет такого большого допуска на нагрузку, как при использовании 5-вольтового драйвера., @Chris Stratton

Похоже, проблема с нагрузкой от логического анализатора. Я добавил подтягивающий резистор между 5 В и выводом. Мне все еще нужно иметь резистор между зажимом логического анализатора и выводом, иначе он будет мешать выполнению. Теперь я вижу, что вывод считывается как высокий 100% времени, когда часы не идут, и как низкий 100% времени, когда часы включены. Я не получаю никаких фактических значений для MISO (все время 0x00). Высокий и низкий уровни легко находятся в пределах пороговых уровней логики. Я заказал несколько потенциометров для точной настройки резисторов, чтобы посмотреть, смогу ли я найти значение, которое будет работать. Предложения?, @Brennan Cheung


1 ответ


1

Из вашего описания следует, что выводы вашего логического анализатора искажают форму сигнала SPI MISO, и Arduino неправильно считывает входящие данные.

Чтобы избежать этого, вы можете разместить цифровой изолятор между Arduino и Logic 8.

Любой приличный осциллограф также должен позволять вам читать шину SPI.

,