Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Ход работы. Используемые регистры:





Используемые регистры:

– TBPRD: определяет частоту сигнала;

– TBCTL: устанавливает операционный режим и время предделителя;

– AQCTLA: определяет форму сигнала ePWM1A.

Порядок выполнения.

Создайте новый файл проекта.

Используя Code Composer Studio, создайте новый проект CCS, названный Lab7.pjt в C:\DSP2833x_V4\Labs (или в другой папке, которая доступна Вам).

Откройте файл Lab6.c из C:\DSP2833x_V4\Labs\Lab6 и сохраните его как Lab7_1.c в C:\DSP2833x_V4\Labs\Lab7.

Определите размер системного стека. В окне проекта, правое нажатие на проекте «Lab7» и выбор «Properties». В категории «C/C++ Build», «C2000 Linker», «Basic Options» устанавливаем размер стека C в 0x400.

Как мы делали в предшествующих лабораторных работах, добавим некоторые файлы, предусмотренные в библиотеке, в проект.

В C/C++ вкладке, правым нажатием на проекте «Lab7» и выбор “Link Files to Project”. Перейдите в папку: «C:\tidcs\c28\dsp2833x\v131\ DSP2833x_headers \source» и добавьте:DSP2833x_GlobalVariableDefs.c

Повторите шаги “Link Files to Project”. Из C:\tidcs\c28\dsp2833x\v131\DSP2833x_common\source добавьте:

– DSP2833x_CodeStartBranch.asm;

– DSP2833x_SysCtrl.c;

– DSP2833x_ADC_cal.asm;

– DSP2833x_usDelay.asm;

– DSP2833x_CpuTimers.c;

– DSP2833x_PieCtrl.c;

– DSP2833x_PieVect.c;

– DSP2833x_DefaultIsr.c;

Из C:\tidcs\c28\dsp2833x\v131\DSP2833x_headers\cmd, добавьте в «Lab7»: DSP2833x_Headers_nonBIOS.cmd.

Опции компиляции проекта.

Мы также должны указать маршрут поиска файлов include для C–Компилятора. Правое нажатие в проекте «Lab7» и выбор «Properties». Выбор «C/C++ Build», «C2000 Compiler», «Include Options». В окне: “Add dir to #include search path”, добавляем следующие строки:

– C:\tidcs\C28\dsp2833x\v131\DSP2833x_headers\include;

– C:\tidcs\c28\DSP2833x\v131\DSP2833x_common\include;

Примечание. Используйте кнопку «Add», чтобы добавить новые маршруты. (рисунок 2.47)

Закройте окно свойств нажимая <OK>.

Компиляция загрузка и тестирование.

Нажмите кнопку «Rebuild Active Project» или выполните: Project → Rebuild All (Alt +B) и наблюдайте работу инструментальных средств в окне build. Если Вы получаете ошибки или предупреждения необходима доработка.

Загрузите выходной файл на сеанс отладчика: Target → Debug Active Project и откройте вкладку «Debug».

Проверьте код исходной программы «Lab7_1.c» в отладочном окне и убедитесь, что синяя стрелка для текущей позиции счетчика команд устанавливается под линией “void main(void)”.

Запустите работу в реальном времени Target → Run.

Если код не работает как, он работал в Lab6, не продолжайте следующие шаги. Возвратитесь и попытайтесь обнаружить, какой шаг процедуры Вы пропустили.

Модифицируйте Исходную Программу.

В CCS, переключитесь на «C/C++» вкладку. В функции "Gpio_select()", установите в мультиплексном регистре линию GPIO0, чтобы разрешить выходной сигнал ePWM1A.

В «main()», только после вызова функции "Gpio_select()", поставьте вызов новой функции "Setup_ePWM1A()". Также, добавьте новое описание функции в начале «Lab7_1.c»:

 

void Setup_ePWM1A(void);

 

В конце Lab7_1.c, добавьте определение новой функции "Setup_ePWM1A()". Мы будем использовать эту функцию, чтобы проинициализировать ePWM1, для генерации прямоугольного сигнала 1 kHz. Мы должны проинициализировать следующие регистры:

 

– EPwm1Regs.TBCTL;

– EPwm1Regs.TBPRD;

– EPwm1Regs.AQCTLA.

 

Чтобы установить регистры, мы можем использовать или обращение к группе битов "all" или побитовое обращение "bit". Инструкция "all" потребует от нас вычислять шестнадцатиричный номер для всех 16 битов. Используя "bit" – структуру, мы можем оставить вычисление индивидуальных битовых областей C–компилятору. Например, инструкция для установки операционного способа "up/down" должна выглядеть так:

 

EPwm1Regs.TBCTL.bit.CTRMODE = 2;

 

Кроме того, мы должны вычислить величину для регистра TBPRD. Если мы используем "up/down" – счет то формула для ePWM1A:

 

(2.8)

 

Коэффициент 1/2 должен использоваться при "up/down" способе действия. Запомните, что TBPRD – 16–битовый регистр, следовательно, максимальное число для TBPRD – (216 –1) или 65535.

Теперь запустите устройство, F28335ControlCard должна сгенерировать сигнал PWM 1kHz для тактовой частоты 150 MHz. Ваше задание – вычислить соответствующие числа для CLKDIV, HSPCLKDIV и TBPRD.

В функции "Setup_ePWM1A()" проинициализируйте:

 

EPwm1Regs.TBCTL.bit.CLKDIV;

EPwm1Regs.TBCTL.bit.HSPCLKDIV;

EPwm1Regs.TBCTL.bit.CTRMODE = 2; // up–down mode

EPwm1Regs.TBPRD;

EPwm1Regs.AQCTLA.all = 0x0006; // zero = set; period = clear

Перекомпилируйте, загрузите, протестируйте.

Теперь вновь создайте, загрузите и протестируйте новый проект. Программа должна все еще показывать двоичный счетчик из Lab6 в светодиодах LD1–LD4. Новое дополнение – 1 kHz – сигнал на выходе ePWM1A (контакт J6–1 в Периферийной плате исследователя).

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

Дополнительное упражнение. Эксперимент с другими частотами изменяя величину для регистра TBPRD.

 

 

Рисунок 2.48 – Сигнал на выходе ePWM1A

 

 

Date: 2015-06-06; view: 587; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию