Èìÿ: KBDCntr-1.1
Îñíîâàí/Çàâåðøåí: èþíü 2001ã / ôåâðàëü 2002ã
Ó÷àñòíèêè: Ðîìàí Ñàâî÷åíêî (àâòîð, ðàçðàáîò÷èê)
Îïèñàíèå: Ïðîåêò KBDCntr-1.1 ÿâëÿåòñÿ ÷àñòüþ ïðîãðàììíîãî ïðîåêòà Complex2 è ïðåäíàçíà÷åí äëÿ ñîçäàíèÿ ðàñøèðåííîãî êîíòðîëëåðà òåõíîëîãè÷åñêîé êëàâèàòóðû.
Ìàòåðèàëû: Subversion Àðõèâ KBDCntr, Ôîòîãàëåðåÿ (?)
| |
1 Öåëè
Íåîáõîäèìîñòü ñîçäàíèÿ íîâîãî êîíòðîëëåðà òåõíîëîãè÷åñêîé êëàâèàòóðû âîçíèêëà â ïðîöåññå ðåàëèçàöèè ïðîåêòà SCADA ñèñòåìû "Complex2". Ïðè÷èíîé òîìó ÿâèëîñü òî, ÷òî SCADA "Complex2", òåõíîëîãè÷åñêàÿ êëàâèàòóðà è ãîâîðÿùàÿ ñèñòåìà ÿâëÿþòñÿ êëþ÷åâûìè ýëåìåíòàìè Óíèôèöèðîâàííîãî Ïðîãðàììíî-Òåõíè÷åñêîãî Êîìïëåêñà (ÓÏÒÊ) "ÄIß", ñëåäîâàòåëüíî ñóùåñòâåííûå îãðàíè÷åíèÿ îäíîãî óçëà ìîãóò çíà÷èòåëüíî îãðàíè÷èòü ôóíêöèè ñèñòåìû â öåëîì.
Ñòàðûé êîíòðîëëåð (êîíòðîëëåð êëàâèàòóðû) èìåë ñëåäóþùèå ñóùåñòâåííûå íåäîñòàòêè:
- Ãåíåðàöèÿ òîëüêî ñêàíêîäîâ íàæàòèÿ.
- Ãåíåðàöèÿ òîëüêî îäíîáàéòíûõ ïîñëåäîâàòåëüíîñòåé ñêàíêîäà.
- Íåâîçìîæíîñòü, è äàæå îïàñíîñòü äëÿ êîíòðîëëåðà, îäíîâðåìåííîãî íàæàòèÿ íåñêîëüêèõ êëàâèø.
- Íåâîçìîæíîñòü ïðîñòîé ìîäèôèêàöèè ìèêðîïðîãðàììû êîíòðîëëåðà.
- Íåñîãëàñîâàííîñòü ñêàíêîäîâ äàííîãî êîíòðîëëåðà ñî ñêàíêîäàìè ñòàíäàðòíîé îôèñíîé êëàâèàòóðû. Êàê ñëåäñòâèå — ïðîáëåìû ñ íåêîòîðûìè ñîâðåìåííûìè ÎÑ.
- Çàâèñèìîñòü ÿðêîñòè îòäåëüíîãî ñâåòîäèîäà îò îáùåãî êîëè÷åñòâà çàææåííûõ.
- Òåõíè÷åñêàÿ èçáûòî÷íîñòü.
Èñõîäÿ èç âûøåïåðå÷èñëåííûõ îãðàíè÷åíèé ïðåäûäóùåé ðàçðàáîòêè ôîðìèðîâàëèñü öåëè íîâîé ðàçðàáîòêè:
- Ãåíåðàöèÿ êàê ñêàíêîäîâ íàæàòèÿ, òàê è ñêàíêîäîâ îòïóñêàíèÿ.
- Ïîääåðæêà ìíîãîáàéòîâûõ ïîñëåäîâàòåëüíîñòåé ñêàíêîäà.
- Ïîääåðæêà íàæàòèé ñ óäåðæàíèåì îäíîé èëè íåñêîëüêèõ êëàâèø.
- Äîñòóïíîñòü ïðîñòîé ìîäèôèêàöèè ìèêðîïðîãðàììû êîíòðîëëåðà.
- Ñîãëàñîâàíèå ñêàíêîäîâ ñ îôèñíîé êëàâèàòóðîé è âîçìîæíîñòü ïðîñòîé ñìåíû òàáëèöû ïîñëåäîâàòåëüíîñòåé ñêàíêîäîâ.
- Íåçàâèñèìîñòü ÿðêîñòè ñâå÷åíèÿ ñâåòîäèîäîâ îò îáùåãî êîëè÷åñòâà çàææåííûõ.
- Ïîääåðæêà àóòåíòèôèêàöèè êëþ÷îì.
- Óñòðàíåíèå òåõíè÷åñêîé èçáûòî÷íîñòè.
2 Ðàçðàáîòêà
Ïðîåêò ðàçðàáîòêè íîâîãî êîíòðîëëåðà òåõíîëîãè÷åñêîé êëàâèàòóðû îñíîâàí â èþëå 2001ã.
Ïåðâîî÷åðåäíîé çàäà÷åé áûëî ïîëó÷åíèå èñõîäíîé ìèêðîïðîãðàììû èìåþùåãîñÿ êîíòðîëëåðà. Çàäà÷ó óäàëîñü ðåøèòü áëàãîäàðÿ íàëè÷èþ âåðñèé êîíòðîëëåðà, èñïîëüçóþùåãî âíåøíþþ ÏÇÓ íà îñíîâå ìèêðîñõåìû ÊÐ573ÐÔ2. Äèçàññåìáëèðîâàííàÿ ìèêðîïðîãðàììà ïîñëóæèëà îñíîâîé äëÿ íîâîé ðàçðàáîòêè. Èñõîäÿ èç ïðèíöèïà îòêðûòûõ èñõîäíèêîâ (Open Source) èñõîäíûå òåêñòû ìîäèôèöèðîâàííîé ïðîãðàììû ïóáëèêóþòñÿ ïîä îòêðûòîé ëèöåíçèåé GPL.
Äàëüíåéøàÿ ðàçðàáîòêà øëà â îáëàñòè ñõåìîòåõíèêè.  ðàìêàõ ïðîåêòà êîíòðîëëåðà êëàâèàòóðû áûëè ïðèíÿòû ñëåäóþùèå ñõåìîòåõíè÷åñêèå ðåøåíèÿ:
-  êà÷åñòâå ìèêðîïðîöåññîðíîãî ÿäðà ðàçðàáîòêè áûë âûáðàí îäíîêðèñòàëüíûé ìèêðîêîíòðîëëåð ôèðìû ATMEL AT89C4051. Îñíîâàíèåì äëÿ âûáîðà äàííîãî ìèêðîïðîöåññîðíîãî êîíòðîëëåðà ïîñëóæèëî:
- ñîâìåñòèìîñòü ñ ìèêðîïðîöåññîðíûìè êîíòðîëëåðàìè ñåìåéñòâà MCS®51
- âñòðîåííàÿ ôëåø ïàìÿòü îáú¸ìîì 4êá;
- äâà ïîðòà ââîäà/âûâîäà (15 áèò);
- êîìïàêòíîñòü èñïîëíåíèÿ: 20pin DIP.
- Äëÿ îáâÿçêè ìèêðîïðîöåññîðà èñïîëüçîâàíû îòå÷åñòâåííûå ìèêðîñõåìû ñåðèè ÊÐ1533.
- Äëÿ îáåñïå÷åíèÿ âîçìîæíîñòè îäíîâðåìåííîãî íàæàòèÿ íåñêîëüêèõ êëàâèø äîáàâëåíà äèîäíàÿ ðàçâÿçêà.
- Óïðàâëåíèå ñâåòîäèîäàìè âûïîëíåíî íà îñíîâå òðàíçèñòîðîâ ÊÒ817à â êëþ÷åâîì ðåæèìå ñ ïîäïîðîì ïðÿìîñìåù¸ííûì äèîäîì â ýìèòîðå.
Áëàãîäàðÿ âñòðîåííîé (4êá) ôëåø-ïàìÿòè, ñîâìåñòíî ñ óñòàíîâêîé ìèêðîïðîöåññîðà íà ïàíåëü, óäàëîñü äîñòè÷ü ïðîñòîé ìîäèôèêàöèè, à çà ñ÷¸ò êîìïàêòíîãî èñïîëíåíèÿ èñêëþ÷èòü èçáûòî÷íîñòü.
Ðàçðàáîòêà çàâåðøåíà â ôåâðàëå 2002ã.  êà÷åñòâå ðåçóëüòàòîâ ðàçðàáîòêè ïðåäîñòàâëåí êîìïëåêò äîêóìåíòàöèè è ïîëíîñòüþ ôóíêöèîíèðóþùèé îïûòíûé îáðàçåö (ðèñ. 1)

