ЖУРНАЛ «СТА» №1/2008
Блоксхема контроллера SED1335 с необходимыми дополнительными уз- лами показана на рис. 1. При внешней, казалось бы, простоте контроллер SED1335 обладает всеми узлами, присущими его «старшим бра- тьям», которые устанавливаются на ви- деокарты. Подключение платы контроллера к параллельному порту не вызывает больших трудностей: достаточно толь- ко изготовить кабель. Со стороны дис- плеев она имеет стандартный интер- фейс, к которому можно подключить все перечисленные в табл. 1 панели, кроме EL240.128.45. Данный дисплей уже имеет встроенный контроллер SED1335 и статическое ОЗУ 32 кбайт, поэтому переходная плата ему не тре- буется. В табл. 2 показаны варианты разводки кабеля для некоторых типов разъемов, которые могут встретиться пользователю. Рекомендую при изго- товлении кабеля от платы SED1335 к LPTпорту использовать кабельную сборку TCSD12S20.0001FN про- изводства компании Samtec. Такие сборки можно приобрести в компании ПРОСОФТ. Со стороны дисплея также можно использовать готовый кабель Samtec TCSD10D20.0001FN, ко- В З АПИС Н УЮ К НИЖК У ИНЖЕ Н Е РА 72 Таблица 2. Разводка кабеля для подключения к плате SED1335 Разъём на плате SED1335, номер контакта 1 Обозначения сигнала Разъём LPT-порта DB-25M (офисный ПК) Разъём IDC-26 (CPU Octagon 5066, 60x0*, Fastwel CPU686) Разъём питания платы SED1335 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 RES-NC. /WR-STB /RD-INIT /CS-GND A0-AFD SelfTest-GND GND-GND D0-PD0 D1-PD1 D2-PD2 D3-PD3 D4-PD4 D5-PD5 D6-PD6 D7-PD7 SEL1-GND READY-NC. GND-GND LUMA-NC. 1 16 18 14 19 20 2 3 4 5 6 7 8 9 21 — 22 — — 1 6 10 2 12 14 3 5 7 9 11 13 15 17 16 — 18 — +12 В +12 В GND GND +5 В //-----------------------------------------// // Файл IOFINC.CPP // //-----------------------------------------// #if !defined (__DOS_H) #include <dos.h> #endif #if !defined (__STRING_H) #include <string.h> #endif #if !defined (__IOFUNC_HPP) #include "iofunc.hpp" #endif // Чтение флагов состояния unsigned char StatusRead (unsigned short port) { unsigned char byte = inportb(port+2); unsigned char data; outportb(port+2, ((byte | A0_ADDR) & ~INIT) & ~STROBE); //A0=0,WR=1,RD->0 data = inportb(port); outportb(port+2, ((byte | A0_ADDR) | INIT) & ~STROBE); //A0=0,WR=1,RD->1 return(data); } // Чтение данных и позиции курсора unsigned char DataRead (unsigned short port) { unsigned char byte = inportb(port+2); unsigned char data; outportb(port+2, ((byte & ~A0_ADDR) & ~INIT) & ~STROBE);//A0=1,WR=1,RD->0 data = inportb(port); outportb(port+2, ((byte & ~A0_ADDR) | INIT) & ~STROBE); //A0=1,WR=1,RD->1 return(data); } // Запись данных void DataWrite (unsigned char data, unsigned short port) { unsigned char byte = inportb(port+2); outportb(port+2, ((byte | A0_ADDR) | INIT) | STROBE);//A0=0,WR- >0,RD =1 outportb(port,data); outportb(port+2, ((byte | A0_ADDR) | INIT) & ~STROBE); //A0=0,WR->1,RD=1 } // Запись команд (инструкций) void CommandWrite (unsigned char data, unsigned short port) { unsigned char byte = inportb(port+2); outportb(port+2, ((byte & ~A0_ADDR) | INIT) | STROBE);//A0=1,RD =1,WR->0 outportb(port,data); outportb(port+2, ((byte & ~A0_ADDR) | INIT) & ~STROBE); // A0=1,RD=1,WR->1 } * Для плат 60х0 в данном случае требуется переходная плана ВОВ. СТА 4/2001 www.cta.ru
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy