ЛР5 > Аналогово-цифровой преобразователь процессора TMS320F2812

Тема: Обработка аналоговых сигналов в процессоре TMS320F2812. Знакомство с возможностями встроенного АЦП

    В этой работе выполняется измерение двух аналоговых сигналов, которые подаются на входы ADCINA0 и ADCINB0. Запуск АЦП происходит по сигналу от таймера 1 модуля EVA с периодичностью 0,1 с. АЦП работает в режиме с двумя последовательностями, после каждого измерения останавливает свою работу. Максимальное количество опрашиваемых каналов для первой последовательности – 2, порядок опроса каналов – ADCINA0, затем ADCINB0. После окончания опроса АЦП формирует запрос на прерывание. В подпрограмме обработки прерывания от АЦП считывается результат измерения. В основной программе – результат измерения отправляется на выходные 8 младших разрядов порта В (преобразованный в формат относительного уровня сигнала – выше напряжение, большее количество разрядов устанавливается в состояние логической «1»). Вывод результатов обеих АЦП мультиплексируется.

Скачать Материалы к лабораторной работе по ЦСП ТМS320F2812 №5.

Шаг 1. Создайте в рабочей директории новый проект. Назовите его Test5.

    Шаг 2. Добавьте исходный файл проекта. Этот файл находится в директории Solutions (Test5.c).

Шаг 3. Добавьте файлы в проект. Файлы DSP281x_Adc.c, DSP281x_DefaultIsr.c, DSP281x_GlobalVariableDefs.c, DSP281x_PieCtrl.c, DSP281x_PieVect.c, DSP281x_usDelay.asm и командные файлы компоновщика (линкера) DSP281x_Headers_nonBIOS.cmd, F2812_EzDSP_RAM_lnk.cmd находятся в директории библиотеки поддержки процессора TMS320F2812. Эти файлы нужно скопировать в рабочую директорию проекта. Подключите библиотеку функций языка С rts2800_ml.lib (этот файл располагается в папке …\CCStudio_v3.1\c2000\cgtools\lib\). Для подключения библиотеки можно воспользоваться настройками установок компоновщика (линкера). В настройках компилятора (закладка Preprocessor) укажите в окошке Include Search Path (-i) директории расположения необходимых библиотечных файлов включения (хедер-файлов). Это папки C:\CCStudio_v3.1\c28\ DSP281x_headers \include и C:\CCStudio_v3.1\c28\DSP281x_common\include. Они указываются в одной строке и разделяются запятой. После добавления в проект исходных файлов, командных файлов компоновщика и библиотеки функций языка С, выполните команду Project -> Scan All File Dependencies. Обратите внимание, после выполнения этой команды в папке Include (окно навигатора проекта) появятся все необходимые библиотечные файлы. Запустите проект на компиляцию.

Шаг 4. Если проект скомпилировался без ошибок, загрузите программу в ЦСП. Перейдите к программной метке «main». Вызовите окно просмотра переменных Watch Window, и добавьте в него переменные Voltage_A0 и Voltage_B0. Вызовите для просмотра область памяти данных с начальным адресом 0х70Е4 (область регистра данных порта В). Установите точки останова (Breakpoints) в следующих строках исходного файла Test5.c:

         Voltage_A0 = AdcRegs.ADCRESULT0>>4;

         Voltage_B0 = AdcRegs.ADCRESULT1>>4;

 

В результате всех проделанных операций, внешний вид среды проектирования Code Composer Studio должен выглядеть так, как показано на рисунке 1.


     Рисунок 1. Внешний вид среды Code Composer Studio

Шаг 5. Подключите источник аналогового сигнала ко входу АЦП. Для этого используйте соединители Р5 и Р9 платы eZdsp TMS320F2812. Назначение контактов этих соединителей показано на рисунке 2.

 


Рисунок 2. Назначение контактов соединителей Р5 и Р9

Установите перемычки между контактами 18 и 15 соединителя Р9, и между контактом 1 соединителя Р5 и контактом 3 соединителя Р9 (подключение GND на вход VREFLO и на вход ADCINB0). Постоянное напряжение подайте на контакт 2 соединителя Р9 (вход ADCINA0).

Шаг 6. Теперь можно приступить к проверке работоспособности нашего проекта. Для этого выполните команду Debug -> Animate (или используйте функциональную клавишу Alt+F5). В процессе выполнения программы в окне просмотра переменных будут меняться их значения. Обратите внимание на диапазон изменения значений переменной Voltage_A0 в зависимости от входного напряжения. Обратите внимание на значения в регистре данных порта В (адрес 0х70Е4 в окне просмотра памяти данных). Если они изменяются в соответствии с изменением входного напряжения, то программа работает. Остановите выполнение программы с помощью команды Halt.

 

Самостоятельная работа

 Попробуйте изменить режим работы АЦП таким образом, чтобы он опрашивал сразу 16 каналов. Проверьте результат (для визуализации сигналов АЦП можно использовать графическое окно).