1i7 (1i7) wrote,
1i7
1i7

Category:

Лаба1.Часть3: сборка простых электронных схем на основе микросхем малой степени интеграции

ЖЖ не проглотил вторую часть поста целиком тоже, поэтому разбиваю еще на две части. Здесь Часть 3 - Сама первая лабораторная работа, подбор реквизита для практических упражнений, введение в весь курс и в первую лабораторную работу.

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

триггеры (флип-флопы) из первого знакомства выпали и оставлены для лучших времен.

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

Собственно лабораторная работа

1. Главные детали макетная плата, диоды и светодиоды

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

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



Если сейчас не очень понятно, все прояснится после первого эксперимента со светодиодом.

За направление тока на схемах принято брать направление от плюса (+) к минусу (-).

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

Диод - это проводник, который пропускает ток только в одном направлении - от плюса (+) к минусу (-), а от минуса (-) к плюсу (+) не пропускает. На схемах диод обозначается стрелочкой, упирающейся в вертикальную черту, стрелка указывает разрешенное диодом направление тока. Ножка диода, которую в режиме пропускания тока нужно подключать к плюсу называется анод, которую к минусу - катод.

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



2. Определение булевых значений TRUE/FALSE на выбранном участке цепи светодиод в качестве индикатора текущего значения

Булевы переменные определяются уровнем напряжения на участке цепи, с которого снимаем значение. За TRUE=1=HIGH принимаем значение плюс (+) ("напряжение HIGH"), за FALSE=0=LOW принимаем минус (-) или землю ("напряжение LOW").

Для того, чтобы воочию проверить текущее булево значение на выбранном участке, можно использовать светодиод - подключить к точке снятия значения анод (длинная ножка), катод (короткая ножка) при этом подключить к минусу. Если в точку подключения анода подан плюс (+), т.е. снимаемое значение должно быть TRUE, ток потечет от анода к катоду через светодиод и его лампочка загорится. Если в точке подключения анода будет минус или земля, ток не потечет, лампочка не загорится - снятое значение - FALSE.

Замечание: светодиод не рекомендуется подключать напрямую к батарейке без промежуточного сопротивления или если подключенное сопротивление слишком мало, т.к. иначе он сможет перегореть из-за слишком сильного тока, на который он не рассчитан (какое-то время он будет светиться, но при этом сильно нагреется и в конечном итоге перегорит). С сопротивление 500Ом (которое быше было выбрано в качестве "послабее") светодиоду ничего не грозит.



Вход A подключен к плюсу (+) - считаем, что в этой точке цепи значение 1=TRUE=HIGH - лампочка светодиода горит


Вход A подключен к минусу (-) - считаем, что в этой точке цепи значение 0=FALSE=LOW - лампочка светодиода не горит





Задание в аудитории: нарисовать на доске схему подключения светодиода и попросить группу реализовать ее на макетных платах. В этот момент сразу вскрывается нюанс, специфический для работы в аудитории. В книге tron.ix для каждого упражнении есть две картинки - одна показывает логическую схему подключения, на второй нарисована макетная плата с дырочками и все нужные элементики так, чтобы было видно, какие ножки куда втыкаются и т.п. Сидя дома с книгой проще смотреть на вторую картинку и просто повторять рисунок из книги на живой макетной плате. В аудитории с большим количеством человек этот фокус никак не прокатывает - внятное фотореалистичное изображение макетной платы со всеми дырочками и со всеми элементами, натыкаными в кучку, на доске маркером нарисовать довольно сложно, поэтому проще нарисовать принципиальную схему, а студенты уже сами вникают, как составить ее физическое воплощение на макетной плате. Первое задание с простым светодиодом и сопротивлением заняло около 10ти минут, т.к. это было первое знакомство с устройством макетной платы (схему соединений дырочек внутри платы во время первого задания кстати с доски можно не стирать) и повторная встреча с основами электродинамики после долго расставания - кое-кто например сначала решил засунуть ножки светодиода прямо в дырки полос для электропитания (причем обе в плюс), но после некоторых разъяснений и уточнений все в тему вникли и на следующих заданиях процесс конвертации логической схемы в физическую цепь шел уже значительно веселее.

3. Таблица истинности и оператор OR
Как было показано в предыдущем упражнении, в качестве переменных, которые могут принимать булевы значения TRUE/FALSE, мы можем брать определенные участки цепи - т.к. в разных условиях напряжение на одном и том же участке может быть как HIGH (+), так и LOW (-) - отсюда и термин "переменная" - возможностью присвоения значения.

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

В дискретной математике любой оператор задается своей таблицей истинности, в которой перечислены все возможные комбинации значений переменных-параметров (для двух входных переменных: 11, 10, 01, 00) и указано значение резульатата действия оператора для каждой из комбинаций (для двух входных переменных это будет 4 значения единиц и нулей).

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

В качестве первого примера рассмотрим физическую реализацию элементарного булева оператора OR. Его принципиальная схема выглядит следующим образом:



Как выглядит его таблица истинности можно узнать, найдя определение этого оператора в учебнике по дискретной математике или собрав приведенную схему на макетной плате - для задания значений входным переменным-параметрам A и B можно втыкать соответствующие провода A и B в отсеки (+) (TRUE=1) или (-) (FALSE=0), при этом результат действия оператора на участке цепи Q будет видно по текущему состоянию красного светодиода (горит - оператор вернул Q=TRUE=1, не горит - Q=FALSE=0). Мы воспользуемся конечно вторым вариантом.



A=1 B=1 Q=1


A=1 B=0 Q=1


A=0 B=1 Q=1


A=0 B=0 Q=0



Замечание: почему так происходит физически в данном случае понять довольно просто - при подключении анода любого из входных диодов к плюсу (A=1 или B=1) цепь замыкается и на точку Q (к которой в том числе подключен анод светодиода) подается ненулевое напряжение - лампочка горит - Q=HIGH=TRUE. Если ни один из анодов A и B не подключен к плюсу (+) (т.е. A=0=FALSE и B=0=FALSE), напряжению в цепи взяться вообще неоткуда, т.к. участок с плюсом полностью изолирован - поэтому лампочка гореть не может и Q=LOW=FALSE. Но заострять внимание здесь и на следующих схемах на этом механизме во время занятия в аудитории думаю не обязательно, т.к. мозг студентов в этот момент занят впитыванием и усвоением информации о том, что привычные им из дискретной математики и программирования булевы операторы могут вести себя также, как и живые лампочки на схеме, которую они только что собрали из нескольких проводов, т.е. давать одни и те же таблицы истинности. Поэтому важнее сакнцентировать внимание именно на наблюдении принципиальной возможности существования точки перехода "физика в лице электродинамики" -> "абстракции дискретной математики". Дополнительное погружение в электродинамику может повредить этому процессу или в конечном итоге просто не будет воспринятно так, как нужно - объяснение деталей механизма этого процесса можно оставить на самостоятельную работу, на отдельное занятие напотом или иметь ввиду на случай дополнительных вопросов из аудитории (если вдруг кто-то все-таки усвоит новую информацию достаточно быстро и захочет дополнительных объяснений).



4. Оператор AND
Почти ничего нового по сравнию с предыдущим упражнением - просто строим оператор AND по схеме.


A=1 B=1 Q=1



A=1 B=0 Q=0


A=0 B=1 Q=0


A=0 B=0 Q=0



Замечание: по физике процесса - если замыкаем один из катодов (A или B) на минус (-), ток потечет напрямую от плюса к минусу по участку сети через соответствующий диод, а на участок сети Q (при такой конфигурации он оказывается подключенным параллельно диоду) силы тока просто "не хватит", чтобы зажечь лампочку (т.е. присвоить Q=TRUE), т.к. при параллельном подключении участков цепи ток распределяется обратнопропорционально значению внутренних сопротивлений этих участков (например если подключить один из диодов через индивидуально сопротивление, то фокус работать не будет - ток потечет по обоим каналам).

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


(помарки: "катод" подписан неправильно, диоды A и B нарисованы как светодиоды)

5. Оператор NOT и транзистор
Аналогично строим цепь для оператора NOT.  Новый элемент на схеме - транзистор - выглядит как целлиндр со срезанной с одной стороны боковой частью с тремя ножками, торчащими снизу - если повернуть его к себе плоской "срезанной" частью, то слева направо ножки будут - эмиттер, база и коллектор. Грубо говоря транзистор - это диод с выключателем - пропускает ток от коллектора (на него нужно подвать плюс) к эмиттеру (на него нужно давать минус), но при этом умеет включать и выключать канал между коллектором и эмиттером за счет напряжения, подаваемого на базу (при подключении базы к плюсу транзистор открыт - ток течет от коллектора к эмиттеру, если база подключена к минусу или просто выдернута из цепи, транизистор закрыт - ток через коллектор-эмиттер не течет).



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



A=1 Q=0


A=0 Q=1



Замечание: по физике процесса - почти аналогично цепи с AND - если база на минусе (A=FALSE), транзистор закрыт, ток может течь только через участок Q с диодом - Q=TRUE.  Если база подключена к плюсу (A=TRUE), ток начинает течь через транзистор, на подключенный параллельно участок Q его силы уже не хватает - получаем Q=FALSE.

Замечание: в аудитории - при построении цепи NOT цепь AND из предущего упражнения не разбираем - строим NOT в правой части макетной платы, т.к. в следущем упражнении мы сделаем из них составной оператор NAND.



6. Объединение логических элементов в логическую цепь оператор NAND как AND+NOT
Очень простое технически и важное концептуально упражнение - соединение двух операторов в один составной путем подачи вывода одного оператора на вход другого. Вставляем проводок "A" от оператора NOT в отверстие на выходной подсети "Q" оператора AND (катод красного светодиода AND) - получили оператор NAND - входные параметры - провода "A" и "B" от оператора AND, выходной результат - зеленый светодиод "Q" оператора NOT. Промежуточный красный светодиод-индикатор от оператора AND оставляем для наглядности - при изменении значений входных параметров A и B красный и зеленый светодиоды должны всегда находиться в протифофазе (горит только один из них).


A=1 B=1 Q=0


A=1 B=0 Q=1



A=0 B=1 Q=1


A=0 B=0 Q=1







(В аудитории совмещали OR и NOT в NOR, но для плавного перехода к следующему у пражнению с модулем 4011 лучше делать NAND)

Здесь можно сделать перерыв.

7. Знакомство с модулями цифровой логики 4 оператора NAND внутри модуля 4011
Новый важный концептуально элемент - модуль цифровой логики (logic gate) на примере гейта 4011, который содержит внутри себя 4 цифровых логических оператора NAND - на этот раз это черный ящик в буквальном смысле - со всех сторон прямоугольный параллелепипед черного цвета (если не считать серебристую надпись) с торчащими наружу лапками, которые идеально втыкаются в макетную плату (если не забыли про нюанс с корпусом DIP) - некоторые из них являются интерфейсом ввода, некоторые - интерфейсом вывода.

Очевидно подобные логические модули должны очень сильно облегчать жизнь схемотехнику, т.к. поднимают его на один уровень выше в иерархии успрощающих абстракций - чтобы в этом убедиться, достаточно сравнить размер элемента 4011 (который содержит 4 оператора NAND) и схему одного оператора NAND, который мы собрали выше руками. Для того, что воспользоваться готовым логическим модулем достаточно посмотреть на его принципиальную схему и выяснить, какие ножки за что отвечают.

В случае с 4011, чтобы воспользоваться например первым оператором NAND из 4х доступных, можно подключить провода ввода A и B к ножкам 1 и 2 соответственно, а провод вывода Q к ножке 3 (ну и подать питание - минус (-) на ножку 7, плюс (+) на ножку 14) - таблица истинности для Q будет показывать действие оператора NAND точно как и в прошлом примере.



A=1 B=1 Q=0


A=1 B=0 Q=1


