Формат приказов ICW

 

Каждый приказ - 8 бит

 

ICW1 – определяет особенности и последовательность приказов. Отправляется в порт 20h.

 


Бит 0 = 1 – управляющее слово ICW4 будет в данной последовательности приказов.

Бит 1 = 0 – каскадное включение контроллеров, 1 – одиночное включение контроллера.

Бит 4 – «1» признак первого приказа.

Остальные биты не рассматриваются.

 

ICW2 – определение базового адреса векторов прерываний. Это слово отправляется в порт 21h.

 
 

 


В реальном режиме ОС это определено: для ведущего- 08h, для ведомого – 70h.

Для записи базового вектора используются биты 3,4,5,6,7.

 

ICW3 – определяет связь контроллеров. Приказ позволяет каскадировать контроллеры: выход ведомого подключается к одному из входов ведущего. Здесь надо указать, к какому входу подключать выход ведомого. Приказ отправляется в порт 21h.

Для ведущего контроллера формат приказа:

 
 

 


Если к входу irq2 подключен ведомый контроллер, то в
соответствующем разряде устанавливается «1».

«0» означает что к входу подключено внешнее устройство.

 

ICW3– для ведомого контроллера первые 4 разряда приказа отведены под запись того номера входа, к которому подключается выход ведомого.

 

ICW4 – приказ передается в порт 21h

 
 

 

 


Бит 0 – «1» режим 16-разрядного микропроцессора

«0» режим 32-разрядного микропроцессора

Бит 1 – «0» сброс бита в регистре ISR производит программа обработки,

«1» сброс этого бита осуществляет микропроцессор.

Бит 2 – «0» данный контроллер ведомый

«1» данный контроллер ведущий

Бит 3 – «0» системная шина не буферизирована

«1» системная шина буферизирована