Jump to content
    

XADC Структура и особенности применения

Здравствуйте, недавно начал работать с ПЛИС, изучаю ее возможности и особенности. Сейчас столкнулся с блоком XADC встроенным в саму ПЛИС, после изучения ug480_7Series_XADC у меня возникли вопросы. Надеюсь мы мне поможете разобраться с вопросом.

В vivado, когда по jtag подключаешься к плате, открывается xadc отображающий температуру. Насколько я понял это monitoring mode, блок xadc работает от внутреннего генератора (internal clock oscillator), по которому синтезируется adcclk поступающий на 12-битное ацп, так за несколько отчетов определяется усредненное значение, записанное в регистр. Его мы и видим на графике.
2.thumb.PNG.a170eaaea3579ed8083fb8967c2008eb.PNG

Вопрос следующий, откуда берется этот internal clock oscillator в плис? Ведь для получения стабильного клока используют генераторы с кварцем, а тут что?  А стабильность от температуры какая? ПЛИС же греется серьезно. На какую частоту он рассчитан этот внутренний клок, нигде найти не смог?

Вопрос про monitoring mode. Если я ничего с блоком xadc не делаю, в проект не добавляю, что будет при нагреве плис выше 125 град? Насколько я понял, предусмотрена защита и плис отключится.
А если я в проект добавлю блок xadc, то мне нужно самому предусмотреть этот момент отключения?


Я еще хочу уточнить про частоты. Сказано что 12-битное ацп работает с максимальной частотой 1MSPS. Допустим выберем режим DRP и подключим блок к внешнему клоку DCLK 100МГц, он будет опорным для формирования ADCCLK  = 25 МГц. АЦП будет работать на 25 МГц на входе и выдавать выходные значения с частотой 1МГц? А на что будет влиять acquistion time=4 или 10, из каких соображений выбрать?
1.thumb.PNG.3d32cfb0856c5c60198c8a3ceb2001c5.PNG

Последний вопрос, который меня мучает, связан с пинами DxP и DxN - это контакты диода с датчиком температуры, если к ним подключить специальную микросхему (например MAX6692MUA) можно измерить температуру плис. 
Temperature-sensing diode pins (Anode: DXP; Cathode:DXN). The thermal diode is accessed by using the DXP and DXN pins in bank 0. When not used, tie to GND. To use the thermal diode an appropriate external thermal monitoring IC must be added. Consult the external thermal monitoring IC data sheet for usage guidelines. The recommended temperature monitoring solution for 7 series FPGAs uses the temperature sensor in the XADC block. (вырезка из ug475_7Series_Pkg_Pinout) Вопрос, а как это будет работать совместно с модулем xadc? Они подключены к одному и тому же датчику получается? Какое влияние, как стабильно работает xadc на плис в сравнении с внешней микросхемой?  
 

Share this post


Link to post
Share on other sites

14.thumb.PNG.7a84bd7e84046bfb7a7c2785794609d9.PNG
13.thumb.PNG.e2828c25c5b26c665a36391c0856d1ed.PNG

Нашел вот такую схему включения. Из каких целей Vrefp подключили не на землю, а оставили в воздухе (через конденсатор на землю) ? Чтобы не использовать xadc?

 

Share this post


Link to post
Share on other sites

1MSPS  это значит что максимальная скорость оцифровки аналогового сигнала составляет 1 миллион отсчётов в секунду. меньше можно - больше не возможно. и причём тут частота работы корки ?

Share this post


Link to post
Share on other sites

Приветствую!

53 minutes ago, TheFeed said:

Из каких целей Vrefp подключили не на землю, а оставили в воздухе (через конденсатор на землю) ? Чтобы не использовать xadc?

Там же  выше написано - в этом случае используется внутренний V ref с внешним фильтрующим конденсатором.  

1 hour ago, TheFeed said:

откуда берется этот internal clock oscillator в плис? Ведь для получения стабильного клока используют генераторы с кварцем, а тут что?

Для оцифровки напряжений и температур стабильности внутреннего генератора на кольцевых задержках вполне достаточно, 
это же не спектры строить в конце концов. :yes3:

1 hour ago, TheFeed said:

