Tag Archives: Цифра

Токовая петля

Иногда приходится передавать сигнал на большое расстояние (десятки метров, а то и километры). Главная проблема при этом в том, что через линию может пронестись электромагнитная волна (помеха) и попытаться индуцировать в ней ток. Ток будет мизерным, но так как входы обычно высокоомные, в сотни килоом, то даже от таких незначительных наводок на входе может возникнуть перенапряжение. Ведь по закону Ома U = I * R. R входа у нас может быть и под ГигаОм, при этом наводка тока даже в 0.001мА может раскачать напругу до киловольта. Вход вынесет за милую душу, хотя энергия там и невелика, но много ли надо тонкопленочному затвору транзистора? Решение тут одно — снижать входное сопротивление.
   

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

Ток будем вдувать в линию посредством источника тока, радующего нас тем, что ему плевать какое сопротивление у линии, он будет обеспечивать заданный ток до тех пор, пока мощи хватит.

   
(далее…)

Read More »

Логический анализатор LA1016

Товарищи из Мастерам подогнали мне интересный девайс — логический анализатор LA1016 продукции китайской конторы Zhiyuan. Чисто потестить, да на конкурс выставить призом :)

Итак. что же он умеет.
Обещается

  • Частота сэмпилирования в 100МГц
  • Полоса пропускания в 35МГц
  • Глубина памяти — 32КБ на канал.
  • Входной сигнал максимум 5 вольт
  • Работает по USB
  • Поддерживается только виндой, причем заявлено только до ХP, но Vista типо скоро. Впрочем не знаю насколько устарелая инфа о поддержки современных виндов. Линухоиды опять похоже пролетают, но им не привыкать :)

Триггер срабатывает по:

  • Фронтам
  • Данным
  • Данным по шине
  • Последовательности данных
  • А также по ширине, длительности и прочим параметрам импульса
  • По специфическим данным от плагина. Например, можно стопнутся по какому-либо хитрому байту, летящему по i2c шине и посмотреть что будет после него. Чертовски удобно. У каждого плагина свои заморочки и фичи синхры

Из коробки поддерживает протоколы:

  • 8051 — как понимаю, он может сесть на шину данных/адреса у C51 при работе на внешнуюю память и на лету дизассемблировать летающую туда сюда программу.
  • A/D Conversion — обработка с параллельных АЦП? С выдачей аналогового сигнала. Хм. Если найти быструю АЦП, то можно доколхозить до простенького осциллографа.
  • CF Card — отслеживание работы с Compact Flash
  • IIC BUS — работа с i2c, декодирование стартов, стопов, разбор пакетов, кому куда.
  • Манчестерский код — видать на лету декодирует
  • Modifier Miler Coding — что это ХЗ.
  • MODBUS — работа с шиной MODBUS, широко используемой в промышленных установках
  • 1-Wire — протокол далласа. Таблетки всякие и термометры.
  • SD-Card — можно налету потрошить обмен SD карт. Там конечно SPI, но разбирать спец плагином приятней. Сразу видно где что.
  • SPI — работа со SPI интерфейсом. Разбирает по байтикам.
  • SSI Bus — ХЗ что такое
  • UART — родимый уарт. Типо терминалки, только прикольней. Байтики показывает, вне зависимости от скорости передачи :)
  • Wiegand — протокол активно использующийся во всяких считывателях бесконтактных карт, таблеток доступа и прочей охранно-пропускной замуты.

Также есть стопицот плагинов под другие протоколы. Но что то они у меня не захотели работать. Т.е. они подгрузились, но вместе с ними и прога обновилась и стала вылетать при запуске. Не знаю везде это или нет, но у меня вот так. Плюс есть подозрение, что они под более старшие версии анализатора (это младшая модель линейки, а софт един на все).

(далее…)

Read More »

Параллельный Цифро Аналоговый Преобразователь по схеме R-2R

Порой надо выдать точный аналоговый сигнал, да еще с быстро менющийся. Например, функцию. Раньше я рассматривал как это можно сделать с помощью ШИМ, но у этого метода есть проблема — он очень медленный. В самом деле, чтобы получить один уровнь на ШИМ, нужно, по меньшей мере, 256 тиков таймера. А если надо развернуть функцию в которой 256 отсчетов? Да еще на каждый отсчет по 256 тиков? Это какая же должна быть частота процессора? Да еще надо учесть, что ШИМ требует интегрирующей цепочки с конденсатором. А значит для четкого установления уровня должно пройти еще несколько импульсов, что снижает скорость еще раза в три. Короче, получить что либо быстрей чем 50 ГЦ на ШИМ очень сложно. Я не говорю даже о том, что у ШИМ изза свойств емкостного заряда сильно плывет линейность, так что это приходится учитывать.
(далее…)

Read More »

Сдвиговый регистр

Иногда требуется ОЧЕНЬ много выходных портов. Особенно если хотим сделать что нибудь на светодиодах. Гирлянду какую-нибудь навороченную. Что делать? Брать под это дело ATMega128 с ее полусотней выводов? Избыточно — для ламеров. Ставить i2с расширитель портов? Дорого. Для мажоров. Тут на помощь из вековых глубин выплывает старая добрая дискретная логика. На этот раз нас выручит грошовый сдвиговый регистр. Возьму, для примера, 74HC164 он же, для любителей совковых трешевых микросхем в неубиваемом каменном корпусе, наш КM555ИР8.

У него есть 8 выходов и четыре входа. R-сброс, С-тактовый, А1 и А2 вход. На самом деле, внутри они заведены через логический элемент 2И-НЕ и идут на D триггеры. D — это такой тип триггера, который по тактовому импульсу схватывает и отправляет на выход то, что у него на входе. Как видишь, тут они цепью стоят ,передавая бит от одного к другому и нет принципиальной разницы сколько их тут будет, восемь штук или восемь миллиардов. Но чем больше, тем дольше по этой эстафете гнать данные до конца. Поэтому мы смело можем эти регистры соединять последовательно. (далее…)

Read More »

Р. Токхейм «Основы цифровой электроники»

Автор:		Р. Токхейм
Название: 	Основы цифровой электроники
Издательство: 	Мир

Посоветовали мне эту книжку, как хороший материал по цифровой электронике. Посмотрел. Действительно, отличная подача материала. Все очень просто, но без скатывания в примитивизм. Разобрана как элементарная логика, так и более сложные конструкции, вроде триггеров, счетчиков, регистров. Разннообразных АЛУ и прочих сумматоров. Есть разбор сложных моментов, таких как гонка состояний, когда из-за конечной скорости работы элементов реальная схема работает не так как ее математическое описание. И, конечно же, методы борьбы с этой напастью. Конечно, с точки зрения практики, данная книга уже устарела. Так как разрабатывать схему на дискретных компонентах сейчас будет только закоренелый ретроград — микроконтроллеры и ПЛИС давно уже подмяли эту нишу под себя, перебив дискретку как по быстродействию, так и по цене. Но для понимания теории работы цифровой электроники и принципов построения логических схем, эта книга подойдет как нельзя лучше.
Электронику, то в универах еще не отменили? ;)))) Вот! По этой книге готовиться к экзамену по каким нибудь развертывающим системам самое то.

Read More »

Основы на пальцах. Часть 4

Но диоды, резисторы, транзисторы и конденсаторы это так, лишь обвязка. Особо на них не развернешься (нет, маньяки, конечно могут, но габариты устройств там будут феерические). Самое вкусное нас поджидает в микросхемах :)
Делятся они на цифровые и аналоговые. Для начала кратко пробегусь по цифровым микросхемам.

Миром правит цифра!

Краеугольным камнем цифровой схемотехники служит понятие нуля и единицы, понятие это совершенно условное, т.к. фактически нет никакого нуля и нет никакой единицы, есть лишь уровни напряжения – высокий и низкий, а также некий порог после которого данный уровень напряжения принято считать высоким или низким. Скажем все, что ниже 0.7 вольт считаем за низкий уровень, т.е. 0, все что выше 2.4 вольт высоким, т.е. единица. Между 0.7 и 2.4 вольта, когда не ясно какой уровень, это состояние совершенно неопределенное его нельзя оценивать как входную величину, иначе на выходе системы в таком случае будет непредсказуемый результат.
Сопротивление входов очень высокое, практически можно считать его бесконечным.

Основы цифровой схемотехники
Во избежания путаницы смыслов, в терминологии ключей и транзисторов принято следующее соглашение. Ключ считается открытым или закрытым для протекания тока, как кран на трубе. С точки зрения же механического исполнения он может быть замкнут или разомкнут. Так что открыт = замкнут, закрыт = разомкнут. И не следует путать с англоязычной нотацией, где Open = открыт если речь идет о транзисторе или электронном ключе и Open = разомкнут если речь идет о механическом рубильнике. Там Open-Close следует рассматривать в общем контексте текущего случая. Велик и могуч русский язык! =)

Выход в микросхеме бывает разных типов. Различают push-pull и open drain (в нашей литературе его называют Открытым Коллектором или ОК). Отличие заключается в способе выдачи сигнала на выход. В Push-Pull выходе когда нужен низкий уровень, то выход тупо и беспрекословно замыкается на землю, имеющую нулевой потенциал, а когда высокий, то на напряжение питания.
В открытом коллекторе все несколько иначе. Когда нам надо получить низкий уровень, то мы сажаем ногу на землю, а вот высокий уровень получается подтягивающим резистором (pullup), который, в отсутствии посадки на землю и большого сопротивления висящей на выходе нагрузке, заводит на ногу высокий потенциал. Тут можешь вспомнить закон Ома и посчитать какое будет напряжение выхода на открытом коллекторе если подтягивающий резистор обычно порядка 1КилоОм, а сопротивление входа больше 1МегаОм. Тип выхода определяется из документации на микросхему, некоторые микрухи имеют программируемый выход, например, все контроллеры AVR. Исходя из этого становится понятен смысл регистров Port и DDR в контроллере AVR – они определяют тип выхода Open Drain+PullUp, Push-Pull или просто Open Drain.

(далее…)

Read More »