Harvester 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба Микроконтроллер последовательно считывает данные со всех трех каналов АЦП. Все работает замечательно, но иногда АЦП начинает по какому-либо каналу (а то и не по одному) выдавать одни 0xFF независимо от входного сигнала. Момент совершенно непредсказуемый, пеерзапуском питания лечится не всегда. Кто-нибудь встречался с такой проблемой? PS При работе только с одним каналом как в datasheet - никаких проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба Первое предположение - каналы могут не успевать переключаться. Попробуйте ввести задержку при смене номера канала. Лучше, конечно, исходники Ваши посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба При чтении проверяется сигнал /DRDY, так что это маловероятно. К тому же описанный эфект проявляется случайным образом. Иногда не проявляется вообще (тестировал весь рабочий день). А исходники - пожалуйста, во вложении (IAR C для AVR). Функция ReadADCdata вызывается раз в секунду в фоновом цикле программы. read_ad7714.txt Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
upc2 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба Если в микроконтроллере аппаратная реализация SPI протокола, то может глючить и сам микроконтроллер.Если SPI-протокол реализован программно , то меобходимо точно в соответствии диаграммой следить за сигналами SCLK и DIN.Лишний или недостающий такт SCLK будет приводить к глюку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
upc2 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба Может и странный совет , но подобное я победил на AD7705 блокировкой вывода DOUT на землю емкостью порядка 220 пф. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BVU 0 1 февраля, 2006 Опубликовано 1 февраля, 2006 · Жалоба В первую очередь обратите внимание на качество опорного напряжения и питания схемы. В схеме могут присутствовать высокочастотные помехи по питанию ('иголки'), которые могут забивать нормальную работу АЦП. Из-за этого (помеха обладает широким частотным спектром) может происходить самое натуральное возбуждение устройства по возникшим обратным связям (причин много в плоть до неудачного монтажа или разводки платы). upc2 заблокировав DOUT емкостью 'нарушил' процесс возбуждения, вот и все чудо... Схемы на CMOS структурах подвержены таким особенностям, тем более что входные сопротивления очень большие, за счет этого даже маленькая помеха может вызвать подобный эффект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 3 февраля, 2006 Опубликовано 3 февраля, 2006 · Жалоба Спасибо всем :cheers: Проблему решил, уменьшив длину кабеля между платами АЦП и контроллера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 11 февраля, 2006 Опубликовано 11 февраля, 2006 · Жалоба Похожую проблему имел с AT45DB161 и MSP430F149. Оказалось, что в отличие от Atmel (и многих других) названия (индекс) режимов SPI у MSP430 отличаются - конкретно попутаны. В результате при танцах с бубнами работало, а в более спокойной обстановке;) нет. Проверить возможность такого психоза рекомендую;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться