Jump to content

    

AD5258

Recommended Posts

dan_dan

Здравствуйте!

 

Ситуация такова: для управления коэффициентом усиления ОУ AD811 хочу использовать AD5258. Как организовать управление для данной микросхемы в плане схемотехнической реализации(подтягивающие резисторы, буферы и т.д. и т.п.)? В наличии ПЛИС на другой плате, связанная с моей по 40см плоскому кабелю.

post-82104-1475066856_thumb.png

Share this post


Link to post
Share on other sites

MegaVolt
Как организовать управление для данной микросхемы в плане схемотехнической реализации(подтягивающие резисторы, буферы и т.д. и т.п.)? В наличии ПЛИС на другой плате, связанная с моей по 40см плоскому кабелю.
Если ПЛИС поддерживает необходимые логические уровни то для нормальной работы I2C по 40см кабелю не нужно ничего (подтягивающие резисторы само собой должны быть.).

Дополнительные элементы появляются если:

1. Кабель отключаемый и мы хотим защитить микросхему от статики.

2. Шумы от ПЛИС пролазят в аналоговый сигнал тогда фильтровать сигналы управления RC цепочкой.

3. Если переключение идёт в то же время в которое анализируется сигнал то фильтровать RC цепочкой до минимально рабочей частоты.

Share this post


Link to post
Share on other sites

dan_dan

Спасибо за ответ!

1. Кабель отключаемый и мы хотим защитить микросхему от статики.

На данный момент, при отладке кабель периодически отключается, а вообще должен быть всегда подключен. А как это связано с защитой от статики?

3. Если переключение идёт в то же время в которое анализируется сигнал то фильтровать RC цепочкой до минимально рабочей частоты.

Задумано так, что в зависимости от уровня сигнала будет выставляться соответствующее значение цифрового потенциометра, в режиме "live" так сказать. RC-цепочкой Вы предлагаете фильтровать сигналы управления от ПЛИС, я правильно понимаю?

Share this post


Link to post
Share on other sites

MegaVolt
На данный момент, при отладке кабель периодически отключается, а вообще должен быть всегда подключен. А как это связано с защитой от статики?
Если кабель отключаемый то есть шанс что его тронет пальцем кто-то в шерстяном свитере и заряд уедет на плату по кабелю. Соответственно есть шанс спалить микросхему. Хотя нужно почитать может она уже внутри себя содержит защиту.
Задумано так, что в зависимости от уровня сигнала будет выставляться соответствующее значение цифрового потенциометра, в режиме "live" так сказать. RC-цепочкой Вы предлагаете фильтровать сигналы управления от ПЛИС, я правильно понимаю?
Да именно так чтобы резкие фронты с плис не фонили. Раз схема должна работать всё время то RC фильтр должен стоять как можно больший не мешающий нормальной работе. И возможно постараться разделить пути цифровой и аналоговой земли. Но это уже к разводке относиться.

Share this post


Link to post
Share on other sites

dan_dan
Хотя нужно почитать может она уже внутри себя содержит защиту.

Да, на цифровых входах там стоят защитные диоды, внутри самой микросхемы.

Осталось понять как выставлять нужный номинал... В описании на микросхему для I2C интерфейса есть две операции - чтение и запись. Получается, чтобы выставить нужное значение, надо сначала записать его в регистр, а потом считать или я неправильно понимаю?

Share this post


Link to post
Share on other sites

MegaVolt
Да, на цифровых входах там стоят защитные диоды, внутри самой микросхемы.
К сожалению в даташите нет явного указания на то какую защиту обеспечивают эти диоды. Если изделие серьёзное то личше поставить внешнюю. Если макет то можно и так оставить.
Осталось понять как выставлять нужный номинал... В описании на микросхему для I2C интерфейса есть две операции - чтение и запись. Получается, чтобы выставить нужное значение, надо сначала записать его в регистр, а потом считать или я неправильно понимаю?
Достаточно только записи. Чтение это проверочная не обязательная операция.

Share this post


Link to post
Share on other sites

MegaVolt
А мультиметр будет показывать значение сопротивления при включенной микросхеме? У меня не показывает... :laughing:
В теории должно мерять. Правда если измерительные сигналы попадают в диапазон рабочий для микрухи.

 

Share this post


Link to post
Share on other sites

dan_dan
В теории должно мерять. Правда если измерительные сигналы попадают в диапазон рабочий для микрухи.

Не совсем понял, какие сигналы в какой диапазон должны попадать...

И еще один вопрос возник. Мне сказали, что для сигналов управления с другой платы будет правильно на своей плате поставить буфер после которого они уже будут идти по моей плате. В буферах не силен, для чего он был нужен конкретно(т.е. какие функции выполнять), так до конца в голове и не уложилось, поэтому была выбрана микросхема с максимально похожим названиемSN74LVC07A. Собственно вопрос в том, как эта микросхема работает? По названию, это вроде как буфер, а вот функционально он получается разгоняет сигнал по току в зависимости от pull-up резисторов на выходах? Тогда не совсем понятно зачем он нужен для сигналов управления и если это в итоге неправильный выбор, то какую микросхему буфера надо выбирать?. Хотелось бы разобраться, чтение даташита не помогло. :smile3046:

Share this post


Link to post
Share on other sites

