Архив2 / курсач docx283 / Kursach_MK
.docxМинистерство Науки и Образования Российской Федерации
Новосибирский Государственный Технический Университет
Факультет Автоматики и Вычислительной Техники
Кафедра Систем Сбора и Обработки Данных
Курсовой проект
По дисциплине «Микроконтроллеры»
«Преобразователь двоичной последовательности
из фиксированного числа байт в ЧМ-сигнал»
Выполнила: Преподаватель:
Частухина Н.А. Еленычев С.В.
Группа: АТ-83
Новосибирск, 2011
Техническое задание
Преобразователь двоичной последовательности из фиксированного числа байт в ЧМ-сигнал. ЧМ сигнал представляет собой последовательность: старт-сигнал (2 периода сигнала с частотой 1000Гц), последовательность ‘0’ и ’1’ (‘0’ – один период 200Гц, ’1’ –один период 500Гц), стоп-сигнал (2 периода сигнала с частотой 2000Гц). Байты данных ЧМ сигнала формировать младшим битом вперед. Количество байт данных в ЧМ последовательности произвольное (зависит от количества преобразуемых двоичных байт, но не более 64). Для ввода двоичной последовательности для преобразования используется RS-232. Протокол обмена данными разработать самостоятельно. После получения контроллером всех двоичных данных (признак окончания потока данных должен определяться протоколом) автоматически начинается преобразование в ЧМ последовательность.
Введение
Микроконтроллер (MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.
Выбор компонентов преобразователя :
-
Микроконтроллер ATtiny2313
8 битный AVR микроконтроллер с 2 КБ программируемой в системе Flash памяти
Характеристики:
AVR RISC архитектура
AVR - высококачественная и низкопотребляющая RISC архитектура
120 команд, большинство которых выполняется за один тактовый цикл
32 8 битных рабочих регистра общего применения
Полностью статическая архитектура
ОЗУ и энергонезависимая память программ и данных
2 КБ самопрограммируемой в системе Flash памяти программы, способной выдержать 10 000 циклов записи/стирания
128 Байт программируемой в системе EEPROM памяти данных, способной выдержать 100 000 циклов записи/стирания
128 Байт встроенной SRAM памяти (статическое ОЗУ)
Программируемая защита от считывания Flash памяти программы и EEPROM памяти данных
Характеристики периферии
Один 8- разрядный таймер/счетчик с отдельным предделителем
Один 16-разрядный таймер/счетчик с отдельным предделителем, схемой сравнения, схемой захвата и двумя каналами ШИМ
Встроенный аналоговый компаратор
Программируемый сторожевой таймер со встроенным генератором
USI - универсальный последовательный интерфейс
Полнодуплексный UART
Специальные характеристики микроконтроллера
Встроенный отладчик debugWIRE
Внутрисистемное программирование через SPI порт
Внешние и внутренние источники прерывания
Режимы пониженного потребления Idle, Power-down и Standby
Усовершенствованная схема формирования сброса при включении
Программируемая схема обнаружения кратковременных пропаданий питания
Встроенный откалиброванный генератор
Порты ввода - вывода и корпусное исполнение
18 программируемых линий ввода - вывода
20 выводной PDIP, 20 выводной SOIC и 32 контактный MLF корпуса
Диапазон напряжения питания
от 1.8 до 5.5 В
Рабочая частота
0 - 16 МГц
Потребление
Активный режим:
300 мкА при частоте 1 МГц и напряжении питания 1.8 В
20 мкА при частоте 32 кГц и напряжении питания 1.8 В
Режим пониженного потребления
0.5 мкА при напряжении питания 1.8 В
2. Микросхема интерфейса RS -232
Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально создавался для связи компьютера с терминалом. В настоящее время используется в самых различных применениях.
Max232 - это преобразователь уровня напряжения. Интерфейс RS232 использует +-10V, а Max232 преобразует их в 0-5V.
Принципиальная схема
Алгоритм работы ПО МК :
Программа в микроконтроллере выполняется в бесконечном цикле (wait1). В данном цикле происходит прием байт с UART и их анализ. Для отправки ЧМ последовательности необходимо, чтобы с UART поступила команда 01C, далее происходит переход на процедуру отправки ЧМ сигнала (меняется частота таймера).
Листинг ПО Микроконтроллера :
.INCLUDE "C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\2313def.inc"
;спецификацией регистров ввода/вывода
.EQU A_LINE = 0 ;линия PORTB, соответствующая сигналу A
.DSEG
.ORG 0xc0
stack: .BYTE 0x10 ;область стека
.EQU sp_ini = stack+0x0f
.CSEG
;========= Таблица векторов прерываний ============================
.ORG 0x00
rjmp RESET ;вектор прерывания RESET
.ORG 0x06
rjmp OVR0_isr ;вектор прерывания по переполнению Timer0
;========= Основная программа =====================================
RESET:
ldi r16,sp_ini ;инициализация указателя стека
out SPL,r16
sbi PORTB,A_LINE ;установить A в 1
ldi r16,0x07 ;разрешить PB.0, PB.1, PB.2 как выходы
out DDRB,r16
clr r16 ;занести 0 в счетчик Timer0
out TCNT1,r16
ldi r16,0x02 ;частота синхронизации Timer0 = Fosc/8
out TCCR1,r16
ldi r16,0x02
out TIMSK,r16 ;разрешить прерывание по переполнению Timer0
; Прерывания разрешены, прием-передача разрешен.
ldi r16, (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)|(1<<TXCIE)|(0<<UDRIE)
out UCSRB, r16
; Формат кадра - 8 бит, пишем в регистр UCSRC, за это отвечает бит селектор
ldi r16, (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)
out UCSRC, r16
sei ;глобальное разрешение прерываний
rjmp wait1 ;пустой цикл (ожидание прерывания и прием байтов с UART)
;========== Процедура отправки байта ==========
UART_send: sbis UCSRA, UDRE ; Пропуск если нет флага готовности
rjmp uart_snt ; ждем готовности - флага UDRE
out UDR, r0 ; шлем байт
ret ; Возврат
;========== Ожидание байта ==========
uart_rcv: SBIS UCSRA,RXC ; Ждем флага прихода байта
RJMP uart_rcv ; вращаясь в цикле
IN R16,UDR ; байт пришел - забираем.
INC uart_counter ;увеличиваем счётчик принятых байт
RET ; Выходим. Результат в R16
;========== Обработчик прерывания по переполнению Timer0 ==========
OVR0_isr:
in r16,SREG ;сохранение в стеке регистра статуса
push r16
sbis PORTB,A_LINE
rjmp OVR0_m1
;1-е состояние: A==1, B==0, C==0
cbi PORTB,A_LINE ;A=0
pop r16 ;восстановление из стека регистра статуса
out SREG,r16
reti ;конец обработчика прерывания
wait1 :
uart_rcv ;принимаем байт
cpi r16, 0x30 ;если : 0
breq next1;
brne wait1
next1: uart_rcv
cpi r16, 0x31 ;если : 1
breq next2
brne wait1
next2 :uart_rcv
cpi r16, 0xC ;если : C символ С-конец сообщения
breq send1
brne wait1
rjmp wait1
;перенастройка частоты на 200, затем на 500 Гц
send1 :
clr r16 ;старт сигнал
out TCNT1,r16
ldi r16,0xE8 ;частота синхронизации Timer1 1000 Гц
out TCCR1A,r16
ldi r16,0x03
out TCCR1B,r16
rjmp VR0_isr ;отправляем сигнал
rjmp wait1
clr r16
out TCNT1,r16
ldi r16,0xC8 ;частота синхронизации Timer1 200 Гц
out TCCR1A,r16
clr TCCR1B
rjmp VR0_isr ;отправляем сигнал
clr r16
out TCNT1,r16
ldi r16,0x01 ;частота синхронизации Timer1 500 Гц
out TCCR1A,r16
ldi r16,0xF4
out TCCR1B,r16
rjmp VR0_isr ;отправляем сигнал
clr r16
out TCNT1,r16
ldi r16,0xD0 ;частота синхронизации Timer1 2000 Гц
out TCCR1A,r16
ldi r16,0x07
out TCCR1B,r16
rjmp VR0_isr ;отправляем сигнал
clr r16
out TCNT1,r16
ldi r16,0xD0 ;частота синхронизации Timer0 2000 Гц
out TCCR1A,r16
ldi r16,0x07
out TCCR1B,r16
rjmp VR0_isr ;отправляем сигнал
rjmp wait1
Перечень элементов
Наименование |
Кол- во |
Условное обозначение |
|
|
|
Микросхемы |
|
|
ATiny2313 |
1 |
D1 |
MAX232 |
1 |
D2 |
Заключение
В процессе работы был разработан проект контроллера осуществляющего преобразование двоичной последовательности из фиксированного числа байт в ЧМ-сигнал.
Список литературы
-
Конспект лекций по курсу микроконтроллеры 2011г
-
МИКРОКОНТРОЛЛЕРЫ AVR Методическое пособие
к лабораторному практикуму для студентов II-IV курсов АВТФ
-
http://atmel.ru
-
http://www.gaw.ru
СОДЕРЖАНИЕ
1. Техническое задание…………………………………………………… 1
2. Выбор компонентов преобразователя……………………………….. 2
4. Принципиальная схема…………………………………………………. 4
5. Алгоритм работы МК…………………………………………………….. 4
6. Листинг ПО МК…………………………………………………………… 6
7. Перечень элементов …………………………………………………… 9
8. Заключение……………………………………………………………….. 9
9. Литература………………………………………………………………… 10