Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Артём Скворцов. 128-канальный аналоговый коммутатор

Данное устройство создавалось для облегчения проверки и выявления брака при экспериментальном производстве матриц светоизлучающих элементов на основе автокатодов. Светоизлучающие элементы на основе автокатодов обладают рядом преимуществ перед привычными дисплеями (ЭЛТ, жидкие кристаллы, плазменные дисплеи). Наиважнейшие из них - это экономичность, высокая контрастность и высокий КПД преобразования электроэнергии в свет. Но многие проблемы еще не решены, поэтому автокатоды в данный момент находятся в стадии развития. Одна из проблем при изготовлении матриц автокатодных лампочек являются токи утечки между соседними проводниками. Так как рабочие напряжения автокатодов составляют сотни вольт, межконтактные сопротивления порядка десяток килоом существенно влияют на качество работы отдельных элементов. Коммутатор позволяет подключать и тестировать на межконтактные сопротивления матрицу с общим количеством контактов не более 128 (например, квадратную матрицу 64x64). В действительности область применения коммутатора не ограничивается только этим. Например, можно тестировать на обрывы кабели, плоские шлейфы, проверять печатные платы. Схема позволяет не только судить о наличии/отсутствии проводимости, но даже рассчитывать сопротивление участка. Еще одно из возможных применений прибора - использование его в качестве 128-канального вольтметра, осциллографа либо индикатора логических уровней, например при изучении работы неизвестного прибора.

Схема 128-канального аналогового коммутатора

