Смекни!
smekni.com

Микроконтроллер 8250 (стр. 2 из 4)

Разряды 0 и 1: эти два разряда определяют количество битов в каждой передаваемой или принимаемой последовательности символов. Кодирование битов 0 и 1 следующее

Бит 1 | Бит 0 | Длина символа
0011 | 0| 1| 0| 1 | 5 бит| 6 бит| 7 бит| 8 бит

Разряд 2: этот разряд определяет количество стоповых битов в последовательности символов. Если разряд 2 является лог.0, один стоповый бит формируется или контролируется при передаче или получении данных, соответственно. Если разряд 2 является лог.1 ( при выбранной разрядами 1 и 0 длине символа в 5-ть битов) формируется или контролируется 1,5 стоповых бита. Если разряд 2 является лог.1, при длине слова 6, 7 или 8 битов, формируется или проверяется два стоповых бита.

Разряд 3: это разряд разрешения паритета. Если бит 3 является лог.1, бит паритета формируется (передача данных) или контролируется (получение данных) между последним битом символа и стоповым битом последовательности данных (бит паритета используется для формирования четного или нечетного числа единиц при суммировании битов символа и бита паритета).

Разряд 4: этот бит является битом выбора проверки по паритету на четность. Если бит 3 является лог.1 и бит 4 является лог.0, нечетное число логических единиц передается или контролируется в битах информационного слова и бите паритета. Когда бит 3 является лог.1 и бит 4 является лог.1, передается или контролируется четное число битов.

Разряд 5: это бит фиксированного паритета. Когда бит 3 и бит 5 являются лог.1, бит паритета передается и затем определяется приемником в противоположном режиме, указанном битом 4.

Разряд 6: это бит управления прерыванием передачи. Когда бит 6 является лог.1, последовательный выход (SOUT) устанавливается в состояние пробела (лог.0) и находится в этом состоянии (до установки и исходное состояние битом 6 низкого уровня) независимо от других сигналов управления передачи. Эта особенность позволяет ЦПУ подключать терминал в систему связи ЭВМ.

Разряд 7: это бит доступа к регистру делителя ( DLAB ). Он должен быть на высоком уровне (лог.1) для доступа к регистрам делителя генератора скорости передачи при считывании или записи. Он должен быть на низком уровне (лог.0) для доступа к буферу приемника, регистру хранения информации передатчика или регистру разрешения прерывания.

ПРОГРАММИРУЕМЫЙ ГЕНЕРАТОР СКОРОСТИ ПЕРЕДАЧИ

Этот генератор может принимать любой входной

синхронизирующий сигнал ( до 3,1 МГц ) и делить его на любое

число от 1 до 2**16-1. Частота выхода генератора - 16 умножить

на скорость передачи в бодах. Два 8-ми битовых регистра хранят

число - делитель в 16-ти битовом двоичном коде. Эти регистры

делителя надо загрузить во время инициализации для обеспечения

требуемого режима работы генератора. При загрузке любого

регистра делителя, немедленно загружается 16-ти битовый

счетчик бодов. Это предотвротит работу счетчика без исходной

загрузки. Таблицы 3 и 4 иллюстрируют использование генератора

с двумя различными ведущими частотами.

Таблица 3 - использование кварца 1,8432 МГц.

Таблица 4 - использование кварца 3,072 МГц.

Примечание: максимальная частота генератора - 3,1 МГц. При использовании делителя 6 и меньших делителей, максимальная частота равна 1/2 значения делителя в МГц. Например, если делитель равен 1, максимальная частота равняется 1/2 МГц. Скорость передачи данных не должна превышать 56 Кбод.

Таблица 3

Применение кварца 1,8432 МГц в генераторе скорости передачи

Скорость в бодах Число-делитель синхронизации | Ошибка в %|
5075 110 134,5 150 300 60012001800200024003600480072009600 19200 38400 56000 2304153610478577683841929664584832241612632 | -| -| 0,026| 0,058| -| -| -| -| -| 0,69| -| -| -| -| -| -| -| 2,86

Примечание: 1,8432 МГц - это стандартная частота 8080, деленная на 10.

Таблица 4

Применение кварца 3,072 МГц в генераторе скорости передачи

Скорость в бодах Число-делитель синхронизации | Ошибка в %|
5075 110 134,5 150 300 60012001800200024003600480072009600 19200 38400 56000 38402560174514281280 640 320 160 10796805340272010 5 3 | -| -| 0,026| 0,034| -| -| -| -| -| -| -| 0,628| -| 1,23| -| -| -| 14,285

РЕГИСТР СОСТОЯНИЯ ЛИНИИ

Этот 8-ми битовый регистр предоставляет ЦПУ информацию о передаче данных. Формат регистра представлен в табл.2 и описан ниже.

Разряд 0:этот бит - индикатор готовности данных приемника (DR).Бит 0 устанавливается в состояние лог. 1, когда принят весь поступающий символ и передан на буферный регистр приемника.Бит 0 может быть сброшен в состояние лог. 0 либо при чтении ЦПУ данных в буферном регистре приемника, либо при записи ЦПУ лог. 0 в этот бит.

Разряд 1:этот бит является индикатором ошибки переполнения (ОЕ).Бит 1 указывает на то, что данные в буферном регистре приемника не были считаны ЦПУ до передачи следующего символа в буферный регистр приемника, разрушая этим предыдущий символ. Индикатор ОЕ сбрасывается при чтении ЦПУ содержимого регистра состояния линии.

Разряд 2:этот бит является индикатором ошибки паритета (PE). Бит 2 указывает на то, что символ принятых данных не имеет правильного четного или нечетного паритета, в соответствии с установленным битом выбора паритета. Бит РЕ устанавливается в состояние лог. 1 при обнаружении ошибки паритета и сбрасывается в лог. 0, когда ЦПУ считывает содержимое регистра состояния линии.

Разряд 3:этот бит является индикатором ошибки кадра (FE). Бит 3 указывает на то, что принятый знак не имеет истинного бита останова. Бит 3 устанавливается в лог. 1, когда бит останова, следующий за последним битом данных или битом паритета распознается как нулевой бит (уровень пробела).

Разряд 4:этот бит является индикатором прерывания передачи (BI). Бит 4 устанавливается в состояние лог. 1, если вход принимаемых данных удерживается в состоянии пробела (лог. 0) в течении времени, превышающего время передачи полного символа (т.е., общее время старт-бита + биты данных + паритет + биты останова). Примечание: Биты 1-4 идентифицируют ошибки, которые формируют

прерывание по состоянию линии приема при обнаружении

соответствующих условий.

Разряд 5:этот бит является индикатором "регистр хранения передатчика пуст" (THRE). Он указывает на то, что WD8250 готов принять новый символ для передачи. Кроме того, этот бит вызывает формирование WD8250 прерывания для ЦПУ, когда установлен высокий уровень разрешения прерывания по ситуации "регистр хранения передатчика пуст". Бит THRE устанавливается в состояние лог. 1, когда символ передан с регистра хранения передатчика на сдвиговый регистр передатчика. Бит сбрасывается в лог. 0 одновременно с загрузкой регистра хранения передатчика ЦПУ.

Разряд 6:этот бит является индикатором "сдвиговый регистр передатчика пуст" (TSRS). Бит 6 устванавливается в лог. 1, когда сдвиговый регистр передатчика бездействует. Он сбрасывается в состояние лог. 0, когда данные переданы с регистра хранения передатчика на сдвиговый регистр передатчика. Бит 6 - бит только чтения.

Разряд 7:этот бит постоянно установлен в состояние лог. 0.

РЕГИСТР ИДЕНТИФИКАЦИИ ПРЕРЫВАНИЯ

WD8250 имеет встроенную в ИМС возможность прерывания, которая обеспечивает гибкость при сопряжении наиболее часто используемых микропроцессоров, что позволяет использовать минимальный объем программного обеспичения при передаче символов данных при разделении прерываний WD8250 по приоритету на 4 уровня. Среди них - следующие условия формирования прерывания:

- состояние линнии приема (приоритет 1),

- готовность принимаемых данных (приоритет 2),

- регистр хранения передатчика пуст (приоритет 3),

- состояние модема (приоритет 4).

Информация, указывающая на то, что прерывание

упорядоченное по приоритету ждет,и указывающая на источник

этого прерывания записана в регистре идентификации прерывания

(см. табл. 5).При адресации регистра идентификации прерывания

(IIR) на время обращения к ИМС замораживается состояние самого

высокого по преоритету прерывания, а другие прерывания не

подтверждаются до тех пор, пока предыдущее прерывание не будет

обслужено ЦПУ. Содержимое IIR представлено в табл. 2 и

описывается ниже.

Разряд 0: этот бит может использоваться при программном опросе и указывает на ожидание прерывания. Когда бит 0 - лог. 0, прерывание ожидает, а содержимое IIR может использоваться в качестве указателя типа прерывания для программы обслуживания прерывания. Когда бит 0 - лог. 1, ожидающего прерывания нет, и опрос продолжается (если он используется).