Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-дек-16 20:01

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-17 12:59 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 672
Откуда: г. Санкт-Петербург
Alexey9891 писал(а):
А почему именно такие значения напряжений? Как вы их рассчитали? Может так:

Питание МК 3,3 В. Необходимо выполнять симметрирование сигналов на входе АЦП относительно половины питания МК, т.е. 1,65 В. Далее, 1,65 + (0,7/2) = 2 В, потом 1,65 - (0,7/2) = 1,3 В.

Мои рассуждения правильные?

Да.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-18 10:25 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
[/quote]Да.[/quote]

Если правильные тогда почему на практике получается следующее:

Питание МК 3,3 В;
на входе INP1 напряжение 1,80 В;
на входе INM1 напряжение 1,50 В.

Дифференциальный сигнал равен 1,80 - 1,50 = 0,3 В. Симметрирование дифф. сигнала необходимо делать относительно половины питания, т.е. 3,3 / 2 = 1,65 В. Значит разделим напряжение дифф. сигнала на 2: 0,3 / 2 = 0,15 В. Если к половине питания прибавить 0,15: 1,65 + 0,15 = 1,8 В (то же что и на INP1); если от половины питания вычесть 0,15 В: 1,65 - 0,15 = 1,5 В (то же что и на INМ1). Вывод - симметрирование выполнено верно!

Далее проверим, на всякий случай, соответствие значения синфазного напряжения разрешенному диапазону: (1,8 + 1,5)/2 = 1,65 В - это как раз середина допустимого диапазона.

Далее, так как напряжение на INP1 больше чем на INМ1, то при преобразовании в регисте F1DAT бит 24 должен быть равен 0 - это будет означать что число положительно. НО! В режиме отладки в регистре F1DAT число 0xF9041D. Незначительно изменяется, но первые три символа 0xF90_ _ _ неизменны! Бит 24 равен 1, значит число отрицательно!
ПОЧЕМУ? :evil: ! Что я сделал не так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-18 11:11 
Не в сети

Зарегистрирован: 2011-сен-05 12:12
Сообщения: 179
Откуда: Саратов
Alexey9891 писал(а):
Далее, так как напряжение на INP1 больше чем на INМ1, то при преобразовании в регисте F1DAT бит 24 должен быть равен 0 - это будет означать что число положительно. НО! В режиме отладки в регистре F1DAT число 0xF9041D. Незначительно изменяется, но первые три символа 0xF90_ _ _ неизменны! Бит 24 равен 1, значит число отрицательно!
ПОЧЕМУ? :evil: ! Что я сделал не так?

попробуйте плавно увеличивать/уменьшать входное напряжение и следить за результатом измерения. Возможно, из-за большого коэффициента усиления происходит "зашкаливание" АЦП и из-за переполнения меняется знак на противоположный. И еще, у АЦП есть возможность автоматического устранения смешения нуля, для таких экспериментов ее надо отключить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-18 12:01 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
[/quote]
попробуйте плавно увеличивать/уменьшать входное напряжение и следить за результатом измерения. Возможно, из-за большого коэффициента усиления происходит "зашкаливание" АЦП и из-за переполнения меняется знак на противоположный. И еще, у АЦП есть возможность автоматического устранения смешения нуля, для таких экспериментов ее надо отключить.[/quote]

Какого коэффициента усиления?

Щас попробовал поменять выводы. Теперь на INP1 1,5 В, а на INМ1 1,8 В. Теперь значение в регистре всегда положительное! А должно быть наоборот! Значение в регитре в пересчете на вольты не равно 0,3 В.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-18 12:27 
Не в сети

Зарегистрирован: 2011-сен-05 12:12
Сообщения: 179
Откуда: Саратов
Alexey9891 писал(а):
Какого коэффициента усиления?

регистры ANGAIN, DIGGAIN


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-18 12:49 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
novikovfb писал(а):
Alexey9891 писал(а):
Какого коэффициента усиления?

регистры ANGAIN, DIGGAIN



Я настраиваю так:

Код:
MDR_ADCIU->DIGGAIN = 0x2A;   // Цифровое усиление каналов 0 дБ.
MDR_ADCIU->ANGAIN  = 0x0;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-19 08:15 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
Кто нибудь добился корректной работы от этого АЦП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-22 17:39 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
И еще непонятка. Вот подали мы на входы АЦП два сигнала: на INP 2,85 В, на INM 0,45 В, при синфазном напряжении 1,65 В и напряжении питания МК 3,3 В. Дифференциальное выходит 2,85 - 0,45 = 2,4 В (максимально допустимое значение).

Далее нужно сравнить эти 2,4 В с опорным напряжением 1,2 В? Так 2,4 всегда больше 1,2 В! Значит максимальное диф. напряжение 1,2 В что ли?

А если максимальное диф. напряжение все же 2,4 В, почему тогда при пересчете из кода в вольты используется формула: ( 1,2 В/(2^23) ) * FDAT. FDAT - это полученный АЦП код. Почему 1,2 В!

С чем надо сравнивать полученные 2,4 В диф. напряжения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 08:51 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1187
Откуда: Тула
Казалось бы, FDAT имеет 24 значащих бита, а 1,2 В делится на 2^23, что равно делению 2,4 В на 2^24.
Т.е. знаковый бит тоже значащим считается.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 09:00 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
prostoRoman писал(а):
Казалось бы, FDAT имеет 24 значащих бита, а 1,2 В делится на 2^23, что равно делению 2,4 В на 2^24.
Т.е. знаковый бит тоже значащим считается.


Сарказм?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 09:09 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
Еще вопрос. Вместе с библиотеками к этому МК прилагаются примеры программ. Так вот для ∑ΔАЦП тоже есть пример. Вопрос такой, зачем нужны вот эти преобразования в программе обработки прерывания:

Код:
void ADCIU_CH1_IRQHandler()
{
if(ADCIU_GetStatusFlag(ADCIU_CHANNEL_NUMBER1, ADCIU_FLAG_FITO_NOT_EMPTY))
  {
  ADCIU_data[count] = ADCIU_GetResult(ADCIU_CHANNEL_NUMBER1); // Тут считали результат

  if(ADCIU_data[count]& (1 << 21))          // А вот это зачем?
    ADCIU_data[count] |=  (0xFF << 24);  // Зачем оно нужно?

count++;
  }

/*
.
.
.
*/
}


Вложения:
Комментарий к файлу: Сам пример
main.rar [1.99 КБ]
Скачиваний: 137
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 09:20 
Не в сети

Зарегистрирован: 2011-сен-05 12:12
Сообщения: 179
Откуда: Саратов
Alexey9891 писал(а):
Еще вопрос. Вместе с библиотеками к этому МК прилагаются примеры программ. Так вот для ∑ΔАЦП тоже есть пример. Вопрос такой, зачем нужны вот эти преобразования в программе обработки прерывания:

Код:
void ADCIU_CH1_IRQHandler()
{
if(ADCIU_GetStatusFlag(ADCIU_CHANNEL_NUMBER1, ADCIU_FLAG_FITO_NOT_EMPTY))
  {
  ADCIU_data[count] = ADCIU_GetResult(ADCIU_CHANNEL_NUMBER1); // Тут считали результат

  if(ADCIU_data[count]& (1 << 21))          // А вот это зачем?
    ADCIU_data[count] |=  (0xFF << 24);  // Зачем оно нужно?

count++;
  }

/*
.
.
.
*/
}

это - расширение знака, т.к. результат измерения 24-разрядный, то старший байт слова нужно заполнить значением знакового бита, только там должно быть по-хорошему if(ADCIU_data[count]& (1 << 23))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 09:33 
Не в сети

Зарегистрирован: 2015-сен-04 13:47
Сообщения: 28
novikovfb писал(а):
Alexey9891 писал(а):

это - расширение знака, т.к. результат измерения 24-разрядный, то старший байт слова нужно заполнить значением знакового бита, только там должно быть по-хорошему if(ADCIU_data[count]& (1 << 23))


Вот и я так подумал, что должно быть 23. Но все равно не пойму зачем эти 2 строчки. Логика такая выходит:

if(ADCIU_data[count]& (1 << 23)) // Если число отрицательное (INP < INM),
ADCIU_data[count] |= (0xFF << 24); // то старшие биты в ADCIU_data[count] установить в лог. 1.

Это сделано для того, чтобы в дальнейшем можно было бы сразу преобразовывать отрицательное число из дополнительного кода?

P.S.: на личное сообщение не ответите?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-23 09:35 
Не в сети

Зарегистрирован: 2011-сен-05 12:12
Сообщения: 179
Откуда: Саратов
Alexey9891 писал(а):
Это сделано для того, чтобы в дальнейшем можно было бы сразу преобразовывать отрицательное число из дополнительного кода?

да


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ∑ΔАЦП в 1986ВЕ4У
СообщениеДобавлено: 2015-дек-24 20:37 
Не в сети

Зарегистрирован: 2015-дек-18 09:47
Сообщения: 11
Когда я начал работу с этой м-сх. у меня был такой же вопрос, как и в первом сообщении этой темы.
Результаты пощипывания ВЕ4 были готовы еще 21.10.2015 г. Предложил Миландру как протокол – за предоставленные образцы. Обсуждалась мысль – спецы Миландра подчистят, что не так, и выпустим совместную статью. Спецы сильно заняты (см. соотв. тему в форуме) и их молчание сильно затянулось, поэтому выкладываю “Сравнение ВЕ4 с ADS1256” как есть. В нем также приводятся описание своей платы, борьба с недостатком инфо по ВЕ4, в общем смотрите.
Это надо-бы было выложить побыстрее (другим будет проще прочитать о трудной борьбе, чем бороться), но ждал спецов. Решил также, что более подходит тема форума по Сигма-Делта-ВЕ4. Читайте, пинайте не сильно, надеюсь кому-нибудь поможет.
С Уважением, Михаил Николаевич.
P.S. Позавчера получил письмо с сомнениями о результатах. Возможно. Я не считаю себя большим специалистам.
Выдержку из письма привожу ниже.
"Здравствуйте, Михаил Николаевич.
... есть вопросы к эксперименту, достоверности таких высоких результатов.
Есть мнение, подтвержденное своими измерениями, что Вы получили слишком высокие результаты по ключевым параметрам. Мы были бы очень Вам признательны, если бы Вы повторили данный эксперимент с некоторыми уточнениями, обеспечивающими его чистоту. Для этого мы можем передать Вам микросхемы рев. 3 и отдельную плату (ее нужно будет нам изготовить) ..." [Мой ответ риторический - неужели я буду против ?!]


Вложения:
Комментарий к файлу: Сравнение характеристик сигма-дельта АЦП 1986ВЕ4У и ads1256.
BE4_ads1256.doc [410.5 КБ]
Скачиваний: 439
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB