Пайка безвыводных микросхем типа LGA или MLF

Комплектуха все мельчает и мельчает. Последнее время намечается тендеция на то, что производителям западло тратить место на выводы и они делают чипы типа LGA или BGA.

И если BGA корпус на коленке не применим, т.к. требует изготовления многослойной платы, то вот LGA вполне сьедобный корпус. Если конечно вы являетесь джедаем наколенных PCB технологий. =)))
(далее…)

Read More »

Мультиплексирование

Думаю, каждый сталкивался с нехваткой выводов у выбранного контроллера. Принципиальных путей решения данной проблемы ровно два: менять контроллер на более многоногий или менять схему, чтобы упихнуться в существующие ноги.
Например, классика жанра — кнопки. Когда их две-три, то проще всего повесить каждую на свою ногу, особенно если на этих ногах есть внешнее прерывание. Тогда и работать с ними одно удовольствие. А если кнопок больше десятка? Если идти по первому пути, то с кличем «больше ножек!» выбираем какой-нить TQFP64 и оккупирем два порта. У такого решения есть очевидный плюс — каждая кнопка анализируется независимо от других, поэтому возможны любые аккорды. Минусы тоже очевидны: много ног ушло почти в никуда.

Второй путь — преобразовать схему так, чтобы подсократить количество занимаемых ног. Тут простора для творчества побольше. Начиная от PC-style (отдельный контроллер, который занимается опросом клавиатуры и преобразует нажатие клавиш в удобоваримый последовательный код, хоть в 1-wire) и сдвиговых регистров (как на джойстиках Dendy) заканчивая клавиатурами на резистивных делителях, подключаемых к АЦП. Весь вопрос — в стоимости.

Варианты с матрицей клавиш уже рассматривались, сдвиговый регистр подключали, а вот клавиатура на делителях осталась как-то незаслуженно забыта. Восполним пробел.

Первое, что сразу приходит в голову — поставить цепочку резисторов и кнопками коротить их на землю. Примерно так:

Посмотрим, как оно работает.
(далее…)

Read More »

Операционный усилитель

Что то часто мне стали задавать вопросы по аналоговой электронике. Никак сессия студентов за яцы взяла? ;) Ладно, давно пора двинуть небольшой ликбезик. В частности по работе операционных усилителей. Что это, с чем это едят и как это обсчитывать.

Что это
Операционный усилитель это усилок с двумя входами, невье… гхм… большим коэфициентом усиления сигнала и одним выходом. Т.е. у нас Uвых= K*Uвх а К в идеале равно бесконечности. На практике, конечно, там числа поскромней. Скажем 1000000. Но даже такие числа взрывают мозг при попытке их применить напрямую. Поэтому, как в детском саду, одна елочка, две, три, много елочек — у нас тут много усиления ;) И баста.

А входа два. И один из них прямой, а другой инверсный.

Более того, входы высокоомные. Т.е. их входное сопротивление равно бесконечности в идеальном случае и ОЧЕНЬ много в реальном. Счет там идет на сотни МегаОм, а то и на гигаомы. Т.е. оно замеряет напряжение на входе, но на него влияет минимально. И можно считать, что ток в ОУ не течет.

Напряжение на выходе в таком случае обсчитывается как:

Uout=(U2-U1)*K

Очевидно, что если на прямом входе напряжение больше чем на инверсном, то на выходе плюс бесконечность. А в обратном случае будет минус бесконечность.

Разумеется в реальной схеме плюс и минус бесконечности не будет, а их замещать будет максимально высокое и максимально низкое напряжение питания усилителя. И у нас получится:
(далее…)

Read More »

Подключение клавиатуры к МК по трем проводам на сдвиговых регистрах. Часть 2. Буквенный ввод как на телефоне

Данная статья является продолжением предыдущей о подключении клавиатуры к МК с помощью трех сигнальных проводов. В этой часте я расскажу вам о том, как увеличить число кнопок на клавиатуре до 16, опишу алгоритм обработки нажатий этих кнопок и то, как ассоциировать с каждой кнопкой свою функцию. Итак, приступим.

Аппаратная часть
Как вы уже догадались, чтобы подключить дополнительные кнопки к блоку клавиатуры, нужно добавить дополнительный сдвиговый регистр, который будет захватывать нажатия других восьми кнопок. Ниже приведена блок схема этой конструкции:

Рассмотрим режим работы, когда при каждом клике ногой CLK происходит сдвиг битов влево по направлению к старшему (S0 поднята, S1 опущена). Взглянем на сдвиговый регистр U1. При каждом дрыге ногой CLK, бит, который находится на выводе Qn, перемещается на вывод Qn+1, тоесть сдвигается в сторону старшего бита (влево). Но так как биту, который находится на ноге Q7 уже некуда сдвигаться, то он по идее должен бы был пропасть. Чтобы этого не произошло, мы посылаем его на следующий сдвиговй регистр U2, подключив Q7 регистра U1 к ноге SR SER регистра U2. Объясню, что же это за нога. В рассматриваемом нами режиме работы сдвигового регистра (S0 поднята, S1 опущена) биты смещаются в cторону старшего, а на место младшего становится бит, который в данный момент находится на ноге SR SER. Так как два наших сдвиговых регистра тактируются от одного источка (микроконтроллера), то бит на ноге Q7 сдвигового регистра U1, при сдвиге не теряется, а перескакивает на сдвиговый регистр U2, где продолжает свой путь в микроконтроллер. (далее…)

Read More »