Смекни!
smekni.com

Разработка универсального программного модуля (УПМ) для РЭУ (стр. 2 из 5)

2. Описание работы УПМ по схеме электрической структурной

Схема электрическая структурная УПМ, представленная на 11 листе, состоит из следующих устройств.

Микропроцессор PIC 16F877, имеющий встроенные модули АЦП, сигнала с ШИМ модуляцией, внутреннего таймера, FLASH-память данных и т.д. Он обеспечивает выполнение всех операций по вводу, обработке и выводу данных через любые доступные порты и интерфейсы.

Программатор Р16PRO предназначен для программирования макета через разъем Х6, подключаемый к LPT-порту инструментального РС-совместимого компьютера.

Стабилизатор служит для стабилизации напряжения питания, осуществляющегося через разъем Х9 от внешнего источника напряжением +12 В и током 250 мА.

Оптрон используется для развязки цифрового сигнала, поступающего через разъем Х4.

Семисегментные индикаторы HG1-HG4, подключенные к выводам портов RA (0–3) и RD (0–7).

Пьезоэлектрический излучатель ВА1 для формирования звуковых сигналов. Также макет содержит входной разъем аналогового сигнала Х1, выходной разъем сигнала с широтно-импульсной модуляцией (ШИМ) Х2. Управление макетом осуществляется кнопками SB1, SB2, SB3 и тумблером SA1, предназначенным для остановки и сброса микроконтроллера. Через разъем Х7 осуществляется передача по интерфейсу I2C. Перемычка J2 предназначена для подключения фильтра на выходе ШИМ, а J1 – для установки напряжения, необходимого для программирования PIC на слотах Х3, Х5.

В макете предусмотрена возможность расширения памяти данных путем подключения микросхем ОЗУ непосредственно к его шинам через разъем расширения Х8, а также слоты Х3 и Х5 для программирования микроконтроллеров серий 12ХХ и 16ХХ.

Рассмотрим работу схемы электрической принципиальной УПМ, представленной на листе 15, в положительной логике (уровень логической единицы U1=2,4В, уровень логического нуля U0= 0,45 В).

Сигналы с ZQ1 (кварцевого резонатора) поступают на входы OSC1 и OSC2 МП (DD2 БИС PIC16F877) (выводы 14, 15). МП обеспечивает выполнение операций по вводу, обработке и выводу данных через любые доступные порты и интерфейсы. От МП с выводов RA (0–3) и RD (0–7) по магистралям данные поступают на семисегментные индикаторы HG1-HG4. С контактов 21,22,23,24,30,31,32,33 данные из МП поступают в разъем расширения (Х8) на выводы D (0–7). Из МП с контактов 3,4,5,6 данные поступают в разъем расширения (Х8) на выводы А (0–3). С выводов RE (0–2) данные поступают из МП в разъем расширения (Х8) на выводы Е (0–2).С вывода 37 данные поступают на пьезоэлектрический излучатель для формирования звуковых сигналов. С выводов RC (0–7) данные из МП поступают на выводы С (0–7) разъема расширения. На входной разъем (Х1) поступает аналоговый сигнал, на выходной разъем (Х2) – сигнал с широтно-импульсной модуляцией (ШИМ), а на разъем Х4 поступает цифровой сигнал, для развязки которого используется оптрон (DD1).

Для управления устройством используются кнопки (SB1, SB2, SB3), которые устанавливаются программно. Данные от них поступают в МП на выводы 36,41,42. С тумблера (SA1) сигналы поступают в МП на вывод MCLR для остановки и сброса МП. Передача данных по интерфейсу I2C осуществляется сигналами, поступающими на выводы 20 и 25 МП с разъема Х7. Программирование устройства осуществляется с помощью программатора P16PRO через разъем Х6, подключаемый к LPT-порту инструментального РС-совместимого компьютера. Частотомер измеряет частоту сигнала, поданного на вход Х4 (вход PIC – RA4), в пределах 0–99 Гц. Сигналы напряжения питания с разъема Х9 поступают на вход стабилизатора напряжений DA1. Для питания необходим внешний источник напряжением +12В и током 250 мА. Работу схемы электрической принципиальной поясняют таблица истинности и временные диаграммы.

Таблица 1

RА0 RА3 RD0 RD7 RB0 RB7 RC0 RC7 A0 A3 D0 D7 c0 C7 RD WR RX PME RST
1 1 0 1 1 1 1 0 1 0 0 1 1
2 1 0 1 0 0 1 1 0 1 1 1 0
3 1 1 1 0 0 1 1 1 0 0 0 0
4 1 1 1 0 0 1 0 0 1 1 0 0
5 0 0 0 0 0 0 0 1 0 0 1 0
6 0 0 0 0 0 0 0 0 1 1 1 0
7 0 1 1 1 0 0 1 1 0 0 0 0
8 0 1 1 1 0 0 1 0 1 1 0 0

Рассмотрим работу микропроцессора БИС PIC16F877 в положительной логике, (уровень логической единицы U1=2,4 В, уровень логического нуля U0= 0,45 В).

В состав микропроцессора БИС PIC16F877 входят:

- Арифметико-логическое устройство

- Блок управления

- Блок таймеров

- Программный счетчик

- Память данных

- Память программ

- Порты ввода / вывода

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

Блок управления и синхронизации предназначен для выработки сигналов, обеспечивающих выполнение команд, и состоит из встроенного тактового генератора, к внешним выводам которого, OSC1, OSC2 (выводы 14, 15), подключается кварцевый резонатор, формирователя внутренних тактовых сигналов и формирователя сигналов состояний и режимов работы.

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

Программный счетчик предназначен для формирования текущего 16-разрядного адреса программной памяти и 8/16-разрядного адреса внешней памяти данных. Память данных предназначена для приема, хранения и выдачи данных, полученных в процессе выполнения программ. Ячейки памяти разбиты на два банка регистров общего назначения; с адресами ООН-О7Н – банк 0 и с адресами 18H-1FH – банк 1.

Также существует возможность расширения памяти данных путем подключения микросхем ОЗУ емкостью до 256 байт. Микропроцессор может работать в следующих режимах: проверка программной памяти; режим работы с внутренней памятью; режим работы с внешней памятью; режим пошагового выполнения команд. Режимы работы устанавливается комбинацией входных и выходных сигналов.

Для начального сброса микропроцессора необходимо подать единицу на вход MCLR (RST, вывод 2). Для выбора режима работы с внешней памятью, 0 подается на вход RB2 (вывод 11). После чего происходит обращение во внешнюю память. При этом на выходе ALE (RB2, вывод 38) появляется ноль для фиксации младшего байта адреса. Считывание команды из внешней памяти производится сигналом нуля на выходе РМБ (RE2, вывод 11). Прием кода команды из памяти производится через порт RD0-RD7. После обработки команды происходит второе обращение во внешнюю память, по сигналу RD, для извлечения данных. Извлеченная информация записывается во внешнее устройство сигналом 0 на выходе RE1 (WR, вывод 16). Работу микропроцессора БИС PIC16F877 поясняет таблица 3.

Таблица 2

Обозначение выводов № выводов Описание выводов
OSC1/CLKTN 14 Вход генератора / вход внешнего тактового сигнала
OSC2/CLKOUT 15 Выход генератора. Подключается кварцевый или керамический резонатор.
– MCLR/Vpp 2 Вход сброса микроконтроллера или вход напряжения программирования. Сброс микроконтроллера происходит при низком логическом уровне сигнала на входе.
RA0/AN0 RA1/AN1 RA2/AN2/Vref- RA3/AN3/Vref+ RA4/T0CKI RA5/-SS/AN4 3 4 5 6 7 8 Двунаправленный порт ввода / вывода PORTA. RA0 может быть настроен как аналоговый канал 0 RA1 может быть настроен как аналоговый канал 1 RA2 может быть настроен как аналоговый канал 2 или вход отрицательного опорного напряжения R А 3 может быть настроен как аналоговый канал 3 или вход положительного опорного напряжения RA4 может использоваться в качестве входа внешнего тактового сигнала для TMR0. Выход с открытым стоком. RA5 может быть настроен как аналоговый канал 1 или вход выбора микросхемы в режиме ведомого SPI
RBO/INT RB1 RB2/ALE RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 36 37 38 39 40 41 42 43 44 Двунаправленный порт ввода / вывода PORTB. RB0 может использоваться в качестве входа внешних прерываний. RB2 – выход строб. Сигнала адреса внеш. памяти программ и данных (разрешение фиксации адреса). RB3 может использоваться в качестве входа для режима низковольтного программирования. Прерывания по изменению уровня входного сигнала. Прерывания по изменению уровня входного сигнала. Прерывания по изменению уровня входного сигнала или вывод для режима внутрисхемной отладки ICD. Тактовый вход в режиме программирования. Вывод данных в режиме программирования.
RC0/T1OSO/T1CKI RCl/Т1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT 16 18 19 20 25 26 27 29 Двунаправленный порт ввода / вывода PORTC RC0 может использоваться в качестве выхода генератора TMR1 или входа внешнего тактового сигнала для TMR1. RC1 может использоваться в качестве входа генератора для TMR1 или вывода модуля ССР2. RC2 может использоваться в качестве вывода модуля ССР1. RC3 может использоваться в качестве входа / выхода тактового сигнала в режиме SPIhI2C. RC4 может использоваться в качестве входа данных в режиме SPI или вход / выход данных в режиме 12С. RC5 может использоваться в качестве выхода данных в режиме SPI. RC6 может использоваться в качестве вывода передатчика USART в асинхронном режиме или вывода синхронизации USART в синхронном режиме. RC7 может использоваться в качестве вывода приемника USART в асинхронном режиме или вывода данных USART в синхронном режиме.
RDO/PSPO RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 21 22 23 24 30 31 32 33 Двунаправленный порт ввода / вывода PORTD. Выход адреса RD0-RD7

Таблица 3