Циф. потенциометр. Не получается записать значение в память.

Обсуждаем цифровые устройства...
Ответить
Родился
Сообщения: 6
Зарегистрирован: Чт июл 17, 2014 13:12:10

Сообщение Kruv »

Здравствуйте. Учусь управлять цифровым потенциометром (ЦП) AD5292 через LPT-порт по SPI.
Три недели назад не представляла даже, как дергать ножки порта, сейчас умею выставлять нужное сопротивление. Но встала проблема как сохранить это сопротивление в памяти. Неоднократное перечитывание даташита никак не наталкивает на мысль, где я допустила ошибку, которая, несомненно, есть, раз сопротивление не сохраняется в памяти. О том, что оно не сохраняется, я сужу по команде 4 на 18 странице даташита (RESET), которая передвигает ползунок на середину (значение, выставляемое если в памяти ничего не было сохранено) .

Насколько мне удалось понять, алгоритм записи сопротивления в 20-ТР помять должен выглядеть следующим образом:
1. Разрешить изменение положения ползунка и содержимого памяти. Команда: ох1803.
2. Выставить нужное значение сопротивления. Команда: 0x0500 (5кОм).
3. Подготовка чтения из RDAC регистра. Команда: 0х0800.
4. Сохранить значение сопротивления в памяти. Команда: 0x0C00.

После этого я меняю сопротивление на любое другое и посылаю команду 4 (xx0100xxxxxxxxxx) c 18 страницы даташита (RESET). После этого ползунок сбрасывается не на "записанное" в память значение, а в среднее положение.

Есть вариант, что не работает потому, что какие-то команды нужно посылать по временной диограмме Read, тогда как я все посылаю по временной диаграмме write.
Буду очень рада, если кто-нибудь подскажет, в чем может быть проблема.
Вложения
AD5292.pdf
(644.84 КБ) 170 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Kruv писал(а):После этого ползунок сбрасывается не на "записанное" в память значение, а в среднее положение.
Лол. Может, вы использовали все 20 попыток? :)

Ну и традиционное, говорить без схемы это как писями по воде вилять.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Друг Кота
Аватара пользователя
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ

Сообщение просто КОТ »

Kruv писал(а):4. Сохранить значение сопротивления в памяти. Команда: 0x0C00.
Kruv писал(а):После этого я меняю сопротивление на любое другое и посылаю команду 4 (xx0100xxxxxxxxxx)
То ли буква не та, то ли лыжи не едут...
Изображение
И ты врёшь!!! © Vladisman
Изображение
Контактная информация:
Родился
Сообщения: 6
Зарегистрирован: Чт июл 17, 2014 13:12:10

Сообщение Kruv »

Большое спасибо, что откликнулись. :)
1. Если бы были использованы все попытки, то он бы выставлял последнее сохраненное значение , а не заводское (действующее до первого программирования) . А значение сопротивления я никогда не ставила равным заводскому.
2. Возможно, я не права, но мне кажется, схема здесь не нужна, т.к. я не могу понять принцип сохранения в памяти.

Сама знаю, что коряво спрашиваю, поэтому попытаюсь переформулировать вопросы.
1. Сталкивались ли вы с тем, что не удается сохранить значение сопротивления в памяти ЦП? Если да, то в чем была проблема?
2. На 19 странице даташита в таблице 10 написано, как писать/читать в RDAC и 20-TP memory. Как вы считаете, для записи в память нужно выполнить только первые 4 действия или все? Все ли команды DIN нужно выполнять по временной диаграмме для write или некоторые по reаd?
3. И самый мучающий меня вопрос. В read timing diagram почему идут подряд два бита Do? И на линии DIN нужно передать 32 бита. Это дважды повторить команду?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 20093
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Kruv писал(а):Возможно, я не права
Так и есть. Там есть схемотехнические особенности при сохранении в память.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Родился
Сообщения: 1
Зарегистрирован: Пт ноя 06, 2015 00:21:31

Сообщение studasd »

Gudd-Head писал(а):Так и есть. Там есть схемотехнические особенности при сохранении в память.
Подскажите пожалуйста, в чем эти особенности?
Аналогичная проблема - не могу записать значение резистора в память.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15660
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Читайте конкретные даташиты.
Иногда встречаются изделия без записи значения в энергонезависимую память.
8)
Ответить

Вернуться в «Цифровая техника»