А если я в проект добавлю блок xadc, то мне нужно самому предусмотреть этот момент отключения?

На  сколько помню вы можете настроить 3  порога по температуре (low, high, OverTemperature),  и по сигналам соответвующих выводов выполнять какие либо действия ( например снижать частоту работы). При этом OT сбрасывает прошивку FPGA и не  позволяет загрузить  ее снова пока не остынет до  температуры сброса OT. Отключение по значению 125 гр. конфигурируются по умолчанию, но вы можете загрузить и меньшее значение. При этом в конфигурации (или констрейнами) вы можете отключить сброс прошивки по OT.  

Настройки тактирования  нужно  делать так чтобы  не превысить  максимальные  частоты - тактовая ADCLK это частота  тактирования ADС, а не частота семплирования.  Поскольку  скорее все там стоит ADC последовательного преобразования  то нужно acquisition +разрядность + пауза  тактов ADCLK для одного семпла. 

Число  тактов acquisition влияет на точность семпла аналоговой величины и на ошибки при этом если во входном сигнале есть высокочастотные компоненты. Об этом подробно пишут в ug480 в разделе про выбор acquisition time.

Внешний  датчик температуры  не заменяет собой внутренний, это просто аналоговые входы для отдельного канала оцифровки. 

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

Понял, а за чем включают внешнюю микросхему для контроля температуры? Блок xadc работает нестабильно или начинает неправильно себя вести?

И мне интересно, а как плис себя ведет при перегревах? Читал, что наблюдается деградация связей, и при повторном использование увеличивается потребление тока (т.е. перегрели кристалл до 110град, потом он остыл, мы заново прошили, а плис больше тока берет) Получается, pn-переходы (наши соединения) во всех блоках при перегревах кристалла изнашиваются, но еще функционируют? В каких температурных диапазонах лучше держать кристалл?

Share this post


Link to post
Share on other sites

Приветствую!

9 minutes ago, TheFeed said:

... а за чем включают внешнюю микросхему для контроля температуры?

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

12 minutes ago, TheFeed said:

И мне интересно, а как плис себя ведет при перегревах? ...

Не знаю, я свои FPGA старался не перегревать.  

14 minutes ago, TheFeed said:

В каких температурных диапазонах лучше держать кристалл?

Конечно в рекомендуемых рабочих для соответствующего кристалла границах. И естественно чем меньше тем лучше.  

 

Удачи! Rob.  

Share this post


Link to post
Share on other sites

Я не до конца понимаю мотивацию разработчиков подключаться к пинам DxN и DxP для контроля температуры плис.

24.09.2021 в 16:01, TheFeed сказал:

Temperature-sensing diode pins (Anode: DXP; Cathode:DXN). The thermal diode is accessed by using the DXP and DXN pins in bank 0. When not used, tie to GND. To use the thermal diode an appropriate external thermal monitoring IC must be added. Consult the external thermal monitoring IC data sheet for usage guidelines. The recommended temperature monitoring solution for 7 series FPGAs uses the temperature sensor in the XADC block. (вырезка из ug475_7Series_Pkg_Pinout)

 

24.09.2021 в 17:18, RobFPGA сказал:

Внешний  датчик температуры  не заменяет собой внутренний, это просто аналоговые входы для отдельного канала оцифровки. 

Я правильно понимаю, что мы по одному и тому же чувствительному элементу анализируем температуру? И возможно доставать информацию через xadc или с помощью внешней микросхемы? Но когда лучше внешняя микросхема?

Edited by TheFeed

Share this post


Link to post
Share on other sites

Приветствую!

52 minutes ago, TheFeed said:

Я правильно понимаю, что мы по одному и тому же чувствительному элементу анализируем температуру? И возможно доставать информацию через xadc или с помощью внешней микросхемы? Но когда лучше внешняя микросхема?

Не думаю что это один и тот же диод, скорее отдельный диод может расположенный на кристалле рядом с внутренним. 
Внешняя схема мониторинга работает независимо, без загрузки FPGA.  Как вы будете мониторить температуру если FPGA не загружена? 

 

Удачи! Rob. 

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.

×
×
  • Create New...