porty 0 1 февраля, 2011 Опубликовано 1 февраля, 2011 · Жалоба Добрый день Имеется отладочная плата для OM13000 на базе мк LPC1786. (описание Рисунок). Наблюдается следующий глюк: Если её прошить из под среду LCP expresso то не запускается АЦП (прерывания от АЦП идут, регистры работают точно по даташиту и тд), но значение АЦП возвращает всегда равное 0xFFF0 (все еденицы в 12 значащих битах). Сигнал на входе физически присутствует. Ножка канала АЦП настроена на функцию АЦП а не GPIO, резисторы подтяжки отключены, питание и тактовые на ацп правильно настроены, тактовая ацп 11Мгц что ниже порога в 13Мгц. А так же какие то проблемы с частотами периферии IO. Т.к. если сделать простой генератор прямоугольников циклом while (1) LPC_GPIO0->FIOPIN^=0x0001<<22; то частота ниже в 4 раза нежели если выключить и потом включить. При этом остальные части кристалла работают как следует (езернет, таймеры и тд). Все эти странности наблюдаются только если перепрошить устройство тем программатором что на плате. После выключения включения все работает нормально. Всё настраивал согласно даташиту user.manual.lpc17xx. Первичная инициализация посредством SystemInit. Как исправить этот глюк? Может быть в результате программирования не до конца сбрасывается вся периферия, и что то необходимо донастроить? Спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
al_sv 0 18 февраля, 2011 Опубликовано 18 февраля, 2011 · Жалоба Добрый день Имеется отладочная плата для OM13000 на базе мк LPC1786. (описание Рисунок). Наблюдается следующий глюк: Если её прошить из под среду LCP expresso то не запускается АЦП (прерывания от АЦП идут, регистры работают точно по даташиту и тд), но значение АЦП возвращает всегда равное 0xFFF0 (все еденицы в 12 значащих битах). Сигнал на входе физически присутствует. Ножка канала АЦП настроена на функцию АЦП а не GPIO, резисторы подтяжки отключены, питание и тактовые на ацп правильно настроены, тактовая ацп 11Мгц что ниже порога в 13Мгц. А так же какие то проблемы с частотами периферии IO. Т.к. если сделать простой генератор прямоугольников циклом while (1) LPC_GPIO0->FIOPIN^=0x0001<<22; то частота ниже в 4 раза нежели если выключить и потом включить. При этом остальные части кристалла работают как следует (езернет, таймеры и тд). Все эти странности наблюдаются только если перепрошить устройство тем программатором что на плате. После выключения включения все работает нормально. Всё настраивал согласно даташиту user.manual.lpc17xx. Первичная инициализация посредством SystemInit. Как исправить этот глюк? Может быть в результате программирования не до конца сбрасывается вся периферия, и что то необходимо донастроить? Спасибо за ответы. Извините, а удалось решить проблему с АЦП? Наблюдаю похожую ситуацию на своем устройстве. Настроил ацп на последовательное (не burst) считывание значений по 6 каналам (0-5), по прерываниям. Наблюдаю следующее: если на аналоговое питание и референс подано напряжение питания (такое же как на ядро и периферию, через фильтры, в моем случае 3.35 в) имею 0XFFF для каналов, не подключенных ни к чему, а также для подтянутых к питанию через 10 kOhm. Если меняю подтяжку на 1 kOhm, наблюдаю "плавающее" измеренное значение - от 0 до 0XFFF. Значение, составляющее половину напряжения питания (использовал 2 резистора по 10 kOhm чтобы поделить), также показывается как 0XFFF. Если уменьшаю reference до 3 вольт - получаю 0 на всех каналах - независимо от их входных цепей. Видимо, все таки дело не в программаторе - я использую JTAG и использую ОЗУ для отладки программы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 18 февраля, 2011 Опубликовано 18 февраля, 2011 · Жалоба Проблема АЦП обсуждалась тут: http://electronix.ru/forum/index.php?showtopic=79432 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
al_sv 0 18 февраля, 2011 Опубликовано 18 февраля, 2011 · Жалоба Проблема АЦП обсуждалась тут: http://electronix.ru/forum/index.php?showtopic=79432 Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
porty 0 18 февраля, 2011 Опубликовано 18 февраля, 2011 · Жалоба Да, дело в ADCTRIM после прошивки он равен 0, и приходится перетыкать питание у отладки. Пробовал почти все виды настройки, пытался вручную перезаписать этот ADCTRIM программой на контроллере - зависал или игнорировал запись. В общем пока использую тот программатор что указал и глюк повторяется только после программирования или отладки, вызвать глюк на штатных изделиях без программатора не удалось, даже если их подвергать разным факторам (плавное включение питания 1В в минуту, температура выше 80 градусов, статика и тд). В режиме отладки видно что исполнение не входит в область загрузчика, как и было в статье по ссылке. Как побороть в режиме программирования или отладки не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 19 февраля, 2011 Опубликовано 19 февраля, 2011 · Жалоба Пробовал почти все виды настройки, пытался вручную перезаписать этот ADCTRIM программой на контроллере - зависал или игнорировал запись. Я тоже этот глючок не смог побороть. Если уж сильно надо - попробуйте посмотреть код загрузчика. Может быть запись в ADCTRIM сопровождается записью в какие-либо недокументированные регистры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться