Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Структурная схема программируемого таймера.

Поиск

 

Программирование:

 

Программируемый таймер относится к классу функционально ориентированных программно управляемых интерфейсных БИС. Перед началом работы в него нужно загрузить управляющее слово и константу пересчета. Управляющее слово задает один из 6 режимов работы, тип счета, порядок загрузки и размерность константы пересчета (1 или 2 байта). Время-импульсная функция формируется на выходе OUT при GATA=1. Формирование функции производится с помощью счетчика таймера, работающего в режиме вычитания по срезу сигнала CLK. Программист может определить состояние каналов программируемого

 


таймера с помощью специальных команд:

- «защелка» (чтение на лету) - CLC;

- чтение состояния канала - RBC.

Эти команды позволяют, не прерывая счета, опросить состояние счетчика таймера CE. Команда RBC позволяет прочитать содержимое регистра состояния канала, разряды которого несут информацию о запрограммированном режиме, состоянии выхода OUT и флаге обновления.

 

Управляющее слово (CW):

Управляющее слово загружается в регистры RCWn каналов программируемого таймера по командам вывода, формирующим на входах программируемого таймера коды:

А0, А1

CS = 0

WR = 0

RD = 0

Формат управляющего слова

D7 D0

 

BCD - задает тип счета:

0 - двоичный

1 - двоично-десятичный

 

М2 М1 М0 - задают № режима:

0 0 0 - режим 0

0 0 1 - режим 1

х 1 0 - режим 2

х 1 1 - режим 3

1 0 0 - режим 4

1 0 1 - режим 5

 

RW1 RW0 - задают код порядка загрузки констант:

0 0 - код команды CLC

0 1 - чтение/запись старшего байта

1 0 - чтение/запись младшего байта

1 1 - чтение/запись младшего, затем старшего байтов

 

SC1 SC0 - задают № канала:

0 0 - канал 0

0 1 - канал 1

1 0 - канал 2

1 1 - код команды RBC

 

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


Загрузка управляющего слова должна предшествовать загрузке констант.

В формате управляющего слова можно выделить 4 функциональных поля, с помощью которых задаются основные параметры работы канала:

- поле SC (D7,D6) - определяет адрес регистра RCWn конкретного канала;

если код =11, то это команда для чтения состояния канала (RBC);

- поле RW (D5,D4) - определяет размерность и порядок загрузки констант; если

в поле RW=00, то загружаемый код воспринимается как команда «защелка» (CLC);

- поле М (D3,D2,D1) - задает один из 6 режимов работы канала:

режим 0 - прерывание от таймера;

режим 1 - программируемый ждущий одновибратор;

режим 2 - импульсный генератор частоты;

режим 3 - генератор импульсов со скважностью 2;

режим 4 - программно запускаемый одновибратор;

режим 5 - аппаратно запускаемый одновибратор;

- поле BCD (D0) - определяет тип счета:

=0 - константа задается в двоичном коде и может принимать значения в

диапазоне от 0 до 65635;

=1 - константа задается в двоично-десятичном коде и может принимать

значения в диапазоне от 0 до 9999.

После загрузки управляющего слова необходимо загрузить в регистры каналов соответствующие константы пересчета. Порядок загрузки каналов управляющим словом и константами строго определен. Возможны 2 варианта:

- загрузка в любой последовательности управляющего слова, а затем констант

пересчета;

- загрузка управляющего слова, загрузка констант и т.д.

 

Общие и обязательные требования для загрузки управляющего слова и констант:

- загрузка управляющего слова должна опережать загрузку констант;

- загрузка констант должна выполняться до конца, как определено разрядами RW.

 

Состояние счетчика таймера CEn можно прочесть тремя способами:

 

1) Чтение по обычным командам ввода позволяет прочесть состояние счетчика CEn в любое время. Выполняется с помощью обычных команд ввода с адресом, формирующим на входах А0,А1 код соответствующего канала. Необходимым условием для выполнения этой операции является остановка счета перед выполнением команды чтения (GATA=0). Операцию чтения необходимо выполнить до конца.

2) Чтение по CLC позволяет прочитать состояние CEn в любое время без остановки счета. Для этого нужно загрузить эту команду в определенный момент времени. Она загружается в программируемый таймер также, как и управляющее слово.

 

Формат управляющего слова (команда CLC).

D7 D0

 

SC1 SC0 - задают № канала:


0 0 - канал 0

0 1 - канал 1

1 0 - канал 2

1 1 - код RBC

D7,D6 - задают адрес защелкиваемого канала. Они не могут принимать значения =11.

D5,D4 - задают код команды CLC.

D3,D2,D1,D0 - не участвуют в операции.

После загрузки CLC, выполняется операция чтения также, как и в 1-ом способе, но без снятия GATA. Прочитать CLn можно только после выполнения хотя бы одного цикла в CEn. Если операция чтения CLn не выполнена или выполнена не до конца, то новая команда CLC не будет восприниматься.

3) Чтение счетчика таймера CEn по команде RBC - чтение состояния канала - позволяет в любой момент времени прочитать слово состояния канала SW и выполнить операцию «защелки» одного или нескольких каналов одновременно. Эта команда загружается в программируемый таймер так же, как и управляющее слово.

Формат управляющего слова (команда RBC).

D7 D0

D7,D6 - код команды RBC

D5 - если =0, то «защелка» канала, указанного в D1,D2,D3

D4 - если =0, то считать состояние каналов, указанных в D1,D2,D3

D3 - канал 2

D2 - канал 1

D1 - канал 0

Слово состояние канала (SW):

Каждый канал имеет регистр слова состояния RS, его формат:

D7 D0

 

BCD - задает тип счета:

0 - двоичный

1 - двоично-десятичный

 

М2 М1 М0 - задают № режима:

0 0 0 - режим 0

0 0 1 - режим 1

0 1 0 - режим 2

0 1 1 - режим 3

1 0 0 - режим 4

1 0 1 - режим 5

 

RW1 RW0 - задают код порядка загрузки констант:

 


0 0 - CLC

0 1 - чтение/запись старшего байта

1 0 - чтение/запись младшего байта

1 1 - чтение/запись младшего, затем старшего байтов

 

FN - флаг перезагрузки констант канала:

0 - регистр CR свободен

1 - регистр CR занят

 

OUT - состояние выхода канала

 

В процессе работы канала изменяются только 2 старших бита слова состояния (D7,D6). Остальные разряды соответствуют разрядам ранее загруженного управляющего слова, которое позволяет контролировать правильность его загрузки.

D7 - несет информацию о состоянии выхода OUT в момент выполнения команды RBC.

D6 - является флагом обновления регистра констант CRn. Этот флаг особенно необходим для режимов 1 и 5. Позволяет определить произошла ли загрузка констант из CRn в CEn или нет (загрузка производится по фронту GATA). Если FN=0, то произошла перезагрузка и CRn можно использовать для загрузки новой константы.

 

Результаты выполнения команды RBC читаются по адресам указанных в команде RBC каналов в следующем порядке: сначала RS, затем младший и старший байты счетчика.



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 184; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.171.121 (0.006 с.)