Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Ядро МК C8051FO64

Входные усилители | Микросхема моста USB-UART | Интегрированная среда разработки фирмы SiLabs IDE 2. | Ассемблер, компилятор и линкер интегрированной среды разработки Keil | Библиотека WIN32 API функций | Windows-приложение OGView | Обобщенная схема алгоритма. | Характеристика дочерних окон. Элементы управления. | Описание протокола RS232. | Инициализация Com-port. |


Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

—————————

Кафедра информационной безопасности компьютерных систем

Пояснительная Записка к курсовому проекту

По курсу «Микропроцессоры и языки ассемблера»

Студент: Сиваков И.И.
  гр. 3088/1
Преподаватель: Лобан В.И.

Санкт-Петербург — 2009


Содержание.

Содержание: 1

1. Постановка задачи. 3

2. Техническое задание. 4

3. Описание аппаратных и программных средств лабораторного комплекса. 5

3.1. Структура аппаратных средств. 5

3.1.1. Структурная схема лабораторного комплекса. 5

3.1.2. Плата МК-системы.. 5

3.1.2.1. Конфигурируемые узлы МК C8051FO64. 6

3.1.2.2. Внешняя память XRAM... 6

3.1.2.3. Входные усилители. 6

3.1.2.4. Микросхема моста UART-USB.. 7

3.1.2.5. Сопряжение платы с РС.. 7

3.1.2.6. Питание платы.. 7

3.1.3. Требования к РС.. 7

3.1.4. ОСЦИГЕН.. 8

3.2. Перечень программных средств лабораторного комплекса. 8

3.2.1. Средства программирования и отладки МК-системы.. 8

3.2.1.1. Интегрированная среда разработки фирмы SiLabs IDE 2.0. 8

3.2.1.2. Ассемблер, компилятор и линкер интегрированной среды разработки Keil 8

3.2.2. Средства разработки Windows-приложений. 8

3.2.2.1. Среда разработки. 8

3.2.2.2. Библиотека WIN32 API функций. 9

3.2.3. Приложения для ОСЦИГЕНа. 9

3.2.3.1 Драйвер конфигурирования выносного блока…………..……………..…9 3.2.3.2. Windows-приложение OGView ……………………………………….….. 9

3.2.4. Драйвер виртуального COM–порта фирмы SiLabs. 9

4. Разработка программного комплекса для решения целевой задачи. 10

4.1. Функциональная схема реализации функций запоминающего осциллографа. 10

4.2. Состав и механизм взаимодействия приложений программного комплекса. 10

4.2.1. Схема программного комплекса. 10

4.2.2. Протокол обмена между РС-приложением и МК-приложением.. 11

4.2.3. Таблица допустимых команд.. 11

4.2.4. Размещение в памяти значений выборок сигнала со стороны МК и ПК.. 12

4.3. Разработка приложения для МК-системы.. 13

4.3.1. Обобщенная схема алгоритма. 13

4.3.2. Обоснование выбора языка программирования и среды разработки. 14

4.3.3. Описание файлов проекта приложения. 14

4.3.3.1. Модули приложения………………………………………………………..14

4.3.3.2. Модули, подключаемые на этапе линкования…………………...……….14

4.3.4. Структура и организация программы………………………………………….14

4.3.5. Схемы алгоритмов и описание функций приложения. 16

4.3.5.1. Перечень функций приложения. 16

4.3.5.2. Организация бесконечного цикла встроенного приложения……...….....16

4.3.5.3. Отключение сторожевого таймера……………………………………….17

4.3.5.4. Переключение с внутреннего генератора на внешний. 18

4.3.5.5. Конфигурирование портов ввода/вывода. 18

4.3.5.6. Конфигурирование аналого-цифровых преобразователей ADC.. 19

4.3.5.7. Конфигурирование интерфейса DMA……………………...……………21

4.3.5.8. Инициализация последовательного интерфейса UART. 22

4.3.5.9. Выбор и инициализация таймера для установки скорости обмена данными по последовательному каналу. 24

