Министерство Образования и Науки РФ
Новосибирский Государственный Технический Университет
Кафедра ССОД
Курсовой проект
по дисциплине “Микроконтроллеры”
вариант № 13
Студент: Лисунов А.Ю. |
Преподаватель: Еленычев C.B. |
Группа: АИ-32 |
Новосибирск, 2006
1. Задание.
Разработать систему сбора данных на базе МК АТ90S2313 со следующими функциональными особенностями:
1. система должна генерировать 8- разрядный дискретный синусоидальный сигнал с частотой 1000 Гц
2. интерфейс передачи данных RS–485
Написать программное обеспечение для генерирования дискретного синусоидального сигнала.
2. Введение.
Для построения генератора дискретных синусоидальных импульсов, необходим выбрать количество сигналов выдаваемых за период исходя из этого можно выбрать тактовый генератор его частота должна быть равной K*ωсин где ωсин частота синусоидального сигнала.
Для этого можно пойти двумя путями:
1. Построение синуса по четверти периода с нужной частотой дискретных отсчетов;
2. Построение синуса из отсчетов с меньшей частотой дискретизации, но с нужной частотой выборки значений.
3. Элементная база.
3.1 Микросхемы и микроконтроллеры
Обозначение |
Наименование элемента |
Частота каврца |
Uпит |
Рабочий диапазон температур |
D1 |
AT 90S2313-4PI |
4 МГц |
2,7…6,0 В |
-40…85○С |
D2 |
MAX1480B |
5B |
-40…85°C |
3.2 Резисторы.
Обозначение |
Сопротивление, Ом |
Мощность, Вт |
Допуск, % |
ТКЕ, ppm/°C |
R1 |
200 |
0,125 |
1 |
±50 |
R2 |
3000 |
0,125 |
1 |
±50 |
R3 |
3000 |
0,125 |
1 |
±50 |
R4 |
2200 |
0,125 |
1 |
±50 |
R5 |
200 |
0,125 |
1 |
±50 |
R6 |
3000 |
0,125 |
1 |
±50 |
3.3 Конденсаторы.
Обозначение |
Емкость |
С1 |
33 пФ |
С2 |
33 пФ |
3.4 Кварцевый генератор.
Обозначение |
Наименование |
Диапазон частот |
Рабочая температура |
Напряжение питания |
Z1 |
KXО-97 |
4 МГц |
-20 … +70°С |
5,0 В ±10% В |
4. Построение генератора дискретных синусоидальных импульсов на базе АТ90S2313.
Данный МК имеет 3 таймерные секции нам подойдет самая простая. Будем использовать Timer 0 (8 – разрядный таймер), c помощью него мы будем задавать частоту сигналов. За один период будем выдавать 20 значений синуса, тогда частота дискретизации равна 20*1000 Гц = 20 000 Гц, на такую частоту будет настроен таймер. Возьмем кварц с частотой в 4 MHz
и коэффициент деления 8 при каждом тике таймера будем увеличивать значения счетчика таймера на 230 единиц, таким образом, таймер будет срабатывать через каждый 26 тактов, а не 256, что даст нам частоту таймера 20 кГц.
Вывод данных будем делать с помощью универсального асинхронного последовательного приемопередатчика (UART) , к нему подключим приемопередатчик MAX1480B MAXIM, который будет преобразовать данные с нашего порта к стандарту RS 485.
Скорость передачи данных выберем 9 600 бит/с
Тогда коэффициент содержимое регистра UBRR = 25 [1].
Погрешность составит 0,2% [1], что является допустимым для стандарта RS-485.
5. Алгоритм работы программы.
При подключении происходит инициализация:
- устанавливаем стек;
- загружаем в счетчик длительность периода (фактически- количество отсчетов на период);
- устанавливается указатель Z на массив значений синуса
- инициализируем T/C0 установкой делителя;
- заносим в T/C0 начальное значение 230
с помощью регистра TIMSK
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.