MegaVolt
Не совсем понял, какие сигналы в какой диапазон должны попадать...
Сигналы от мультиметра должны попадать в диапазон разрешённых для цифрового резистора. И что там мультиметр подаёт чтобы померять сопротивление не известно.
И еще один вопрос возник. Мне сказали, что для сигналов управления с другой платы будет правильно на своей плате поставить буфер после которого они уже будут идти по моей плате. В буферах не силен, для чего он был нужен конкретно(т.е. какие функции выполнять), так до конца в голове и не уложилось, поэтому была выбрана микросхема с максимально похожим названиемSN74LVC07A. Собственно вопрос в том, как эта микросхема работает? По названию, это вроде как буфер, а вот функционально он получается разгоняет сигнал по току в зависимости от pull-up резисторов на выходах? Тогда не совсем понятно зачем он нужен для сигналов управления и если это в итоге неправильный выбор, то какую микросхему буфера надо выбирать?. Хотелось бы разобраться, чтение даташита не помогло. :smile3046:
Буфер ставят или для того чтобы согласовать нагрузочную способность выходов ПЛИС. Само собой это нужно если нагрузка большая. В данном случае нагрузкой является только кабель и микросхема. По моим представлениями плис без проблема потянет 40 сантиметров провода. Второе назначение буфера это защита ПЛИС. Т.е. если закоротит линию в кабеле идущую на цифровой резистор то буфер защитит ПЛИС. Опять же соверменным плис по моему КЗ по выходу глубоко пофиг. По крайней мере для XILINX это так. Т.е. для большей лучшести поставить можно. И те что вы выбрал вполне подойдут. Это буфер с открытым коллектором. Т.е. по сути ключ у которого один вход на земле а второй выведен наружу. Соответственно резистор нужен чтобы на выходе ключа появлялось плюсовое напряжение.

 

Однако I2C интерфейс двунаправленный и соответсвенно буфер нужно ставить хитрее. Что то типа http://www.ti.com/product/tca9517 или другой со страницы http://www.ti.com/lsds/ti/interface/i2c-hu...r-products.page

Ну или самостоятельно городить подобную схему из выбранного вами буфера ориентируяся на схему в даташите на буфер предложенный мной.

Share this post


Link to post
Share on other sites

dan_dan

Спасибо! Стало понятнее.

Только вот цифровой резистор так и не хочет менять свое значение. Сначала я посылал сигналы управления просто по кабелю даже без подтягивающих резисторов, потом поставил буфер и резисторы, теперь оставил только резисторы, однако результата как не было, так и нет. Мультиметр показывает разрыв, причем в момент подключения к точкам начинает возрастать общее потребление платы примерно на 200 мА. Почему так происходит пока не могу понять...

Share this post


Link to post
Share on other sites

MegaVolt
Мультиметр показывает разрыв, причем в момент подключения к точкам начинает возрастать общее потребление платы примерно на 200 мА. Почему так происходит пока не могу понять...
Боюсь так мерять нельзя. Во первых не понятно как меряет мультиметр. Во вторых схема всё же подключена к ОУ и похоже он от такого подключения немножко беситься и начинает жрать не в себя. Хотя это догадки.

 

По хорошему нужно подать напряжение на вход и мерять на выходе. Если схема работает то должно меняться.

 

А по хорошему нужно для начала вычитать то что записано в резистор. Потому что у меня есть предположение что основная проблема в каких то нюансах обмена по I2C. Хорошо бы конечно видеть осциллограмму этого обмена на картинке. Проще было бы сказать что к чему.

 

Короче если вычитывается то что записано то процентов на 99 должно работать.

Share this post


Link to post
Share on other sites

dan_dan

При включении резистор настраивается на середину шкалы (значения считываются из внутренней энергонезависимой памяти), данный факт подтверждает работа ОУ (он выдает на выходе усиленный сигнал в соответствии с коэффициентом от резистора), не получается изменить начальное значение резистора (если он вообще до сих пор жив после всех манипуляций включения с буфером/без буфера). Осциллограммы пока представить не могу, позже постараюсь выложить.

Share this post


Link to post
Share on other sites

MegaVolt
При включении резистор настраивается на середину шкалы (значения считываются из внутренней энергонезависимой памяти), данный факт подтверждает работа ОУ
Ну значит с большой вероятностью он жив.

 

не получается изменить начальное значение резистора. Осциллограммы пока представить не могу, позже постараюсь выложить.
Вот это странно. Каким образом удалость прошить его энергонезависимую память? Может установлена Write Protect? B чтобы что-то изменить нужно её снять?

 

Удаётся ли вычитать это значение из памяти? Если да то линии в порядке и операция чтения тоже. Тогда можно пробовать писать.

 

Share this post


Link to post
Share on other sites

dan_dan
Каким образом удалость прошить его энергонезависимую память?

Значение установки на середину шкалы заложены в EEPROM производителем, от меня никаких действий в этом направлении не требовалось.

Может установлена Write Protect? B чтобы что-то изменить нужно её снять?

Может быть, надо почитать повнимательнее.

Удаётся ли вычитать это значение из памяти?

Не пробовал. Непонятно как произвести эту операцию и какой получить результат. Нужно подать команду чтения регистра, а потом по осциллограмме увидеть записанное значение или как? И еще такой момент - не получается поймать осциллограмму сигнала I2C, посколько в этом режиме выводы ПЛИС работают в двунаправленном режиме и не получается сделать захват на осциллографе. На прикрепленной осциллограмме команда записи в регистр(получена с пина, который определен на ПЛИСе чисто как выход)

post-82104-1475838785_thumb.png

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.