Site Loader

Содержание

Измерение напряжения питания микроконтроллера | RadioLaba.ru

            #include <P16F676.INC>

            LIST        p=16F676  

            __CONFIG    b’11111110000100′   ;Конфигурация микроконтроллера

                                              

            

Sec           equ         20h               ;регистры хранения временных данных для

Sec1          equ         21h               ;подпрограмм паузы

Sec2          equ         22h               ;

varLL         equ         24h               ;вспомогательные регистры подпрограммы

varLH         equ         25h               ;деления чисел

tmpLL         equ         26h               ;

rezLL         equ         2Dh               ;

rezLH         equ         2Eh               ;

shet          equ         23h               ;вспомогательные регистры подпрограммы

bcd1          equ         27h               ;преобразования двоичного числа в

bcd2          equ         28h               ;десятичное по разрядам

bcd3          equ         29h               ;

sotni         equ         2Ah               ;

desiat        equ         2Bh               ;

edin          equ         2Ch               ;

 

adr_ind       equ         30h               ;вспомогательные регистры для передачи

dat_ind       equ         31h               ;данных на цифровой индикатор

scetbit       equ         32h               ;

 

#DEFINE       acp_on      PORTA,2           ;линия включения источника опорного напряжения

#DEFINE       datai       PORTC,2           ;линия входа данных драйвера MAX7219

#DEFINE       cs          PORTC,1           ;линия выбора драйвера MAX7219

#DEFINE       clk         PORTC,0           ;линия тактирования драйвера MAX7219

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

              org         0000h             ;начать выполнение программы с адреса 0000h

              goto        Start             ;переход на метку Start

          

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Основная программа

                                              

Start         movlw       b’00000000′       ;Настройка выходных защелок порта A

              movwf       PORTA             ;

              movlw       b’00000010′       ;Настройка выходных защелок порта С

              movwf       PORTC             ;

              

              movlw       b’00000111′       ;выключение компараторов

              movwf       CMCON             ;

 

              bsf         STATUS,RP0        ;выбрать 1-й банк    

              movlw       b’11111011′       ;настройка линий ввода\вывода порта

              movwf       TRISA             ;

              movlw       b’11111000′       ;настройка линий ввода\вывода порта

              movwf       TRISC             ;

              movlw       b’01010000′       ;настройка времени преобразования АЦП (Fosc/16 = 4 мкс)

              movwf       ADCON1            ;

              movlw       b’00000001′       ;Настройка аналоговых/цифровых входов

              movwf       ANSEL             ;RA0 — аналоговый вход

              bcf         STATUS,RP0        ;выбрать 0-й банк  

 

              movlw       b’00000000′       ;Настройка модуля АЦП, канал AN0, левое выравнивание,

              movwf       ADCON0            ;источник опорного напряжения АЦП от линии питания

 

              call        init_lcd          ;вызов подпрограммы инициализации цифрового индикатора

 

Start_1       call        battery           ;вызов подпрограммы измерения и расчета величины напряжения

              call        vivod             ;вызов пожпрограммы вывода значения напряжения на индикаторы

              call        pause             ;вызов подпрограммы паузы 2 секунды

              goto        Start_1           ;переход на метку Start_1

 

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

vivod         movlw       0x08              ;очистка 8-го индикатора

              movwf       adr_ind           ;

              movlw       0x0F              ;

              movwf       dat_ind           ;

              call        send              ;

              movlw       0x07              ;очистка 7-го индикатора

              movwf       adr_ind           ;

              movlw       0x0F              ;

              movwf       dat_ind           ;

              call        send              ;

              movlw       0x06              ;очистка 6-го индикатора

              movwf       adr_ind           ;

              movlw       0x0F              ;

              movwf       dat_ind           ;

              call        send              ;

              movlw       0x05              ;очистка 5-го индикатора

              movwf       adr_ind           ;

              movlw       0x0F              ;

              movwf       dat_ind           ;

              call        send              ;

              movlw       0x04              ;очистка 4-го индикатора

              movwf       adr_ind           ;

              movlw       0x0F              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x03              ;вывод значения регистра sotni на 3-й индикатор

              movwf       adr_ind           ;целая часть величины напряжения

              movf        sotni,W           ;

              movwf       dat_ind           ;

              bsf         dat_ind,7         ;установка десятичного знака

              call        send              ;

              movlw       0x02              ;вывод значения регистра desiat на 2-й индикатор

              movwf       adr_ind           ;дробная часть величины напряжения, первая цифра

              movf        desiat,W          ;после запятой

              movwf       dat_ind           ;

              call        send              ;

              movlw       0x01              ;вывод значения регистра edin на 1-й индикатор

              movwf       adr_ind           ;дробная часть величины напряжения, вторая цифра

              movf        edin,W            ;после запятой

              movwf       dat_ind           ;

              call        send              ;

              return

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

