Смекни!
smekni.com

Проектирование системы сбора данных (стр. 4 из 5)

5.1 Оценка погрешности аппроксимации

Оценка этой погрешности была произведена на программе MATHCAD 8.0 (см п.4), и она составляет DАПР=0.093 %

6. ВЫБОР ФОРМАТА ДАННЫХ

В курсовом проекте выбран формат чисел с фиксированной точкой.

Для коэффициентов a выделяется три байта под дробную часть и один байт под целую часть, а для b два байта под дробную часть и один байт под целую часть Для кода достаточно двух байт, а для результата три байта под целую и два байта под дробную части соответственно.

6.1 Оценка погрешности от перевода коэффициентов

В соответствии с выбранным форматом данных данную погрешность можно найти так:

Dпер.коэф=Dk*код+Db=2-24*4096-2-16

Dпер.коэф = 0.044 %

(4)

7. ОЦЕНКА ПОГРЕШНОСТЕЙ

При расчетах в курсовой работе мы оценили погрешности возникающие от АЦП, аппроксимации, нормирующего усилителя и других. Суммарная погрешность всей ССД равняется сумме найденных погрешностей, то есть:

DСУМ=DАЦП+DНУ+DАПР+Dпер.коэф

где DАЦП – погрешность вносимая от АЦП (см табл.4);

DНУ - погрешность от нормирующего усилителя (см. ф.(1));

DАПР - погрешность от аппроксимации(см.п.4);

Dпер.коэф - погрешность от перевода коэффициентов (см. 4)

DСУМ=0,1098+??+0.093+0.044


8. РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОШНОСТИ ОСНОВНЫМИ ЭЛЕМЕНТАМИ СХЕМЫ

Примерную потребляемую мощность можно найти по формуле

где РМП – мощность потребляемая МП(РМП=0,1 Вт);

РАЦП - мощность потребляемая АЦП(РАЦП=0.0050 Вт);

РWDT - мощность потребляемая сторожевым таймером (РWDT=0.001);

PБУФ - мощность потребляемая буфером порта RS-232 (PБУФ=0.01);

PОУ - мощность потребляемая операционным усилителем (PОУ=0.09);


ПРИЛОЖЕНИЯ

Приложение 1

Точные значения кварцев

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

7,3728

3,6864

2

57,6

3,6864

1,8432

3

38,4

2,4576

1,2288

4

28,8

1,8432

0,9216

5

23,04

1,4746

0,73728

6

19,2

1,2288

0,6144

7

16,457142

1,053257

0,526628

8

14,4

0,9216

0,4608

9

12,8

0,8192

0,4096

10

11,52

0,73728

0,36864

12

9,2

0,6144

0,3072


Приложение 2

Возможные значения кварцев

SMOD=0

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

7,366503

7,378725

2

57,6

3,673807

3,698251

3

38,4

2,438711

2,475377

4

28,8

1,818014

1,866903

5

23,04

1,443078

1,504189

6

19,2

1,191022

1,264355

7

16,457142

1,009183

1,094738

8

14,4

0,871229

0,969007

9

12,8

0,762533

0,872533

10

11,52

0,674317

0,796539

12

9,2

0,538844

0,685511

SMOD=1

Кратность

Скорость передачи

(Кбод)

Частота кварца (МГц)

SMOD=0 (1/64)

SMOD=1 (1/32)

1

115,2

3,683252

3,689363

2

57,6

1,836904

1,849126

3

38,4

1,219356

1,237689

4

28,8

0,909007

0,933452

5

23,04

0,721539

0,752095

6

19,2

0,595511

0,632178

7

16,457142

0,504592

0,547369

8

14,4

0,435615

0,484504

9

12,8

0,381267

0,436267

10

11,52

0,337159

0,398270

12

9,2

0,269422

0,342756

Приложение 3 ОБОБЩЕННЫЙ АЛГОРИТМ РАБОТЫ


Нет

Да




Приложение 5

Подпрограмма инициализации

MOV SCON,#10010000b ; устанавливается второй режим УАПП

SETB 87h,1 ;SMOD=1

MOV IP,#00010000b ;высокий уровень приоритета прерывания у приема передатчика

MOV IE,#10010000b ; разрешаем прерывания

Подпрограмма записи 12-ти бит в управляющий регистр AD7890

SETB P1.2 ;Устанавливаем линию SCLK

SETB P1.4; Устанавливаем линию TFS

MOV R1,0Ch ; организовываем счетчик переданных бит (12)

MOV A,R0 ; загружаем а аккумулятор передаваемые биты

MET0: RRC A ; проталкиваем во флаг С передаваемый бит

MOV P1.1,C ; выставляем передаваемый бит на Р1.1

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

DJNZ R2,MET0

CPL P1.4

Подпрограмма задержки на 0.006 сек.

DELAY: MOV R0,C8h

MET1: NOP

DJNZ R0,MET1

RET

Подпрограмма задержки на 0.6 сек.

DELAY2: MOV R0,Ah

` MOV R1,Ah

MET1: NOP

MET2: NOP

DJNZ R1,MET2

DJNZ R0,MET1

RET

Подпрограмма работы сWDT

ACALL DELAY2 ;ожидаем

CPL P1.6

ACALL DELAY2 ;ожидаем

CPL P1.6

Подпрограмма чтения 15-ти бит с линии DATA OUT AD7890

SETB P1.2 ;Устанавливаем линию SCLK

SETB P1.3; Устанавливаем линию RFS

MOV R2,08h ; организовываем счетчик принятых бит в аккумулятор (если R2=0 – аккумулятор полный

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

ACALL DELAY ;ожидаем

CPL P1.2 ;инверсия Р1.2

MET0: MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг

RLC A ; достаем из флага С принятый бит

DEC R2

JZ MET2 ; если байт принят R2=0

MOV R3,A ; тогда занесем из А в R3 принятый байт

CLR A ; и обнулим аккумулятор, если не принят то -

MET2: ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

ACALL DELAY ;ожидаем

DJNZ R2,MET0

MOV R2,07h ;приняли первые восемь бит, теперь приймем еще семь

CPL P1.2 ;инверсия Р1.2

MET3: MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг

RLC A ; достаем из флага С принятый бит

DEC R2

JZ MET4

MOV R4,A

CLR A

MET4: ACALL DELAY ;ожидаем

CPL P1.2 ; инверсия Р1.2

ACALL DELAY ;ожидаем

DJNZ R2,MET3 ;ну вот, и все готово младшая часть посылки находится (8 бит) в R3, а старшая (7 бит) в R4