Перейти к содержанию
    

Проблема с выходным кодом ADuC845

Здравствуйте, уважаемые знатоки!

Спасите мои мозги от полного расплавления! :(

Бьюсь с адукой 845. Итак:

ADC0CON1, #00000111b       ;+-2.5 V, стр.43 datasheet

ADC0CON2, #01000000b       ;<=> 040h, Vneshnij REF +-2.5 V, AIN1-AINCOM

Другие регистры несущественны для этой темы.

На вход подаю реально: 2,758 В, что соответствует 0,258 В квазидифференциального сигнала (Vref=2.5V )

По формуле, предложенной в datasheet:

Code = 2^(N-1) * [(AIN / VREF) + 1]

Получаем код (использую два старших байта):

2^15*((2.758-2.5)/2.5 + 1) = 36150 <=> 0b 1000 1101 0011 0110 (для наглядности в бинарном коде) – такое должен получить на выходе ADuC, далее нужно вычесть «ноль» = 0х8000, получим:

0b 0000 1101 0011 0110, таким образом, получим искомое значение

3382 (проверял, всё как в аптеке!)

НО!

У меня на выходе код в реалии:

34397 <=> 0b 1000 0110 0101 1101,

что после обработки даст

1629,

что в два раза меньше необходимого.

Обслюнявил весь даташит, облизал все регистры… Где зарыта проклятая собака, чёрт её знает.

П А М А Г И Т Е !!!!!!!!!!!!!!!!!!!!!!!!!!!

Ой, что-то над заголовком появилась надпись "Жалоба". Так надо? Вроде, раньше такого не было.

Изменено пользователем peotr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверно вся хитрость тут (выделил жирным):

On 1/3/2019 at 6:48 PM, peotr said:

ADC0CON2, #01000000b       ;<=> 040h, Vneshnij REF +-2.5 V, AIN1-AINCOM

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Lagman сказал:

Наверно вся хитрость тут (выделил жирным):

 

Простите за тупость. Но перечитал ещё раз даташит:

ADC0CON2:

0 1 => REFIN± Selected - верно!

0 0 0 0 => AIN1–AINCOM - квазидифференициальное включение, верно!

На REFIN подал +2.5 V - верно!

ADC0CON1, #00000111b  => +-2.5 V, стр.43 datasheet - верно.

(5 UNI Primary ADC Unipolar Bit, = 0 => Bipolar! - верно)

Где я туплю???

P.S. Наверное, я ввёл в заблуждение записью REF +-2.5 V , которую я тупо скопировал где-то из даташита. На ножку REFIN я подаю постоянное откалиброванное напряжение 2,5 В.

 

Изменено пользователем peotr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/21/2019 at 8:00 PM, peotr said:

На ножку REFIN я подаю постоянное откалиброванное напряжение 2,5 В.

Тогда не там.

Я на 834 делал термометр и датчик давления, у меня таких проблем не было, но у меня везде была дополнительная математическая калибровка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...