Desenix 0 5 декабря, 2007 Опубликовано 5 декабря, 2007 · Жалоба купили кит с этой МС, подключили к МК и начали ее мучать. Почти сразу вылез первый баг. При циклическом чтении регистров IRMS VRMS одного канала, их значение читается не правильно (скачет на порядки), изменение задержек и частоты обмена, не привели к положительному результату, при этом регистр температуры читался нормально. Было применено двойное чтение регистров, т.е. два раза подряд читался один и тот же регистр, в результате брался второй результат чтения, который всегда был стабилен. Второй баг вылез чуть позже. Подключил я активную нагрузку к киту, и давай подбирать PHCAL приводя реактивную энергию к нулю, и вот тут началось самое интересное, да, читаю регистры энергии в режиме со сбросом 2-3 раза в секунду, регистр реактивной энергии постоял около нуля и вдруг началось 0 -> 255 -> -256 -> 0 -> 255 -> -256 ..... естественно накопленная реактивная энергия тутже скакать начала. Увожу в любую сторону выравнивание фаз тока и напряжения, как тут же эти скачки пропадают и колебания регистра сводятся к амплитуде 1-2 единицы. Кто с подобным сталкивался. В AD написал, пока до них еще не дошло, вопросы наводящие задают, типа где купил, что купил итд, пытаются понять не китайское ли :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VadimPlotnikov 0 28 декабря, 2007 Опубликовано 28 декабря, 2007 · Жалоба По признакам очень похоже на некорректную работу цифрового интерфейса. Так что нет смысла нечего мерить и устанавливать, будет читается ерунда. Проверяй как всегда времянку, количество тактовых импульсов, последовательность работы, инверсию байт и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 28 декабря, 2007 Опубликовано 28 декабря, 2007 · Жалоба проверял и не раз, паузы не ставил разве что между битами, т.к. SPI аппаратный. Скорость менял, фронты крутил, связь только пропадала. И почему-то глюк чтения только у двух регистров одного канала, если читать разные, то глюка нет, т.е. AVRMS и BIRMS. Это говорит о глюке именно AD. Кстати, этот глюк вылез и в ADE7753. А вот с энергиями глюк ни чем не объяснить, кроме как глюком AD. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба Использовали ADE7758, никаких глюков в чтении/записи не замечено. Если с чем и пришлось немного повозиться то это с вычислением/пониманием масштабных коэффициентов на путях_следования_сиглалов. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба Alex03 т.е. если читать регистры IRMS VRMS одного канала поочереди, то глюков не наблюдается с непонятными скачками их значений от выборки к выборке ? Или вы их не используете ? Мне например надо выводить на дисплей текущее значение тока и напряжения, а не только энергию считать. А вот если читать регистры каналов вперемешку, то проблемы нет. А на счет масштабных коэффициентов, все проще будет сделано, для начала прикинуты эти коэффициенты, а потом откалиброваны, по каждому значению. Кстати, а Вы калибровали МС, например PHCAL ? и каким образом ? я контролировал реактивку в режиме чтения со сбросом, о результате сообщил в начале темы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба При отладке я одни и теже регистры не читал по очереди, читал скопом несколько. :) потом в штатном режиме читались активные мощности и ещё читалось/писалось только то, что запрошено извне (отладочно настроечный УАРТ). Задача была упрощённая - только активная мощность, небольшой разбег фаз был не критичен. Калибровали только напряжение и токи отдельно по фазам, т.е. приводили их к какимто попугаям Вольт и Ампер на ед. младшего разряда. Ну а масштаб мощности по документации - как произведение этих попугаев на масштабные коэффициенты цепочек блоков микросхемы - цифра она и есть цифра. Вопрос: а Вы минимум 1.1мкс между посылкой байта команды и чтением данных выдерживаете (t9 с figure 4)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба я пробовал задержки между байтами вставлять, и между посылками. Толку ноль, ошибка повторяется. Вот осциллограмма обмена с счетчиком, если что разглядите :) наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек. суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба Да в принципе видно, сначала читаеца AIRMS потом 2 раза AVRMS. Времена какие не этом рисунке? Или хотябы какая частота SPI? Что на входе напряжения фазы А? Напряжение и частота. Какие конфигурационные регистры? Мож переполнение гденить? да и полярность клока в неактивном состоянии я бы сделал как в датише Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба какие напряжение, ток и частота, уже не помню, т.к. это с кита снималось, и уже давно. Ток снимали через трансформатор 1:1000 и был он около 0.47А, резистор шутна 24Ом, напряжение было 6В, но делитель доработан, вместо 1К стоял 24Ом, а вместо 499к было вроде 1К. Могу ошибаться. Частота клоков, была вроде 1мбит. в принципе время реальное на диаграмме. Можно посчитать. Этот же глюк с чтением проявился и на 7753. В результате читаю первый раз в мусор значение, второй и последующие суммирую и считаю среднее арифметическое. Читаю регистры при переходе через ноль 50раз/сек, и раз в секунду обсчитываю результирующее значение. Если при таком раскладе не выкидывать первый отсчет при каждом чтении регистра, то ошибка накапливается и потом на выходе получаю левый ошибочный рез-тат. Долго не мог понять почему I/VRMSOS-ом не могу занулить значения. Самое интересное, что если читать так AIRMS - BIRMS - AVRMS - BVRMS то ошибки не наблюдается, но т.к. мне нужен был только один канал, то пришлось городить огород. вот такие у меня регистры cmd_adc(0x93, 0x00, 1); // ADE7758 (0x13) OPMODE cmd_adc(0x94, 0x24, 1); // ADE7758 (0x14) MMODE cmd_adc(0x95, 0x00, 1); // ADE7758 (0x15) WAVMODE cmd_adc(0x96, 0x04, 1); // ADE7758 (0x16) COMPMODE cmd_adc(0x97, 0x48, 1); // ADE7758 (0x17) LCYCMODE cmd_adc(0x98, 0x00, 3); // ADE7758 (0x18) IMR cmd_adc(0xA3, 0x00, 1); // ADE7758 (0x23) GAIN другие по дефолту, не трогал. Alex03 у меня к вам вопрос, могли бы вы проверить данный глюк у себя в железке, почитать в цикле AIRMS - AVRMS - AVRMS и сравнить результаты первого и последующего чтения подряд одного регистра ? а так же AVRMS - AIRMS - AIRMS интересует повторяемость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба Если частота клока 1МГц, то при Вашей полярности клока в неактивном состоянии - t9 в любом случае около 500нс, т.е. требование t9 > 1.1мкс Вы не выполняете. Чтобы это проверить снизте скорость клока до 250кГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 16 января, 2008 Опубликовано 16 января, 2008 · Жалоба уже говорил и не раз, снижал как частоту клоков, так и паузы между байтами делал километровыми, не помогло. Если есть возможность, повторите эксперимент. И потом, почему этот глюк проявляется только в той комбинации что я указал ? на счет клоков, давно пробовал другие режимы МК, в них не получал ответа от МС счетчика. Хотя завтра еще попробую, но сомневаюсь что это решит проблему. Ведь при чтении регистров в другой последовательности глюка не наблюдал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 17 января, 2008 Опубликовано 17 января, 2008 · Жалоба уже говорил и не раз, снижал как частоту клоков, так и паузы между байтами делал километровыми, не помогло. В том то и дело что пауза между байтами вам не поможет, ибо там нормируется время между конкретным (восьмым) спадом и следующим наростанием клока, а в вашем случае это время всегда пол периода тактовой. Если есть возможность, повторите эксперимент. Мне на это надо потратить пол дня (поиск всего железа и само тестирование) поэтому можно сказать нет возможности. :) И потом, почему этот глюк проявляется только в той комбинации что я указал ? Ни Вы ни я не знаем как врутри микросхемы реализован SPI интерфейс, так что нечего тут гадать, а обмен по SPI должен соответствовать документации. При этом если у вас чтото не работало при другой полягности клока, то ищите в этом ошибку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Desenix 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба повторил эксперимент вечером в ПТ, т.к не было времени отписаться пишу сегодня. Схему для кита на ADE7758 собирать не стал, провел эксперимент на ADE7753. Перевернул клоки, сдвинул фазу, обмен заработал, хотя в прошлый раз не получилось. После установки задержки между командой и данными в более чем 5мкс глюк с обменом пропал. Странно что он проявляется только с этими двумя регистрами. Если задержку уменьшать, до 2.5мкс, то проявляется эффект смешивания каналов, когда подаю на вход 220В, а ток 0, то в измерениях виден рост тока до 5А в пересчете(в норме показывает 0.05), а напряжение занижено 180В. Если же задержку между командой и данными убрать, то каналы путаются, т.е. напряжение около нуля, а ток очень большой, показания не помню, важна суть. Прям аналоговый регулятор выходит. Остался баг с реактивной энергией при чтении со сбросом и переходе ее через ноль. Он решением проблемы чтения, не решается, поглядим что будет на новой МС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 21 января, 2008 Опубликовано 21 января, 2008 · Жалоба Схему для кита на ADE7758 собирать не стал, провел эксперимент на ADE7753. Перевернул клоки, сдвинул фазу, обмен заработал, хотя в прошлый раз не получилось. После установки задержки между командой и данными в более чем 5мкс глюк с обменом пропал. Странно что он проявляется только с этими двумя регистрами. Если задержку уменьшать, до 2.5мкс, то проявляется эффект смешивания каналов, когда подаю на вход 220В, а ток 0, то в измерениях виден рост тока до 5А в пересчете(в норме показывает 0.05), а напряжение занижено 180В. Если же задержку между командой и данными убрать, то каналы путаются, т.е. напряжение около нуля, а ток очень большой, показания не помню, важна суть. Прям аналоговый регулятор выходит. Ну так для 7753 t9 >= 4мкс, так что Ваш опыт лишь подтверждает инфу из датиша. :) (для 7758 >= 1.1мкс) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sergu 0 6 августа, 2008 Опубликовано 6 августа, 2008 · Жалоба я пробовал задержки между байтами вставлять, и между посылками. Толку ноль, ошибка повторяется. Вот осциллограмма обмена с счетчиком, если что разглядите :) наглядно видно что второе и третье чтение отличаются, хотя читается один и тот же регистр практически без задержек. суть такая 1(чтение)=ошибка, 2(чтение и последующие)=норм вроде - как-то была такая же ситуация с первым неправильным чтением, если при начале работы с ADE7758 в момент установки CS в "0" сигнал SCLK в этот момент находился в "1" (а не в "0" как на рисунках в даташите).... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться