реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> DAC TLV5624
Herz
сообщение May 30 2011, 13:02
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Кто-нибудь работал с этим ЦАПом? Нет ли там никакой опечатки в даташите? Что-то у меня никак не получается его оживить...
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 30 2011, 18:54
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Herz @ May 30 2011, 16:02) *
Кто-нибудь работал с этим ЦАПом? Нет ли там никакой опечатки в даташите? Что-то у меня никак не получается его оживить...

Похоже, никто не имел с ним дела. Вы бы описали траблу подробнее, глядишь, и придумается что-нибудь.
Насчет ошибки в даташит - сомнительно. Уже не первой молодости.
Go to the top of the page
 
+Quote Post
Herz
сообщение May 30 2011, 21:02
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ViKo @ May 30 2011, 21:54) *
Похоже, никто не имел с ним дела. Вы бы описали траблу подробнее, глядишь, и придумается что-нибудь.
Насчет ошибки в даташит - сомнительно. Уже не первой молодости.

Да я и сам понимаю. rolleyes.gif Но хочется же найти какое-то объяснение. А трабла проста: пишу в него подряд два 16-битных слова: первое - CONTROL, второе - собственно данные. По примеру из того же даташита. Пробовал и на внутренний ИОН переключаться, и на внешний - никаких реакций. На выходе - ноль, референсное наружу тоже не выводится. Монтаж уже десять раз проверил. Попробую завтра чип поменять, но как-то надежды мало...
С сигналом FS тоже непонятно. Вроде как сказано, что запись в регистр выполняется при его низком уровне, затем положительный фронт защёлкивает данные и инициализирует смену напряжения на выходе. Такой логики и придерживаюсь. Хотя в другом месте документа пишут, что с 16-ым положительным фронтом клока (или фронтом FS) выходное напряжение меняется автоматом. Пока, впрочем, вообще ничего. crying.gif
Go to the top of the page
 
+Quote Post
VCO
сообщение May 31 2011, 00:25
Сообщение #4


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(Herz @ May 31 2011, 00:02) *
С сигналом FS тоже непонятно. Вроде как сказано, что запись в регистр выполняется при его низком уровне, затем положительный фронт защёлкивает данные и инициализирует смену напряжения на выходе. Такой логики и придерживаюсь.

Обратите внимание на положительный импульс сигнала FS до начала посылки с нормированием минимального времени между положительным фронтом этого импульса и завершением минимального времени установления сигнала nCS. Если бы сигнал FS до начала посылки должен был быть положительным, то этот импульс, возможно и не стали бы рисовать, даже если он нужен был бы лишь при старте.
Цитата
Хотя в другом месте документа пишут, что с 16-ым положительным фронтом клока (или фронтом FS) выходное напряжение меняется автоматом.

Хочу уточнить, что не "с 16-ым положительным фронтом клока", а с 17-ым...


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
hd44780
сообщение May 31 2011, 07:04
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Цитата(Herz @ May 31 2011, 00:02) *
пишу в него подряд два 16-битных слова: первое - CONTROL, второе - собственно данные


Ссылка на ДШ сейчас чего-то не открывается... Позже попробую.
Проверьте формат CONTROL. Помню, в ДШ на радиомодуль RFM12B была ошибка - в примере в упр. регистр не то значение слали.
И, может, какая-то задержка после CONTROL должна быть ...


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Herz
сообщение May 31 2011, 07:45
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(YIG @ May 31 2011, 03:25) *
Обратите внимание на положительный импульс сигнала FS до начала посылки с нормированием минимального времени между положительным фронтом этого импульса и завершением минимального времени установления сигнала nCS. Если бы сигнал FS до начала посылки должен был быть положительным, то этот импульс, возможно и не стали бы рисовать, даже если он нужен был бы лишь при старте.

Спасибо. Но, думаю, не в этом дело. О положительном фронте FS до начала записи ничего не говорится, акцент лишь на отрицательном:
Цитата
Notes on SPI and Microwire: Before the controller starts the data transfer, the software has to generate a falling edge on the I/O pin connected to FS.

Да и в таблице нормируется только минимальная длительность импульса
Цитата
twH(FS) FS pulse duration high

что не мешает ему быть бесконечно продолжительным. Мне кажется, первый фронт FS на диаграмме показан как раз для иллюстрации минимальной паузы между записью предыдущего значения и началом передачи новых данных. Но проверю на всякий случай.
Цитата
Хочу уточнить, что не "с 16-ым положительным фронтом клока", а с 17-ым...

Почему? Пишут ведь так:
Цитата
After the write operation(s), the DAC output is updated automatically on the next positive clock edge following the 16th falling clock edge.

То есть, если пассивный уровень SCLK - высокий и передача начинается по заднему фронту (он первый), то 16-ый передний - это уже последний, возврат сигнала на изначальный уровень.

Цитата(hd44780 @ May 31 2011, 10:04) *
Проверьте формат CONTROL. Помню, в ДШ на радиомодуль RFM12B была ошибка - в примере в упр. регистр не то значение слали.
И, может, какая-то задержка после CONTROL должна быть ...

