Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Время преобразования и система тактирования АЦП.





 

Рассмотрим настройку тактирования АЦП на примере. Тактирование АЦП осуществляется от высокоскоростного прескалера периферии HSPCLK (см. рис. 5.3).

 

Рис. 5.3. Пример конфигурации модуля тактирования АЦП.

 

Максимальная частота на выходе HSPCLK составляет 150 МГц. Максимальная частота тактирования АЦП FCLK согласно документации составляет 25 МГц. ADCCLKPS служит для формирования требуемой частоты FCLK из HSPCLK. Бит CPS позволяет при необходимости понизить частоту в два раза. Полученная ADCCLK подается на ядро АЦП и на устройство выборки-хранения. Битами ACQ_PC можно задать необходимое время захвата сигнала. За это время сигнал на УВХ должен установиться с заданной точностью. Время захвата зависит от сопротивления источника сигнала, характеристик сигнала, требуемой точности и рассчитывается для каждого случая отдельно. В лабораторных работах сигнал подается с потенциометра, высокая точность не требуется, поэтому время выборки может быть задано любое.

Минимальное время преобразования для первого канала в последовательности составляет 200 мкс, для последующих - 80 мкс.

Формат регистров модуля АЦП

 

Рис. 5.4. Регистр 1 управления АЦП (ADCTRL1)

 

Рис. 5.5 Регистр 2 управления АЦП (ADCTRL2)

Рис. 5.6 Регистр 3 управления АЦП (ADCTRL3)

Делитель частоты ядра. Периферийная частота процессора, HSPCLK, делится на 2* ADCCLKPS[3:0], за исключением, когда ADCCLKPS[3:0] = 0000, в этом случае HSPCLK не делится. Полученная частота дополнительно делится на ADCTRL1[7]+1.
ADCCLKPS [3:0] Делитель частоты ядра ADCLK (частота тактирования АЦП)
    HSPCLK/(ADCTRL1[7] + 1)
    HSPCLK/[2*(ADCTRL1[7] + 1)]
    HSPCLK/[4*(ADCTRL1[7] + 1)]
    HSPCLK/[6*(ADCTRL1[7] + 1)]
    HSPCLK/[8*(ADCTRL1[7] + 1)]
    HSPCLK/[10*(ADCTRL1[7] + 1)]
    HSPCLK/[12*(ADCTRL1[7] + 1)]
    HSPCLK/[14*(ADCTRL1[7] + 1)]
    HSPCLK/[16*(ADCTRL1[7] + 1)]
    HSPCLK/[18*(ADCTRL1[7] + 1)]
    HSPCLK/[20*(ADCTRL1[7] + 1)]
    HSPCLK/[22*(ADCTRL1[7] + 1)]
    HSPCLK/[24*(ADCTRL1[7] + 1)]
    HSPCLK/[26*(ADCTRL1[7] + 1)]
    HSPCLK/[28*(ADCTRL1[7] + 1)]
    HSPCLK/[30*(ADCTRL1[7] + 1)]

 

Регистр числа каналов для преобразования (ADCMAXCONV)

Рис.5.7. Формат регистра ADCMAXCONV

Рис. 5.8 Регистр статуса автопоследовательности (ADCASEQASR)

 

Каждый набор из 4-х бит CONVnn, выбирает один из 16 аналоговых входов АЦП для последовательного автоматического преобразования.

Значение CONVnn Выбираемый канал АЦП
  ADCINA0
  ADCINA1
  ADCINA2
  ADCINA3
  ADCINA4
  ADCINA5
  ADCINA6
  ADCINA7
  ADCINB0
  ADCINB1
  ADCINB2
  ADCINB3
  ADCINB4
  ADCINB5
  ADCINB6
  ADCINB7

Буферный регистр результата АЦП (ADCRESULTn)

Рис. 5.9. Формат регистра ADCRESULTn

В каскадном режиме начиная с регистра ADCRESULT8 по регистр ADCRESULT15 содержат результаты преобразования с девятого по шестнадцатый. Значения всех регистров ADCRESULTn выровнены по левому краю.

 

Порядок выполнения лабораторной работы №5

 

Часть I

Создание проекта.

1.1 В Code Composer Studio создаем новый проект Lab6.pjt. Копируем из папки c:\tidcs файл lab6.c в папку с созданным проектом. Добавляем lab6.c в проект.

1.2 Добавляем в проект следующие файлы: C:\tidcs\c28\dsp281x\v100\DSP281x_headers\source\DSP281x_GlobalVariableDefs.c

C:\tidcs\c28\dsp281x\v100\DSP281x_common\cmd\F2812_EzDSP_RAM_lnk.cmd

C:\tidcs\c28\dsp281x\v100\DSP281x_headers\cmd\F2812_Headers_nonBIOS.cmd

C:\ti\c2000\cgtools\lib\rts2800_ml.lib

C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_PieCtrl.c

C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_PieVect.c

C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_DefaultIsr.c

C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_Adc.c

C:\tidcs\c28\dsp281x\v100\DSP281x_common\source\DSP281x_usDelay.asm

1.3 Включаем в проект заголовочные файлы: Project → Build Options, в закладке Compiler выбираем Preprocessor и в поле Include Search Path (-i) вводим: C:\tidcs\C28\dsp281x\v100\DSP281x_headers\include;..\include.

1.4 Задаем глубину стека: Project → Build Options → Linker → Stack Size: 0x400.

 

Инициализация системы (подпрограмма “InitSystem()”).

2.1 Разрешаем работу сторожевого таймера (см. лаб.раб. №2), устанавливаем коэффициентом деления 64 (регистр WDCR), сбрасываем сторожевой таймер (регистр SCSR).

2.2 Настраиваем ЦСП на частоту 150 МГц (регистр PLLCR), в предделитель высокоскоростного таймера заносим 2.

2.3 Разрешаем тактирование модуля АЦП и Менеджера Событий (регистр PCLKCR).

 







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.