4.3.510. Инициализация таймера для установки времени дискретизации вход-ного сигнала ………………………………………………………………... 24

4.3.5.11. Выбор режимов работы внешней памяти XRAM и ее интерфейса..…25

4.3.5.12. Инициализация прерываний……………………...……………………..25

4.3.5.13. Формирование цифровых отсчетов и их сохранение во внешней памяти XRAM …………………………………………………………………….25

4.3.5.14. Передача данных на РС………………………………………...…………25

4.3.5.15. Прием данных с РС………………………………………………………..26

4.3.5.16. Обработчики прерываний. 28

4.3.5.17. Конфигурирование узлов МК с учетом данных, пришедших с РС.. 28

4.4. Разработка Windows-приложения. 29

4.4.1. Особенности использования среды разработки. 29

4.4.2. Описание файлов проекта. 29

4.4.3. Обобщенная схема алгоритма многопоточного приложения. 30

4.4.4. Внешний вид и описание графического интерфейса, принципы построения программы 31

4.4.5. Описание структуры и организация программы.. 31

4.4.5.1. Назначение подключаемых файлов. 31

4.4.5.2. Функция WinMain() 32

4.4.5.3. Функция главного окна. 33

4.4.5.4. Организация дополнительных потоков, их назначение. 33

4.4.5.5. Рабочие функции дополнительных потоков. 34

4.4.5.6. Синхронизация потоков. 34

4.4.5.7. Особенности обработки сообщений Windows в программе. 34

4.4.5.8. Функция рисования графика восстановленного сигнала. 35

4.4.5.9. Разметка осей графика. 36

4.4.5.10. Использование контекстуальной памяти для рисования графика. 37

4.4.6. Работа с COM-портом, описание WinAPI-функций и структур данных. 37

4.4.6.1. Инициализация COM-порта, обоснование выбора режима (синхронный, асинхронный), объема буфера приема/передачи данных. 37

4.4.6.2. Организация настроек COM-порта в графическом интерфейсе. 39

4.4.6.3. Использование функций: WaitCommEvent(), WaitForSingleObject(), WaitForMultiplyObject() 39

4.4.7. Работа оператора с приложением.. 40

4.4.7.1. Последовательность запуска приложения на МК и ПК в лаборатории. 40

4.4.7.2. Примеры последовательности работы с графическим интерфейсом для различных ситуаций: при снятии (оцифровке) данных, при использовании настроек по умолчанию или с выполнением настроек МК и ПК.. 40

4.4.7.3. Адаптация программных средств к спектру входного сигнала реализуемого запоминающего осциллографа. 40

4.4.8. Описание протокола RS-232. 41

5. Приложения. 42

5.1. Исходные тексты модулей программы для МК.. 42

5.2. Фрагменты листингов файлов МК-приложения, полученные в результате трансляции: MAP-file и др 47

5.3. Исходные тексты файлов Windows-приложения. 54

5.4. Фрагменты листингов файлов ПК-приложения с результатами трансляции…....63

5.5. Алгоритмы.. 64

5.5.1. Обобщенный алгоритм программы для МК.. 64

5.5.2. Дополнительные алгоритмы программы для МК.. 65

5.5.2.1. Алгоритм процедуры отключения WDT. 65

5.5.2.2. Алгоритм функции SYSCLK_Init 65

5.5.2.3. Алгоритм функции PORT_Init 66

5.5.2.4. Алгоритм функции InterruptsInit 66

5.5.2.5. Алгоритм функции ADCInit 67

5.5.2.6. Алгоритм функции DMAInit 68

5.5.2.7. Алгоритм работы функции UART0_Init 69

5.5.2.8. Алгоритм функции InterruptsInit 70

5.5.2.9. Алгоритм работы функции Timer3_Init 70

5.5.2.10. Алгоритм функции main. 71

5.5.2.11. Алгоритм функции Config. 71

5.5.2.12. Алгоритм функции SendData. 72

5.5.2.13. Алгоритмы обработчиков прерываний от UART0 и DMA0. 72

5.5.2.14. Алгоритм функции ReceiveData. 73

5.5.2.15. Алгоритм функции XRAM_Init...………………………………………...74

5.5.2.16. Алгоритм функции XRAM_DataSaving..………………………………...75

5.5.2.17. Алгоритм функции…MC_Config………………………………………..76

5.5.3. Обобщенный алгоритм программы Windows-приложения. 77

6. Список используемых источников информации. 78

 

1. Постановка задачи

Задачей работы является разработка комплекса программ, реализующих на базе лабораторного комплекса, виртуальный прибор с функциями запоминающего осциллографа. Устройство должно оцифровывать низкочастотный входной сигнал, например гармонический сигнал амплитудой до 1В с частотой 10-1000Гц, и воспроизводить его на экране РС во временной области.

Лабораторный комплекс для 8-разряднах МК включает в себя РС, генератор аналогового сигнала (ОСЦИГЕН) и отладочную плату микроконтроллера фирмы SiLabs C8051F064EK, на которой помимо, собственно, микроконтроллера имеется также мост UART-USB CP2101, обеспечивающий связь с РС. Оцифровка аналогового сигнала, поступающего на вход микроконтроллера, производится с помощью встроенного аналого-цифрового преобразователя (АЦП).

Комплекс программ, реализующий запоминающий осциллограф, состоит из приложения со стороны микроконтроллера (МК-приложения) и Windows-приложения со стороны РС.

Приложение со стороны РС, помимо построения графика, должно предоставлять возможность задания пользователем параметров оцифровки сигнала таких, как частота выборок, количество выборок, используемый АЦП и его режимы работы, а также возможность выбора используемого виртуального COM-порта.

 

2. Техническое задание

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

 

3. Описание аппаратных и программных средств лабораторного комплекса

Лабораторный комплекс для 8-разрядных МК включает в себя РС, генератор аналогового сигнала (ОСЦИГЕН) и отладочную плату микроконтроллера фирмы SiLabs C8051F064EK, на которой помимо, собственно, микроконтроллера имеется также мост UART-USB CP2101, обеспечивающий связь с РС. Оцифровка аналогового сигнала, поступающего на вход микроконтроллера, производится с помощью встроенного аналого-цифрового преобразователя (АЦП).

 

3.1. Структура аппаратных средств

3.1.1. Структурная схема лабораторного комплекса

 

 

 

3.1.2. Плата МК-системы

Микроконтроллер (МК) C8051F064 представляет собой полностью интегрированный на одном кристалле систему для обработки смешанных (аналого-цифровых) сигналов, которая имеет 59 цифровых входа/выхода, а также два встроенных 16-разрядных

АЦП с производительностью 1 млн. преобразований в секунду. Отличительные особенности данного семейства МК перечислены ниже.

- Высокопроизводительное микропроцессорное ядро CIP-51 с конвейерной архитектурой, совместимое со стандартом 8051 (максимальная производительность – 25 MIPS).

- Два встроенных 16-разрядных АЦП (производительность - 1 млн. преобразований в секунду) с контроллером прямого доступа к памяти.

- Встроенные средства отладки, обеспечивающие внутрисистемную, «неразрушающую» отладку в режиме реального времени.

- 64 Кбайта (C8051F060/1/2/3/4/5) Flash-памяти, программируемой

внутрисистемно.

- 4352 (4096 + 256) байт встроенного ОЗУ.

- Интерфейс внешней памяти данных с доступным адресным пространством 64 Кбайта (C8051F060/2/4/6).

- Аппаратно реализованные последовательные интерфейсы I2C/SMBus, SPI и два УАПП.

- Пять 16-разрядных таймеров общего назначения.

- Программируемый массив счетчиков/таймеров (ПМС) с шестью модулями захвата/сравнения.

- Встроенные сторожевой таймер, схема слежения за напряжением питания и датчик температуры.

 

Все МК имеют встроенные схему слежения за напряжением питания, сторожевой таймер, тактовый генератор и представляют собой, таким образом, функционально-законченную систему на кристалле. Все аналоговые и цифровые периферийные модули могут включаться/отключаться и настраиваться программой пользователя. Имеется возможность внутрисхемного программирования Flash-памяти, что обеспечивает долговременное (энергонезависимое) хранение данных, а также позволяет осуществлять обновление программного обеспечения в готовых изделиях.

Встроенный интерфейс JTAG позволяет производить «неразрушающую» (не используются внутренние ресурсы) внутрисхемную отладку в режиме реального времени, используя МК, установленные в конечное

изделие. Средства отладки обеспечивают проверку и модификацию памяти и регистров, расстановку точек останова и временных меток, пошаговое исполнение программы, а также поддерживают команды запуска и

остановки. В процессе отладки с использованием интерфейса JTAG все аналоговые и цифровые периферийные модули полностью сохраняют свою работоспособность.

Каждый МК предназначен для работы в промышленном температурном диапазоне (-45ºС…+85ºС) при напряжении питания 2,7В…3,6В. МК C8051F060/2/4/6 выпускаются в 100-выводных корпусах типа TQFP.

 

3.1.2.1. Конфигурируемые узлы:

 

Ядро МК C8051FO64

МК построен на ядре CIP-51, разработанное фирмой Silicon Labs’, которое по системе команд полностью совместимо с ядром MCS-51. Ядро CIP-51 использует конвейерную архитектуру, что существенно повышает скорость выполнения команд по сравнению со стандартной архитектурой 8051.

CIP-51 имеет стандартную (8051) структуру адресного пространства памяти программ и данных. В состав памяти входит ОЗУ объемом 256 байт, старшие 128 байт которого имеют двойную конфигурацию. Также дополнительно имеет встроенный блок 4-Кбайтного ОЗУ. К этому встроенному 4-Кбайтному блоку памяти можно обращаться во всем диапазоне адресов 64 Кбайтной внешней памяти данных (с перекрытием адресов по 4Кбайтным границам). МК C8051F0604 имеет также интерфейс внешней памяти (external memory interface – EMIF) для доступа к внешней памяти данных или к периферийным модулям, отображенным на эту память.

 

Цифровые порты ввода\вывода

Все МК имеют три стандартных для архитектуры 8051 порта (0, 1 и 2). МК С8051F0604 имеют четыре дополнительных 8-разрядных порта (3, 5, 6 и 7) и один 3-разрядный порт (4), т.е. всего 59 линий ввода/вывода общего назначения. Порты функционируют в соответствии со стандартом 8051 с некоторыми дополнительными возможностями. Каждый вывод порта может быть настроен либо как цифровой вход-выход, либо как выход с открытым стоком. Кроме этого, возможно общее отключение подтягивающих резисторов (которые в стандартной архитектуре 8051 обычно нельзя отключать), что позволяет еще более снизить энергопотребление в критичных

к этому параметру приложениях. Наиболее важным усовершенствованием является цифровая матрица. По существу это большая сеть цифровой коммутации, которая позволяет необходимым образом соединять внутренние цифровые системные ресурсы с выводами портов ввода/вывода Р0, Р1, Р2 и Р3 При этом, в отличие от МК со стандартными ультиплексированными цифровыми портами ввода/вывода, возможны любые комбинации для МК в любом корпусе.

Каждый порт может работать в одном из двух режимов push-pull или open drain. Первый режим соответствует нормальному функционированию порта. В этом режиме при записи нуля в соответствующий бит регистра данных порта приводит к подаче на данную линию нуля, а при записи единицы — к подаче единицы. В режиме open drain запись нуля приводит к подаче в на линию нуля, а при записи 1 линия переходит в высокоимпедансное состояние.

 

ADC

Модуль АЦП состоит из двух 16-разрядных АЦП последовательного приближения, устройства выборки-хранения (УВХ), программируемого детектора диапазона и интерфейса прямого доступа к памяти (DMA) Эти АЦП можно настроить как два отдельных однофазных АЦП или как один дифференциальный АЦП. Режимы преобразования, детектор диапазона и интерфейс DMA настраиваются программным путем при помощи регистров специального назначения. Каждый АЦП управляется с помощью SFR регистров. Запуск преобразования АЦП0 может быть осуществлен одним из четырех способов, в зависимости от состояния битов режима запуска преобразования АЦП0 (AD0CM1, AD0CM0) в регистре ADC0CN. Преобразование АЦП0 может быть инициировано:

  1. Установкой в 1 бита AD0BUSY в регистре ADC0CN (0 0);
  2. Переполнением Таймера 3 (т.е. непрерывное по времени преобразование) (0 1);
  3. Нарастающим фронтом внешнего сигнала запуска преобразования АЦП (CNVSTR0) (1 0);
  4. Переполнением Таймера 2 (т.е. непрерывное по времени преобразование) (1 1).

При холостом ходе АЦП постоянно производят слежение за напряжением на входе. В регистре ADCnCN есть бит ADnTN, который позволяет управлять режимом слежения. Если этот бит установлен, то перед каждым преобразованием АЦП будет некоторое время продолжать слежение. Если этот бит сброшен, то АЦП начинает немедленное преобразование в случае появления сигнала запуска.

 

 

DMA

Интерфейс прямого доступа к памяти DMA0 (Direct Memory Access Interface) работает совместно с АЦП0 и АЦП1 и позволяет записывать результат преобразования АЦП непосредственно в XRAM. DMA настраивается программно с помощью SFR регистров. В буфере команд определяется последовательность выполнения операций DMA (до 64). Команды схемой управления DMA, которая собирает необходимые данные от АЦП и управляет процессом записи в XRAM. Команды DMA указывают схеме управления DMA, от какого АЦП следует ожидать результата преобразования, но они не запускают сам процесс преобразования. Поэтому до запуска интерфейса DMA необходимо настроить модули АЦП, определив для них источник запуска, источник опорного напряжения и частоту дискретизации. DMA может работать в двух режимах. В нулевом режиме DMA последовательно выполняются команды, помещённые в буфер команд с адреса, который указывается в регистре DMA0BND. Выполнение команд осуществляется до тех пор, пока не будет встречена команда окончания выполнения операций DMA. Число повторений блока команд указывается в регистрах DMA0CTH и DMA0CTL. Текущее число повторений содержится в регистрах DMA0CSH и DMA0CSL.

Первый режим отличается от нулевого тем, повторение выполнения команд осуществляется не блоками, а каждая из команд последовательно повторяется в соответствии с числом, указанным в регистрах DMA0CTH и DMA0CTL до тех пор, пока не будет встречена команда окончания операций DMA.

 

UART

UART0 представляет собой усовершенствованный последовательный порт, обеспечивающий определение ошибок формата и аппаратное распознавание адреса. UART0 можно настроить для работы в полнодуплексном асинхронном или полудуплексном синхронном режимах (выбираются через регистр SCON0). Также с UART0 связан регистр SBUF0 – буфер данных.UART0 имеет два источника прерываний:

- флаг прерываний от передатчика TI0 (SCON0.1), устанавливается, когда передача байта данных завершена;

- флаг прерываний от приемника RI0 (SCON0.0), устанавливается, когда завершен прием байта данных.

Адрес UART0 определяется двумя SFR регистрами: SADDR0 (адрес последовательного порта) и SADEN0 (разрешение адреса последовательного порта). Регистр SADEN0 устанавливает битовую маску для адреса, хранимого в регистре SADDR0.Также UART0 может конфигурироваться для работы нескольких контроллеров в режиме Master-Slave.

 


Дата добавления: 2015-07-16; просмотров: 140 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
МБДОУ № Дата обследования___________________| Внешняя память XRAM

mybiblioteka.su - 2015-2024 год. (0.017 сек.)