Уже по-всякому пробовал. Да и задержка у меня естественным образом формируется. biggrin.gif Хотя ничего о ней вроде не сказано.
Сейчас продолжу...
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2011, 08:08
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Слова посылаете, начиная со старшего бита?
CS можно на землю навечно посадить.
Обновляется после 16 срезов SCLK следующим фронтом, или по фронту FS. Осциллографом посмотрите, может, все же, не хватает одного импульса? Ну, и данные DIN во время срезов SCLK уже установлены (tsu, th)?
REF не закорочена?
Go to the top of the page
 
+Quote Post
VCO
сообщение May 31 2011, 08:57
Сообщение #8


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Я в таких случаях SPI обычно отключаю от ПЛИС или микроконтроллера и цепляю через ADuM к LPT-порту компьютера, затем программкой XPlpt начинаю отрабатывать все варианты, чтобы не заниматься большим количеством перешивок. Иногда решение приходит довольно неожиданно, когда уже близок к выводу, что чип сдох.


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
Herz
сообщение May 31 2011, 12:48
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ViKo @ May 31 2011, 11:08) *
Слова посылаете, начиная со старшего бита?
CS можно на землю навечно посадить.
Обновляется после 16 срезов SCLK следующим фронтом, или по фронту FS. Осциллографом посмотрите, может, все же, не хватает одного импульса? Ну, и данные DIN во время срезов SCLK уже установлены (tsu, th)?
REF не закорочена?

Да всё именно так.
В общем, после многочисленных манипуляций какие-то сдвиги произошли. Чип действительно оказался жив.
Выяснилось, что:
- если пассивный уровень SCLK - высокий, то "обновление выхода" происходит по 16-му его фронту. То есть, в момент возврата к начальному уровню. У сигнала FS значение имеет только спад - он инициализирует новую запись в регистр. Просто если FS не дёргать, новой записи не произойдёт.
- если пассивный уровень SCLK - низкий, то "обновление выхода" происходит именно по фронту FS, но ... только после повторной записи (!) в регистр тех же данных (и импульсом FS, конечно, между ними, иначе запись не проходит).
Пытаюсь осмыслить обнаруженное, но пока извилины расползаются... biggrin.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2011, 13:02
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Herz @ May 31 2011, 15:48) *
У сигнала FS значение имеет только спад - он инициализирует новую запись в регистр.
... если пассивный уровень SCLK - низкий, то "обновление выхода" происходит именно по фронту FS, но ... только после повторной записи (!) в регистр тех же данных (и импульсом FS, конечно, между ними, иначе запись не проходит).

Наверное, если вы будете молотить SCLK и после 16 тактов еще один-два-сто (неважно, сколько), то ЦАП защелкнет, то, что надо, и без фронта FS.
Go to the top of the page
 
+Quote Post
Herz
сообщение May 31 2011, 13:37
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ViKo @ May 31 2011, 16:02) *
Наверное, если вы будете молотить SCLK и после 16 тактов еще один-два-сто (неважно, сколько), то ЦАП защелкнет, то, что надо, и без фронта FS.

Нет, не получается. Судя по даташиту, фронт FS может придти раньше 16-го фронта клока и тогда регистр защёлкнет то, что есть, но не наоборот. Можно бесконечно писать в регистр, но он будет продолжать ждать - проверено. Как это связано с пассивным уровнем клока - пока не разобрался.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2011, 13:50
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Herz @ May 31 2011, 16:37) *
Судя по даташиту, фронт FS может придти раньше 16-го фронта клока и тогда регистр защёлкнет то, что есть, но не наоборот. Можно бесконечно писать в регистр, но он будет продолжать ждать - проверено.

По даташиту, вроде, должно защелкнуться по SCLK, если FS держится в нуле (вы же сами его формируете?).
Go to the top of the page
 
+Quote Post
Herz
сообщение May 31 2011, 14:23
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ViKo @ May 31 2011, 16:50) *
По даташиту, вроде, должно защелкнуться по SCLK, если FS держится в нуле (вы же сами его формируете?).

Действительно так и происходит, но только если спад FS сформирован при высоком уровне SCLK.
Мне бы как раз нужно, чтобы обновление происходило по внешнему сигналу. Записали неторопливо в регистр по SPI и ждём себе строба. И лишь по его пришествию напряжение меняется строго в нужный момент. А пока не получается. То есть, если дублировать запись, то вроде получается, но тут явно какой-то глюк.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 1 2011, 06:52
Сообщение #14


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Еще напомню - около выходов, выдающих SCLK и FS, запаяйте в эти цепи последовательно по резистору омов 100. Чтобы уничтожить возможный дребезг на фронтах из-за отражений.
Go to the top of the page
 
+Quote Post
Herz
сообщение Jun 1 2011, 08:16
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ViKo @ Jun 1 2011, 09:52) *
Еще напомню - около выходов, выдающих SCLK и FS, запаяйте в эти цепи последовательно по резистору омов 100. Чтобы уничтожить возможный дребезг на фронтах из-за отражений.

Спасибо. Да у меня скорости небольшие. Намучился я с этим чипом и даже сумел приспособить для своих нужд, но до боли жалко времени. Обидно и то, что задумка вроде была неплохой, но явно техасцы чего-то перемудрили. И альтернативы, в общем-то, нет. Обнаружилась ещё одна неприятная особенность: если вследствие сбоев в передаче ЦАП "зависнет", сбросить его можно только выключением питания.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 09:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01536 секунд с 7
ELECTRONIX ©2004-2016