battery       bsf         acp_on            ;включение источника опорного напряжения (TL431)

              bsf         ADCON0,ADON       ;включение модуля АЦП

              call        pause             ;вызов подпрограммы паузы 2 секунды

              bsf         ADCON0,GO_DONE    ;установка бита GO_DONE, запуск преобразования АЦП

      

batt_1        btfsc       ADCON0,GO_DONE    ;опрос бита GO_DONE

              goto        batt_1            ;бит GO_DONE не равен 0, преобразование не

                                            ;закончено, переход на метку batt_1

              movf        ADRESH,W          ;преобразование закончено, копирование значения

              movwf       tmpLL             ;в регистр tmpLL

 

              bcf         acp_on            ;выключение источника опорного напряжения (TL431)

              bcf         ADCON0,ADON       ;выключение модуля АЦП

 

              movlw       . 7                ;запись числа 62475 в регистры varLH, varLL для

              movwf       varLL             ;последующего деления

              movlw       .248              ;

              movwf       varLH             ;

              call        del               ;вызов подпрограммы деления числа 62475 на результат преобразования АЦП

              call        bin2bcd           ;вызов подпрограммы преобразования двоичного числа в десятичное по разрядам

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Подпрограмма деления двухбайтного числа на однобайтное (varLH, varLL):(tmpLL)

;Результат деления в регистре rezLH, rezLL, деление целочисленное без дробной части

;на ноль делить нельзя, произойдет выход из подпрограммы без изменений

 

del           clrf         rezLL            ;очистка регистров rezLL, rezLH (эквивалентно записи нуля)

              clrf         rezLH            ;

              movlw        . 0               ;проверка равенства нулю числа лежащего в регистре tmpLL

              xorwf        tmpLL,W          ;(на ноль делить нельзя)

              btfsc        STATUS,Z         ;

              return                        ;число в регистре tmpLL равно нулю: выход из подпрограммы

                                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

d1            movf         tmpLL,W          ;число в tmpLL не равно нулю: вычитаем число лежащее в регистре

              subwf        varLL,F          ;tmpLL из числа в регистрах varLH, varLL: это операция вычитания

              btfsc        STATUS,C         ;однобайтного числа из двухбайтного

              goto         d2               ;при отрицательном результате происходит выход из подпрограммы

              movlw        .1               ;при положительном результате инкрементируем счетчик вычитаний

              subwf        varLH,F          ;переходя на метку d2

              btfss        STATUS,C         ;

              return                        ;

                                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

d2            incfsz       rezLL,F          ;инкремент rezLL с проверкой на переполнение      

              goto         d1               ;нет переполнения rezLL: переход на метку d1

              incf         rezLH,F          ;переполнение rezLL: инкремент регистра rezLH (регистры rezLL, rezLH  

                                            ;выступают в качестве счетчика вычитания и содержат результат деления)

              goto         d1               ;переход на метку d1 для повторного вычитания, операция деления

                                            ;представляет собой многократное вычитание

                                          

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                            

 

bin2bcd       movlw       . 16               ;Подпрограмма преобразования двоичного числа

              movwf       shet              ;в десятичное

              clrf        bcd1              ;Двухбайтное число предварительно загружается

              clrf        bcd2              ;в регисты rezLH, rezLL

              clrf        bcd3              ;Результат преобразования:

              goto        bin2bcd_1         ;единицы в младшем полубайте bcd3

                                            ;десятки в старшем полубайте bcd3

adjdec        movlw       0x33              ;сотни в младшем полубайте bcd2

              addwf       bcd1,F            ;тысячи в старшем полубайте bcd2

              addwf       bcd2,F            ;десятки тысяч в младшем полубайте bcd1

              addwf       bcd3,F            ;

                                            ;

              movlw       0x03              ;

              btfss       bcd1,3            ;

              subwf       bcd1,F            ;

              btfss       bcd2,3            ;

              subwf       bcd2,F            ;

              btfss       bcd3,3            ;

              subwf       bcd3,F            ;

                                            ;

              movlw       0x30              ;

              btfss       bcd1,7            ;

              subwf       bcd1,F            ;

              btfss       bcd2,7            ;

              subwf       bcd2,F            ;

              btfss       bcd3,7            ;

              subwf       bcd3,F            ;

                                            ;

bin2bcd_1     rlf         rezLL,F           ;

              rlf         rezLH,F           ;

              rlf         bcd3,F            ;

              rlf         bcd2,F            ;

              rlf         bcd1,F            ;

              decfsz      shet,F            ;

              goto        adjdec            ;

                                            ;

              movf        bcd3,W            ;копирование значения единиц из младшего

              andlw       b’00001111′       ;полубайта bcd3 в регистр edin

              movwf       edin              ;

              

              swapf       bcd3,W            ;копирование значения десятков из старшего

              andlw       b’00001111′       ;полубайта bcd3 в регистр desiat

              movwf       desiat            ;

 

              movf        bcd2,W            ;копирование значения сотен из младшего

              andlw       b’00001111′       ;полубайта bcd2 в регистр sotni

              movwf       sotni             ;

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Подпрограмма инициализации драйвера(MAX7219) цифрового табло

 

init_lcd      call        pauslcd           ;вызов подпрограммы паузы 2 мс

              movlw       0x0F              ;выключить тестовый режим

              movwf       adr_ind           ;

              movlw       0x00              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0C              ;включение индикатора

              movwf       adr_ind           ;

              movlw       0x01              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0A              ;интенсивность 15/32

              movwf       adr_ind           ;

              movlw       0x07              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x09              ;использовать BCD Code B для всех индикаторов

              movwf       adr_ind           ;

              movlw       0xFF              ;

              movwf       dat_ind           ;

              call        send              ;

 

              movlw       0x0B              ;использовать 8 индикаторов

              movwf       adr_ind           ;

              movlw       0x07              ;

              movwf       dat_ind           ;

              call        send              ;

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Подпрограмма отправки 2-х байт на драйвер (MAX7219) цифрового табло по пртоколу SPI

 

send          bcf         cs                ;Сбросить линию выбора драйвера CS

              movlw      . 8                 ;Отправка содержимого адресного байта adr_ind

              movwf      scetbit            ;

povtor        bcf        clk                ;

              btfsc      adr_ind,7          ;

              bsf        datai              ;

              btfss      adr_ind,7          ;

              bcf        datai              ;

              bsf        clk                ;

              rlf        adr_ind,F          ;

              decfsz     scetbit,F          ;

              goto       povtor             ;

            

              movlw      .8                 ;Отправка содержимого байта данных dat_ind

              movwf      scetbit            ;

povtr1        bcf        clk                ;

              btfsc      dat_ind,7          ;

              bsf        datai              ;

              btfss      dat_ind,7          ;

              bcf        datai              ;

              bsf        clk                ;

              rlf        dat_ind,F          ;

              decfsz     scetbit,F          ;

              goto       povtr1             ;

              bcf        clk                ;

              bsf        cs                 ;установить в 1 линию выбора драйвера CS                

              return                        ;выход из подпрограммы

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

 

pauslcd       movlw       . 4                ;подпрограмма пауза 2 мс

              movwf       Sec1              ;

p_l2          movlw       .166              ;

              movwf       Sec               ;

p_l1          decfsz      Sec,F             ;

              goto        p_l1              ;

              decfsz      Sec1,F            ;

              goto        p_l2              ;

              return                        ;выход из подпрограммы

 

pause         movlw       .11               ;

              movwf       Sec2              ;

p_3           movlw       .255              ;подпрограмма пауза 2 сек

              movwf       Sec1              ;

p_1           movlw       .255              ;

              movwf       Sec               ;

p_2           decfsz      Sec,F             ;

              goto        p_2               ;

              decfsz      Sec1,F            ;

              goto        p_1               ;

              decfsz      Sec2,F            ;

              goto        p_3               ;

              return                        ;выход из подпрограммы

                          

              end                           ;конец всей программы

                                            ;

Питание современных процессоров / Хабр

Обеспечение питания – одна из наиболее сложных задач при разработке современных процессоров. Сеть доставки питания (power delivery network, PDN) должна отвечать повышенным требованиям современной КМОП-технологии, обеспечивать питание с высокой эффективностью и быстро реагировать на изменения в энергопотреблении.

И эти проблемы встречаются как у смартфонов с потреблением в 1 Вт, так и у серверных процессоров на 200 Вт и массивных ускорителей машинного обучения – к примеру, Cerebras CS-1 на 15 кВт. Для работы с заданной тактовой частотой каждому транзистору и каждой схеме современного чипа требуется питание с правильным напряжением. Если напряжение будет слишком низким, элементы схемы будут переключаться медленно, что приведёт к появлению ошибок, проблемам со стабильностью и другим неожиданным отказам.

Из-за физики кремния КМОП обычно работает на напряжении в 1 В. Однако у современных технологий, использующих транзисторы FinFET и другие техники, номинальные напряжения могут находиться в диапазоне от 0,65 В до 1,2 В. Инновационные схемы могут использовать напряжение питания, близкое к пороговому значению транзисторов (near-threshold voltage, NTV) – эту технологию продемонстрировало исследование от Intel.

И хотя процессоры, использующие NTV (к примеру, Ambiq Micro), уже появились в продаже, эта технология всё ещё довольно нова. Энергопотребление коммутационной схемы (такой, как процессор) пропорционально квадрату напряжения, поэтому для увеличения эффективности необходимо уменьшать напряжение. Для разработчиков чипов это классическая проблема поиска золотой середины: напряжение должно быть достаточно высоким для того, чтобы избежать ошибок, но не выше.

Однако работа под низким напряжением – это сложная задача в плане обеспечения питания, поскольку в этом случае к процессору нужно подводить большой ток. Возьмём современный серверный процессор – Intel Cascade Lake Xeon 14 нм. TDP у самых мощных процессоров этой модели достигают 205 Вт, что теоретически даёт нам ток в 205 А при напряжении в 1 В. На самом деле, конечно, процессоры устроены гораздо сложнее, и используют различные напряжения и схемы питания, однако такой простой пример будет полезен для понимания ситуации. Если энергопотребление процессора останется на том же уровне, а напряжение понизится до 0,75 В, это увеличит нужный ток до 274 А.
И хотя передовые серверные процессоры от Intel довольно прожорливы, они не идут в сравнение с некоторыми ускорителями вычислений. К примеру Nvidia Volta V100 потребляет 450 Вт, некоторые будущие их процессоры будут есть уже по 600 Вт, и, как было упомянуто ранее, Cerebras CS-1 потребляет невероятные 15 кВт.

Обычно гораздо эффективнее получается передавать энергию при высоком напряжении и низком токе. Чем выше напряжение, тем меньше ток и тем меньше требуется проводов, что уменьшает стоимость системы. Кроме того, потери на сопротивление пропорциональны квадрату тока, поэтому увеличение напряжения и уменьшение тока понижает потери на сопротивление и увеличивает эффективность энергетической системы. Поэтому обычно линии электропередач работают с напряжением выше 110 кВ – и те же самые базовые принципы применимы и для сервера или дата-центра. Хотя некоторые сервера используют традиционные 12 В, некоторые из новых перешли на 48 В для эффективности – в особенности ускорители, потребляющие более 350 Вт.

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

Анатомия сети передачи питания

Как показано на рис. 1, проблема обеспечения питания затрагивает всю систему, начинаясь с основного источника питания и продолжаясь до электрораспределительной сети в процессоре, доходя в итоге до транзисторов, выполняющих вычисления на кристалле. У настольных компьютеров БП преобразует 110 В или 220 В в 12 В постоянного тока, распространяемого по всей материнской плате, к процессору и другим компонентам. У ноутбуков или смартфонов всё немного не так – типичные литий-ионные батареи выдают постоянное напряжение в 3,7 В, поэтому преобразования переменного напряжения в постоянное не происходит, а понижение напряжения требуется не такое сильное.


Рис. 1: Обеспечение питания в современных системах. Слева — Intel FIVR, справа – традиционный VRM

У стандартных процессоров, например, от AMD, модуль регулятора напряжения (voltage regulation module, VRM) понижает напряжение примерно до 1 В. Обычно VRM располагаются недалеко от процессора, так, чтобы большую часть расстояния проходили сигналы на 12 В. 1 В передаётся на небольшое расстояние по материнской плате, через плату процессора, и внутрь самого процессора по его контактам. В процессоре есть своя электрораспределительная сеть, расходящаяся от контактов и использующая различные промежуточные металлические слои для доставки энергии к транзисторам. VRM работают на довольно низкой частоте в 1 МГц, то есть, могут подстраивать выходящее напряжение только раз в микросекунду.

Многие системы на базе Intel работают по той же схеме, однако используют дополнительный шаг в обеспечении питания. FIVR (fully-integrated voltage regulator – полностью интегрированный модуль регулятора напряжения) интегрирован в сам кристалл процессора и распределяет энергию по десяткам шин питания в его различные блоки (ядра CPU, кэши L2, блоки GPU и т.

п.). FIVR используется в большинстве серверных процессоров, начиная с поколения Haswell. Также он используется в клиентских процессорах Haswell и Broadwell, а теперь и в клиентах Ice Lake и Tiger Lake. Отметим, что семейство клиентов Skylake (Coffee Lake, Comet Lake, и т.д.) FIVR не используют. В этих системах VRM на материнской плате преобразуют 12 В (или 48 В) в 1,8 В, и передают энергию от VRM, через всю материнскую плату, плату процессора и его контакты в FIVR. FIVR отвечает за последний шаг в преобразовании энергии, и понижает напряжение с 1,8 В до 1 В, в зависимости от нужд конкретной шины питания.

Одно из преимуществ FIVR состоит в том, что напряжение, поданное с VRM материнской платы на процессор получается в два раза выше, чем у обычных систем. Использование более высокого напряжения уменьшает требуемую силу тока примерно в 2 раза, уменьшает количество контактов питания и повышает эффективность. Минус в том, что преобразование напряжения никогда не бывает на 100% эффективным, и FIVR теряют часть энергии. Взаимоотношение между выигрышем в эффективности и потерей при преобразовании сильно зависит от конкретной ситуации. В целом для процессоров с высоким энергопотреблением система с FIVR обычно выигрывает. Кроме того, FIVR потрясающе быстро работает – её тактовая частота составляет 140 МГц, на два порядка больше, чем у VRM на материнке.

Необходимость быстрой реакции в изменчивых условиях

Скорость FIVR подводит нас к одной из крупнейших проблем обеспечения питания современных процессоров. Концентрация на постоянном питании и температурных характеристик (TDP) преуменьшает значимость проблемы. Современные процессы чрезвычайно динамичны, а их поведение меняется на основе нагрузки. Транзистору при переключении требуется относительно небольшой ток. Однако если множество транзисторов переключаются одновременно, то общее потребление может достичь значительных величин и создать шум на питании чипа. У таких высокоскоростных чипов, как CPU или GPU, количество переключающихся транзисторов может значительно меняться от цикла к циклу.

К примеру, когда ядро CPU начинает выполнять команды умножения с накоплением AVX512, энергопотребление становится гораздо больше, чем в случае выполнения целочисленной арифметики. Сходным образом системы динамического изменения напряжения и частоты (DVFS) меняют частоту и напряжение процессора на лету в ответ на изменения загрузки или рабочих условий. Эти внезапные всплески в энергопотреблении могут привести к временным проседаниям напряжения.

Эту проблему могут проиллюстрировать два примера. Большинство дата-центров оптимизируют под эффективность и высокую утилизацию – то есть, 40-60% утилизации CPU, а в пиках и того больше. Если мы вернёмся к TPD 205 Вт у Intel Xeon по спецификации, то этот процессор в моменты максимальной загрузки потребляет ток в 273,75 A по основным шинам питания, и невероятные 413 Вт.

Клиентские процессоры, особенно у ноутбуков и смартфонов, ведут себя совсем не так, и представляют ещё более интересную проблему. Они обычно оптимизированы под очень неровную работу и должны выдавать максимальную мощность на кратких промежутках времени (к примеру, при загрузке веб-страницы), и потреблять очень мало во время простоя (к примеру, ожидая пользовательского ввода).

Ноутбук, работающий с 40-60% утилизацией CPU, нереально быстро просаживал бы батарею. Клиентский процессор порядка 90% времени проводит в режиме ожидания. В итоге у клиентских процессоров получается ещё большая разница между TPD, максимальной мощностью и потреблением тока. Последние процессоры Ice Lake серий U и Y имеют TPD в 15 Вт и 9 Вт соответственно. Для увеличения быстродействия вендоры могут устанавливать TPD выше, вплоть до 25 Вт и 12 Вт соответственно. Однако максимальное энергопотребление для CPU и GPU значительно выше – до 70 А и 49 А соответственно, и это не считая питание контроллера памяти и всей периферии ядра.

