←ïðåäûäóùàÿ ñëåäóþùàÿ→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
äëÿ îäíîãî¦ 0Bh ¦
¦ ¦ ¦ èç êàíàëîâ ÏÄÏ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦ 0D8h ¦ çàïèñü ¦ Î÷èñòêà (ñáðîñ) òðèããåðà-çàùåëêè ¦ 0Ch ¦
¦ ¦ ¦ (òðèããåðà ïåðâîãî/ïîñëåäíåãî) ¦ ¦
¦ ¦ ¦ ¦ ¦
¦ 0DAh ¦ çàïèñü ¦ Ïðîãðàììíûé ñáðîñ êîíòðîëëåðà ¦ 0Dh ¦
¦ ¦ ¦ ¦ ¦
¦ 0DCh ¦ çàïèñü ¦ Î÷èñòêà áèòîâ ìàñîê âñåõ êàíàëîâ ¦ 0Eh ¦
¦ ¦ ¦ ¦ ¦
¦ 0DEh ¦ çàïèñü ¦ Çàïèñü ðåãèñòðà ìàñîê äëÿ âñåõ 4-õ¦ 0Fh ¦
¦ ¦ ¦ êàíàëîâ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦ 0DAh ¦ ÷òåíèå ¦ ×òåíèå ðàáî÷åãî ðåãèñòðà ÏÄÏ ¦ 0Dh ¦
¦ ¦ ¦ ¦ ¦
L------+--------+-----------------------------------+----------
3. Ïðîãðàììèðóåìûé êîíòðîëëåð ïðåðûâàíèé
Ïðîãðàììèðóåìûé êîíòðîëëåð ïðåðûâàíèé (ÏÊÏ, Programmable Interrupt Controller, PIC) ðåàëèçóåò âåêòîðíóþ ñèñòåìó
ïðåðûâàíèé. Ìèêðîñõåìà 8259À ôèðìû Intel (ñîâåòñêèé àíàëîã ÊÐ580ÂÍ59), à òàê æå åå ìîäèôèêàöèè 8259À-2 è 8259À-8, ïîääåðæèâàåò 8 óðîâíåé ïðåðûâàíèé îò âîñüìè ðàçëè÷íûõ óñòðîéñòâ. Îñíîâíûå ôóíêöèè êîíòðîëëåðà:
- ôèêñàöèÿ çàïðîñîâ íà ïðåðûâàíèÿ îò âîñüìè âíåøíèõ èñòî÷íèêîâ;
- ïðîãðàììíîå ìàñêèðîâàíèå ïîñòóïàþùèõ çàïðîñîâ;
- ïðèñâîåíèå ôèêñèðîâàííûõ èëè öèêëè÷åñêè èçìåíÿåìûõ ïðèîðèòåòîâ âõîäàì êîíòðîëëåðà, íà êîòîðûå ïîñòóïàþò çàïðîñû;
- èíèöèàöèÿ âûçîâà ïðîöåäóðû îáðàáîòêè ïîñòóïèâøåãî àïïàðàòíîãî ïðåðûâàíèÿ.
Êîëè÷åñòâî îáñëóæèâàåìûõ âíåøíèõ èñòî÷íèêîâ ïðåðûâàíèé ìîæåò áûòü óâåëè÷åíî ïóòåì êàñêàäèðîâàíèÿ íåñêîëüêèõ
êîíòðîëëåðîâ.
Ðàñïîëîæåíèå âûâîäîâ ìèêðîñõåìû êîíòðîëëåðà 8259A
ïðèâåäåíî íà ðèñóíêå.
-------------¬ -------------¬
__ ¦ L--- ¦
CS -¦ 1 28 ¦- Vcc
__ ¦ ¦
WR -¦ 2 27 ¦- A0
__ ¦ ¦ ____
RD -¦ 3 26 ¦- INTA ¦ ¦
D7 -¦ 4 25 ¦- IR7
¦ ¦
D6 -¦ 5 24 ¦- IR6
¦ ¦
D5 -¦ 6 23 ¦- IR5
¦ ¦
D4 -¦ 7 22 ¦- IR4
¦ ¦
D3 -¦ 8 21 ¦- IR3
¦ ¦
D2 -¦ 9 20 ¦- IR2
¦ ¦
D1 -¦ 10 19 ¦- IR1
¦ ¦
D0 -¦ 11 18 ¦- IR0
¦ ¦
CAS0 -¦ 12 17 ¦- INT
¦ ¦ __ __
CAS1 -¦ 13 16 ¦- SP/EN
¦ ¦
GND -¦ 14 15 ¦- CAS2
¦ ¦
L-----------------------------
------------T----------T---------------------------------------¬ ¦Îáîçíà÷åíèå¦Òèï âûâîäঠÍàçíà÷åíèå ¦
+-----------+----------+---------------------------------------+ ¦ Vcc ¦ - ¦ Ïèòàíèå + 5 Â ¦
¦ ¦ ¦ ¦
¦ GND ¦ - ¦ Îáùèé (çåìëÿ) ¦
¦ __ ¦ ¦ ¦
¦ CS ¦ âõîä ¦ Âûáîð ìèêðîñõåìû ¦
¦ __ ¦ ¦ ¦
¦ RD ¦ âõîä ¦ ×òåíèå ¦
¦ __ ¦ ¦ ¦
¦ WR ¦ âõîä ¦ Çàïèñü ¦
¦ ¦ ¦ ¦
¦ D0-D7 ¦äâóíàïðàâ-¦ Âûâîäû íà øèíó äàííûõ ¦
¦ ¦ëåííûå ¦ ¦
¦ ¦âûâîäû ¦ ¦
¦ ¦ ¦ ¦
¦ CAS0-CAS2 ¦ âõîäû/ ¦ Äëÿ âåäóùåãî êîíòðîëëåðà ÿâëÿþòñÿ ¦
¦ ¦ âûõîäû ¦ âûõîäàìè, äëÿ âñåõ âåäîìûõ âõîäàìè. ¦
¦ ¦ ¦ Ïðåäíàçíà÷åíû äëÿ ïåðåäà÷è âåäóùèì ¦
¦ ¦ ¦ èíôîðìàöèè äëÿ âûáîðà íåîáõîäèìîãî ¦
¦ ¦ ¦ âåäîìîãî. ¦
¦ __ __ ¦ ¦ ¦
¦ SP/EN ¦ âõîä ¦ Âûáîð âåäóùåãî êîíòðîëëåðà ¦
¦ ¦ ¦ ¦
¦ INT ¦ âûõîä ¦ Çàïðîñ íà ïðåðûâàíèÿ ¦
¦ ____ ¦ ¦ ¦
¦ INTA ¦ âõîä ¦ Ïîäòâåðæäåíèå ïðåðûâàíèÿ ¦
¦ ¦ ¦ ¦
¦ A0 ¦ âõîä ¦ Âûáîð ðåãèñòðîâ êîíòðîëëåðà ¦
¦ ¦ ¦ ¦
¦ IR0-IR7 ¦ âõîäû ¦ Âõîäû çàïðîñîâ íà ïðåðûâàíèÿ îò ¦
¦ ¦ ¦ âíåøíèõ èñòî÷íèêîâ. ¦
L-----------+----------+----------------------------------------
 ñîñòàâ êîíòðîëëåðà âõîäÿò:
- ñõåìà óïðàâëåíèÿ ÷òåíèåì/çàïèñüþ;
- ñõåìà óïðàâëåíèÿ;
- ñõåìà êàñêàäèðîâàíèÿ;
- ðåãèñòð çàïðîñîâ íà ïðåðûâàíèÿ;
- ñõåìà îáðàáîòêè ïðèîðèòåòîâ;
- ðåãèñòð ñîñòîÿíèÿ;
- ðåãèñòð ìàñêèðîâàíèÿ çàïðîñîâ íà ïðåðûâàíèÿ.
ÏÊÏ ìîæåò íàõîäèòüñÿ â äâóõ îñíîâíûõ ñîñòîÿíèÿõ: íàñòðîéêè è îáñëóæèâàíèÿ çàïðîñîâ íà ïðåðûâàíèÿ. Â ñîñòîÿíèè íàñòðîéêè êîíòðîëëåð ïðèíèìàåò óïðàâëÿþùèå ñëîâà èíèöèàëèçàöèè
(Initialization Command Words, ICW), â ñîñòîÿíèè îáñëóæèâàíèÿ îïåðàöèîííûå óïðàâëÿþùèå ñëîâà (Operation Control Words, OCW). Âîçìîæíû íåñêîëüêî ðåæèìîâ îáñëóæèâàíèÿ èñòî÷íèêîâ ïðåðûâàíèé:
- ðåæèì ôèêñèðîâàííûõ ïðèîðèòåòîâ ïî ïî óðîâíÿì ïðåðûâàíèé; - äâà ðàçëè÷íûõ âàðèàíòà öèêëè÷åñêîãî ñäâèãà ïðèîðèòåòîâ;
- ðåæèì àâòîìàòè÷åñêîãî çàâåðøåíèÿ îáðàáîòêè ïðåðûâàíèÿ;
- ðåæèì ñïåöèàëüíîãî ìàñêèðîâàíèÿ;
- ðåæèì îïðîñà óñòðîéñòâ.
3.1.Îïèñàíèå îñíîâíûõ ýëåìåíòîâ ÏÊÏ
Ñõåìà óïðàâëåíèÿ ÷òåíèåì/çàïèñüþ (Read/Write Control
Logic). Îñíîâíîé ôóíêöèåé ýòîãî áëîêà ÿâëÿåòñÿ ïðèåì êîìàíä îò ìèêðîïðîöåññîðà è ïåðåäà÷à åìó èíôîðìàöèè î ñîñòîÿíèè ÏÊÏ. Îáìåí ñ ìèêðîïðîöåññîðîì îñóùåñòâëÿåòñÿ ÷åðåç ñïåöèàëüíûé 8-ðàçðÿäíûé áóôåð äàííûõ (Data Bus Buffer), ÿâëÿþùèéñÿ èíòåðôåéñîì ìåæäó ÏÊÏ è øèíîé äàííûõ.  ñîñòàâ áëîêà âõîäÿò ðåãèñòðû óïðàâëÿþùèõ
←ïðåäûäóùàÿ ñëåäóþùàÿ→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
|
|