DS 0 20 января, 2008 Опубликовано 20 января, 2008 · Жалоба я имел ввиду аналоговую обвязку кроме обвязки встроенного драйвера. Вопрос вот почему: встроенный драйвер имеет дифференциальный вход и его обвязка выполняет роль масштабирования сигнала и антиалайзингового фильтра. Какие еще аналоговые цепи могут потребоваться? А в регистре статуса по крайней мере надо смотреть бит DVALID который говорит о корректности выходных данных. DVALID не информативен во время работы. Если нет регулярных SYNCов, то его анализ становится бессмысленным. А SYNC во время работы никто не дергает. По поводу достаточности фильтра первого порядка для формирования сигнала под 24 битное АЦП я затрудняюсь комментировать. Если Вы так считаете - флаг Вам в руки. Может у Вас источник идеального сигнала надо цифровать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Linker 6 20 января, 2008 Опубликовано 20 января, 2008 · Жалоба DVALID не информативен во время работы. Если нет регулярных SYNCов, то его анализ становится бессмысленным. А SYNC во время работы никто не дергает. Т.е. вы считаете, что DVALID меняется только при синхонизации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 20 января, 2008 Опубликовано 20 января, 2008 · Жалоба Т.е. вы считаете, что DVALID меняется только при синхонизации? Еще при перегрузке входа. Но в моем случае перегрузка может возникнуть тогда, когда все уже умерли, смотреть на прибор уже некому будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Linker 6 20 января, 2008 Опубликовано 20 января, 2008 · Жалоба Еще при перегрузке входа. Но в моем случае перегрузка может возникнуть тогда, когда все уже умерли, смотреть на прибор уже некому будет. Понял - отстал :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Согласен с SIA - здесь, по-видимому, цифровой сбой, типа "гонки фронтов" или "звона" на линиях данных. Скорее всего, из-за некачественной стыковки. Нужно проверять осциллком с малой ёмкостью щупа (активным пробником) и "короткой землёй". Если пришлёте фото вашей "буратины", схему подключения, а также кусок кода, отвечающего за ввод данных, может быть, удастся поставить диагноз точнее. ЗЫ. Графики и схемы нужно выкладывать в формате GIF, иначе получается тяжеловато. Извиняюсь за тяжелый файл. Исправлюсь :). А как лучше архивировать: adc24.zipRAR или ZIP? Посылаю схему аналоговой части. Попинайте. Если хотите, то ногами :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Скажите, а чем Вам (или вашим разработчикам) PPI не угодил? С ним, по-моему, гимору было бы значительно меньше... И ещё: почему выбран именно этот АЦП? Прибор, на мой взгляд, для очень специфичных применений... PPI мне (разработчик я) угодил в другом применении - он отвечает за TFT дисплей. С EBIU был некоторый гимор, однако он преодолен. Ошибка в считывании младшего байта (не регулярная) не исключена. Прога написана на С и времена считывания на пределе (к сожалению пока не научилась делать ассемблерные вставки). Однако, при ошибочном считывании характер отклонений был бы другим. Я потом пришлю еще интересные картинки. Именно AD7760 выбирала не я, однако для наших применений он заманчив с точки зрения охвата большого динамического диапазона сигнала при достаточной частоте дискретризации. Наш исследуемый сигнал весьма похож на сигнал с выхода диф. цепи: т.е он ранополярен, имеет крутой передний фронт и спад по экспоненте. Представляемый интерес амплитуд от 10В до сотен нановольт с точностью порядка до сотни нановольт (кстати ТЗ весьма расплывчато и на уровне: точность как можно больше, частота - выше, диапазон - шире :). Все участки спада - информативны. А Вы можете предложить другой вариант АЦП? Как он поведет себя при подаче скачка я не знаю, но очевидно, что модулятор собъется. А что значит "модулятор собъется"? В смысе АЦП перезапускать надо? Как выглядит предполагаемая картинка после такого "сбоя модулятора"? Причем присмотритесь: В этом коридоре результаты более ограничены по верхней границе байта. Т.е у этой внутрибайтовой пляски есть некоторое среднее. Если это "среднее" опустить пониже, то получится равномерный закон распределения. Что-то мне напоминает про искусственно внесенный шум. Хорошо бы спросить у разработчиков. Похоже на младше_байтовый коридор. посылаю увеличенный фрагмент с HEX шкалой. Но коридор - односторонний - ограничение по верху. Если бы не это ограничение - то была бы обычная борода гаусова шума. Никакого искусственного шума я не вносила. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forever failure 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба ]Саломея, вот Вам и бубны, обещанные полгода назад. Первый раз глянув на выложенную тогда Вами картинку, мне показалось, что как-то слишком всё хорошо для первого запуска. Но если по существу - так бывает, это распространённые проблемы при запуске АЦП с таким разрешением, да ещё на такой скорости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Извиняюсь за тяжелый файл. Исправлюсь :). А как лучше архивировать: adc24.zipRAR или ZIP? Посылаю схему аналоговой части. Попинайте. Если хотите, то ногами :). А в Pdf Можно вывести ? При сбое модулятора скорее всего будут осцилляции выхода, которые заранее не предугадать, они от внутренней структуры микросхемы зависят. Поскольку в АЦП все фильтры FIR, то сбой будет продолжаться не более полного времени групповой задержки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба А в Pdf Можно вывести ? При сбое модулятора скорее всего будут осцилляции выхода, которые заранее не предугадать, они от внутренней структуры микросхемы зависят. Поскольку в АЦП все фильтры FIR, то сбой будет продолжаться не более полного времени групповой задержки. Не владею конвертацией Pdf. Мне кажется, что дело не в стыковке. Вот гляньте еще каринку: Эторезультат программной калибровки смещения через внутренний регистр АЦП. Диф вход АЦП закорочен. Смещение меняю через каждые 1000 отсчетов. В третьей выборке хороший результат, а в остальных - коридор. Ну т.е. сбой проявится в виде обобщенной переходной характеристики или в виде безобразия? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Не владею конвертацией Pdf. Мне кажется, что дело не в стыковке. Вот гляньте еще каринку: Эторезультат программной калибровки смещения через внутренний регистр АЦП. Диф вход АЦП закорочен. Смещение меняю через каждые 1000 отсчетов. В третьей выборке хороший результат, а в остальных - коридор Ну т.е. сбой проявится в виде обобщенной переходной характеристики или в виде безобразия? Да если у Вас строб не на месте на 1 нс, как раз такое и может быть. Это надо в первую очередь исключить. Если тактируете 40 Мгц, данные на выходах появляются через 25нс+немного еще (как я вижу на осциллографе), Я пользую длительность СS 50 нс и паузу между ними тоже 50 нс. Проверьте все-таки осциллографом стробы и учтите задержки в Ваших входных цепях. Есть такая штука - pdf creator, он ставится как драйвер принтера и можно из любой программы напечатать PDF файл. Если нету, могу сейчас на FTP сюда бросить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
forever failure 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Попробуйте посмотреть как ведут себя разряды АЦП побитно. Такое может быть, что один из средних разрядов из-за какой нить ошибки имеет одно и тоже значение, независимо от реального результата преобразования. Прям вот так выписать в столбик несколько подряд отсчётов при разных смещениях, и посмотреть какие биты в них изменяются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SALOME 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Да если у Вас строб не на месте на 1 нс, как раз такое и может быть. Это надо в первую очередь исключить. Если тактируете 40 Мгц, данные на выходах появляются через 25нс+немного еще (как я вижу на осциллографе), Я пользую длительность СS 50 нс и паузу между ними тоже 50 нс. Проверьте все-таки осциллографом стробы и учтите задержки в Ваших входных цепях. Я не поняла, как это "строб не на месте на 1 нс". Строб для BF появляется асинхронно и длится 25 нс. После этого можно считывать данные. Что я и делаю: for (k=0; k<kol_ADC; k++) { while (!(*pPORTHIO & ADC_DRDY)); //ожидание DRDY от АЦП *pPORTHIO_CLEAR=ADC_DRDY; // сбросить залипающий бит DRDY *store_ADC=*adr_ADC; //считать старший байт данных ssync(); store_ADC++; //записать в память *store_ADC=*adr_ADC; //считать младший байт данных+байт STATUS ssync(); store_ADC++; } На осцилограмме цена деления времени - 800нс... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Диаграмму сигнала CS на АЦП и момента строба данных нарисуйте, а то так не понятно. Процессор может данные защелкнуть через, скажем 5нс после выдачи CS, в общем случае. 7760 Из-за большой задержки данных с быстрым процессором как раз и может работать неправильно. И время между выполнениями считываний с АЦП у Вас чем контролируется ? Оно не может быть меньше 50 нс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stanislav 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба PPI мне (разработчик я) угодил в другом применении - он отвечает за TFT дисплей. С EBIU был некоторый гимор, однако он преодолен. Ошибка в считывании младшего байта (не регулярная) не исключена. ................................................. А что значит "модулятор собъется"? В смысе АЦП перезапускать надо? Как выглядит предполагаемая картинка после такого "сбоя модулятора"? Похоже на младше_байтовый коридор. посылаю увеличенный фрагмент с HEX шкалой. Но коридор - односторонний - ограничение по верху. Если бы не это ограничение - то была бы обычная борода гаусова шума. Никакого искусственного шума я не вносила. Нет сбоя никакого модулятора. Очевиден сбой по данным. "Верхняя полка" получается оттого, что вместо младшего байта данных считываются нули. :) Ну, и ещё мусор менее заметный имеет место быть, когда некоторые разряды считываются правильно, а некоторые - неправильно. Диаграмму сигнала CS на АЦП и момента строба данных нарисуйте, а то так не понятно. Процессор может данные защелкнуть через, скажем 5нс после выдачи CS, в общем случае. 7760 Из-за большой задержки данных с быстрым процессором как раз и может работать неправильно. И время между выполнениями считываний с АЦП у Вас чем контролируется ? Оно не может быть меньше 50 нс.+1. Задержек и вэйтстэйтов насажайте сначала, а то фин слишком шустрым может оказаться. Тактовые частоты ядра и системной шины у Вас каковы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Linker 6 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Никакого искусственного шума я не вносила. Мои слова "узнать у разработчика" относятся не Вам, а к ADI. При всем моем уважению к Вам и Вашему необычеому увлечению электроникой. "Верхняя полка" получается оттого, что вместо младшего байта данных считываются нули. :) Это так и есть. На "полках" считываются именно нули - это видно по отсчетам вертикальной шкалы. Вопрос в том, откуда они берутся. На картинке, где показаны результаты програмного изменения смещения видно, что статистика появления нулей меняется с изменением смещения. з-я выборка практически нулей не содержит, а другие содержат причем по разному. Но при этом алгоритм считывание данных-то не меняется... Ну разве, что АЦП меняет темп выдачи данных при изменении содержимого своего регистра "OFFSET". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться