- •Минобрнауки россии
- •Исследование цифроаналогового преобразователя
- •305040, Г. Курск, ул. 50 лет Октября, 94.
- •Цель работы
- •Краткая характеристика исследуемого программного комплекта
- •Краткие теоретические сведения
- •3.1 Интерфейсы цифро-аналоговых преобразователей
- •Цап с последовательным интерфейсом входных данных
- •3.3 Цап с параллельным интерфейсом входных данных
- •4 Задание к лабораторной работе
- •5 Порядок выполнения лабораторной работы
- •6 Содержание отчета
- •Контрольные вопросы
- •Библиографический список
6 Содержание отчета
Отчет должен содержать описание последовательности действий, осциллограммы, таблицы и графики по пункту 5, исходя из варианта (Приложение).
Титульный лист.
Цель работы.
Выводы по пункту 5.
Код программы с комментариями (см. ПРИЛОЖЕНИЕ)
Ответы на контрольные вопросы.
Контрольные вопросы
Изобразите схему ЦАП.
Объясните смысл цифроаналогового преобразования.
Изобразите переходную характеристику ЦАП.
В чём отличие ЦАП последовательного и параллельного типа?
Назовите основные характеристики ЦАП.
От чего зависит скорость потока данных ЦАП?
Библиографический список
Жан М. Рабаи, Ананта Чандракасан, Боривож Николич. Цифровые интегральные схемы. Методология проектирования = Digital Integrated Circuits. — 2-е изд. — М.: Вильямс, 2007. — 912 с. — ISBN 0-13-090996-3
Цифро-аналоговые преобразователи (ЦАП), теория и принципы работына сайте Рынок микроэлектроники
Цифро-аналоговые преобразователи для задач цифровой обработки сигналов
INL/DNL Measurements for High-Speed ADCs объясняет, как вычисляются INL и DNL
Параллельные ЦАП
Алексей Стахов. Компьютер ФибоначчиЧ. 1,Ч. 2,Ч. 3// PCweek.ru, 2002
ПРИЛОЖЕНИЕ
№ Варианта |
f(x) |
№ Варианта |
f(x) |
1 |
Sin(x)(синус) |
16 |
Sin(x) |
2 |
Sine(x)(пила) |
17 |
Sine(x) |
3 |
Impulse(x)(меандр) |
18 |
Impulse(x) |
4 |
Sin(x) |
19 |
Sin(x) |
5 |
Sine(x) |
20 |
Sine(x) |
6 |
Impulse(x) |
21 |
Impulse(x) |
7 |
Sin(x) |
22 |
Sin(x) |
8 |
Sine(x) |
23 |
Sine(x) |
9 |
Impulse(x) |
24 |
Impulse(x) |
10 |
Sin(x) |
25 |
Sin(x) |
11 |
Sine(x) |
26 |
Sine(x) |
12 |
Impulse(x) |
30 |
Impulse(x) |
13 |
Sin(x) |
31 |
Sin(x) |
14 |
Sine(x) |
32 |
Sine(x) |
15 |
Impulse(x) |
32 |
Impulse(x) |
Код ассемблера для Mega16 (VMLab):
; ******************************************************
; BASIC .ASM template file for AVR
; ******************************************************
.include "C:\VMLAB\include\m16def.inc"
; Define here the variables
;
.deftemp=r16 ; определение переменнойtemp
; Define here Reset and interrupt vectors, if any
;
.cseg
.org 0
lditemp,low(RAMend) ; загрузка указателя стека
out SPL,temp
ldi temp, high(RAMend) ; загрузка указателя стека
out SPH,temp
lditemp,0b10111111 ; портBна вывод, кроме 6го разряда
out DDRB,temp
reset:; Начало цикла передачи
lditemp,0b00000000 ; низкий уровень на всех разрядах портаB
out PortB,temp
lditemp,0b10000000 ; 7й разряд – тактирование, чередуются 0 и 1
out PortB, temp
lditemp,0b00000000 ; 7й разряд – тактирование, чередуются 1 и 0
out PortB, temp
lditemp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
lditemp,0b00100000 ; 5й разряд – цифровой поток к ЦАП
out PortB, temp
ldi temp,0b10000000
out PortB, temp
lditemp,0b00100000 ; 5й разряд – цифровой поток к ЦАП
out PortB, temp
ldi temp,0b10000000
out PortB, temp
lditemp,0b00100000 ; 5й разряд – цифровой поток к ЦАП
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
ldi temp,0b10000000
out PortB, temp
ldi temp,0b00000000
out PortB, temp
lditemp,0b01011111 ; конец пересылки – уровеньCSвверх
out PortB,temp ; 4й разряд – сигнал CS
rcall PAUSE ; Вызов подпрограммы паузы
jmpreset; Возврат к началу передачи
PAUSE:
LDI R20, 255
LDI R21, 255
DELAY:
DEC R20
BRNE DELAY
DEC R21
BRNE DELAY
RET