Никелланджило в Праге

В свою очередную поездку Никелладжило отправился в Чехию, а именно в ее столицу — Прагу.

Поездка как раз приходилась на начало финансового кризиса в России — ноябрь. Грядущий праздник Народного Единства, который с недавних пор стал государственным, а следовательно выходным днем в России позволил уделить пару дней этому прекрасному городу. Да и к тому моменту евро, а вместе с ними и кроны (именно последними мы везде расплачивались) стоили много-много дешевле нынешнего курса.

Собственно, не будем о печальном. Продолжим…

 

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

Но не пивом единым запомнилась Прага. В первый же день при посещении центральной части города остается какое-то приятное впечатление о всей стране, которое запоминается надолго… Впечатление необычайной красоты, но под словом необычайной следует понимать той красоты, которую не приходилось видеть до этого…немного таинственной и потрясающей. Карлов Мост, Староместская площадь и особенно Собор Святого Вита. По отдельности они довольно симпатичны, но вместе они создают довольно притягательный образ Праги, особенно если посещать их все вечером, как это сделали мы. Именно вечером создается «теплое» освещение улиц, которое делает улицы, дома и весь центр загадочным и чарующим.

 

 

#СоборСвятогоВита ⛪️ #Прага #Чехия ❤️

 

Фото опубликовано ✨Marina Abelova (Pivunova)✨ (@marinaabelova)

Касательно ночных развлечений….

Легкие наркотики в стране не лигализованы, в отличии от некоторых других стран Европы. Хоть и на некоторых улицах встречались магазины с изображениями каннабиса и с бульбуляторами на ветринах — как оказалось это просто для заманивания туристов, а продают они там табачные изделия и всякую мелочевку.

 

А для тех, кто ищет сексуальных утех — на улицах города можно встретить довольно много «закрытых клубов», которые начинают свою работу ночью. Проституция в Чехии — довольно дешевая, особенно для ближайших соседей страны — немцев и австрийцев.

 

По большому счету для посещения Праги хватит двух, от силы трех дней. По своей сути интересен только центр города, окраина точно такая же как и окраина Москвы — ни чем не примечательна. Если Вы приехали в страну на более длительный срок — можно посетить Вену, Дрезден и Карловы Вары. Поездка в Вену, например, стоит 45 евро и ее можно купить на ресепшене в отеле. В стоимость входит поездка на автобусе в оба конца и небольшой экскурс в историю Австрии в процессе поездки от гида.

Итого:  Плюсы —

  1. Красивые места
  2. Вкусная еда
  3. Пиво
  4. Спокойный, атмосферный город с ночной жизнью
  5. Довольно демократичные цены

Некоторые замечания —

  1. Больше двух — трех дней делать абсолютно нечего, но можно посетить Вену, Дрезден или другие города Чехии

 

#prague #прага #чехия

 

Фото опубликовано Евгений (@evgenrb)

#прага #чехия #prague Фото опубликовано Евгений (@evgenrb)

Знакомство с ПЛИС. UART на Verilog

UPD: По просьбе пользователя andrey добавлены статьи по каждому из частей — приемнику и передатчику.


Данная статья посвящена вопросу создания универсального асинхронного приемопередатчика (УАПП) — в дальнейшем, ввиду распространенности его английского названия мы будем называть его UART. Статья содержит основные понятия о принципах работы UART, приводится исходный код и результаты работы непосредственно «прошитой» ПЛИС.

UART — является полнодуплексным последовательным приемопередатчиком. Полнодуплексный означает что прием и передача могут происходить одовременно и независимо друг от друга. Последовательный — означает что все данные передаются по одному каналу побайтово.

Структура передачи данных представлена на рисунке 1.

2015-06-19 13-59-40 Скриншот экрана
Рисунок 1 — Метод передачи данных

 

В тот момент, когда отсутствует передача данных — в канале сигнал находится на уровне логической «1». Стартовым битом служит нулевой бит, который оповещает о начале пакета. Следует обратить внимание, что данные передаются от младшего бита к старшему. После того, как один байт (байт состоит из 8 бит) передан выставляется уровень логической «1», что означает конец передаваемого пакета (байта).

Как видно, структура довольно проста.

Приступим к непосредственному описанию блока UART для ПЛИС. Для этого будет использовать язык Verilog. Но перед этим нужно примерно понять структуру приемопередатчика.

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

После приема и обработки осуществим передачу данных. Структура приемопередатчика приведена на рисунке 2.

2015-06-19 13-51-24 Скриншот экрана
Рисунок 2- Схема приемапередатчика UART

На схема блок CLK_smth — передает тактовые сигналы от генератора тактовых импульсов к блокам receive и transmit по витой паре. Данный блок генерируется CoreGen’ом (об этом позже).  RX и TX — соответственно входной и выходной порты. Блок receive принимает последовательные биты, преобразует в байт данных и по готовности байта выставляется флаг rdy и передает данные data[7:0]. Блок transmit принимает данные data[7:0]  по флагу rdy и обратно преобразует их в последовательный вид для выдачи на выход (TX_out).

Данный блок, как видно из схемы, состоит из трех подблоков — CLK_smth, receive и transmit.

Для того,чтобы они функционировали вместе и для их объединения создается специальный файл (top.v), который объединяет нужные порты.

Содержимое top.v (объединения блоков) 

[php]
//—————top.v
`timescale 1ns / 100ps
module UART_top(
input clk_p, // LVDS clocks… отсюда сигнал 200 МГц попадает на PLL
input clk_n, // LVDS clocks… отсюда сигнал 200 МГц попадает на PLL
input RX_in, // UART вход
output TX_out // UART выход
);
wire rdy;
wire [7:0] data;
wire TX_out;
wire clk_out;
clk_wiz_v3_6 CLK_smth(
// Clock in ports
.CLK_IN1_P(clk_p),
.CLK_IN1_N(clk_n),
// Clock out ports
.CLK_OUT1(clk_out)
);
// Core UART приемника
UART_receiver receive(
.RX(RX_in),
.CLK(clk_out),
.Rdy(rdy),
.DATA(data)
);
// Core UART передатчика
UART_transmitter transmit (
.DATA(data),
.CLK(clk_out),
.Rdy(rdy),
.TX(TX_out)
);
endmodule
[/php]

Содержимое receiver.v (приемника UART)

[php]
//———-receiver.v
module UART_receiver (
input RX,
input CLK,
output reg Rdy = 0,
output reg [7:0] DATA
);

reg starter =1’d0;
reg [7:0] count = 8’d0;
reg [2:0] want_to_know;
reg true_RX;
reg [7:0] shifter;
reg [7:0] start = 8’d0;
reg smth =1’d0;

always @( posedge CLK )
begin
if (RX==0)
begin
starter<=1’d1;
end

if (starter)
begin
count<=count+1;
if (count==57||count==114||count==171) // Три выборки от результата деления частоты CLK на скорость UART в бодах (CLK/Vuart) (в начале, середине и конце)
begin // В данном случае CLK — 20 МГц, Vuart = 115200 бод ( значения также необходимо заменить в файле transmitter.v )
want_to_know[2:1]<=want_to_know[1:0];
want_to_know[0]<=RX;
end

if (count==172)
begin
if (want_to_know[2]&&want_to_know[0]||want_to_know[1])
begin
true_RX<=1;
end
else
begin
true_RX<=0;
end
end

if (count==173) // результат от деления частоты CLK на скорость UART в бодах (CLK/Vuart)
begin
count<=0;
start<=start+1; if (start>0&&start<9)
begin
shifter[7:1]<=shifter[6:0];
shifter[0]<=true_RX;
end
else
if (start==9)
begin
DATA<=shifter;
starter<=0;
smth<=1’d1;
start<=0;
end
end
end

if (smth)
begin
Rdy<=1;
smth<=0;
shifter<=8’d0;
end
else
begin
Rdy<=0;
end
end
endmodule
[/php]

Содержимое transmitter.v (передатчика UART)

[php]
module UART_transmitter(
input [7:0] DATA,
input CLK,
input Rdy,
output reg TX =1
);
reg start_trans=1’d0;
reg [7:0] count = 8’d0;
reg [7:0] tr_count = 8’d0;
reg [7:0] shifter;
always @ (posedge CLK)
begin
if (Rdy)
begin
start_trans<=1’d1;
shifter<=DATA;
end
if (start_trans)
begin
tr_count<=tr_count+1;

if (count==0)
begin
if (tr_count<173) // результат от деления частоты CLK на скорость UART в бодах (CLK/Vuart)
begin
TX<=0;
end
else
begin
count<=1;
tr_count<=0;
end
end
else
begin
if (tr_count<173) // результат от деления частоты CLK на скорость UART в бодах (CLK/Vuart)
begin
TX<=shifter[7];
end

else
begin
shifter[7:1]<=shifter[6:0];
tr_count<=0;
count<=count+1;
end
end

if (count==9) // если нужен бит четности, то добавлять if (count==10) begin …. end
begin
TX<=1;
start_trans<=1’d0;
count<=0;
shifter<=8’d0;
end
end
end
endmodule

[/php]

Как уже говорилось CLK_smth — сгенерирована CoreGen’ом и ее код здесь приводить не имеет смысла.
Для тестирования воспользовались Putty, соединили ПК и прошитый ПЛИС через UART.

2015-04-30 18-04-49 Скриншот экрана (2)
Рисунок 3 — Параметры соединения ПК с ПЛИС по UART (номер виртуального COM порта и скорость UART)
2015-04-30 18-04-33 Скриншот экрана (2)
Рисунок 4 — Результаты приема и передачи данных с ПЛИС

 

Схемы испытания полевых транзисторов

После того, как Вы создали модель полевого транзистора, то бишь SPICE модель, необходимо проверить ее вольт-амперные (ВАХ) и пр. характеристики. Для этого используем следующие ГОСТы:
1. ГОСТ 20398.7-74
Метод измерения порогового напряжения и напряжения отсечки.
Field-effect transistors. Threshold and cut-off voltage measurement technique

  1. АППАРАТУРА

1.1. Измерительные установки, предназначенные для измерения порогового напряжения и напряжения отсечки , должны обеспечивать основную погрешность измерения в пределах ±5%, а при токах менее 0,1 мкА в пределах ±15% от конечного значения рабочей части шкалы.

  1. ПОДГОТОВКА К ИЗМЕРЕНИЮ

2.1. Принципиальная схема измерения порогового напряжения и напряжения отсечки должна соответствовать указанной на чертеже.

Снимок

2.2. Основные элементы, входящие в схему, должны удовлетворять следующим требованиям, указанным ниже.

2.2.1. Падение напряжения на внутреннем сопротивлении измерителя не должно превышать ±5% от показаний прибора V .

Если это условие не выполняется, необходимо увеличивать напряжение источника в цепи стока на значение, равное падению напряжения на внутреннем сопротивлении измерителя A ;
-V измеритель напряжения;
-ИП измеритель напряжения, обеспечивающий заданную погрешность измерения порогового напряжения либо напряжения отсечки Uзи.отс.
2.3. Точность установки тока стока не должна превышать ±10% от конечного значения рабочей части шкалы прибора, если это значение не менее 0,1 мкА и не более ±15% от конечного значения рабочей части шкалы, если это значение менее 0,1 мкА.
        3. ПРОВЕДЕНИЕ ИЗМЕРЕНИЯ
3.1. Измерения производят в следующем порядке.
Транзистор включают в схему и устанавливают режим по постоянному току.

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

 

2.   ГОСТ 20398.8-74

 Метод измерения начального тока стока 

 Field-effect transistors. Drain current for Vgs=0 0 measurement technique

 

  1. АППАРАТУРА

1.1. Измерительные установки, предназначенные для измерения начального тока стока , должны обеспечивать основную погрешность измерения в пределах ±5%, а при токах менее 0,1 мкА в пределах ±15% от конечного значения рабочей части шкалы.

 

  1. ПОДГОТОВКА К ИЗМЕРЕНИЮ

2.1. Принципиальная электрическая схема измерения начального тока стока должна соответствовать указанной на чертеже.

Снимок
2.2. Основные элементы, входящие в схему, должны соответствовать следующим требованиям, указанным ниже.

2.2.1. Падение напряжения на внутреннем сопротивлении ИП не должно превышать 5% от показания прибора при токах до 10 мкА и 1,5% от показания прибора V при больших токах. Если это условие не выполняется, то необходимо увеличить напряжение источника постоянного тока на значение, равное падению напряжения на внутреннем сопротивлении ИП.

Измеритель тока должен обеспечивать заданную точность измерения тока Iс.нач. 

  1. ПРОВЕДЕНИЕ ИЗМЕРЕНИЯ

3.1. Измерения проводят в следующем порядке.

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

 

Значение Iс.нач. отсчитывают на шкале ИП.

 ГОСТ 20398.13-80

Метод измерения сопротивления сток-исток 

 Field-effect transistors. Drain source resistance measurement technique

  1. ПРИНЦИП И УСЛОВИЯ ИЗМЕРЕНИЯ

1.1. Измерение заключается в определении сопротивления между стоком и истоком в открытом состоянии транзистора при заданном напряжении сток-исток, меньшем напряжения насыщения, и заданном напряжении на затворе.

1.2. Электрический режим транзистора (напряжение на стоке, напряжение на затворе) и условия измерения указывают в стандартах или технических условиях на транзисторы конкретных типов.

2. АППАРАТУРА

2.1. Сопротивление сток-исток в открытом состоянии транзистора следует измерять на установке, электрическая структурная схема которой приведена на черт.1 или 2.

Снимок

Снимок

2.2. Сопротивление резистора R (черт.1) должно не менее чем в 100 раз превосходить сопротивление сток-исток измеряемого транзистора.

2.3. Допускаемое отклонение сопротивления резисторов магазина сопротивлений R1 (черт.2) должно находиться в пределах ±1%.

2.4. Допускаемое отклонение сопротивления резисторов R2 и R3 (черт.2) должно находиться в пределах ±1%.

2.5. Напряжение источника стока G2 при отключенном транзисторе не должно превышать максимально допустимое, указанное в стандартах или технических условиях на транзисторы конкретных типов.

Напряжение на стоке включенного транзистора не должно превышать 1 В.

  1. ПОДГОТОВКА И ПРОВЕДЕНИЕ ИЗМЕРЕНИЙ

3.1. Измерение сопротивления Rси.отк. в схеме черт.1 производят в следующем порядке.

3.1.1. Измеряемый транзистор включают в схему черт.1 и задают режим по постоянному току.

3.1.2. Значение напряжения U определяют по прибору  PV2, значение тока Ia по прибору PA .

3.2. Измерение сопротивления Rси.отк. в схеме черт.2 производят в следующем порядке.

3.2.1. Измеряемый транзистор включают в схему и в положении 1 переключателя S задают режим по постоянному току.

3.2.2. Переключатель ставят в положение 2 и подбором резисторов R1 устанавливают нуль на приборе P .

  1. ОБРАБОТКА РЕЗУЛЬТАТОВ

4.1. Сопротивление в схеме черт.1 рассчитывают по формуле

 Rси.отк.=U/Ia

Если значение Ia фиксировано, то значение Rси.отк. пропорционально U и вольтметр PV2 может быть проградуирован в единицах сопротивления.

4.2. В схеме черт.2 сопротивление Rси.отк. определяют из соотношения

Rси.отк.=R1,0*(R3/R2) 

 где — R1,0 значение резистора R1  при нулевом положении индикатора P.      

 

  1. ПОКАЗАТЕЛИ ТОЧНОСТИ ИЗМЕРЕНИЯ

5.1. Основная погрешность измерительных установок со стрелочными приборами должна быть в пределах ±5% для сопротивлений Rси.отк≥ 10 Ом и ±10% для сопротивлений Rси.отк≤ 10 Ом.

5.2. Основная погрешность измерительных установок с цифровым отсчетом должна быть в пределах±(4+0.9*(Rпред/Rx)) % для сопротивлений Rси.отк≥10 Ом и ±(8+1.7*(Rпред/Rx)) % для сопротивлений Rси.отк≤ 10 Ом,

 

где Rx- измеряемое сопротивление;

Rпред- конечное значение установленного предела измерения.

Никелладжилло в зимней Барселоне

НикелладжиллоМорской котик Никелланджило побывал в своем первом путешествии и расскажет о зимней Барселоне в период не слишком туристический, но довольно интересный для рядового российского котика.

Пребывание в Барселоне пришлось на конец января, когда улицы Барсы довольно свободны от толп туристов, когда средняя температура составляет +15-17 градусов, а местные кафе и бары ждут своих посетителей. Но о них (барах) позже.

Начнем, конечно же, с местных достопримечательностей,а потом уж о злачных местах.

Достопримечательность #1. Саграда Фамилия

Саграда Фамилия

Самая известная достопримечательность Барселоны, ее лицо. Как Москву можно узнать по Кремлю, Париж — по Эйфелевой башне, так и Барселону можно узнать по Саграда Фамилия (именно так написано в путеводителе, что вполне соответствует правде). Вход на территорию до сих пор строящегося собора стоит чуть меньше 20 евро, дополнительно предлагается приобрести аудио-гид, билет для подъема на верх собора. Это самое известное и грандиозное творение архитектора Антонио Гауди. Каталонский архитектор возвел в Барселоне еще несколько сооружений -среди которых: Дом Бальо, парк Гауэль…

IMG_1489 Саграда Фамилия Вид с Саграда Фамилия Вид с Саграда Фамилия

Достопримечательность #2. Дом Бальо

IMG_1622Необычный дом с виду, довольно хорошо продуманный для жизни внутри… Определенно в таком доме хотелось бы жить. Система вентиляции, освещения, места для приема гостей и приема пищи… все указавает на долгую и кропотливую работу Гауди. Обязательно сходите в этом доме в туалет, дабы восхититься и им. Поднимитесь на крышу и сделайте пару снимков видов Барселоны и затем можете смело идти на «ла Рамбла» (нет-нет, это улица) … тем более что она тут близко.

IMG_1643 IMG_1632

 

Достопримечательность #3. Ла Рамбла

Ла Рамбла«Арбат Барселоны», место для клоунов, и акробатов, уличных перформеров, жонглёров, танцоров, магов, эквилибристов, файерщиков, музыкантов и – самых знаменитых – живых статуи.  (подробнее — Игорь Мамленков).

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

Серия культурных фотографии Никелладжило:

Никелланджило Никелланджило

IMG_1679 IMG_1682

Детекторы

Детекторы предназначены для выделения информации из принимаемых cигналов. Информация содержится в модулирующей функции, изменяющей амплитуду, частоту или фазу сигнала. Соответственно применяются амплитудные (АД), частотные (ЧД) и фазовые (ФД) детекторы.
Наиболее важной для разных типов детекторов является характеристика детектирования — зависимость изменения выходного напряжения детектора от изменений модулирующей функции.На рис.6.1. показаны примеры характеристик детектирования АМ-, ЧМ- и ФМ-детекторов.

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

Детектор как нагрузка высокочастотных каскадов приемника характеризуется
входным сопротивлением R вх=U(w)/I(w)
где U (w) и I (w) соответственно амплитуды входного
напряжения и тока с частотой несущей w.

Cхемы амплитудных детекторов

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

Диодный детектор последовательного типа нуждается в низком (близком к нулю) выходном сопротивлении источника сигнала для постоянного тока, а также изоляции от постоянных напряжений, питающих источник сигнала. Диодный детектор параллельного типа (другое название — детектор с закрытым входом) защищен от постоянных напряжений на выходе источника сигнала конденсатором С.

Для того, чтобы высокочастотное напряжение U (w) , присутствующее на диоде и его нагрузке R, не проникало на выход детектора, необходим RС — или LC — фильтр нижних частот. Поэтому детектор параллельного типа содержит больше схемных элементов, что является его недостатком. Входное сопротивление этого детектора меньше, т.к. параллельно входному сопротивлению собственно детектора, как следует из схемы, подключено входное сопротивление ФНЧ. Остальные характеристики этого детектора такие же, как у детектора последовательного типа.

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

Схема «идеального диодного детектора» (рис.6,2, д [21]) реализуется на базе
операционного усилителя (ОУ) с глубокой отрицательной обратно связью через детекторные диоды. За счет этого влияние падения напряжения на нелинейности реального диода уменьшаются в К/К ос раз, а отношение коэффициентов усиления без обратной связи (К) и с обратной связью (К ос ) обычно более 1000.

Схемы нелинейных транзисторных АД применяются относительно редко, главным образом для повышения коэффициента передачи и уменьшения выходного сопротивления детектора. В зависимости от места включения RC-нагрузки, на которой выделяется продетектированное напряжение, меняется механизм детектирования. Если нагрузка детектора включена в цепь тока базы (рис.6.3, а), то основным механизмом детектирования является базовый: высокочастотный сигнал, поданный на базу, при выборе рабочей точки на начальном участке входной ВАХ i б = f (u бэ ) вызывает рост постоянной составляющей тока базы и увеличение запирающего транзистор напряжения на нагрузке RC. Последнее, усиливается транзистором как усилителем постоянного тока с нагрузкой R к C к . В результате напряжение на коллекторе детектора растет. Базовый переход в этом типе детектора может рассматриваться как диодный детектор с нагрузкой RC. Входное сопротивление его низкое, коэффициент передачи k d >>1. Характеристика детектирования обладает большой нелинейностью.

 

Память компьютера

Кэш — это некая особенная разновидность памяти, которая является своего рода «буфером» между контроллером памяти и процессором. Служит для увеличения скорости работы с ОЗУ. Любая считываемая из памяти информация попадает не только в процессор, но и в кэш. И если эта же информация (тот же адрес в памяти) нужна снова, сначала процессор проверяет: а нет ли её в кэше? Если есть — информация берётся оттуда, и обращения к памяти не происходит вовсе. Аналогично с записью: информация, если её объём влезает в кэш — пишется именно туда, и только потом, когда процессор закончил операцию записи, и занялся выполнением других команд, данные, записанные в кэш, параллельно с работой процессорного ядра «потихоньку выгружаются» в ОЗУ. Чтобы в кэш могли поместиться новые, более актуальные, проводится отслеживание времени последнего обращения к данным, находящимся в кэше.

Скорость обмена данными процессора Pentium 4 со своим кэшам более чем в 10 раз (!) превосходит скорость его работы с памятью. Фактически, в полную силу современные процессоры способны работать только с кэшем. Систему кэширования приходится делать многоуровневой. Кэш первого уровня (самый «близкий» к ядру) традиционно разделяется на две половины, кэш инструкций (L1I) и кэш данных (L1D). Это разделение предусматривается «гарвардской архитектурой» процессора, которая является самой популярной теоретической разработкой для построения современных CPU. Кэш второго и третьего уровня — L2, L3 . Он больше по объёму, и является уже «смешанным» — там располагаются и команды, и данные. Если ни на одном уровне кэша информация не найдена — идёт обращение к основной памяти (ОЗУ). Все уровни кэша работают на той же частоте, что и процессорное ядро.
Trace cache – идея сохранять в кэше инструкций первого уровня (L1I) не те команды, которые считаны из памяти, а уже декодированные последовательности.
Латентность памяти — время, которое требуется для того, чтобы начать считывать информацию с определённого адреса. C момента, когда процессор посылает контроллеру памяти команду на считывание (запись), и до момента, когда эта операция осуществляется, проходит определённое количество времени. Если данные в программе расположены «хаотично» и «небольшими кусками», скорость их считывания становится намного менее важной, чем скорость доступа к «началу куска». Латентность подсистемы памяти зависит не только от неё самой, но и от контроллера памяти и места его расположения. Понятия «скорость чтения / записи» и «латентность», применимы к любому типу памяти —к классической DRAM (SDR, Rambus, DDR, DDR2) и к Кэшу.
В качестве элементов оперативной памяти используют ячейки, представляющие собой конденсаторы. Заряженный конденсатор хранит «1», разряженный — «0». Во время считывания информации конденсаторы разряжаются. Кроме того, заряд в конденсаторе из-за утечки хранится ограниченное время (несколько миллисекунд). Поэтому необходима подзарядка, которая выполняется в процессе регенерации информации. Это обстоятельство обусловило название памяти подобного типа — динамическая память или DRAM (Dynamic RAM).

Малые размеры и простота элементов DRAM позволяют получить довольно большую емкость памяти, но из-за затрат времени на регенерацию снижается быстродействие.
С целью повышения быстродействия DRAM разработано несколько модификаций этого типа памяти. Синхронная память типа SDRAM (Synchronous DRAM) отличается от асинхронной памяти типа DRAM тем, что такты работы памяти засинхронизированы с тактами работы процессора. Это позволяет исключить циклы ожидания, имеющие место в DRAM.
По сравнению с обычной SDRAM в памяти типа DDR SDRAM (Double Date Rate SDRAM) при одной и той же частоте шины памяти быстродействие удалось увеличить вдвое за счет того, что обращения к памяти происходят дважды за такт — как по переднему, так и по заднему фронту тактовых сигналов.

В памяти типа DDR2 в отличие от DDR возможна работа на больших тактовых частотах. Например, в памяти DDR2-1066 при частоте шины 266 обеспечивается частота обращений к памяти 1066 МГц.

Память типа DDR3 имеет меньшее потребление энергии по сравнению с DDR2.
В современных настольных компьютерах используется оперативная память двух типов — DDR и DDR2. Старые типы памяти вроде SDRAM сегодня практически не применяются, за исключением устаревших машин и некоторых встраиваемых систем. Поддержка того или иного типа оперативной памяти осуществляется на уровне набора системной логики, как в случае с платформой Intel, либо на уровне самого процессора, как в случае с чипами AMD Athlon 64.

 

Аналого-цифровые преобразователи

Аналого-цифровые преобразователи (АЦП) – функциональные устройства, выходной цифровой код которых пропорционален амплитуде входного сигнала.
Т.к. большинство физических сигналов, амплитуда которых преобразуется в цифровой код, представляют непрерывные функции времени, а цифровые устройства – устройства дискретного действия, то входные аналоговые сигналы предварительно дискретизируют. Процесс дискретизации заключается в фиксации (запоминании) мгновенного значения входного сигнала в определенные моменты времени и сохранение зафиксированного значения до следующей выборки из входного сигнала. Интервал дискретизации или частота дискретизации fд (временного квантования) должны удовлетворять теореме Котельникова:

— высшая частота в спектре преобразуемого сигнала. При невыполнении условия теоремы однозначное восстановление исходного сигнала из дискретизированного (обратная операция) невозможно. Практически fд превышает 2fв в 1,5..3 раза, т.е.fд ~ 3..6 fв, что значительно упрощает последующее восстановление аналогового сигнала после цифровой обработки.
Основными параметрами АЦП являются:

  • относительная разрешающая способность ;δ=1/(2^n)-1

  • абсолютная разрешающая способность h =Umax*δ , где Umax — максимальное входное напряжение;

  • относительная нелинейность преобразования ;Снимок экрана от 2013-11-17 13:51:17

где входное напряжение, соответствующее коду k ;

  • время преобразования — интервал времени от подачи аналогового напряжения на вход АЦП до получения цифрового кода на выходе;

  • максимальная частота преобразования — наибольшая частота запуска, при которой параметры АЦП соответствуют заданным значениям.

Максимальная частота и время установления определяют быстродействие АЦП.

Существует множество способов аналого-цифрового преобразования. Наиболее распространенные из них:

  • АЦП последовательного действия;

  • АЦП поразрядного приближения;

  • АЦП параллельного действия;

  • Сигма-дельта АЦП.

OrCad Crack. Крякнуть OrCad по-русски

На торрент трекере раздают всем Orcad, в котором пошаговая readme  не верна, нет нескольких шагов

«1. Устанавливаем менеджер лицензий (License Manager) и программу (Cadence SPB 16.5).

Окно с запросом файла лицензии оставляем пустым.

2. Содержимое папки Cadence из папки Aspirin копируем в такую-же с инсталлированной
программой (если не меняли название папки по умолчанию на первом шаге).

3. Переходим в папку \Cadence\LicenseManager.
Находим и запускаем в ней скрипт LicenseManager.cmd

4. Переходим в папку \Cadence\SPB_16.5\tools\.
Находим и запускаем в ней скрипт Tools.cmd. Скрипт работает от 1 до 5 минут
в зависимости от производительности компьютера.

5. Переходим в папку \Cadence\LicGen. Изменяем любым текстовым редактором в первой
стороке файла src.lic имя this-host на реальное имя Вашего компьютера. Сохраняем файл.

6. Находим и запускаем там-же скрипт LicGen.cmd.
Будет сгенерирован файл лицензии license.lic.

6а. Необходимо сделать следующий шаг «Компьютер -> Свойства -> Дополнительные параметры системы -> Переменные среды -> Создать» 

Создаем по имени — CDS_LIC_FILE и по значению переменной вводим путь до license.dat, у меня это «C:\Cadence\LicenseManager\license.dat»

7. Запускаем программу конфигурации сервера лицензий:
Start -> Programs -> Cadence -> License Manager -> License Server Configuration Utility
В качестве файла лицензии указываем сгенерированный на предыдущем шаге файл.
Дважды жмем Next — должно появиться диагностическое сообщение об успешном
запуске сервера лицензий.

8. ВСЕ! Пользуемся :).»

Видео, для тех, кто все-таки нуждается в помощи!

 

Распараллеливание

Распараллелить решение задачи можно на нескольких уровнях. Между этими уровнями нет четкой границы и конкретную технологию распараллеливания бывает сложно отнести к одному из них. Параллелизм задач – совмещение во времени различных этапов разных задач – это мультипрограммная обработка информации, которая возможна даже в однопроцессорной ЭВМ.

Распараллеливание на уровне задач нам демонстрирует операционная система на примере «Диспетчера задач» Windows. Если первая программа показывает нам фильм, а вторая является файлообменным клиентом, то операционная система спокойно сможет организовать их параллельную работу. Другими примерами распараллеливания на этом уровне абстракции является параллельная компиляция файлов в Visual Studio 2008, обработка данных в пакетных режимах, например, в сети.  .NET Framework4 дополнен множеством средств, которые значительно облегчают выражение параллелизма в приложениях и обеспечивают его эффективность. Например, новое подпространством имен включает новый тип — Parallel, который предоставляет ряд статических методов для реализации параллельных циклов.

Для нескольких ядер программист явным образом указывает, какие функции на каких ядрах должны выполняться, — это физически параллельная система. Простота идеи программирования физически параллельных систем выливается на практике в целый ряд сложных методик и условий.

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

Распараллеливание

Что бы распараллелить однородные задачи, нужно спуститься на уровень ниже. «Параллелизм данных» заключается в применении одной и той же операции к множеству элементов. Параллелизм данных демонстрирует архиватор, использующий для упаковки несколько ядер процессора. Данные разбиваются на блоки, которые единообразным образом упаковываются на разных узлах.

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

Следующий уровень, это распараллеливание отдельных процедур и алгоритмов. Сюда можно отнести алгоритмы параллельной сортировки, умножение матриц, решение системы линейных уравнений. На этом уровне абстракций удобно использовать такую технологию параллельного программирования, как OpenMP.

Open Multi-Processing — это набор директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах. В основу положена идея использования специальных компиляторов («знающих» про параллельное программирование), для которых в коде программы расставляются специальные пометки-примечания, указывающие, что и где следует делать параллельно, а что — последовательно.
Компилятоp  — системная программа, выполняющая преобразование программы, написанной на одном алгоритмическом языке, в программу на языке, близком к машинному. Некоторые компиляторы (например, Java) переводят программу не в машинный код, а в программу на некотором специально созданном низкоуровневом языке. Такой язык, байт-код, также можно считать языком машинных команд, поскольку он подлежит интерпретации виртуальной машиной. Для каждой целевой машины (IBM, Apple и т.д.) и каждой операционной системы или семейства операционных систем, работающих на целевой машине, требуется написание своего компилятора.  Компилятор содержит две части — транслятор и компоновщик, именно последний помогает решать задачи распараллеливания.
Например, компилятор GCC содержит следующие инструментальные программные компоненты: препроцессор, транслятор, ассемблер, компоновщик (редактор связей — линковщик), которые реализуют выполнение одноименных фаз компиляции. Препроцессор вставляет в исходный текст программы заголовочные файлы, указанные директивой # include stdlib;, # define Macros( ) подставляет значения макросов, заданные директивой . Транслятор выполняет грамматический разбор программы на данном языке (С, С++) для проверки синтаксических ошибок. Ассемблер конвертирует текст программы на языке ассемблера в объектный код из машинных инструкций. Основной задачей компоновки является настройка внешних ссылок объектных модулей на точки входа функций переменных, которые определены в других объектных модулях программы и стандартных библиотеках системы программирования.
OpenMP позволяет работать на нескольких уровнях — либо задавать низкоуровневые объекты вручную, либо указывать, какие переменные являются «общими» и требуют синхронизации, передоверяя собственно синхронизацию компилятору.
В OpenMP используется модель параллельного выполнения «ветвление-слияние». Программа OpenMP начинается как единственный начальный поток выполнения. Когда поток встречает параллельную конструкцию, он создает новую группу потоков, состоящую из себя и некоторого числа дополнительных потоков, и становится главным в новой группе. Все члены новой группы (включая главный поток) выполняют код внутри параллельной конструкции. В конце параллельной конструкции имеется неявный барьер. После параллельной конструкции выполнение пользовательского кода продолжает только главный поток. Разработчик не создает новую параллельную программу, а просто последовательно добавляет в текст последовательной программы OpenMP-директивы.

Недостатков у OpenMP два. Первый — относительно жесткая модель программирования, навязываемая программисту — не очевидно, как заставить OpenMP-программу работать в режиме «системы массового обслуживания», когда некий «главный» поток принимает поступающие извне задания (скажем, запрос к веб-серверу) по отдельным потокам. А вручную подобная система делается элементарно. Второй — только сейчас появляющаяся поддержка сообщества Open Source.
Первая спецификация компилятора OpenMP (Open specifications for Multi-Processing) появилась в 1997 году и предназначалась для одного из древнейших языков программирования Fortran, на котором некогда было написано большинство «серьезных» вычислительных приложений. В 1998 году появились варианты OpenMP для языков C/C++; стандарт прижился, получил распространение и к настоящему моменту дорос до версии 2.5. Поддержка спецификации есть во всех компиляторах Intel, в компиляторе Microsoft C/C++, стандартизованно OpenMP — расширении для GCC (GNU-систем типа Linux).
Наиболее низкий уровень параллелизма осуществляется на уровне параллельной обработки процессором нескольких инструкций (команд). Можно изменить порядок этих инструкций, распределить их по группам, которые будут выполняться параллельно, без изменения результата работы всей программы (технологии MMX, SSE, SSE2 ит.д.). Это называется параллелизмом на уровне инструкций. Для реализации данного вида параллелизма в микропроцессорах используется несколько конвейеров команд, технологии предсказание команд, переименование регистров. Программист редко заглядывает на этот уровень. Работу по расположению команд в наиболее удобной последовательности для процессора выполняет компилятор. Интерес этот уровень распараллеливания может представлять только для узкой группы специалистов.

Многоуровневая организация процессора

Объекты на уровне 0 называются вентилями. Вентили состоят из аналоговых компонентов (транзисторы) и смоделированы как цифровые средства, на входе у которых цифровые сигналы (или набор 0 и 1), а на выходе – результат простых функций («И» или «ИЛИ»). Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1. Биты памяти,объединенные в группы, например, по 16,32 или 64, формируют регистры. Каждый регистр может содержать одно двоичное число до определенного
предела.
Уровень 1. Микроархитектурный уровень, представляет собой локальную память ( совокупность регистров) и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция тракта данных состоит в следующем. Выбирается один или два регистра, АЛУ производит над ними какую-либо операцию, например сложения, а результат помещается в один из этих регистров.
Уровень 2. Уровень архитектуры команд. Этот уровень включает набор машинных команд, которые выполняются микропрограммой-интерпретатором или аппаратным обеспечением.

Уровень 3. Уровень операционной системы. Этот уровень включает набор команд уровня 2. Оставшаяся часть команд интерпретируется операционной системой. Особенности уровня: набор новых команд, собственная организация памяти, способность выполнять две и более программ одновременно и др. При построении третьего уровня возможно больше вариантов, чем при построении первого и второго. Нижние три уровня конструируются не для того, чтобы с ними работал обычный программист. Они изначально предназначены для работы интерпретаторов и трансляторов, поддерживающих более высокие уровни. Эти трансляторы и интерпретаторы составляются системными программистами, которые специализируются на разработке и построении новых виртуальных машин. Уровни с четвертого и выше предназначены для прикладных программистов, решающих конкретные задачи.

Другое различие между уровнями 1,2,3 и уровнями 4,5 и выше — особенность языка. Машинные языки уровней 1,2 и 3 — цифровые. Программы, написанные на этих языках, состоят из длинных рядов цифр, которые удобны для компьютеров, но совершенно неудобны для людей. Начиная с четвертого уровня, языки содержат слова и сокращения, понятные человеку.
Уровень 4. Уровень языка ассемблера. Представляет собой символическую форму одного из языков более низкого уровня. На этом уровне можно
писать программы в приемлемой для человека форме. Эти программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются
соответствующей виртуальной или фактически существующей машиной. Программа, которая выполняет трансляцию, называется ассемблером.
Уровень 5. Язык высокого уровня. Обычно состоит из языков, разработанных для прикладных программистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные среди них — BASIC, С, C++, Java, LISP и Prolog. Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые обрабатывают эти программы, называются
компиляторами или иногда используется метод интерпретации. Например, программы на языке Java обычно интерпретируются.
Интерпретатор берёт очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. Только после того как
текущий оператор успешно выполнен, интерпретатор перейдёт к следующему. Если один и тот же оператор будет выполняться в программе
многократно, интерпретатор будет выполнять его так как, как будто встретил впервые. Вследствие этого программы, в которых требуется
осуществить большой объём вычислений, будут выполняться медленно.
Компиляторы полностью обрабатывают весь текст программы. Они просматривают его в поиске синтаксических ошибок (иногда несколько раз),
производят определенный смысловой анализ, а затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код.
Понятие «архитектуры» применительно к процессорам несколько двойственно: под ним может пониматься как совместимость с неким единым набором команд, так и совокупность аппаратных решений, присущих определённой достаточно широкой группе процессоров.
Известны процессоры с расширенной и укороченной системой команд, именуемые соответственно CISC (Complex Instruction Set Computing)
и RISC (Reduced Instruction Set Computing). Для CISC-процессоров характерны большое число машинных команд различных форматов, по командам
выполняются довольно объемные вычисления, эквивалентные операторам языков программирования. Такие команды занимают много тактов.
Архитектура CISC используется в микропроцессорах компаний Intel и AMD.
В процессорах архитектуры RISC, появившейся в 1980 г., длинные команды заменяются совокупностями коротких команд, выполнение каждой из
которых происходит за малое число тактов компьютера, чаще всего за один такт. Упрощение обработки команд достигается также за счет их
фиксированного размера и формата. Состав системы команд должен быть «удобен» для компиляции операторов языков высокого уровня.
Архитектуру RISC имеют многие микропроцессоры, разработанные для рабочих станций, например, микропроцессоры SPARC компании Sun
Microsystems, микропроцессоры Power6 компаний IBM и Apple.
«Процессорное ядро» — это конкретное воплощение микроархитектуры (т.е. «архитектуры в аппаратном смысле этого слова»), являющееся
стандартом для целой серии процессоров. Например, NetBurst — это микроархитектура, которая лежала в основе процессоров Intel: Celeron,Pentium 4. Она задает общие принципы: длинный конвейер, использование определенной разновидности кэша кода первого уровня, расширенная 64-битная технология работы с памятью. Последнее принесло три усовершенствования: появление команд для работы с 64-битными целыми
числами, увеличение количества и/или разрядности регистров, и увеличение максимального объёма адресуемой памяти. Частота работы ядра только
в первом приближении определяет быстродействие, так как совершенно не обязательно все составляющие CPU функционируют на той же частоте,
могут на 1⁄2, 1/3. Скорости работы с памятью: За такт передаётся 64 бита, то есть 8 байт. Соответственно, если рабочая частота шины равна 100 МГц (100’000’000 тактов в секунду) — то скорость передачи данных будет равна 8 байт * 100’000’000 герц ~= « в десятичных мегабайтах» 800 мегабайт в
секунду. DDR-шина способна передавать за один такт удвоенный объём данных, а (Quad Data Rate) шина — то она и вовсе «400-мегагерцевая», так
как за один такт передаёт четыре пакета данных. Хотя реальная частота работы у всех трёх вышеописанных шин одинаковая — 100 мегагерц.
Суперскалярность и внеочередное исполнение команд — современные процессоры способны запускать на исполнение не только ту команду,
которую (согласно коду программы) следует исполнить в данный момент времени, но и другие, следующие после неё.
Пусть нам следует исполнить следующую последовательность команд:
1) A = B + C
2) Z = X + Y
3) K = A + Z
Легко заметить, что команды (1) и (2) совершенно независимы друг от друга — они не пересекаются ни по исходным данным (переменные B и C в
первом случае, X и Y во втором), ни по месту размещения результата (переменная A в первом случае и Z во втором). Стало быть, если на данный
момент у нас есть свободные исполняющие блоки в количестве более одного, данные команды можно распределить по ним, и выполнить
одновременно, а не последовательно. В классическом случае исполнение всей последовательности заняло бы N*3 тактов, а в случае с параллельным
исполнением — всего N*2 тактов.
Процессор, который умеет сам определять независимые и непротиворечащие друг другу инструкции и параллельно их выполнять, называется суперскалярным.
Внеочередное исполнение — инструкции поступают в исполнительные модули не в порядке их следования, как было в концепции выполнения
инструкций по порядку, а по готовности к выполнению. Процессор с внеочередным выполнением кода выполняет те инструкции, которые готовы, вне зависимости от их порядка следования в коде программы. Внеочередное выполнение тем эффективнее, чем длиннее конвейер процессора, и чем больше разница в скорости между памятью (оперативной или кэшем) и процессором. Процессоры работают намного быстрее памяти, поэтому во время ожидания поступления данных процессор может выполнить множество инструкций, операнды которых доступны.
В настоящее время для дальнейшего повышения производительности используют несколько подходов. Во-первых, реализация двух или более
процессоров в одной СБИС («мультипроцессирование на уровне микросхем»). Благодаря малым расстояниям между основными регистрами и кэш-памятью удается заметно снизить задержки при параллельном выполнении операций в процессорах. Во-вторых, архитектура сверхбольшого командного слова EPIC, выполняющая параллельно несколько команд. В-третьих, многопотоковоая обработка информации на основе параллелизма на уровне нитей. Суть заключается в загрузке конвейера более чем одним заданием. Если в обычном конвейере одно задание (нить)не в состоянии загрузить конвейер и ряд функциональных блоков в течение некоторых тактов остаются свободными, то в технологии TLP эти блоки загружаются операциями из других нитей.

Литература по САПР

 

Altium_Designer_(Sabunin_A.E.).djvu

А. Е. Сабунин
Altium Designer. Новые решения в проектировании электронных устройств

Данная книга представляет собой первое систематическое описание основных приемов работы с системой автоматизированного проектирования радиоэлектронных устройств, пришедшей на смену широко используемой в отечественной практике программе PCAD.
Книга написана опытным специалистом в области Altium Designer, преподавателем-практиком. В ней учтен опыт доступного изложения материала, используется технология практического проектирования и пошаговое обучение работе с системой.
В ней рассмотрены основные приемы разработки электрических принципиальных схем, библиотечных баз и печатных плат. Описаны различные аспекты установок опций при проектировании и моделировании радиоэлектронных устройств. Рассмотрен ряд оригинальных решений, значительно повышающих эффективность этих процессов.
Книга предназначена для широкого круга инженерно-технических специалистов, студентов и аспирантов технических ВУЗов, занимающихся проектированием электронных устройств.

Снимок экрана от 2013-10-09 190334

OrCAD 10. Проектирование печатных плат (Кузнецова)(2005).djvu

OrCAD 10. Проектирование печатных плат (Кузнецова)(2005).djvu

Рассмотрены вопросы схемотехнического проектирования РЭА и проектирования печатных плат в OrCad 10. Приведены подробные описания основных модулей программ Capture и Layout. Освещены вопросы работы с этими подсистемами: описание среды проекта, работа в графических редакторах, получение соответствующих отчетов, создание и ведение библиотек.Отдельная глава посвящена особенностям работы с внешними и встроенными базами данных в подсистеме Capture CIS.

 

 

P-CAD 2006. Схемотехника и проектирование печатных плат. Самоучитель. Книга + видеокурс

 Книга представляет собой превосходное руководство по P-CAD 2006, которое позволяет в сжатые сроки освоить работу в P-CAD 2006 и максимально быстро получить готовые результаты. В книге вы найдете все необходимое. Теоретическое описание возможностей и методики работы в системе P-CAD сопровождается реальным практическим примером, приведенным в конце главы и призванным закрепить прочитанное и освоить его применение на практике.С первых глав книги вы начинаете проектировать вполне реальное устройство, разработанное автором, готовите компоненты, создаете библиотеки, рисуете схему, разводите печатную плату. Соответствующие этапы проекта выполняются по итогам изучения определенной темы. Каждая глава начинается с подробного описания возможностей, настроек и опций соответствующего модуля P-CAD, его назначения и методики использования. К книге прилагается уникальный практической видеокурс, с помощью которого достигается максимальный эффект в освоении P-CAD 2006. Все вышеперечисленное выгодно отличает данное издание от остальных. Рекомендовано всем, кто хочет освоить P-CAD 2006 с нуля и быстро научиться добиваться готовых результатов.

 

.

Мультивибратор на логических элементах

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

При высоком уровне напряжения на выходе элемента DD1.1 через его выходное сопротивление и резисторы R1 и R1’ происходит заряд конденсатора С1. Ток заряда создает экспоненциально спадающее напряжение на резисторах R1 + R1’, т.е. на входе DD1.2. Пока это напряжение выше порога отпирания DD1.2, на его выходе будет низкий логический уровень. В это же время конденсатор C2 разряжается через низкое выходное сопротивление DD1.2 и резистор R2, создавая на входе DD1.1 отрицательный экспоненциальный импульс (рисунок 3.16).

 10

Рисунок 3.15                                                                 Рисунок 3.16

Регенеративное опрокидывание схемы происходит, когда напряжение на входе DD1.2 достигает порога срабатывания. После этого роли элементов схемы меняются местами. Длительность рассматриваемого полупериода определяется следующим образом:

t1  τ1  ln(U1/UП) = C1(R1+R1’)  ln(U1/UП) , (3.16)

где U1 – максимальное напряжение на выходе логического элемента. Его величина зависит от технологии изготовления и серии микросхем, использованных для построения мультивибратора. Обычно для микросхем, изготовленных по технологии ТТЛШ U1составляет от 2,4 до 4,2 В, а величина порога срабатывания UП – 1,2…1,4 В.

.