Основная проблема тут в том, что регуляторы напряжения, будь то VRM на материнской плате или FIVR от Intel, реагируют гораздо медленнее, чем могут появляться кратковременные всплески, вызванные переключениями транзисторов. FIVR у Haswell может повысить напряжение на шине питания от 0 до 0,8 В за 0,32 мкс. Однако для современных процессоров на 3 ГГц это выльется в порядка 1000 тактов. Обычные, менее быстрые VRM могут увеличивать напряжение на 10-23 мВ за мкс, и на аналогичное повышение от 0 до 0,8 у них уйдёт в 100 раз больше времени, или порядка 100 000 тактов. Без очень эффективной схемы эти временные пики могут вызвать проседания напряжения – по смыслу это похоже на то, как в старых домах тускнеет свет лампочек, когда хозяева включают микроволновку или фен. Исключение составляют клиентские процессоры Skylake и процессоры от AMD, использующие регуляторы с небольшим падением напряжения (LDO), которые также работают очень быстро. Однако LDO работают как переменное сопротивление, и умеют только уменьшать напряжение, идущее на шину питания. Поскольку LDO работают через сопротивление, для больших изменений напряжения (более 10%) они становятся неэффективными.

Как уже упоминалось, если процессор работает на частоте 3 ГГц, а напряжение внезапно падает, то транзисторы могут уже не работать корректно – поэтому либо нужно держать постоянное напряжение, либо ронять частоту. На практике же большинство компаний используют комбинацию из разных мер. К примеру, AMD разработала технологию адаптивного изменения частоты, уменьшающую её во время проседаний напряжения.

Плавная подача питания развязывающими конденсаторами

Чтобы устранить несоответствие между почти мгновенными всплесками потребления и задержкой на регуляторах напряжения, современные системы полагаются на развязывающие, или обходные конденсаторы. Эти конденсаторы хранят энергию и могут быстро высвобождать её, чтобы гарантировать постоянное напряжение в моменты, когда регуляторы только начинают реагировать. Вернёмся к рис. 1: системы включают в себя развязывающие конденсаторы на каждом шаге работы сети подачи питания. На МА конденсаторы встречаются во многих местах, но особенно много их вокруг гнезда процессора – см. рис. 2. В платы процессоров также встраивают развязывающие конденсаторы, обычно по краям и снизу. Наконец, на кристаллах процессора тоже располагают конденсаторы; они ближе всего расположены к активным схемам и дают скорейший отклик на временные всплески энергопотребления.


Рис. 2: развязывающие конденсаторы вокруг гнезда процессора

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

Кроме того, на чипах, разработанных при помощи различных средств автоматизации, встречаются «пробелы» – участки, оставшиеся пустыми из-за несовершенства инструментов и ограничений по расположению блоков разной формы в непосредственной близости друг от друга. Распространённой практикой является заполнение этих пробелов конденсаторами – по сути, это «бесплатно». И хотя МОП-конденсаторы можно сделать в любом техпроцессе и легко разместить на кристалле, они не являются идеальными конденсаторами. Как и другие транзисторы, они дают утечку, а также их бывает сложно втиснуть в забитые компонентами участки чипа. Ещё один вариант – изменить техпроцесс и создавать более специализированные структуры, такие, как металл-диэлектрик-металл (MIM) конденсаторы, металл-оксид-металл (MOM) конденсаторы, или траншейные конденсаторы [deep trench capacitors].


Рис. 3: MIM- конденсаторы от Intel на 22 нм для eDRAM

Как следует из названия, MIM- конденсаторы формируется из двух параллельных металлических слоёв с high-k диэлектриком между ними. В процессе на 22 нм от Intel используются два разных вида MIM-конденсаторов. Как видно на рис. 3, первый тип MIM-конденсаторов используется для одноразрядных ячеек в eDRAM и формируется в нижних металлических слоях M2-M4. Второй представлен в процессе 22FFL и использует толстые верхние слои в 4 мкм в качестве параллельных металлических слоёв. Intel тут не делает ничего уникального – другие производители тоже используют MIM-конденсаторы. К примеру, AMD использовала MIM-конденсаторы верхнего уровня в процессоре Zen CCX для развязки и уменьшения провалов напряжения. MIM-конденсаторы обычно работают лучше, чем МОП-конденсаторы, однако располагаются они чуть дальше, поскольку нхаодятся в верхних металлических слоях, а необходимость предпринимать дополнительные шаги на производстве немного увеличивает стоимость. MOM-конденсаторы используют сходную идею параллельных металлических линий, только поворачивают их на 90°. Металлические линии формируются горизонтально в двух соседних вертикальных металлических слоях (к примеру, M3 и M4), а межслойный оксид-диэлектрик играет роль изолятора.

Ещё одним вариантом будут траншейные конденсаторы, однако они редко встречаются в производстве, поскольку травление траншей с высоким разрешением значительно повышает стоимость процесса. Их использовали уже несколько поколений технологий изготовления процессоров, начиная с техпроцесса SOI на 32 нм от IBM и далее, с SOI на 14 нм. Траншейные конденсаторы от IBM используются для развязки в больших массивах eDRAM, реализующих кэши L2, L3 и L4 в процессорах POWER и zArch. В качестве примера IBM заявляет, что смогла убрать все конденсаторы с платы процессора z12, сделанного для мейнфрейма по техпроцессу 32 нм, и заменить их траншейными конденсаторами. После этого на IEDM 2019 TSMC рассказала о процессе формирования траншейных конденсаторов на кремниевой вставке. Хитроумный и элегантный подход – хотя такие конденсаторы располагаются уже не так близко к активной логике, как те, что находятся на самом кристалле, поэтому неспособны полностью заменить развязывающие конденсаторы.

Обеспечение системы питанием находит компромисс между быстродействием, эффективностью и стоимостью

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

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

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

Измерения напряжения – испытания и измерения

Испытания и измерения

Напряжения обычно измеряют, помещая измерительный прибор параллельно измеряемый компонент или цепь (нагрузка). Измерительный прибор должен иметь бесконечный входной импеданс (сопротивление), чтобы он не поглощал энергию от проверяемой цепи и, следовательно, измерить истинное напряжение. точность измерения напряжения зависит от полного импеданса измерительное устройство по сравнению с измеряемой нагрузкой. Когда входное сопротивление измерительного прибора в 10 раз больше измеряемой нагрузки, ошибка обычно допустима. Если эта ошибка недопустима, более высокий вход следует использовать прибор для измерения импеданса.

Метод мультиметра

Обычный элемент контрольно-измерительного оборудования — мультиметр. Мультиметр содержит схема, которая позволяет использовать его как вольтметр, амперметр, или омметр. Обычно оно способно измерение как переменного, так и постоянного напряжения до нескольких сотен вольт. Большинство мультиметры имеют высокое входное сопротивление и вряд ли нарушить проверяемую цепь.

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

Аналоговый мультиметр.

Цифровой мультиметр во многих случаях обеспечивает точность около ±0,1%. Они отображают показания в числовом виде. Эти дисплеи прямого считывания устранить проблему параллакса, уменьшить ошибку и увеличить скорость измерения. Данные с этих счетчиков в цифровом формате также могут обрабатываться компьютерами, принтеры и записывающее оборудование. Цифровые мультиметры обычно компактны. и легкий; многие поставляются с перезаряжаемыми батареями, что делает их идеальными для портативное использование в полевых условиях.

Цифровой мультиметр.

Верхние частотные ограничения цифровых мультиметров обычно варьируются от 1 кГц до до более 1 МГц, в зависимости от модели. Их верхние частотные ограничения могут, однако его можно значительно расширить за счет использования дополнительных радиочастотных датчиков. Когда вы выполняете Измерения напряжения переменного тока с помощью цифрового мультиметра, помните, что они Устройства индикации RMS .

Метод осциллографа

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

Осциллограф.

Измерять постоянное напряжение осциллографом удобно только при определенных условиях. обстоятельства; например, когда другие измерения выполняются на одно и то же оборудование с осциллографом или мультиметром. нет в наличии. Неоспоримым преимуществом осциллографа является его способность следить за уровнем пульсаций переменного напряжения на постоянном напряжении. Эта особенность делает осциллограф незаменимый помощник при поиске и устранении неисправностей источников питания постоянного тока с чрезмерная пульсация, вызванная неисправностью компонента.

Основным преимуществом использования осциллографа для измерения напряжения переменного тока является то, что форму волны можно наблюдать; следовательно, ошибки измерения сложного пика напряжения сведены к минимуму.

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

При использовании осциллографа для измерения напряжения переменного тока убедитесь, что верхнее частотный диапазон осциллографа не превышен; иначе неточно значения будут отображаться. Наиболее часто используемые осциллографы имеют частотная характеристика от постоянного тока примерно до 50 МГц.

Как измерить напряжение | Hioki

Как измеряется напряжение? Напряжение легко измерить с помощью тестера.

  • («Тестер» и «мультиметр» часто используются взаимозаменяемо)

Обзор

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

Нужны тестеры для измерения напряжения.