Прибор работает по следующему принципу. Образцовое напряжение коммутируется на один из контактов входного разъема, проходит через исследуемое устройство (кабель) и попадает на какой-либо контакт входного разъема. Мультиплексоры коммутируют прошедшее через схему (кабель) напряжение на образцовый резистор, по которому ток стекает на землю. Падение напряжения на этом резисторе и является измеряемой величиной. Зная образцовое напряжение, образцовое сопротивление и внутреннее сопротивление цепи мультиплексоров, через которые проходит сигнал, можно вычислить сопротивление устройства (кабеля), подключенного к входному разъему. Основу прибора составляет матрица микросхем ADG506 (фирма Analog Devices). ADG506 представляет собой 16-канальный аналоговый мультиплексор. Он соединяет один из 16 "входов" (реально они могут быть и выходами) с общим "выходом", в зависимости от двоичной информации на адресных входах мультиплексора и сигнала на входе разрешения EN.
Все микросхемы ADG506 разделены на две древовидные структуры, каждая из которых представляет каскадированное соединение микросхем в 128-разрядный мультиплексор. Таким образом микросхемы U17, U1-U8 образуют структуру Y, которая коммутирует образцовое напряжение 5.000v с образцового источника U21 на произвольный контакт X0-X127 порта тестирования, состоящего из двух разъемов P1, P2.
U17 (структура Y) U1X0-X15U9 U18 (структура Z)
U2X16-X31U10
U3X32-X47U11
U4X48-X63U12
U5X64-X79U13
U6X80-X95U14
U7X96-X111U15
U8X112-X127U16
Микросхемы U9-U16, U18 образуют структуру Z, которая обеспечивает коммутацию одного из этих же контактов X0-X127 порта тестирования на образцовый резистор R5 или R6 (зависит от положения джампера S1). Далее напряжение с опорного резистора буферизируется операционным усилителем U19. Резисторы R3, R7 служат для ограничения возможных бросков тока при "горячем" включении исследуемого устройства к порту тестирования. Резистор R4 служит для подвески потенциала к нулю, когда входной контакт исследуемого порта "висит в воздухе" или у него слишком высокое сопротивление. Очевиден вопрос, для чего контакты структур Y и Z были соединены вместе. Ведь если развести их на разные разъемы, мы могли получить бы мультиплексор, который мог бы тестировать матрицу 128x128. Благодаря объединению входов структур Y и Z появляется возможность для самодиагностики прибора (контроль прохождения образцового напряжения по каждой линии до порта тестирования и обратно) и что очень важно, измерения внутреннего сопротивления всех мультиплексоров, через которые проходит сигнал. В технической документации на мультиплексоры ADG506 приводится, что внутреннее сопротивление может лежать в пределах 280-600 Ом, поэтому очень важно иметь возможность измерения этого сопротивления именно для тех микросхем, которые установлены в устройство.
Вспомнив закон Ома, получим зависимости искомого сопротивления от напряжения на образцовом резисторе, приняв сопротивление мультиплексора 300 Ом и учтя, что сигнал проходит на своем пути последовательно через четыре мультиплексора.
График 1
Из построенного семейства (все в системе си) для разных значений образцового сопротивления Rref = 1, 5, 15 кОм очевидно, что образцовое сопротивление около 1кОм снижает диапазон напряжений примерно в два раза. Если ставим большое сопротивление (15 кОм), наблюдается завал точности измерения низких сопротивлений порядка 500 Ом (высокая по модулю производная на правом участке графика).
Проанализируем, как влияет внутреннее сопротивление мультиплексоров на это семейство графиков. Предположим, внутреннее сопротивление мультиплексоров равно 50 Ом.
График 2
Очевидно небольшое увеличение диапазона напряжений и, что важно, улучшение точности измерения низких сопротивлений (правая сторона графика, линии стали менее резко уходить вниз). Сопротивление 50 Ом было выбрано не случайно. Мультиплексоры ADG506 фирма Analog Devices рекомендует не использовать в новых разработках а устанавливать вместо них полностью совместимые по выводам улучшенные ADG406 с пониженным внутренним сопротивлением в открытом состоянии (около 50 Ом). К сожалению, в момент создания прототипа мне не удалось купить данные микросхемы и я был вынужден использовать ADG506, которые были расположены на цанговых панелях.
Данное устройство не способно работать автономно и требует внешние сигналы управления, которые выведены на разъем P3. В их число входят YA0-YA6 - номер контакта порта тестирования, на который коммутируется образцовое напряжение (ТТЛ, КМОП логические уровни, 0-127); YE - разрешение коммутации образцового напряжения на контакт порта тестирования (ТТЛ, КМОП, 1 - разрешено). ZA0-ZA6 - номер контакта порта тестирования, напряжение с которого коммутируется на образцовое сопротивление (ТТЛ, КМОП логические уровни, 0-127); ZE - разрешение коммутации на образцовое сопротивление (ТТЛ, КМОП, 1 - разрешено). ZQ - аналоговый выход с образцового сопротивления; ZQB - буферизированный аналоговый выход с образцового сопротивления; REF - образцовое напряжение (для АЦП на устройстве управления); GND - общая шина; VDD - напряжение +15в. Оценим из графика точность измерения сопротивления. Очевидно, она определяется краями графика. Выберем образцовое сопротивление 5 кОм и рабочий интервал измеряемого сопротивления 300 Ом - 50 кОм. Предположим, что в устройстве управления используется 10-разрядный АЦП с диапазонов входных напряжений 0..5 в. Значит вес младшего разряда АЦП составляет примерно 4.9 мВ. Т.е. 0.5 вольта - это около 100 единиц АЦП. Взглянув на производную, получаем, что в окрестности 300 Ом дискретность составляет 800 Ом / 0.5 в = 800 / 100 = 8 Ом, а в окрестности 50 кОм 30кОм / 0.5в = 30кОм / 100 = 300 Ом. Подводя итоги, видим, что в интервале сопротивлений 300 Ом - 50 кОм точность прибора составляет 1%, что является чуть хуже обычного мультиметра! Естественно, для достижения такой точности нужно точно измерить сопротивление образцового резистора перед его установкой в прибор.
Данный прибор можно использовать не только для измерения сопротивлений, но и напряжений, т.е. как 128-канальный осциллограф, просто не включая опорный источник сигналом YE и отключив опорный резистор. Для управления данным прибором возможно использовать компьютер с какой-либо платой АЦП. Мною создан модуль управления на базе микроконтроллера AVT at90s8535, описание которого скоро подготовлю.

Контроллер 128-канального аналогового коммутатора

Схема контроллера 128-канального аналогового коммутатора
Ядром данного прибора (см. принципиальную схему) является микроконтроллер U5 at90s8535 фирмы Atmel. Данный микроконтроллер имеет интегрированный 8-канальный 10-разрядный АЦП, один канал которого используется для измерения падения напряжения на образцовом резисторе платы коммутатора. Супервизор U3 обеспечивает надежный запуск микроконтроллера при включении и блокировку микроконтроллера при снижении питания после его отключения.К порту B через разъем подключена пленочная клавиатура с размером матрицы 4x4 кнопки. Диоды VD1-VD4 защищают порты микроконтроллера от замыкания при нажатии нескольких кнопок одновременно. Жидкокристаллический индикатор (16 символов x 2 строки, LED-подсветка) подключен к битам порта С. Разъем P1 служит для связи с платой коммутатора. Биты порта A служат входами внутреннего АЦП. Из них используется только один младший вход, на который подается буферизированное напряжение с образцового резистора на плате коммутатора. С платы коммутатора также снимается опорное напряжение для АЦП (контакт REF на разъеме P1). Биты PD0 и PD1 порта D выполняют свою совмещенную функцию, управляя преобразователем уровней U7, через который осуществляется обмен данными с компьютером по интерфейсу RS-232. Микросхемы U2, U4, U6, U8 выполняют функцию расширителя интерфейса микроконтроллера, и обеспечивают дополнительно 8x3 выходных битов, программируемых микроконтроллером посредством шести сигналов SC, SD, ~PE, L0, L1, L2 (некий упрощенный аналог широко известной микросхемы 580вв55). Программируются они следующим образом. Сначала микроконтроллер передает последовательные данные (8 бит) по линии SD на сдвиговый регистр U2, сопровождая их синхроимпульсами на линии SC. Эти данные, преобразованные в параллельный вид, появляются на выходах регистра U2 и поступают на входы трех регистров-защелок U4, U6, U8. Теперь, мигнув (подав короткий импульс) одним из сигналов L0, L1, L2, микроконтроллер перепишет данные в соответствующий регистр-защелку U4, U6, U8. Завершающим этапом является вывод регистров-защелок из высокоимпеданснсого состояния логическим 0 на линии ~PE (PD4), при этом на выходах регистров-защелок появятся ранее записанные в них данные. Защелка U4 (L0) управляет индикацией, реализованной на генераторе звука BZ1 и двух светодиодах HL1, HL2 (соответственно биты 0, 1, 2). Остальные 5 бит не используются. U6 служит для указания адреса контакта тестового порта, напряжение с которого следует подать на образцовый резистор для измерения (младшие 7 бит ZA0-ZA6) Старший бит (ZE) служит для разрешения коммутации, при лог. 0 на нем образцовый резистор не подключается ни к какому контакту тестового порта, вне зависимости от значения младших семи бит. Защелка U8 (L2) управляет коммутацией источника образцового напряжения на плате коммутатора на один из контактов тестового порта. 7 младших бит (YA0-YA6) - собственно номер контакта, на который следует подать образцовое напряжение (0-127); старший бит YE - бит разрешения коммутации. При лог. 0 на нем опорное напряжение отключено от всех контактов тестового порта. Разъем XT3 служит для внутрисхемного программирования микроконтроллера. Программа написана на языке Си (компилятор фирмы Codeview, http://infotech.ir.ro/), для ясности привожу функции, записывающие данные в один из регистров-защелок U4, U6, U8:

void serialwrite(char b)	// выводит байт в сдвиговый регистр U2
{
int j;
for (j = 0; j < 8; j ++)
{
if (b & 128)
	SD = 1;
else
	SD = 0;
delay_us(1);	// пауза, 1 микросекунда
SC = 1; 
delay_us(1);
SC = 0;
b <<= 1;
}
}

void portwrite(char port, char data)	// записывает байт data в указанный номер порта-защелки (0, 1 или 2)
{
PDIS = 0; delay_us(1);		// вывод регистров из Z-состояния
serialwrite(data);		// используем предыдущую функцию - пишем данные в сдвиговый регистр
if (port == 0)			// переписываем данные в нужный регистр-защелку
	{
	L0 = 1; delay_us(10); L0 = 0;
	}
if (port == 1)
	{
	L1 = 1; delay_us(10); L1 = 0;
	}
if (port == 2)
	{
	L2 = 1; delay_us(10); L2 = 0;
	}
}
Где порты микроконтроллера определены в соответствии с принципиальной схемой:
#define SD	PORTD.3
#define SC	PORTD.2
#define PDIS	PORTD.4
#define L0	PORTD.5
#define L1	PORTD.6
#define L2	PORTD.7
В написанной программе присутствуют функции самодиагностики платы коммутатора при включении (возможность которой подчеркивалась в статье о самом коммутаторе), функции поиска межконтактных сопротивлений, превышающих или не превышающих задаваемый порог, функции непрерывного опроса сопротивления между двумя задаваемыми контактами и возможность передачи данных на компьютер через последовательный интерфейс RS-232 для более полного анализа. Передача полной матрицы 128x128 двухбайтовых слов (в каждом слове используются только 10 бит - количество разрядов АЦП) на скорости 57600 бит/с происходит примерно за 10 секунд. Микроконтроллер U5 выбран в корпусе PLCC-44 и установлен на панели, что можно видеть из прилагаемой фотографии собранной печатной платы прибора.

Автор проекта: Артём Скворцов (E-mail: sof@comail.ru)

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100