A=0 B=1 Q=1


A=0 B=0 Q=1



(в конце ролика небольшая помарка - в последней строке должно быть записано "0, 0, 1" вместо "1, 1, 1")

Понятное дело, что подобных логических элементов создано большое количество на все случаи жизни (от базовых логических операторов до генераторов импульса типа 555 или драйвера 7мисегментного дисплея 4511) - как и в случае с 4011, для того, чтобы ими пользоваться, не особо важно знать, как они устроены внутри - достаточно посмотреть в документацию про то, что и при каких обстоятельствах можно подавать и что снимать с его лапок. В общем, почти полная аналогия с библиотеками готовых функций или объектов в мире программирования.





(Если не разбирать NAND из упражнения AND+NOT и уместить NAND из 4011 рядом с ним, то можно убедиться, что лампочки обоих NAND'в при одинаковых входных значениях должны давать одинаковые выходные значения, т.е. схема собранная руками из сопротивлений, диодов и транзисторов, дает тот же результат, что и схема, прошитая внутри черного модуля 4011).

8. Таймер из двух элементов NAND и конденсатора
И опять важный новый элемент - генератор периодического сигнала - таймер (Clock). До этого момента все собираемые логические схемы были статичными - при подаче нужных сигналов на входные подсети (A и B) их значение однозначно преобразовывалось через последовательную цепочку логических операторов в значение выходного сигнала Q, которое без ручного изменения значений входящих сигналов (A и B) (например ручного перетыкания провода из плюса в минус) никак меняться не будет. Элемент "таймер" (или "часы" - в tron.ix он называется Clock, при этом был еще дополнительный специальный элемент Timer) добавляет динамики в этот процесс - значение выходного сигнала таймера самостоятельно меняется с HIGH (TRUE) на LOW (FALSE) и обратно с определенной частотой и при этом человек в этом процессе никак не участвует (нет нужды руками перетыкивать провод из плюса в минус).

В связке с триггерами (flip-flop'ами - элементами, которые умеют "запоминать" свое значение) это в будущем позволит строить конечные автоматы, которые на каждый "такт" таймера будут последовательно переходить из одного состояния в другое.

Последовательность выходных значений HIGH/LOW в каждый момент времени изображают в виде ломаной линии на специальном графике - в дальнейшем с такими графиками будет более плотное знакомство в следующих лабах при симуляции поведения конечных автоматов.

Таймер можно собрать из 2х элементов NAND (взять из логического элемента 4011) и конденсатора C1 (новый элемент на схеме - см. замечание ниже). У конденсатора две ножки - одна длинне (условный плюс), вторая короче (условный минус), но судя по всему какой стороной втыкать конденсатор по крайней мере в данную схему особой роли не играет, т.к. их полярность все равно меняется в процессе колебания (в этом весь смысл).





Замечание: по физике процесса - новый электрический элемент схемы, без которого таймер не смог бы работать - конденсатор - внутри устроен достаточно просто - две изолированные друг от друга пластины - если на одной из них накопить заряд (+), а на второй оставить минус (-) (т.е. конденсатор будет заряжен) и потом подсоединить ножки к разным участкам цепи, через цепь потечет ток от плюса к минусу пока заряды не уравняются (конденсатор разрядится). После разрядки конденсатор можно опять зарядить, подав на одну пластину плюс, а на другую - минус. На данной схеме при помощи двух элементов NAND организован процесс, при котором конденсатор будет постоянно то заряжаться, то разряжаться с определенной периодичностью и таким образом генерировать периодический импульс. Когда половинка конденсатора C1, подсоединенная на схеме к выходу 3 1го элемента NAND через сопротивление R1, заряжена плюсом (+), входы 1 и 2 1го элемента NAND имеют значение TRUE (+) и TRUE (+), что на выходе 3 дает значение FALSE (-) (см таблицу истинности NAND) и таким образом конденсатор имеет возможность разрядить свой плюс (+) в этот минусовой участок цепи через сопротивление R1. После того, как плюсовой (+) заряд конденсатора полностью спущен, те. превращается в минус (-), входы 1 и 2 1го элемента NAND логично получают значения FALSE (-) и FALSE (-), что соответственно меняет значение значение выхода 3 на значение TRUE (+) - в итоге получаем, что ток идет уже в противоположном направлении обратно в конденсатор до тех пор, пока он не зарядится обратно до плюса (+) - т.е. попадаем в исходное состояние. И так по кругу - частота процесса будет зависеть от емкости конденсатора (это его физическая характеристика) и силы сопротивления R1 (F=1/R1*C1). Можно в качестве дополнительного эксперимента заменить R1 на сопротивление с другим значением и убедиться, что частота мигания лампочки изменится.

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



9. Устройство вывода семисегментный диодный дисплей
В качестве расслабляющего упражнения напоследок - знакомство с первым "человеческим" устройством вывода - семисегментным диодным дисплеем. По сути те же светодиодные лампочки, но подавая ток на нужные сегменты экрана, можно "рисовать" на нем все цифры от 0 до 9 и некоторые буквы.

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



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


(на доске нарисована схема дисплея с общим катодом)




Всем очень понравились семисегментные диодные дисплеи с общим анодом. Даже вместо того, чтобы расходиться после длинного занятия, было принято стихийное решение составить из них название группы "10-ПМ" (Прикладная Математика 2010го года поступления - букву "М" сделали в виде повернутой на бок цифры "3") и заснять его на фото.

10. Замечание - выпавший триггер
В список упражнений не вошел последний важный концептуально элемент - это триггер (flip-flop) - элемент схемы, который может запоминать последнее установленное в него значение. Без этого элемента было бы невозможно строить конечные автоматы (в частности процессоры). Изначально планировалось включить знакомство с понянием триггера на примере RS-триггера (т.к. у него довольно простая схема), но по ходу занятия стало понятно, что количество новой информации воспринимаемой за один раз уже подошло к лимиту усвояемости. Поэтому знакомство с триггерами (простым RS-триггером и более важным D-триггером) перенесено на следующие лабораторные работы непосредственно перед их использованием, когда будем рассматривать уже конкретно конечные автоматы.

Заключение
Мои впечатления от лабораторной работы как выпускника специальности Прикладная Матемитика и Java-программиста. Самый важный результат заключается в том, что эта лабораторная работа показала существование надстройки основ дискретной математики (булевой алгебры) над школьной электродинамикой (из которой лично у меня мало чего оставалось кроме смутных воспоминаний о законе Ома) - осознание этого факта открывает дорогу к пониманию принципов построения более сложных электронных систем, в основе которых лежит все та же дискретка.




С практической точки зрения игры с лампочками на макетных платах оказались довольно важны для визуального ускоренного усвоения новой информации, но за осуществление каких-то относительно сложных проектов лично я бы имея на руках одни макетные платы и россыпь разных логических гейтов не взялся - все-таки при увеличении сложности схемы процесс соединения проводков на схеме становится довольно утомительным и затратным по времени, при этом сложность (а значит и ценность проекта) собираемой системы будет довольно сильно ограничена чисто физически - площадь макетной платы можно увеличить, но как делать "рефакторинг кода" или искать ошибки, когда из одной куче торчит тысяча проводов я представляю слабо (хотя судя по информации в интернете кто-то умудряется водружать на них целые процессоры, поэтому так категорично утверждать не буду) - при этом вопрос создания проектной документации и конвертация собранного таким образом прототипа в формат документа, который мог бы быть использован для серийного производства, вообще не рассматривается. Совершенно другое дело - это чипы ПЛИС (FPGA) с программируемой цифровой логикой (в их основе лежат все те же самые базовые элементы, которые были рассмотрены в текущей лабе, но процесс манипуляции с ними организован на качественно более высоком уровне) - знакомство с ними сразу на порядки расширяет границы для фантазии в выборе целей возможных проектов - первое знакомство с ними запланировано на следующую лабораторную работу.
Tags: физика, цифровая электроника для программистов
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments