
- •Пояснительная записка к курсовой работе
- •Оглавление
- •1. Постановка задачи.
- •1.1. Стандартное задание
- •1.2. Индивидуальное задание
- •2. Техническое задание
- •3. Описание аппаратных и программных средств лабораторного комплекса
- •3.1. Структура аппаратных средств
- •3.1.1. Структурная схема лабораторного комплекса
- •3.1.2. Плата мк – системы
- •3.1.2.1. Конфигурируемые узлы мк c8051f064
- •Интерфейс прямого доступа к памяти (dma)
- •3.1.2.2. Внешняя память xram
- •3.1.2.3. Входные усилители
- •3.1.2.4. Микросхема моста uart-usb
- •3.1.2.5. Сопряжение платы с pc
- •3.1.2.6. Питание платы
- •3.1.3. Требования к pc
- •3.1.4. Осциген
- •. Перечень программных средств лабораторного комплекса
- •Средства программирования и отладки мк-системы
- •Интегрированная среда разработки фирмы SiLabs ide 2.0
- •3.2.1.2. Ассемблер, компилятор и линкер интегрированной среды разработки Keil
- •3.2.2. Средства разработки Windows-приложений
- •3.2.2.1. Среда разработки
- •3.2.2.2. Библиотека win32 api функций
- •3.2.3. Приложения для осцигеНа.
- •3.2.3.1. Драйвер конфигурируемого выносного блока
- •3.2.3.2. Windows-приложение ogView
- •3.2.4. Драйвер виртуального com-порта фирмы SiLabs
- •Организация бесконечного цикла встроенного приложения
- •Отключение сторожевого таймера
- •Переключение с внутреннего генератора на внешний
- •Конфигурирование портов ввода/вывода
- •Конфигурирование аналого-цифровых преобразователей adc
- •Конфигурирование интерфейса dma
- •Инициализация последовательного интерфейса uart
- •Выбор и инициализация таймера для установки скорости обмена данными по последовательному каналу
- •Инициализация таймера для установки времени дискретизации входного сигнала
- •Прием данных с pc
- •Другие используемые функции
- •Конфигурирование узлов мк с учетом данных, пришедших с pc
- •Разработка Windows-приложения
- •4.4.1. Особенности использования среды разработки
- •4.4.2. Описание файлов проекта
- •4.4.3. Обобщенная схема алгоритма многопоточного приложения
- •4.4.4. Внешний вид и описание графического интерфейса, принципы построения программы
- •Описание структуры и организация программы
- •4.4.5.1. Назначение подключаемых файлов
- •4.4.5.2. Описание прототипов функций
- •4.4.5.3. Функция WinMain()
- •4.4.5.4. Функция главного окна
- •4.4.5.5. Организация дополнительных потоков, их назначение
- •4.4.5.6. Рабочие функции дополнительных потоков
- •4.4.5.7. Синхронизация потоков
- •4.4.5.8. Особенности обработки сообщений Windows в программе
- •4.4.6.2. Организация настроек com-порта в графическом интерфейсе
- •4.4.6.3. Использование функций WaitCommEvent(), WaitForSingleObject(), WaitForMultiplyObject()
- •Работа оператора с приложением
- •4.4.7.1. Последовательность запуска приложения на мк и пк в лаборатории
- •4.4.7.2. Адаптация к спектру входного сигнала
- •Описание протокола rs-232
- •Список используемых источников информации
- •Приложения
- •Исходные тексты модулей программы для мк
- •Фрагменты листингов файлов мк-приложения, полученные в результате трансляций: map-file и др
- •Исходные тексты файлов Windows-приложения
Интерфейс прямого доступа к памяти (dma)
Интерфейс прямого доступа к памяти DMA0 работает совместно с АЦП платы (ADC0 и ADC1), позволяет записывать результаты их преобразования непосредственно в XRAM. Интерфейс DMA настраивается программно с помощью SFR-регистров. DMA может работать в двух режимах, нулевой и первый, их отличие состоит в различном подходе к повторению команд:
в нулевом режиме (рис.3.6) инструкции DMA в блоке инструкций, загруженном из буфера команд DMA, выполняются все команды по 1 разу, после чего выполнение блока повторяется n раз (n – количество повторений). Блок инструкций ограничивается командой конца операций;
Рис.3.6. Функционирование DMA в режиме 0
в первом режиме (рис.3.7) n раз посторяется выполнение каждой команды блока.
Рис.3.7. Функционирование DMA в режиме 1
В нашей работе будем использовать DMA в режиме 0.
Универсальный асинхронный приемопередатчик (UART)
В состав МК C8051F064 входят два УАПП – UART0 и UART1.
UART0 имеет 4 режима работы: нулевой – синхронный и первый, второй, третий – асинхронные. UART1 поддерживат только первый и третий режимы. В работе можно использовать любой режим, но наиболее предпочтительными являются режимы первй и третий – в них скорость обмена данными регилируется в широких пределах. Предположим, что мы будем использовать UART0 в первом режиме. Первый режим (рис.3.8) обеспечивает стандартный асинхронный полнодуплексный обмен данными с использованием 10 бит для передачи одного байта данных (стартовый бит, 8 бит данных, стоповый бит). Данные передаются через внешний вывод TX0 и принимаются через внешний вывод RX0.
Рис.3.8. Временная диаграмма UART0 в первом режиме
Вывод J17 на плате C8051F064EK (см.рис.3.2) – USB-разъем для передачи данных. На плате используется мост UART-USB для согласования обмена данными МК с портом USB и возможности эмуляции работы COM-порта через USB.
3.1.2.2. Внешняя память xram
Плата микроконтроллерной системы содержит внешнюю память XRAM (рис.3.9) объемом 128 Кбайт.
|
Рис.3.9. Принципиальная схема внешней памяти XRAM |
A0…A15 – 16 адресных шин от контроллера, соответствующие 64 Кбайт памяти. Из них А0…А7 – младший байт, А8…А15 – старший. А16 – 17-ый адресный бит, отвечающий за выбор банка. Если подавать на А16 логический ноль, то использоваться будут 64 Кбайт с нулевого старшего бита. При подключении А16 к выходу микроконтроллера Р3.7 есть возможность выбирать между старшим и младшим адресным банком XRAM. Переключение происходит с помощью джампера J11. Также есть возможность отключения блока внешней памяти XRAM при подаче логической единицы на вход CS с порта микроконтроллера P4.5.
3.1.2.3. Входные усилители
На плате имеется два усилителя (рис. 3.10). На выходе каждого из них стоит фильтр. В случае подачи дифференциального (т.е разделенный на две составляющие с половинной амплитудой) сигнала по коаксиальному кабелю на вход AIN_0 подается прямой сигнал, на AIN_1 – инверсный. Их разность дает наш исходный сигнал.
|
Рис.3.10. Принципиальная схема входных усилителей |
Преимущество такой подачи в том, что при вычитании инверсного сигнала из прямого аннулируются шумы. Есть также возможность отключить подачу сигнала по 2 проводам. Для этого необходимо отключить подачу сигнала на AIN_1 (при помощи джампера J12). В таком случае при помощи джампера J16 мы подаем на вход второго усилителя сигнал с выхода первого усилителя (т.е. такой же сигнал, что и на входе первого усилителя, только инвертированный). При постоянном токе коэффициент усиления равен 1, при переменном – 2 (за счет конденсатора в обратной цепи).