Телефонуйте » (+38) 096 227 41 41

Метою лабораторної роботи є знайомство з інтегральним середовищем розробки програм Code Composer Studio версії 5 (CCS) компанії Texas Instruments.

Середовище CCS призначене для розробки програмного забезпечення для мікропроцесорів і мікроконтролерів, що випускаються компанією TI, і включає такі інструменти, як редактор вихідних текстів, компілятор, компонувальник, відладчик і симулятори:

- редактор дозволяє створювати і редагувати вихідні файли (мова С або асемблер);
- компілятор необхідний для створення об'єктного файлу;
- компонувальник або лінкер дозволяє об'єднати в один об'єктний файл кілька вихідних і бібліотечних файлів;
- різноманітні засоби налагодження програмного забезпечення - це набір спеціальних засобів перегляду стану внутрішніх регістрів та пам'яті, засоби візуалізації даних тощо.

В лабораторній роботі необхідно створити новий проект в CCS, модифікувати тексти нескладних програм на мові C та графічно представити дані за допомогою симулятора мікропроцесора TMS320C6678.

Виконання лабораторної роботи

Налаштування плати EVM для завантаження програми

Виключіть живлення плати.  Дотримуйтеся правил роботи з платою, приведених в ЛР1.
Встановіть режим завантаження перемикачами на платі EVM «No Boot» відповідно до таблиці режимів завантаження:

Створення проекту

1. Для створення проекту виберіть пункти меню File → New → CCS Project. Відкриється форма нового проекту.

2. В полі   Target  виберіть тип і модель мікропроцесора – C66xх Multicore DSP і TMS320C6678. Для того, щоб використовувати зовнішню плату TMDSEVM6678L EVM, в полі Connection виберіть емулятор Texas Instruments XDS100v1 USB Debug Probe.   
3. В полі Project name введіть ім'я проекту, наприклад, LAB2.
4. При установці прапорця Use default location проект буде створений в папці поточного користувача. В іншому випадку місце розміщення папки проекту слід вибрати після натискання на кнопку Browse. Перевірте чи немає кирилиці, в іншому випадку зніміть прапорець і через Browse виберіть папку для проекту.

!!! Не зберігати проекти в папках, в яких в назві є кирилиця.  Ніде не писати кирилицею.

5. Необов’язково. В разі потреби в розділі Advanced Setting у випадаючому списку Output type виберіть Executable для створення програми, що виконується,  в полі Device endianness порядок слідування байтів little (число записується в пам'ять в порядку збільшення адрес починаючи зі старшого слова і закінчуючи молодшим), в полі Compile version - версію компілятора TI v7.3.4, в полі Output format -формат виконуваного файлу eabi (ELF), в полі Linked command file - командний файл компонувальника, а в полі Runtime support library - стандартну бібліотеку часу виконання, наприклад, rts6600_elf.lib.
6. В розділі Project Template and Examples виберіть порожній проект Empty Project (with main.c). Натисніть кнопку Finish. CCS створить проект, який відобразиться у вікні Project Explorer (View > Project Explorer).
7. Необов’язково. Для включення в проект нових файлів натисніть праву кнопку мишки на імені проекту в панелі Project Explorer, виберіть пункт New File, введіть ім'я файлу в полі File name, наприклад, functions.с, і натисніть кнопку Finish.
8. Необов’язково. Для додавання в проект існуючих файлів натисніть праву кнопку мишки на імені проекту в панелі Project Explorer, виберіть пункт Add Files (або виберіть у віконному меню пункт Project → Add Files) і виберіть місце розміщення файлу. При встановленому флажку Copy File обраний файл буде скопійований в папку проекту.
9. Введіть вихідний текст програми у вікні текстового редактора main.с. Наприклад, функцію main та змінну.

Збірка проекту

10.    Якщо налагоджувальна плата підключена до комп’ютера, виконайте збірку проекту, вибравши пункт меню Project → Build Project. Перегляньте у вікні Console опис помилок, виявлених компілятором і компонувальником. Виправте виявлені помилки і повторіть збірку проекту.
11.    В випадку необхідності змініть налаштування збірки, вибравши в меню проекту пункт Show Build Settings. Аналогічні налаштування можна виконати для кожного файлу проекту при натисканні правої кнопки миші на імені файлу у вікні Project Explorer.
12.    Вибір цільової платформи. До налагодження проекту необхідно вибрати і налаштувати цільову платформу. Цільовою платформою може бути або симулятор, або емулятор. В останньому випадку до комп'ютера повинна бути підключена плата. Симулятор починаючи з версії CCS 6 не підтримується, інакше дивіться посилання Target Configuration File. Емулятор вибирався в п.2.
13.    Проекту потрібен командний сценарій компонувальника (linker command script). Він визначає карту пам'яті для платформи (де починається внутрішня, спільна і зовнішня пам'яті і т.д.) і вказує де ми хочемо розмістити наші частини коду і дані.
Ми збираємося помістити їх в спільній області пам'яті на процесорі.
14.    Виберіть File->New->File, введіть ім'я файлу led_play.cmd і натисніть Finish.
Відкриється led_play.cmd файл в редакторі, вставте наступні команди лінкеру

//*************************************************************************
-c
-heap  0x41000
-stack 0xa000

/* Memory Map */
MEMORY
{
    L1PSRAM (RWX)  : org = 0x0E00000, len = 0x7FFF
    L1DSRAM (RWX)  : org = 0x0F00000, len = 0x7FFF
    L2SRAM (RWX)   : org = 0x0800000, len = 0x080000
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
    DDR3 (RWX)     : org = 0x80000000,len = 0x10000000
}

SECTIONS
{
    .csl_vect    >       MSMCSRAM
    .text        >       MSMCSRAM
    GROUP (NEAR_DP)
    {
        .neardata
        .rodata
        .bss
    } load       >      MSMCSRAM
    .stack       >      MSMCSRAM
    .cinit       >      MSMCSRAM
    .cio         >      MSMCSRAM
    .const       >      MSMCSRAM
    .data        >      MSMCSRAM
    .switch      >      MSMCSRAM
    .sysmem      >      MSMCSRAM
    .far         >      MSMCSRAM
    .testMem     >      MSMCSRAM
    .fardata     >      MSMCSRAM
    platform_lib >     MSMCSRAM
}

//**************************************************************************

Завдання 1. Графічне представлення даних

За допомогою CCS можна відобразити вміст буферів даних (тобто масивів) в часовій або частотній області. Ця функція може бути використана в якості вбудованого осцилографа або аналізатора частоти.

1.    Додайте буфер в вашу програму для значень, які ви хочете відобразити. Наприклад:

2.    Побудуйте програму та запустіть її в режимі Debug.
3.    Залиште прапорець тільки для 0 ядра процесора.

4.    Перед запуском програми на виконання виконайте команду Tools > Graph > Single Time. Відкриється діалогове вікно налаштувань графічного екрану. В полі Start Address (початкова адреса масиву) вкажіть назву масиву, наприклад, signal. В полі Acquisition Buffer Size (величина оброблюваного масиву) вкажіть розмір масиву, наприклад 200. В полі Display Data Size (кількість відображуваних значень) вкажіть 200. В полі DSP Data Type (тип даних, що відображаються) виберіть відповідне значення, наприклад, 32-bit floating point. В полі Sampling Rate Hz (частота дискретизації) виберіть відповідне значення, наприклад, 6000.

5.    Відкрийте ще одне графічне вікно - для відображення спектру сигналу. Відмінності від налаштувань попереднього вікна будуть полягати в наступному. В полі FFT Order (порядок ШПФ) виберіть відповідне значення, наприклад, 8.

6.    Оновлення інформації в графічних вікнах відбувається в момент зупинки процесора. Для цього встановіть точку зупинки (breakpoint) у вікні вихідного файлу в рядку з оператором i = 0. Запустіть програму на виконання.

Вікна не оновлюються миттєво. Якщо хочете побачити оновлений вміст буфера в той час, коли DSP запущений, натисніть правою кнопкою миші в потрібному вікні та виберіть Refresh.

7.    Після чого на створених вікнах з’явиться представлення сигналу в часовій та частотній областях.

Завдання 2

1. Створіть вихідний масив out_signal [SIZE]. Задайте постійний коефіцієнт gain та постійне зміщення по напрузі offset сигналу.  Напишіть функцію, яка підсилює та зміщує вхідний сигнал.  Виведіть графіки вихідного сигналу в часовій та частотній областях.

Домашнє завдання

1.    Сформуйте сигнал з амплітудною модуляцією. Частоту дискретизації задайте 100кГц, частота носійної від 10 до 30кГц, частота обвідної не більше 2кГц. Виведіть графіки сигналу в часовій та частотній областях.
2.    Дано 1-байтове число за варіантом (N * 20 –  N % 8). Сформувати вихідний сигнал для передачі, використовуючи амплітудну маніпуляцію (ASK). Для кодування низького рівня бінарного сигналу використовується амплітуда 0,25 В, а для кодування високого рівня використовується амплітуда 1 В несучого сигналу синусоїдального типу. Тривалість імпульсу 1мс (яка швидкість передачі в біт/с ?), частота носійної 5 кГц, частота дискретизації 30 кГц (який повинен бути розмір масиву під сигнал?). Показати сигнал в часовій та частотній областях.

Література

1.    С6678 Device_simulator http://processors.wiki.ti.com/index.php/TCI6616/C6670/TCI6608/C6678/TCI6618_Device_simulator_User_Guide
2.    Printf_support http://processors.wiki.ti.com/index.php/Printf_support_for_MSP430_CCSTUDIO_compiler
3.    Creating projects v5 http://processors.wiki.ti.com/index.php/GSG:Creating_projects_v5
4.    Simulation http://processors.wiki.ti.com/index.php/Category:Simulation
5.    Graphical Display of Data Buffers in CCSv5
https://www.haw-hamburg.de/fileadmin/user_upload/TI-IE/Daten/Labore/Digitale_Signalverarbeitung/pdfs/CCS5_Graphical_Display_en.pdf
6.    Code Composer Studio Graphing Tool Tutorial http://coder-tronics.com/code-composer-studio-graphing-tool-tutorial/

Новини

  • Платформа IoT для Raspberry Pi має прикладну програму IFTTT для мобільних пристроїв/хмар
    Платформа IoT для Raspberry Pi має прикладну програму IFTTT для мобільних пристроїв/хмар

    Плата прототипування Cloudio від GrospIO для Raspberry Pi включає 1-дюймовий OLED-дисплей, сенсори, 6 входів/виходів та порт сервоприводу, керується за допомогою мобільного/хмарного додатку. Cloudio дозволяє додавати до функцій IoT підтримку голосу та голосового керування, а також програмне виведення мови. Cloudio оснащена 3-ма цифровим виходами, 3-ма входами для аналогових сигналів і міні портом для сервоприводу, який ідеально підходить для панорамування/нахилу, програм інтелектуального блокування. Інші функції включають тактильний перемикач, RGB світлодіодний індикатор і зумер.

    in Новини

Записатися на курс