Вам понадобится измерительный инструмент, если вы хотите что-то измерить. Инструменты используются для точного измерения вещей; например, вам понадобится линейка или измерительная лента, если вы хотите измерить длину, весы или весы, если вы хотите измерить вес, и часы, если вы хотите измерить время. Таким образом, используемый инструмент зависит от того, что измеряется.
То же самое относится и к измерению напряжения. Это особенно верно, поскольку вы не можете увидеть или потрогать напряжение. В отличие от физических свойств, вы не можете сделать приблизительную оценку, просто взглянув на него. Следовательно, вам понадобится тестер для измерения напряжения. Некоторые из целей, для которых используются эти инструменты, включают:

  • Проверка безопасности
  • Проверка качества
  • Прогнозирование на основе измеренных значений
  • Решение проблем
  • Проверка пригодности

Тестеры позволяют тщательно проверить состояние электрических устройств путем измерения напряжения.

Типы тестеров

Тестер доступен в различных вариантах. В этом разделе представлено подробное введение в основные типы доступных тестеров.

Аналоговые тестеры

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

Цифровые мультиметры (DMM)

Цифровые мультиметры отображают результаты своих измерений в числовом виде, что позволяет пользователю получать точные показания. Многие цифровые модели имеют расширенные функции, которые трудно реализовать с помощью аналогового тестера, например расширенные возможности измерения, проверки непрерывности и проверки диодов. Некоторые модели могут даже отправлять данные измерений на компьютер. Кроме того, цифровые модели отличаются низкими инструментальными потерями. Цифровые мультиметры можно классифицировать на основе используемого метода выпрямления.
При выпрямлении среднего значения входной сигнал обрабатывается как синусоида и преобразуется для отображения результатов измерения. Необходима осторожность, так как этот подход подвержен увеличению ошибки измерения, если форма сигнала искажена. Напротив, метод истинного среднеквадратичного значения преобразует и отображает форму волны, включая ее гармонические составляющие, что позволяет прибору отображать значения, характеризующиеся меньшей погрешностью измерения.

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

Как измерить напряжение тестером

В этом разделе предлагается простая процедура измерения напряжения с помощью цифрового мультиметра.

1. Выберите параметр измерения

Цифровые мультиметры имеют несколько параметров измерения, таких как напряжение, сопротивление, ток и т. д. Сначала установите поворотный переключатель на напряжение. В случае напряжения постоянного тока единица измерения напряжения «В» и метка, обозначающая постоянный ток, отображаются, как показано на рисунке. Для напряжения переменного тока установите параметр, который показывает единицу измерения «В» и отметку, обозначающую переменный ток.

2. Вставьте щупы

Вставьте черный щуп в разъем COM цифрового мультиметра. Также вставьте красный измерительный щуп в клеммы с маркировкой «V» и «mV». Для обеспечения точности измерений перед измерением рекомендуется выполнить настройку нуля.

Если вы измеряете напряжение постоянного тока, красный щуп — положительный, а черный — отрицательный. Если вы измеряете напряжение переменного тока, провода не имеют положительной или отрицательной связи. измерения напряжения, поместите выводы в контакте с обоими концами измеряемой цепи. Таким образом, вы можете измерить значение напряжения.Если вы используете аналоговый прибор, прочтите положение стрелки на градуированной шкале;если вы используете цифровой прибор, считайте числовое значение с дисплея
Вы можете выбрать диапазон измерения для измерения напряжения. Если вы не уверены, насколько велико измеряемое напряжение, начните с самого высокого диапазона и постепенно переключайтесь на более низкие диапазоны по мере необходимости. Если вы используете цифровой тестер, многие модели могут автоматически выбирать диапазон за вас.

Выберите диапазон

Меры предосторожности при измерении напряжения

Существуют некоторые меры предосторожности, которые следует соблюдать при измерении напряжения тестером.

Отодвиньте выводы от тестируемой цепи при изменении диапазона.

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

Соблюдайте осторожность при размещении выводов в контакте с тестируемой цепью.

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

Выберите лучший тестер для вашего приложения

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

Как использовать

Сопутствующие товары

  • HiTester 3030-10
  • Card HiTester 3244-60
  • Pencil HiTester 3246-60
  • Digital Multimeter DT4282
  • Precision DC Voltmeter DM7276

Learn More

  • What is Voltage? Что такое напряжение? Эта страница предлагает простое для понимания объяснение того, чем напряжение отличается от тока, единицы измерения, в которых оно измеряется, и другую информацию.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *