Проектирование системы сбора данных
1. ВВЕДЕНИЕ
В настоящее время проектированию измерительных систем уделяется много времени. Делается большой акцент на применение в этих системах электронно-цифровых приборов. Высокая скорость измерения параметров, удобная форма представления информации, гибкий интерфейс, сравнительно небольшая погрешность измерения по сравнению с механическими и электромеханическими средствами измерения все эти и многие другие преимущества делаю данную систему перспективной в развитии и в дальнейшем использовании во многих отраслях производства.
Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.
Использование микроконтроллеров в изделиях не только приводит к повышению технико-экономических показателей (надежности, потребляемой мощности, габаритных размеров), но и позволяет сократить время разработки изделий и делает их модифицируемыми, адаптивными, а также позволяет уменьшить их стоимость. Использование микроконтроллеров в системах управления обеспечивает достижение высоких показателей эффективности при низкой стоимости.
Системы сбора данных в наши дни сделали большой шаг в вперед и в плотную приблизились к использованию совершенных электронных технологий. Сейчас, многие системы сбора данных состоящие из аналогового коммутатора, усилителя выборки-хранения, АЦП, стали размещать на одной интегральной микросхеме, что сравнительно повлияло на скорость обработки данных, удобство в использовании, и конечно же на их стоимость.
2. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
Требуется спроектировать систему сбора данных предназначенную для сбора и первичной обработки информации поступающей с четырех датчиков давления и датчика контроля за давлением.
Основные характеристики:
Количество каналов подключения датчиков давления |
4 |
Количество линейных датчиков статическая характеристика диапазон измеряемого давления собственная погрешность измерения |
3 U(p)=a0p+b a0=0.1428 b=-0.71 5..50 КПа 0.1% |
Количество нелинейных датчиков статическая характеристика
диапазон измеряемого давления собственная погрешность измерения |
1 U(p)=a0p+a1p2+a2p3+b a0=0.998, a1=0.003 a2=-0.001 b=-2.5 0.01..5 Мпа 0.1% |
Максимальная погрешность одного канала не более |
0.5% |
Количество развязанных оптоизолированных входов для подключения датчика контроля за давлением Активный уровень Выходное напряжение логического нуля Выходное напряжение логической единицы Максимальный выходной ток логического нуля мА логической единицы мА |
1 1 уровень ТТЛШ уровень ТТЛШ
2.5 1.2 |
Режим измерения давления |
Статический |
Базовая микро-ЭВМ |
89С51 фирмы Atmel |
3. РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ. ОБОБЩЕННЫЙ АЛГОРИТМ РАБОТЫ
Структурная схема системы сбора данных представлена на рис.1
Обобщенная структурная схема системы сбора данных.
ДД1,ДД2,ДД3 – линейные датчики давления,
ДД4- нелинейный датчик давления,
ДКД1, ДКД2 – датчики контроля за давлением
AD7890 – АЦП, УВХ, ИОН, аналоговый коммутатор,
98С51 – микро-ЭВМ,
WDT –сторожевой таймер.
Рисунок 1.
Датчики давления преобразовывают измеренное давление в электрический сигнал.
Нормирующие усилители преобразовывают выходное напряжение с датчиков давления к входному напряжению АЦП.
AD7890 (далее АЦП) служит для того чтобы, переключать требуемый канал коммутатора, преобразовать аналоговую величину напряжения в соответствующий ей двоичный цифровой код.
Однокристальная микро-ЭВМ предназначена для того чтобы:
производить расчет - Р(код) по известной статической характеристике датчика давления;
передавать рассчитанное давление по последовательному интерфейсу RS-232 в ПК.
Буфер последовательного интерфейса RS-232 введен в схему, для того чтобы преобразовывать логические уровни между ПК и микро-ЭВМ и микро-ЭВМ и ПК.
Т.К. работа системы производится в автономном режиме и она не предусмотрена для работы с оператором, то в состав системы дополнительно вводится интегральная микросхема сторожевого таймера, предназначенная для вывода микро-ЭВМ из состояния зависания и ее сбросе при включении питания.
Временная диаграмма работы сторожевого таймера представлена на листе 2 графической части.
Блок схема обобщенного алгоритма работы представлена в приложении 4.
При включении питания микро-ЭВМ 89С51 реализует подпрограмму инициализации (1. инициализация УАПП, 2. установка приоритета прерываний, 7. разрешение прерываний). По запросу от ПК “Считать измеренное давление с датчика N” (где N – номер датчика давления), МП последовательно выдает с линии 1 порта 1(Р1.1), байт данных (в котором 1-ый, 2-ой и 3-ий биты указывают на выбор канала мультиплексора) на вход АЦП — DATA IN. Прием каждого бита этого байта происходит по фронту импульсов сигнала поступающего на вход SCLK от МП с линии 2 порта 1 (Р 1.2). Передача этого байта стробируется сигналом (низкий уровень), поступающего на вход от МП с линии 4 порта 1 (см. графическую часть лист 2) Приняв байт информации АЦП производит переключение требуемого канала. После этого МП выдает отрицательный импульс на вывод с линии 7 порта 1 и по положительному переходу этого импульса начинается процесс преобразования напряжение в двоичный код, которое поступает от датчика давления – N. По истечении 5.9 с (время преобразования ) АЦП готов к последовательной передачи полученного 12-ти разрядного двоичного кода. Процесс передачи данных от АЦП к МП производится при стробировании сигнала (низкий уровень), поступающего с линии 5 порта 1 на вывод (см. графическую часть лист 2). Формат посылки состоит из 15-ти бит (первые три бита несут за собой номер включенного текущего канала, а остальные 12 бит двоичный код ). Приняв двоичный код, МП путем математических вычислений(см. п.5) находит зависимость Р(код) и посылает в ПК по последовательному интерфейсу RS-232 полученное значение давления P. На этом цикл работы системы заканчивается.
4. РАЗРАБОТКА И РАСЧЕТ ЭЛЕМЕНТОВ ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
4.1 Выбор микропроцессорного комплекта
В соответствии с заданием ядром системы послужила однокристальная микро-ЭВМ 89С51 фирмы Atmel.
Основные характеристики однокристальной микро-ЭВМ 89С51:
• Совместима с однокристальной микро-ЭВМ серии MCS-51
• 4Kb ре-программируемой флешь памяти
допустимо: 1000 циклов Записи/Стирания
• Рабочий диапазон частоты синхронизации : от 0 Гц до 24 МГц
• 128 x 8-бит встроенного ОЗУ
• 32 программируемых I/O линии
• Два 16-разрядных таймер/счетчика
• Семь источников внешних прерываний
• Программируемый УАПП
• Возможность включения режима пониженного энергопотребления
4.1.1 Аппаратное сопряжение ПК и микроконтроллера
Для решения задачи сопряжения ПК и микроконтроллера было решено использовать интерфейс RS-232C.
Последовательный порт используется в качестве универсального асинхронного приемопередатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена информацией и возможностью дуплексного включения.
Последовательный интерфейс микроконтроллера МК-51 может работать в следующих четырех режимах:
Режим 0.Информация передается и принимается через вход RxD приемника (вывод P3.0). Через выход передатчика TxD (вывод P3.1) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки – 8 бит. Частота приема и передачи – тактовая частота микроконтроллера.
Режим 1.Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 10 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и стоп-бит (единица). Частота приема и передачи задается таймером/счетчиком 1.
Режим 2.Информация передается через выход передатчика TxD, а принимается через вход приемника RxD. Формат посылки – 11 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и 2 стоп-бита (единицы). Передаваемый девятый бит данных принимает значение бита ТВ8 из регистра специальных функций SCON. Бит ТВ8 в регистре SCON может быть программно установлен в “0” или в “1”, или в него, к примеру, можно поместить значение бита Р из регистра PSW для повышения достоверности принимаемой информации (контроль по паритету). При приеме девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи в режиме 2 задается программно и может быть равна тактовой частоте микроконтроллера деленной на 32 или на 64.
Режим 3.Режим 3 полностью идентичен режиму 2 за исключением частоты приема и передачи, которая в режиме 3 задается таймером/счетчиком 1.
Для реализации обмена информацией между ПК и микроконтроллером наиболее удобным является режим 2, т.к. для работы в этом режиме не требуется таймер/счетчик. Этот режим полностью удовлетворяет предъявленным требованиям.
4.1.2 Выбор кварцевого резонатора
Для работы МП необходим кварцевый резонатор который подключается к выводам XTAL1 и XTAL2 (см. графическую часть курсового проекта, лист 1)
Рабочая частота кварцевого резонатора непосредственно связана со скоростью работы УАПП, мы выбираем из п.1 fрез=11.059 МГц
4.1.3 Выбор скорости приема/передачи по RS-232
Скорость приема/передачи, т.е. частота работы универсального асинхронного приемопередатчика (УАПП) в режиме 2 зависит от значения управляющего бита SMOD в регистре специальных функций.
Частота передачи определяется выражением:
f=(2SMOD/64)fрез.
Иными словами, при SMOD=0 частота передачи равна (1/64)fрез, а при SMOD=1 равна (1/32)fрез.
Исходя из вышеизложенного, выберем частоту приема данных при SMOD=1. Если fрез=11,059 МГц, тогда частота приема данных будет 19,2 КБод.
Другие значения частот кварца могут быть выбраны из таблиц в п.1 и п.2.
4.1.4 Разработка формата принимаемых и передаваемых данных по RS-232
Формат принимаемых и передаваемых данных почти полностью описан режимом 2 работы последовательного интерфейса.
Формат должен состоять из 11 бит:
стартовый бит – ноль;
восемь бит данных;
девятый бит – контроль по паритету, для повышения достоверности принимаемой информации;
два стоповых бита – единицы.
4.2 Выбор буфера RS-232
Обмен данными между ПК и микроконтроллером будет производиться по последовательному интерфейсу RS-232. Т.к. стандартный уровень сигналов RS-232 - -12 В и +12 В, а стандартный уровень сигналов асинхронного интерфейса микроконтроллера 89С51 – +5 В необходимо обеспечить согласование уровней между RS-232 и 89С51. Преобразование напряжения будет производить цифровая интегральная микросхема ADM 202E. Выбор данной микросхемы был произведен исходя из ТЗ (техническое задание). Основные характеристики цифровой интегральной микросхемы ADM 202E приведены в табл. 3.
Таблица 3.
Основные характеристики цифровой интегральной микросхемы ADM 202E
Параметр |
Минимальный |
Максимальный |
Единица измерения |
Напряжение питания |
4.5 |
5.5 |
В |
Нижний входной лог. порог |
|
0.8 |
В |
Высокий входной лог. порог |
2.4 |
|
В |
RS-232 приемник |
|
|
|
Входное допустимое напр. |
-30 |
+30 |
В |
Входной нижний парог |
0.4 |
|
В |
Входной высокий парог |
|
2.4 |
В |
RS-232 передатчик |
|
|
|
Выходной размах напр. |
-+5 |
|
В |
Сопр. Выхода передатчика |
300 |
|
Ом |
Температурный диапазон |
-40 |
+85 |
?C |
Функциональная блок-схема интегральной микросхемы ADM 202E представлена на рис.2
Функциональная блок-схема интегральной микросхемы ADM 202E
Рисунок. 2
4.3 Выбор АЦП.
В качестве аналого-цифрового преобразователя послужила интегральная микросхема фирмы Analog Devices – AD7890-2. Выбор данной микросхемы был произведен исходя из ТЗ
Основные характеристики:
• 12-разрядный АЦП, время преобразования 5.9 мкс
• Восемь входных аналоговых каналов
• Входной диапазон :
от 0 В до +2.5 В
• Раздельный доступ к мультиплексору и к АЦП
• Встроенный источник опорного напряжения +2.5 В (возможно подключение внешнего.)
• Высокая скорость, “гибкость”, последовательный интерфейс
• Низкая потребляемая мощность (50 мВт максимум)
• Режим пониженного энергопотребления (75 мкВт).
Функциональная блок-схема интегральной микросхемы AD 7890-2 представлена на рис.3
Функциональная блок-схема интегральной микросхемы AD 7890-2
Рисунок 3
4.3.1 Расчет погрешности вносимой АЦП.
Аналого-цифровой преобразователь вносит следующие виды погрешностей:
нелинейности (погрешность нелинейности- это максимальное отклонение линеаризованной реальной характеристики преобразования от прямой линии, проходящей через крайние точки этой характеристики преобразования АЦП.);
дифференциальной нелинейности(погрешность дифференциальной нелинейности- это отклонение фактической разности уровней (входного сигнала АЦП), соответствующим двум соседним переключениям кода, от идеального значения этой разности, равной 1 МЗР. Для идеального АЦП разница уровней между соседними переключениями кода в точности равна 1 МЗР.);
погрешность полной шкалы (погрешность полной шкалы- это отклонение уровня входного сигнала, соответствующего последнему переключению кода от идеального значения, после того как была откорректирована погрешность биполярного нуля.);
В табл. 4 приведены погрешности взятые из каталога, на интегральную микросхему AD7890 фирмы Analog Devices
Таблица 4
Основный погрешности интегральной микросхемы AD7890
Вид погрешности |
Значение |
% |
Интегральная нелинейность |
1 МЗР |
0.0244 |
Дифференциальная нелинейность |
1 МЗР |
0.0244 |
Полной шкалы |
2.5 МЗР |
0.061 |
Общая (АЦП) |
|
0,1098 |
4.4 Выбор сторожевого таймера.
Т.к. работа системы происходит в автономном режиме и не предусматривает работу оператора с ней, то для случая зависания микро-ЭВМ в схему системы сбора данных добавляется интегральная микросхема MAX690AMJA – сторожевой таймер. Выполняющая две основные функции: выведение МП из состояния зависания и сброс МП при включении питания.
Основные характеристики интегральной микросхемы МАХ690AMJA:
• Время сброса: 200 мС
• Рабочий диапазон напряжения питания: от 1 до 5.5 В
• Ток потребления: 200 мкА
• температурный диапазон эксплуатации: от –55 до +125 ?C.
4.5 Выбор интегральной микросхемы операционного усилителя
Нормирующий усилитель выполнен на аналоговой микросхеме OP-27А (операционный усилитель), исполненной в восьми контактном DIP-корпусе. Основные хар-ки операционного усилителя OP-27A приведены в табл.5.
Таблица 5
Основные характеристики аналоговой микросхемы ОР-27А
Напряжение питания (UПИТ)В: |
V+ |
V- |
22 |
-22 |
|
Напряжение смещения (UСМ)мкВ: |
25 макс. |
|
Ток смешения (IСМ)нА |
±40 макс. |
|
Ток сдвига (IСДВ)нА |
35 макс. |
|
Коэффициент озлобления синфазного сигнала (КООС) |
501190 макс. (144 Дб) |
|
Коэффициент усиления при разомкнутой обратной связи |
1800000 |
В систему сбора данных входят три линейных и один нелинейный датчики давления. Выходной диапазон напряжения нелинейного датчика давления составляет -2.5..+2.5, в входной диапазон АЦП – 0..+2.5. Согласовать уровни напряжения выхода датчика давления и входа АЦП можно с помощью схемы представленной на рис. 4. Данная схема состоит из: операционного усилителя – DA1, повторителя напряжения – DA2, схемы смещения – R1 и R2, схемы защиты – VD1 и VD2.. Для того чтобы не нагружать источник опорного напряжения в состав схемы нормирующего усилителя вводится повторитель напряжения. Данная схема вносит в ССД погрешность.
Нормирующий усилитель
R1,R2 – 40 КОм,
R3 – 20 КОм.
VD1, VD2 – схема защиты
Рисунок 4
4.5.1 Расчет погрешностей нормирующего усилителя
Суммарная погрешность нормирующего усилителя складывается из погрешности напряжения смещения (Uсм), погрешности тока сдвига (Iсдв), погрешности обратного тока диодов (В схеме защиты используются диоды марки 1N914A с обратным током утечки IД ОБР.=25 нА. Рассмотрим худший случай, когда IД ОБР.== 2*IД ОБР.) (Iд обр.), погрешности КООС (КООС), погрешности разброса параметров сопротивлений от номинального значения (R1 R2 MAX).
Оценка погрешности от напряжения смещения (Uсм)
Uсм= Uсм*Ку
где Ку – коэффициент усиления (в нашем случае Ку=1)
Uсм=25 мкВ
Uсм%=
Uсм%=0.001 %
Оценка погрешности от обратного тока диодов (Iд обр )
U+д= IД ОБР.*R2
U+д=0.002
Iд обр= U+д*Ку
Iд обр=2 мВ
Iд обр%=
Iд обр%=0.0016
Оценка погрешности от КООС (КООС)
,
где Кд – коэффициент усиления дифференциального сигнала (Кд=1);
КС – коэффициент усиления синфазного сигнала
КС=1/501190
КС=1.96*10-6
КООС=UВХ СИН MAX*KC,
где UВХ СИН MAX – синфазное максимальное входное напряжение (UВХ СИН MAX=2.5 В).
КООС=2.5*1.996*10-6
КООС=7.7 мкВ
КООС%=
КООС%=0.0003
Оценка погрешности от тока сдвига (Iсдв)
U+=IСДВ*R2
где U+ - см. рис.4
U+= 0.7 мкВ
Iсдв= U+*Ку
Iсдв=0.7 мкВ
Iсдв%=
Iсдв%=0.00004%
Оценка погрешности вносимой разбросам сопротивлений R1 и R2 от их номинального значения.
Для того чтобы уменьшить погрешность выбираем сопротивления с отклонениями от номинального значения ± 0.05%
R1MIN= 39,996 Ом
R2MAX=40,004 Ом
Ток протекаемый через R1 и R2 будет
И тогда общая погрешность нормирующего усилителя будет равна
НУ=((R1R1max+Iсдв+КООС+Iд обр+Uсм)/Ку)*100
НУ=0.0277778 % |
(1) |
4.6 Выбор и расчет внешних элементов гальванической развязки
В качестве элементов гальванической развязки используется цифровая микросхема 249ЛП5 - оптоэлектронный переключатель на основе диодных оптопар выполненных в металлостеклянном корпусе. основные характеристики цифровой микросхемы 249ЛП5 приведены в табл. 5.
Таблица 5
Основные характеристики цифровой микросхемы 249ЛП5
Электрические параметры |
|
Входное напряжение при IВХ=15 мА |
не более 1.7 В |
Выходное напряжение в состоянии логического нуля |
0.4 В |
Выходное напряжение в состоянии логической единицы |
2.4 |
Предельные эксплутационные данные |
|
Входной постоянный ток |
12 мА |
Входной импульсный ток |
15 мА |
Напряжение питания |
5(0.5) В |
Диапазон рабочих температур |
-60…+85 С |
VT1- КТ3102Г(h21Э=100),
R2, VT1 –схема усиления входного тока,
Рисунок 5
Выходной ток ДКД усиливается с помощью транзистора VT1 т.к. максимальный выходной ток датчика контроля за давлением меньше, чем входной ток элемента гальвано развязки.
Значения сопротивления R1 можно рассчитать по следующей формуле
при IД=5 мА, а значение сопротивления R2 будет равно
где UБЭ VT1 – напряжение насыщения на переходе база - эмиттер транзистора VT1;UВХ_МIN – минимальное входное напряжение (2.4 В - уровень ТТЛШ);
IБ – ток протекающий через базу VT1
где IК – ток протекающий через коллектор VT1 (IК= IД)
5. АПРОКСИМАЦИЯ СТАТИЧЕСКОЙ ХАРАКТЕРИСТИКИ НЕЛИНЕЙНОГО ДАТЧИКА
Уравнение аппроксимированного участка статической характеристики нелинейного датчика выглядит следующим образом:
U (p) = a*p + b, |
(2) |
где a и b – коэффициенты, представленные в форме чисел с фиксированной точкой.
С АЦП приходит 12-ти разрядный код в диапазоне 0..4095,что соответствует диапазону входных напряжений 0 ...+2.5 В.
Разрешающую способность по напряжению можно рассчитать как:
U = код*МЗР(Младший Значащий Разряд) |
(3) |
где МЗР =
где UВХ MAX – максимальное входное напряжение подаваемое на вход АЦП;
UВХ MIN – минимальное входное напряжение подаваемое на вход
Выразив p из (2) и приняв во внимание (3), формула нахождения давления от напряжения примет следующий вид:
Для уменьшения погрешности аппроксимации статическая характеристика нелинейного датчика давления делится на 4 равных отрезка и находятся коэффициенты a и b (см. табл.6) для уравнения вида p(код)=a*код+b описывающего каждый из этих отрезков.
Таблица 6
Таблица переведенных коэффициентов
№ участка |
a10 |
b10 |
a16 |
b16 |
1 |
0.001203 |
0.010377 |
0.004edf |
0.02a8 |
2 |
0.001206 |
0.007413 |
0.004f03 |
0.01e5 |
3 |
0.001219 |
-0.02094 |
0.004fe5 |
0.055c |
4 |
0.001245 |
-0.101148 |
0.005197 |
0.19e4 |
Аппроксимация статической характеристики нелинейного датчика давления была произведена с помощью программы MATHCAD 8.0 (см п.5)
5.1 Оценка погрешности аппроксимации
Оценка этой погрешности была произведена на программе MATHCAD 8.0 (см п.4), и она составляет АПР=0.093 %
6. ВЫБОР ФОРМАТА ДАННЫХ
В курсовом проекте выбран формат чисел с фиксированной точкой.
Для коэффициентов a выделяется три байта под дробную часть и один байт под целую часть, а для b два байта под дробную часть и один байт под целую часть Для кода достаточно двух байт, а для результата три байта под целую и два байта под дробную части соответственно.
6.1 Оценка погрешности от перевода коэффициентов
В соответствии с выбранным форматом данных данную погрешность можно найти так:
пер.коэф=k*код+b=2-24*4096-2-16
пер.коэф = 0.044 % |
(4) |
7. ОЦЕНКА ПОГРЕШНОСТЕЙ
При расчетах в курсовой работе мы оценили погрешности возникающие от АЦП, аппроксимации, нормирующего усилителя и других. Суммарная погрешность всей ССД равняется сумме найденных погрешностей, то есть:
СУМ=АЦП+НУ+АПР+пер.коэф
где АЦП – погрешность вносимая от АЦП (см табл.4);
НУ - погрешность от нормирующего усилителя (см. ф.(1));
АПР - погрешность от аппроксимации(см.п.4);
пер.коэф - погрешность от перевода коэффициентов (см. 4)
СУМ=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 |
Приложение 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
CPL P1.4
;Подпрограмма выбора коэффициентов нелинейного датчика
MOV DPL,00h
MOV DPH,04h
MOV A,#00001100b
ANL A,R0
RL A
RL A
CLR 0D4H
CLR 0D3H
MOV R0,#0AH
MOV R1,#04H
M1: MOV A,#06H
MOVC A,@A+DPTR
MOV @R0,A
INC R6
INC R0
DJNZ R1,M1
END
;Подпрограмма умножения двух байт (регистры R0, R1 - 1-ый банк) на три (регистры ;R2, R3, R4 - 1-ый банк ), результат помещается в R3, R4, R5, R6, R7 - 0-ой ;банк.
MOV R4,#0h
MOV R5,#0h
MOV R6,#0h
MOV R7,#0h
MOV R3,#0h
MOV R0,#10h
me1:SETB 0D3h
CLR 0D4h
MOV A,R0
RRC A
MOV R0,A
MOV A,R1
RRC A
MOV R1,A
JNC me2
MOV A,R4
ADD A,5h
MOV 5h,A
MOV A,R3
ADDC A,4h
MOV 4h,A
MOV A,R2
ADDC A,3h
MOV 3h,A
me2:CLR 0D4h
CLR 0D3h
MOV A,R4
RRC A
MOV R4,A
MOV A,R5
RRC A
MOV R5,A
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
DJNZ r0,MET1
;Подпрограмма сложения пяти байт(R3, R4, R5, R6, R7 - 0-ой банк.
;) с двумя (R2(0Dh),R3(0Eh) - 0-ый банк), результат помещается в R3(13h), ;R4(14h), R5(15h), R6(16h), R7(17h) - 2-ой банк.
CLR 0D3H ;
CLR 0D4H ;
MOV A,R5
ADD A,R3
MOV 12H,A
MOV A,R4
ADDC A,R2
MOV 11H,A
JNC M1
MOV A,#01
ADD A,11H
MOV 11H,A
JNC M1
MOV A,#01H
ADD A,10H
MOV 10H,A
MOV 14h,0Ch
MOV 13h,0Bh
M1:CLR 0D3H
SETB 0D4H
END
Подпрограмма передачи пяти байт находящихся в R3 R4 R5 R6 R7.
;Выбор второго банка
SETB 0D4h
CLR 0D3h
;Передача первого байта данных
MOV A,R7
MOV C,P;Р - бит четности аккумулятора
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b ;Выставляется приоритет прерываний
NOP
NOP
NOP
;Передача 2 байта данных
MOV A,R6
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 3 байта данных
MOV A,R5
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 4 байта данных
MOV A,R4
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 5 байта данных
MOV A,R3
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
END