ПВМ дигитално-аналогно конверзија са САМ4С Ксплаинед Про

Работа с балкой ПВМ , установка кабины . (Јун 2019).

$config[ads_text] not found
Anonim

ПВМ дигитално-аналогно конверзија са САМ4С Ксплаинед Про


У овом чланку, користићемо развојну платформу САМ4С Ксплаинед Про како би добили мало практичног искуства са ПВМ ДАЦ-ом.

Подршка информације

  • Увод у развој пројеката са Атмел САМ4С Ксплаинед Про
  • Претворите ПВМ у ДАЦ
  • Лов-Пасс Филтрирај сигнал ПВМ у аналогни напон

Потребан хардвер / софтвер

  • САМ4С Ксплаинед Про евалуацијски комплет
  • И / О1 Ксплаинед Про додатна плоча, или можете повезати свој властити нископропусни филтер у одговарајући пулт затварача
  • Атмел Студио

Претходни чланак

  • Пулсе-Видтх Модулатион са САМ4С Ксплаинед Про

Игле и сигнали и сонде, Ох Ми

У претходном чланку ми смо учврстили нашу контролу над хардвером САМ4С ПВМ, што га сложимо с Атмеловим софтверским оквиром (АСФ). Сада смо спремни да направимо ПВМ хардвер нешто корисно - наиме, генеришемо програмабилни аналогни напон уз помоћ ништа више од РЦ нископропусног филтера. Прва ствар коју треба да урадимо је да испразните детаље помоћу нашег хардверског подешавања. Ми ћемо користити мерења осцилоскопа да бисмо посматрали и анализирали ПВМ и ДАЦ таласе, тако да је важан део овог подешавања како лако прикупити релевантне сигнале.

Ако имате плочу проширења И / О1, можете копирати моје хардверске поставке:

Плоча И / О1 не укључује појединачне заглавље за улазне и излазне сигнале нископропусног филтера, тако да је потребно пронаћи други начин сондирања. 20-пински ЕКСТ заглавље би било корисно ако би релевантни сигнали били повезани са чиповима чудним бројевима, али као што би то имало среће, оба су бројевна, а пинови са бројевима са бројевима нису доступни:

Најважнија мерења приказана су са десне стране. Фреквенција је очекивана, а радни циклус је у складу са теоријском вредношћу: (1 В) / (3, 28 В) = 0, 305. Главна разлика је амплитуда. ПВМ таласни сигнал се прелази са око 100 мВ на 3 В, а не од 0 В до 3, 28 В. Сада је важан детаљ: Када низак напон није на 0 В, напон ДАЦ се више не израчунава као (ПВМ амплитуде) × (дути цицле). Уместо тога, морамо да користимо

\ (ДАЦ \ напон = \ лево (\ лево (В_ {ВИСА} -В_ {ЛОВ} \ десно) \ тимес дути \ циклус \ десно) + В_ {ЛОВ} \)

Дакле, очекивани ДАЦ напон под тренутним условима је

\ (ДАЦ \ напон = \ лево (\ лево (3 \ В-100 \ мВ \ десно) \ крат 30.5 \% \ десно) +100 \ мВ = 985 \ мВ \)

А то је скоро управо оно што обим израчунава као просјечну вриједност ДАЦ напона. Имајте на уму да не можете једноставно помножити опсег "ЦХ1 Вамп" помоћу "ЦХ1 + Дут" да бисте утврдили очекивани излазни напон; морате узети резултат ове множења и додати га стварном логичком ниском напону ПВМ сигнала. У сваком случају, имамо ~ 20 мВ грешке у просечном ДАЦ напону, што је резултат неусаглашености између претпостављених логичко-високих напона и стварних логичких и високих напона. Што се тиче валовања, ми гледамо на око 150 мВ врха до врха. (Опсег има проблема са овим мерењем због шиљака буке које се јављају истовремено са логичким прелазима у таласном облику ПВМ-а. То су резултат преслушавања између два опсега канала, они у ствари нису присутни у ДАЦ сигналу .) Са 150 мВ валовања и 20 мВ грешке, мој досадашњи закључак је да имамо овде ДАЦ; то није импресивно, али ако је ова врста перформанси адекватна за вашу апликацију, она је јефтинија и једноставнија од спољашњег ДАЦ-а.

Овде су снимци опсега за ДАЦ_волтаге = 0.5, 1.5 и 2.5:

Побољшања

Шта можемо учинити да овај ПВМ ДАЦ постане мало мање средњег "хљс"> # дефине МЕАСУРЕД_ВХИГХ 3 #дефине МЕАСУРЕД_ВЛОВ 0.1. . . ПВМ1_цонфиг.ул_дути = ((ДАЦ_волтаге - МЕАСУРЕД_ВЛОВ) / (МЕАСУРЕД_ВХИГХ - МЕАСУРЕД_ВЛОВ)) * ПВМ_ПЕРИОД_ТИЦКС;

А ево резултата са ДАЦ_волтаге = 1.

Хеј, грешка је нула! Успех! Ох ваит, ево резултата за ДАЦ_волтаге = 0.5 и ДАЦ_волтаге = 2.5.

Уздах. Дакле, чак и варијације у радном циклусу ПВМ могу довести до довољне промјене у високим и ниским напонима да би се изазвале значајне грешке. Ово доводи до идеје о софистицираној схеми у којој израчунавање користи различите високе и мале напоне у зависности од радног циклуса, али бих користио спољни ДАЦ пре него што сам посветио пуно времена томе.

Бар знамо да можемо побољшати валовање. Хајде да повећамо ПВМ часовну фреквенцију на 120 МХз и ПВМ фреквенцију на 10 МХз. Овде су снимци опсега за ДАЦ_волтаге = 1. ПВМ сонда је прекинута за друго снимање тако да можемо видјети како изгледа ДАЦ таласни облик без преслушавања (иако се чини да се у ДАЦ сигналу још увијек дешава одређена бука у шуму).

Већа фреквенција смањује валове на занемарљивим нивоима, али високи и мали напони су се довољно променили да уведу велику количину грешке (подсјетимо да је грешка била нула када смо користили нижу фреквенцију са ДАЦ_волтаге = 1).

Закључак

Можете да користите следећу линку да преузмете изворне и пројектне датотеке:

Изворни и пројектни фајлови

Видели смо да ПВМ ДАЦ пате од озбиљних ограничења. Осим горе наведене грешке и таласа и дугог временског распоређивања који се расправља у Лов-Пасс филтеру сигнала ПВМ у аналогном напону, расположива резолуција се смањује када се фреквенција ПВМ повећава - иако ПВМ користи 16-битни бројач, веће фреквенције смањују употребљива ширина тог бројача јер су и период и ширина импулса одређени регистарима који се упоређују са истим бројачем. На примјер, ако се бројач ПВМ ресетује на 100, јер мора генерисати период од 100 μс од 1 МХз, регистар радног циклуса не може бити већи од 100, што резултира резолуцијом мање од 7 бита (јер 2 7 = 128). У крајњој линији: ако можете толерисати ограничења, ПВМ ДАЦ је једноставно и јефтино решење, али већину времена вам је боље са нормалним ДАЦ-ом, било да је екстерно или интегрирано у микроконтролер.

Дајте овом пројекту покушај за себе! Узми БОМ.