Ðèñ. 1. Îïûòíûé îáðàçåö êîíòðîëëåðà êëàâèàòóðû.
3 Ìàòåðèàëû
Èñïîëüçîâàííûå ïðîãðàììíî-òåõíè÷åñêèå ñðåäñòâà
- Äëÿ ðàçðàáîòêè ìèêðîïðîãðàììû êîíòðîëëåðà èñïîëüçîâàí êîìïèëÿòîð èç àññåìáëåðà ïðîöåññîðîâ 51 ñåðèè: asm51.exe. Êîìïèëÿòîð ðàáîòàåò â ñðåäå DOS èëè ëþáîãî DOS-ýìóëÿòîðà, íàïðèìåð DosEmu.
- Ñáîðêà îáðàçà ìèêðîïðîãðàììû âûïîëíÿëàñü óòèëèòîé: hex2bin.exe. Óòèëèòà ðàáîòàåò â ñðåäå DOS èëè ëþáîãî DOS-ýìóëÿòîðà, íàïðèìåð DosEmu.
- Ïðîãðàììèðîâàíèå AT89C4051 âûïîëíÿëîñü ïðîãðàììàòîðîì Unipro ñ ïîìîùüþ åãî ïðîãðàììû UniPro v4.2. Óòèëèòà ðàáîòàåò â ñðåäå DOS èëè ëþáîãî DOS-ýìóëÿòîðà, íàïðèìåð DosEmu.
-  ïðîöåññå ïðîåêòèðîâàíèÿ ïå÷àòíîé ïëàòû èñïîëüçîâàëñÿ ïàêåò PCAD8.
-  ïðîöåññå ðàçðàáîòêè êîíñòðóêòîðñêèõ ÷åðòåæåé èñïîëüçîâàíî ïðîãðàììó
QCAD. QCAD ÿâëÿåòñÿ ñâîáîäíûì è êðîññïëàòôîðìåííûì ïðèëîæåíèåì.
- Äîêóìåíòàöèÿ ïî ïðîåêòó âûïîëíåíà â îôèñíîì ïàêåòå
OpenOfiice. OpenOfiice ÿâëÿåòñÿ ñâîáîäíûì è êðîññïëàòôîðìåííûì ïðèëîæåíèåì.
Òåõíè÷åñêàÿ äîêóìåíòàöèÿ
Âñå ìàòåðèàëû ïðîåêòà äîñòóïíû íà CVS: cvs -d:pserver:guest@diyaorg.dp.ua:/var/local/projects/CVS_R co TechKBD
Àðõèâû ñðåçîâ CVS ìîæíî
çàãðóçèòü ñ ftp-ñåðâåðà ÍÈÏ "ÄIß".
Ôîòîãðàôèè êîíòðîëëåðà êëàâèàòóðû ìîæíî ïîñìîòðåòü íà
ôîòîãàëåðåè ñàéòà.
4 Çàìå÷àíèÿ
- (09.05.2006) Âñ¸ åù¸ íàáëþäàåòñÿ ïîòåðÿ êîäà îòæàòèÿ ïðè âñòðå÷íîé ïåðåäà÷å (â ìîìåíò çàñâå÷èâàíèÿ ñâåòîäèîäîâ)!