?

Log in

No account? Create an account
За то, что я рекомендую российским студентам, американские полицаи арестовуют с пистолетом - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

За то, что я рекомендую российским студентам, американские полицаи арестовуют с пистолетом [Aug. 29th, 2012|11:15 pm]
Yuri Panchul
[Tags|]

Обнаружил у Аммосова ссылку на любопытную историю: оказывается, когда гавайско-американская студентка MIT нацепила на маечку макетную плату, зеленые LED и батарейку на 9 вольт - то полицай в аэропорту принял это за бомбу и арестовал студентку под дулом пистолета.

Что делает эту историю любопытной:

1. Внешне инсталляция студентки выглядит как первая лаба по курсу "Цифровая микроэлектроника для математиков и программистов", который мы с Антоном Моисеевым 1i7 разрабатываем для его университета в Нижнем Новгороде

2. ЖЖ-юзер uzhas_sovka утверждал (точнее implied), что якобы в MIT не делают лаб с макетными платами, зелеными LED и батарейками на 9 вольт

3. ЖЖ-юзер uzhas_sovka утверждал (точнее implied), что якобы в США все школьнеги (включая в юности полицая в аэропорту) якобы знакомятся с макетными платами и LED еще в школе

А теперь посудите сами:


http://www.boston.com/news/globe/city_region/breaking_news/2007/09/mit_student_arr.html



MIT student arrested at Logan in bomb scare
By the Boston Globe City & Region Desk
September 21, 07 01:15 PM

(Bill Brett for The Boston Globe/AP Photo/Michael Dwyer, pool)

Star Simpson was charged with possessing a hoax device today at Logan International Airport for wearing a sweatshirt that had a circuit board affixed to the front with green LED lights and wires running to a 9-volt battery.

By Anna Badkhen, Michael Levenson, and Andrew Ryan, Globe Staff

An MIT student wearing a device on her chest that included lights and wires was arrested at gunpoint at Logan International Airport this morning after authorities thought the contraption was a bomb strapped to her body.


Star Simpson, 19, was wearing a black hooded sweatshirt and approached an airport employee in Terminal C at 8 a.m. to inquire about an incoming flight from Oakland, according to Major Scott Pare of the State Police. She was holding a lump of what looked like putty in her hands. The employee asked about the plastic circuit board on her chest, and Simpson walked away without responding, Pare said.

Outside the terminal, Simpson was surrounded by police holding machine guns.

"She was immediately told to stop, to raise her hands, and not make any movement so we could observe all her movements to see if she was trying to trip any type of device," Pare said at a press conference at Logan. "There was obviously a concern that had she not followed the protocol ... we may have used deadly force."

Simpson was arrested, and it was quickly determined that the device was harmless.

"She said it was a piece of art and she wanted to stand out on career day," Pare said. "She was holding what was later found to be playdough."

Affixed to the front of her black sweatshirt was a pale beige circuit board with green LED lights and wires running to a 9-volt battery. Written on the back of the sweatshirt in what appeared to be gold magic marker was the phrase "socket to me" and below that was written "Course VI," which refers to the electrical engineering and computer science program at MIT.

Simpson was charged with possessing a hoax device and was arraigned today East Boston Municipal Court. She was held on $750 cash bail and ordered to return to court Oct. 29.

"Thankfully because she followed our instructions, she ended up in our cell instead of a morgue," Pare said. "Again, this is a serious offense ... I’m shocked and appalled that somebody would wear this type of device to an airport."

According to the MIT website, Simpson is from Kihei, Hawaii, and is a sprinter on the school's swim team. On Simpson's personal website at MIT, she says she is studying computers and enjoys tinkering in a student-run machine shop.

"In a sentence, I'm an inventor, artist, engineer, and student, I love to build things and I love crazy ideas," the website says.





Еще статья про это же в USA Today - http://www.usatoday.com/news/nation/2008-06-02-mit-student_N.htm


Обсуждение в блоге у Аммосова:

http://ammosov.livejournal.com/900722.html?thread=21550706#t21550706





Да,  я это все к чему. Антон Моисеев запостил еще пару инстоллментов с лабами "Цифровая микроэлектроника для математиков и программистов", одной из которых я делаю репост:


Originally posted by 1i7 at Лабораторная работа 3: делаем память (защелки и триггеры) (1)
До этого момента все примеры были основаны на так называемой комбинационной логике (combinational logic) - все входы системы каким-то образом комбинируются при помощи логических операций и дают некий выходной результат - состояние всех выходов системы зависит только от текущих значений входов системы. При помощи такого подхода можно реализовать аппаратное ускорение вычисления например какой-нибудь математической формулы, но сделать более сложную систему, которая бы могла запоминать внутри себя свое внутреннее состояние и далее какое-то время действовать самостоятельно по обстоятельствам (типа конечного автомата - например робота или процессора) уже не получится.

Поэтому для реализации этих более сложных и полезных вещей используется другой подход, который называется секвенциальная (или последовательностная) логика (sequential logic).

В основе секвенциальной логики лежат генератор тактовых сигналов (импульс-генератор - clock) и память. Импульс-генератор является механизмом, который переводит систему из одного состояния в другое, а память используется для того, чтобы сохранять текущее состояние системы. Таким образом получается, что значения выходных сигналов системы на каждый такт генератора импульсов зависят уже не только от текущих значений входных сигналов, но и от значений, которые сохранены во внутренней памяти.



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




Упражнение 1: RS защелка (RS latch) на макетной плате

Один из самых элементарных триггеров - это RS защелка (или RS триггер). Его можно сделать из 2х модулей NAND, зацикленных друг на друга.

Замечание: насколько я понял, жесткого устоявшегося различия между терминами защелка (latch) и триггер (flip-fllp) не существует. В журнале Tron.ix и на многих ресурсах в интернете RS защелка (RS latch) называется RS flip-flop (RS триггер). Однако в книге Harris & Harris между защелками и триггерами проводится различие, обусловленное необходимостью отличать два типа триггеров - D latch (D защелка) и основанный на ней чуть более сложный D flip-flop (D триггер), ну и также некоторыми особенностями механизмов их работы, которые станут понятны после последнего упражнения ниже. Здесь и далее я буду следовать терминологии Harris & Harris и различать защелки и триггеры, хотя в другой литературе схемы аналогичные описанным здесь защелкам могут называться триггерами без потери корректности. В русской википедии D latch (D защелка) называется D-триггером, а D flip-flop (D триггер) называется двухтактным D-триггером.



Чтобы понять, что в такой схеме будет происходить, можно вспомнить таблицу истинности оператора NAND и рассмотреть все разные возможные случаи.



1. R=0, S=0: Очевидно, что оба выхода Q и ~Q на схеме будут равны 1, т.к. для обоих NAND'ов для выдачи значения 1 на выход достаточно подать 1 хотябы на одну входящую ножку, а промежуточные обратные связи между NAND'ами при такой схеме роли не играют. Подобное состояния не итересно с точки зрения функционала защелки и считается некорректным. Итого: Q=1, ~Q=1.

2. R=0, S=1: Выход Q будет равен 1, т.к. для этого достаточно подать значение 0 на любую ножку его NAND'а (что мы и сделали, подав 0 на R), значение 2й "зацикленной" ножки роли не играет. Для ~Q смотрим дальше - 1я ножка его NAND'а S=1, т.е. по таблице истинности NAND финальное значение оператора может быть как 0, так и 1 и будет зависеть от значения 2й входной ножки. Смотрим, чему равно значение 2й ножки - оно равно результату работы 1го оператора NAND Q, который как только что выяснили обязательно равен 1. Итого получаем на втором операторе NAND два входа 1 и 1 - итоговое значение ~Q=0. Итого: Q=1, ~Q=0.

3. R=1, S=0: Цепочка рассуждений зеркальна пункту 2. Итого: Q=0, ~Q=1.

4. R=1, S=1: Самая интересная ситуация, которая собственно и определяет полезность этой RS защелки как модуля памяти. Судя по таблице истинности, финальные значения Q и ~Q  не могут быть определены, основываясь только на значениях R и S, если они оба равны 1, т.к. и для верхнего и для нижнего NAND'а требуется знать значение "зацикленной" ножки, но верхний NAND может получить его только от нижнего NANA'а (значение ~Q), а нижний NAND может получить его только от верхнего NAND'а (Q). Поэтому для решения это проблемы требуется рассмотреть ситуацию, которая произошла "за мгновение" до перехода в состояние в текущее состояние R=1, S=1.

        4.1. Если значение R было равно 0 (S так и было 1), то значение Q было равно 1, т.е. "зацикленный" вход нижнего NAND'а был тоже равен 1, соответственно выход ~Q нижнего NAND'а равнялся 0 (полностью повторение ситуации 2). Теперь если мы из этого положения переходим в состояние 4, т.е. переносим вход R с 0 на 1, это ситуацию ни коим образом не меняет, т.к. "зацикленный" вход верхнего NAND'а равен ~Q=0, а это значит, что выход Q по таблице истинности все равно будет равен 1 вне зависимости от значения R, т.е. мы попали в начало цепочки 4.1 (или 2 - не важно), только с другим значением R. Итого: Q=1, ~Q=0.

        4.2. Значение S было равно 0 (R так и было 1): зеркально предыдущему пункту 4.1. Итого: Q=0, ~Q=1.

В итоге мы получили, что в состоянии 4, когда и R=1 и S=1, система находится в стабильном состоянии, которая она запомнила с прошлого раза. Т.к. вариантов различных стабильных состояний всего 2 ("Q=1, ~Q=0" или "Q=0, ~Q=1"), то можно считать, что такая система может запоминать один бинарный бит информации (Q=1 или Q=0, ~Q вообще говоря можно отбросить), который устанавливается в 1 и сбрасывается в 0 через входы R и S соответственно (отсюда название защелки RESET и SET ... R и S при желании можно поменять местами).

Замечание: в журнале Tron.ix на странице со схемой RS защелки (там она называется RS flip-flop, т.е. RS триггер) в разъяснениях разобраны только случаи 2 и 3, которые обозначаются как стабильные состояния системы и говорится, что по этой причине их можно считать за память, а случаи 1 и 4 не разобраны вообще. Лично мне было не очень понятно, в чем фишка такой стабильности, которая однозначно определена текущими значениями входов системы, ведь элементарный оператор NOT или прямое подключение такого входа к светодиоду будет также давать на выходе стабильный /-. Но книга Harris & Harris полностью прояснила ситуацию, т.к. там RS защелка (там она называется как раз RS latch, а не RS flip-flop) была разобрана во всех подробностях - перечисленные 5 случаев по сути взяты оттуда.


Подобную схему довольно легко собрать на макетной плате - для этого вспоминаем модуль 4011, состоящий из 4х элементов NAND из 1й лабораторной работы:



Для визуализации значений Q и ~Q используем 2 светодиода, входы R и S оставляем торчать свободными проводами:



Для наглядности - смотрим как работает на живой плате:

1. Следим за желтым проводом (пусть это будет RESET) - он воткнут в (-) (RESET=0), коричневый (SET) в ( ) (SET=1) - правая лампа (Q) горит (Q=1), левая (~Q) не горит (~Q=0).



2. Теперь перетыкаем желтый провод в ( ) (RESET=1, SET=1) - лампочки остаются в старом состоянии (Q=1, ~Q=0), т.е. они его запомнили.



3. Аналогично для коричневого провода SET - втыкаем в (-) - состояние системы меняется - левая лампочка загорается, правая гаснет (Q=0, ~Q=1).



4. Возвращаем коричневый провод SET на место в ( ) - лампочки остаются в предыдущем состоянии.



Можно обратить внимание, что состояния 2 и 4 идентичны с точки зрения значений входных сигналов (SET=RESET=1), но лампочки горят поразному из-за описанного эффекта.



Хотя RS защелка уже позволяет сохранять 1 бит информации, очевидно, что практическое ее применение не видится оптимальным - в первую очередь потому, что для установки значения требуется управлять 2мя входными сигналами, а если подать значение 0 на оба входа одновременно, то ее состояние и вовсе считается некорректным. По этой причине для более практичных в повседневном использовании вещей были придуманы такие чуть более сложные модели как D-защелка и D-триггер. Однако имплементация их на макетной плате в формате небольшой лабораторной работы мне не показалась достаточно оптимальной (хотя это тоже вполне возможно - в Tron.ix для D-триггера есть специальное упражнение, однако прилагаемая к нему схема довольно громоздка) как в плане времени, так и в плане получения новых полезных практических навыков, поэтому дальнейшие упражнения было решено реализовать при помощи ПЛИС Verilog, которые дают удобную возможность крайне быстро и наглядно имплементировать логические схемы с нужным аппаратным результатом.






Далее упражнения для быстроты и удобства синтезируем на ПЛИС - имеющихся навыков соединения "внутренних проводков" при помощи логических операторов на языке Verilog для этого уже вполне достаточно. Правда при анализе кода  RS-защелки Xilinx выдает предупреждение:

WARNING:Xst:2170 - Unit rs_latch_top : the following signal(s) form a combinatorial loop: rs/not_q_or0000.

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


Упражнение 2: RS защелка (RS latch) на ПЛИС Verilog

Но чтобы начать упражнения с ПЛИС, сначала имплементируем на ней опять же RS защелку, только основанную не на 2х операторах NAND, а на 2х операторах NOR.



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

Попробуем теперь реализовать эту схему на ПЛИС (FPGA).

flip_flops.v и flip_flops_top.v
/**
 * RS latch
 */

module rs_latch(
    input r, input s,
    output q, output not_q
    );

    assign q = ~(r | not_q);
    assign not_q = ~(s | q);
endmodule

// RS latch test top module
module rs_latch_top(
    input [72:73] pio,
    output [0:1] ld
    );  

    // RS Latch
    rs_latch rs (.r(pio[72]), .s(pio[73]),
            .q(ld[0]), .not_q(ld[1]));  
endmodule

назначаем на R и S два внешних порта PIO, Q и ~Q показываем на двух лампочках LED

basys2_rs_latch.ucf
# RS latch
NET "PIO<72>" LOC = "B2";
NET "PIO<73>" LOC = "A3";
NET "ld<1>" LOC = "m11" ;
NET "ld<0>" LOC = "m5" ;

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














далее в следующей записи >>



Мои поправки к тексту Антона Моисеева:


*** насколько я понял, жесткого устоявшегося различия между терминами защелка (latch) и триггер (flip-fllp) не существует ***

В среде RTL дизайнеров существительное latch - это практически всегда относится к level-sensitive latch (защелка), а flip-flip является edge-sensitive. При этом глагол latch может применяться и если речь идет о флип-флопе (типа "оно latch value" или latched value).

*** В журнале Tron.ix ***

Tron.ix - не журнал, а серия буклетов про лабы

*** В русской википедии D latch (D защелка) называется D-триггером, а D flip-flop (D триггер) называется двухтактным D-триггером. ***

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

*** D-защелка и D-триггер. Однако имплементация их на макетной плате в формате небольшой лабораторной работы мне не показалась достаточно оптимальной (хотя это тоже вполне возможно - в Tron.ix для D-триггера есть специальное упражнение, однако прилагаемая к нему схема довольно громоздка) ***

Там громоздкость чисто из-за генератора синхросигнала (микросхемы 555 и навешиваемых на нее конденсаторов и резисторов). D-flip-flop как таковой помещается в готовом виде в CMOS 4013.



Что вы об этом думаете?

С праздником 1 сентября, товарищ Панчул!
8(44.4%)
Пост Моисеева хорош, но их нужно в 10 раз больше
6(33.3%)
"К советам иммигрантов надо подходить с опаской" - советует иммигрант в сообществе pora_valit
2(11.1%)
Прочь руки от нашей доблесной американской полиции, гнусный Панчул и понаехавшие с Гаваев!
0(0.0%)
Из-за бугра плюете?
2(11.1%)
LinkReply

Comments:
[User Picture]From: oksana_slk
2012-08-30 06:20 am (UTC)
Моск сломался =)


(Reply) (Thread)
[User Picture]From: panchul
2012-08-30 06:34 am (UTC)
А от чего именно - от бгг ограниченности полицейского или креативности гавайской MIT-шницы?
(Reply) (Parent) (Thread)
[User Picture]From: oksana_slk
2012-08-30 06:41 am (UTC)
От гавайской MIT-шницы разумеется.
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2012-08-30 07:01 am (UTC)
Поучительно, что сейчас умученная полицаем студентка сделала стартап по обучению маленьких детей электронике:

http://www.canidu.com/



Вот кстати что могли бы сделать россияне запросто - я еще год назад говорил.
(Reply) (Parent) (Thread)
From: realurix
2012-09-03 02:49 am (UTC)
А кнопки-то зелёные!!!
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: panchul
2012-08-30 01:41 pm (UTC)
Да, правоохранительные органы и это сказали. Полные дуболомы.


(Reply) (Parent) (Thread)
From: rezkiy
2012-08-30 06:36 am (UTC)
Должен быть вариант про то что TSA надо разогнать.
(Reply) (Thread)
[User Picture]From: panchul
2012-08-30 06:46 am (UTC)
А кого вместо них нанять? Российских пенсионеров-кэгэбэшников? А они что, лучше?
(Reply) (Parent) (Thread)
[User Picture]From: _iga
2012-08-30 04:55 pm (UTC)
А вместо TSA нанять Шнайера.

Впрочем, можно никого не нанимать - ведь США такая замечательная страна, что её невозможно ненавидеть.
(Reply) (Parent) (Thread)
From: rezkiy
2012-08-30 05:15 pm (UTC)
Пустить все на самотек, пусть авиакомпании, сами справляются. Функции по выработке рекомендаций о том как досматривать, кого досматривать, и т.д. передать NTSB.
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2012-08-30 05:42 pm (UTC)

Оказывается, там все было гораздо хуже и TSA вообще не пр

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

http://boingboing.net/2008/09/22/star-simpson-one-yea.html

STAR: I never talked to the TSA. I was in baggage claim. I didn't pass any security checkpoints. One of my friends pointed out that if you are exercising your right to bear arms, you can have 11 pounds of ammunition on you at that point. I didn't meet any TSA people that day.


Т.е. эта тупость еще тупее, чем вы и я думали.
(Reply) (Parent) (Thread)
From: rezkiy
2012-08-30 05:56 pm (UTC)
все равно уволить всех нахрен. ДЛя начала, тетку за каунтером. Она опасна для пассажиров.
(Reply) (Parent) (Thread)
[User Picture]From: brenik
2012-08-30 07:16 am (UTC)
полицию жалко, реально же ребята испугались :)
(Reply) (Thread)
[User Picture]From: panchul
2012-08-30 07:24 am (UTC)
А с такой полицией знаете что потом всякие Задорновы пишут про американский народ? :-)
(Reply) (Parent) (Thread)
[User Picture]From: brenik
2012-08-30 07:26 am (UTC)
Задорновы по любому писать будут, жить то им как то надо...
Про нашу Задорнов даже боится писать, так искоса намекает...
(Reply) (Parent) (Thread)
[User Picture]From: sir66
2012-08-30 10:05 am (UTC)
Неадекватный инструментарий девушка выбрала. Какие еще макетные платы, это неудобно и ненадежно! Последний писк итальянской моды - LiliPad из семейства Arduino, микроконтроллер для ношения на одежде:

http://arduino.cc/en/Main/ArduinoBoardLilyPad

Утверждается, что можно даже стирать (хоть я в это не очень верю):

Washability

Wash at your own risk - we do ;). We recommend washing projects by hand with a mild detergent. Drip dry. Make sure you remove your power supply first!


В семействе есть даже совсем маленькие представители, совсем как пуговицы:

https://www.sparkfun.com/products/10899

(Reply) (Thread)
[User Picture]From: sash-kan.blogspot.nl
2012-08-30 04:31 pm (UTC)
в заголовке: s/арестовуют/арестовывают/

upd. прошу прощения, не в том месте нажал reply·
мой комментарий относится к заголовку самого поста

Edited at 2012-08-30 04:32 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2012-08-30 04:32 pm (UTC)
Тогда не влезет в максимальный размер заголовка
(Reply) (Parent) (Thread)
[User Picture]From: sash-kan.blogspot.nl
2012-08-30 09:44 pm (UTC)
серьезно? (у меня нет блога в lj, поэтому я не в курсе местных ограничений)
если да, то эти две буквы можно сэкономить на любом из двух прилагательных·

upd. о! с минимальными креном смысла можно написать «арестуют»

Edited at 2012-08-30 09:47 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2012-08-30 10:06 pm (UTC)
Мне хочеться звучать более народно :-)
(Reply) (Parent) (Thread)
[User Picture]From: sash-kan.blogspot.nl
2012-08-30 10:28 pm (UTC)
неужели для наблюдателя из «американщины» слова «народно» и «безграмотно» стали выглядеть синонимами?
тогда я бы рискнул порекомендовать этому наблюдателю присоединиться к lj-сообществу pora_vozvraschatsya

Edited at 2012-08-30 10:31 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: dom3d
2012-08-30 07:25 pm (UTC)
Юрий, а ты можешь посоветовать сообщесто в жж - любителей сада или цветоводов. Типа нас с тобой.
(Reply) (Thread)
[User Picture]From: panchul
2012-08-30 07:30 pm (UTC)
ru_plants, ru_flowers, sadovod_ru, ru_botan, хотя я бы предпочел более глубокие сообщества, но их нет - можете попробовать углубить имеющиеся.

Edited at 2012-08-30 07:32 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: dom3d
2012-08-30 07:38 pm (UTC)
Спасибо.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: panchul
2012-08-30 08:15 pm (UTC)
Виноват тут все-таки имхо Голливуд. Именно в Голливудских фильмах бомбы с мигающими зелеными и красными LED. А тетка у counter-а и полицейские - это просто несчастные, прозомбированные Голливудом, как советские дети - журналом Крокодил и стишками про Ленина.
(Reply) (Parent) (Thread)