Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
20.06.2014
Размер:
920.58 Кб
Скачать

2.2 Цифровая часть

В качестве основного устройства был выбран микроконтроллер DD1 AtMega128 фирмы Atmel. Данный контроллер имеет все необходимые встроенные средства, но у него недостаточно оперативной памяти для накопления данных в течении заданного интервала – 120 секунд. Поэтому дополнительно установлена микросхема оперативной памяти DD3 62256 объемом 32 КБайта и параллельный регистр DD2 74AC573, необходимый для формирования полной шины данных контроллером.

Чтобы минимизировать время выполнения теста ОЗУ, память конфигурируется с максимальной рабочей частотой. Поэтому регистр и память выбраны быстродействующие, время работы с ОЗУ не должно превышать 120нс. Этому условию удовлетворяет ОЗУ фирмы Samsung, KM62256CLI, имеющая к тому же достаточный диапазон температур Линии RD, WR и A15 подтянуты к плюсу питания через резисторы для исключения случайных процессов при включении питания и при переводе портов ввода-вывода в третье состояние между обменами с ОЗУ. Линии Reset и PEN подтянуты к плюсу питания согласно требованиям, описанным в документации контроллера через резисторы R50-R52.

Контроллер тактируется кварцевым резонатором ZQ1 с частотой 7.3728МГц, что необходимо для точной установки скорости последовательного порта. Кварцевый резонатор подключен в соответствии с требованиями документации – с двумя конденсаторами С2, С4 на общий провод.

Вывод AREF опорного напряжения АЦП контроллера подключен к повторителю на операционном усилителе и конденсатору C1 для повышения точности измерения АЦП.

Четыре светодиода VD1-VD4 (типа КИПД14Б-К), сигнализирующие перегрузку каналов, подключены к выводам PB0-PB3 порта B микроконтроллера, через токоограничивающие резисторы R21-R24. Светодиод индикации ошибки VD5 (типа КИПД14Д-Л) самотестирования системы подключен к выводу PD6 микроконтроллера, также через токоограничивающий резистор R-25.

К выводам RX0/TX0 внутреннего аппаратного последовательного порта микроконтроллера подключен преобразователь уровней DD4 MAX232, предназначенный для преобразования TTL или CMOS логических сигналов в сигналы порта RS232 и обратно. Данный преобразователь уровней имеет встроенный повышающий и инвертирующий источники напряжения и требует для своей работы наличия внешних конденсаторов C6-C9.

Питание схемы осуществляется от внешнего двуполярного источника с напряжениями +5В и -5В. Питание осуществляется через разъем X8, на тот же разъем выведены линии RX и TX порта RS232. Конденсаторы по питанию C3, C5 устанавливаются вблизи микроконтроллера, C11, C12 вблизи операционных усилителей DA1-DA3, подключенных к обоим напряжениям питания, а конденсаторы C13-C14 - вблизи разъема X8.

3 Протокол обмена данными с компьютером

Разрабатываемая система отсылает один раз в 120 секунд пакет данных, содержащий значения отсчетов за прошедшее время и данные о наличии выхода сигналов за допустимые пределы.

Данный пакет содержит следующие данные:

Заголовок пакета – байты 0x55, 0x00

Длину пакета в байтах, исключая заголовок, длину и поле CRC – два байта, для обычного пакета – 0x41, 0x38, то есть 0x3841, или 14401 в десятичной форме.

Один байт, кодирующий младшими битами флаги переполнения каналов.

Данные АЦП каналов, по 4 байта на один отсчет, начиная с первого канала, 3600 отсчетов (данные за 120 секунд по 30 отсчетов в секунду). CRC пакета, полученную сложением по модулю 256 всех байтов пакета, исключая заголовок и CRC.

Каждый отсчет кодируется одним байтом в дополнительном коде, с приведением к шкале в заявленном диапазоне. Для каждого из 4 каналов после приема должен применяться коэффициент пересчета для получения входного напряжения. Коэффициент K получается делением максимального входного напряжения на 127:

Таблица 4

U

K

1

-15..15

0.118110236

2

-10..10

0.078740157

3

-1..1

0.007874016

4

-0.1..0.1

0.000787402

Например, для канала 2 значение 0В будет кодироваться как 0x00, 10В – как 0x7F, а -10В будет кодироваться как 0x81.

Один раз в 10 циклов передачи данных и при включении питания генерируется пакет, определяющий состояние системы. Пакет содержит следующие данные:

Пакет, определяющий что система работает нормально:

0xA5, 0x00, 0xAA,0xAA

Пакет, определяющий что есть ошибки системы:

0xA5, 0x00, 0xFF, 0xFF

Для сброса флагов переполнения и отключения светодиодов используется пакет, отсылаемый с компьютера. Данный пакет содержит следующие данные:

Заголовок пакета – байты 0xAA,0x00

Байт, определяющий сбрасываемые флаги. Единица в соответствующем бите указывает, что данный флаг должен быть сброшен.

CRC, равное предыдущему байту, поскольку байт всего один.

Соседние файлы в папке Материалы