СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №2/2015

ЭЛЕМЕНТЫ И КОМПОНЕНТЫ 22 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 2 2015 DAC_DHR8Rx 31 24 15 7 0 DAC_DHR12Lx DAC_DHR12Rx DAC_DHR8RD 31 24 15 7 0 DAC_DHR12LD DAC_DHR12RD Регистр DAC_DHR12L1 служит для записи 12-разрядных данных с вырав- ниванием по левому краю и позволя- ет использовать биты 15…4 в качестве данных для канала 1. Остальные биты в нём зарезервированы. Регистр DAC_DHR8R1 служит для записи 8-разрядных данных с вырав- ниванием по правому краю и позволяет использовать биты 7…0 в качестве дан- ных для канала 1. Остальные биты в нём зарезервированы. Структура регистров для второ- го канала ЦАП DAC_DHR12R2, DAC_ DHR12L2 и DAC_DHR8R2 такая же, как и для первого. Следующие три регистра позволяют записывать данные в два канала одно- временно. Регистр DAC_DHR12RD служит для записи 12-разрядных данных с вырав- ниванием по правому краю. Биты 11…0 служат для записи данных для первого канала, а биты 27…16 – для данных вто- рого канала. Регистр DAC_DHR12LD предназна- чен для записи 12-разрядных данных с выравниванием по левому краю. Биты 15…4 служат для записи данных для первого канала, а биты 31…20 для дан- ных второго канала. Регистр DAC_DHR8RD нужен для записи 8-разрядных данных с вырав- ниванием по правому краю. В биты 7…0 записываются данные для перво- го канала, а в биты 16…8 для второго. Регистры выходных данных DAC_ DOR1 и DAC_DOR2 содержат выход- ные данные соответственно для пер- вого и второго каналов. Они доступ- ны только для чтения. Структура этих регистров одинаковая. Данные содер- жатся в разрядах 11…0. Регистр статусаDAC_SR хранит инфор- мациюо состоянииЦАП. В этомрегистре зарезервированы все биты кроме двух. Бит 29 DMAUDR2 – это флаг, сигна- лизирующий отставание запроса DMA в канале 2. Такая ситуация происходит, когда частота запуска преобразования выше, чем возможность обслуживания запроса DMA. Бит 13 DMAUDR1 – аналогичныйфлаг отставания запроса DMA в канале 1. Р ЕЖИМЫ РАБОТЫ ЦАП Каждый канал может быть вклю- чён установкой разряда ENx соответ- ствующего канала в регистре DAC_CR. Канал включается с задержкой време- ни Twakeup. ЦАП имеет два выходных буферных элемента, которые используются для снижения выходного сопротивления и подключения напрямую к нагрузке без применения внешнего операцион- ного усилителя. Управление выходны- ми буферами осуществляется с помо- щьюразрядов BOFFx в регистре DAC_CR. В зависимости от содержимого реги- стра DAC_DORx изменяется напряже- ние на выходе DAC. Но непосредствен- ная запись данных в этот регистр невоз- можна, допускается только чтение. В режиме одиночных каналов данные загружаются в регистр DAC_DORx через специальные регистры: ● DAC_DHR12Rx – для записи 12 бит данных с выравниванием по право- му краю; ● DAC_DHR12Lx – для записи 12 бит данных с выравниванием по лево- му краю; ● DAC_DHR8Rx – для записи 8 бит дан- ных с выравниванием по правому краю. Нарисунке 2нагляднопоказанывсе эти способы загрузки регистраDAC_DORx. В режиме сдвоенных каналов данные загружаются в DORx через регистры: ● DAC_DHR12RD – для записи 12 бит данных с выравниванием по право- му краю; ● DAC_DHR12LD – для записи 12 бит данных с выравниванием по лево- му краю; ● DAC_DHR8RD – для записи 8 бит дан- ныхсвыравниваниемпоправомукраю. На рисунке 3 показаны представлен- ные здесь способы загрузки регистра DORx. Данные, загруженные в регистрDAC_ DHRx, автоматически переписываются в регистр DAC_DORx через один цикл APB1, еслиразряд TENx регистраDAC_CR сброшен, иличерез трицикла, еслираз- ряд TENx регистра DAC_CR установлен. Когда регистр DAC_DORx загружа- ется содержимым DAC_DHRx, сфор- мированное напряжение появляется на аналоговом выходе спустя время Tsettling, которое зависит от напряже- ния питания и нагрузки, подключён- ной к выходу. Цифровые данные преобразуются с помощью ЦАП в выходное напряже- ние, находящееся в диапазоне от 0 В до Vref+. Зависимость выходного сигнала от входных данных линейная. Выход- ное напряжение вычисляется по сле- дующей формуле: DACoutput = Vref+ * (DOR / 4095). Если управляющий разряд TENx уста- новлен, включается внешний запуск преобразования от таймера или внеш- него вывода контроллера. С помощью разрядов TSELx[2:0] выбирается источ- ник запуска, как показано в таблице 2. Каждый раз при обнаружении фрон- та запускающего сигнала данные, хра- нящиеся в регистре DAC_DHRx, будут переданы в регистр DAC_DORx, и он обновится через три цикла APB1. Если выбран программный запуск, преобразование начнётся сразу после установки разряда SWTRIG, который сбросится аппаратно после переда- чи данных из регистра DAC_DHRx в регистр DAC_DORx. Разряды TSELx[2:0] нельзя изменять, если установлен бит ENx. Если выбран программныйзапуск, топередача данных из регистра DAC_DHRx в регистр DAC_ DORx занимает одинциклшиныAPB1. И СПОЛЬЗОВАНИЕ DMA Каждый канал может работать с DMA. Для обслуживания запросов от ЦАП Рис. 2. Способы загрузки регистра DAC_DORx в режиме одиночных каналов Рис. 3. Способы загрузки регистра DAC_DORx в режиме сдвоенных каналов Таблица 2. Выбор источника запуска Источник запуска Тип Содержимое TSEL[2:0] Таймер 6 Внутренний сигнал от таймера 000 Таймер 3 001 Таймер 7 010 Таймер 5 или таймер 15 011 Таймер 2 100 Таймер 4 101 EXTI_9 Внешний сигнал 110 SWTRIG Программно 111

RkJQdWJsaXNoZXIy MTQ4NjUy