Интернет ненужных вещей – Telegram
Интернет ненужных вещей
3K subscribers
329 photos
19 videos
23 files
539 links
Олег Артамонов. Техлид умных ТВ в Яндексе, сопредседатель Координационного совета при ОП РФ по общественному контролю за голосованием, председатель ТИК ДЭГ 2024 и просто неприятный человек.

Рекламы здесь нет и не надо.

Для связи: @olartamonov
Download Telegram
Для тех, кто не представляет, как устроен гигабитный порт эзернета — он устроен примерно так:

* собственно разъём. Кусок пластмассы с контактами

* трансформатор гальванической развзяки. Без него нельзя, ибо по сети может прилететь разность потенциалов между двумя удалёнными точками здания в десятки и сотни вольт

* контроллер PHY — физического уровня. Вот как раз по нему особенно заметен переход от 100 Мбит/с к гигабиту — если PHY на 100 Мбит/с встраивали прямо в процессоры, иногда прямо в количестве, то гигабитник стал сложнее на порядок в буквальном смысле слова. Для начала, однопортовый контроллер жрёт полватта и требует двух напряжений питания — 3,3 В и 1,2 В, причём по второму потребляемый ток составляет от 200 мА и выше; то есть, если снаружи подвести 3,3 В, а 1,2 В получать линейным стабилизатором, общее потребление у вас будет порядка ватта, и вся эта конструкция будет ощутимо греться. Двухпортовый контроллер уже сам по себе жрёт близко к ватту, если его запитать от 3,3 В через LDO — будет ватта три общего потребления.

* контроллер MAC-уровня с интерфейсом RGMII. Стоит в процессоре и общается с PHY по собственной шине с точным тактированием на 125 МГц и очень точной (до сотых долей наносекунды) настройкой задержек

* процессор. Даже в случае с простым форвардингом с подменой адреса (NAT) гигагерцового Cortex-A в чисто программном режиме хватает где-то на 500-600 Мбит/с реальной пропускной способности, не выше; во многих роутерных чипсетах, несмотря на то, что они доросли уже до 2×1 ГГц и выше, стоят проприетарные аппаратные блоки NAT. О том, сколько мощности нужно для DPI в реальном времени в гигабитной сети, как это упаковать в 5×5 мм, сколько это будет жрать и как это вообще охлаждать, даже думать не хочется

И, значит, Блумберг нас уверяет, что всё это было убрано в разъём RJ45, к которому из питания подводятся только слаботочные 3,3 В для запитывания средней точки трансформатора (это если разъём вообще со встроенным трансформатором).
Полагаю, следующим откровением Блумберга станут секретные батарейки для BIOS'а со встроенной спутниковой антенной.

Батарейка круглая, антенна круглая, вы думаете, это просто так, совпадение? А теперь у нас в гостях видный израильский эксперт по безопасности, уволенный со службы по неполному служебному соответствию...
А зато представляете, на каком количестве конференций по безопасности и IoT серьёзные дяди теперь будут с серьёзным видом пересказывать этот бред?
https://habr.com/post/425903/

Немного о состоявшемся на днях двукратном расширении диапазона 868 МГц

TL;DR:
* у базовой станции LoRaWAN можно вчетверо поднять мощность выхлопа и соответственно увеличить скорость нисходящего канала RX2

* изменений в стандартных каналах RU864-870 не будет, обновление прошивок устройств не требуется

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

* UNB в лице Стрижа, Вавиота, Сигфокса и т.п. в новые два мегагерца не пустят

* фигачить в верхнем диапазоне 100 % времени, мешая другим людям, теперь незаконно
https://home.sandiego.edu/~ekim/e194rfs01/jwmatcher/matcher2.html

Простенький калькулятор цепей согласования комплексных нагрузок.
https://github.com/RIOT-OS/RIOT/issues/10143

Не все это знают, но буква «S» в аббревиатуре «IoT» означает «Security».

Люди на голубом глазу обсуждают, не разметить ли им криптоалгоритмы в операционке как надёжные и ненадёжные, причём к первым отнести по принципу «оно тут давно», ну и формальной ерунде типа длины ключа.

При том, что в RIOT надёжных криптоалгоритмов НЕТ ВООБЩЕ.

Там, извините, PRNG константой инициализируется.
Вообще на дженерик-контроллере без аппаратного TRNG есть три метода получения случайного начального значения для инициализации PRNG:

* чтение младших бит оцифровки висящей в воздухе ноги АЦП или встроенного аналогового датчика температуры. Плохой, негодный способ, в общем случае дающий низкую энтропию, но всё же лучше, чем совсем ничего

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

* использование джиттера двух независимых тактовых частот, медленной и быстрой — например, подсчёт циклов процессора между двумя срабатываниями таймера RTC. Самый универсальный способ, однако частоты должны быть действительно независимы, т.е. генерироваться разными источниками.

В большинстве проектов из этих трёх методов используется никакой.
https://www.intrinsic-id.com/wp-content/uploads/2017/08/White-Paper-The-reliability-of-SRAM-PUF.pdf

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

Более того, если устройство предполагает возможность выключения, надо предусмотреть минимальную задержку , реализованную аппаратно— его нельзя включать обратно раньше чем через 5 секунд, иначе область, с которой снимается отпечаток, не успеет сброситься.
https://www.st.com/en/imaging-and-photonics-solutions/vl53l1x.html

До чего дошёл прогресс — одночиповый лазерный дальномер с дальностью до 4 метров. На чипе вообще всё — от оптики до времяпролётного вычислителя, наружу торчит обычный I2C.

P.S. Это у ST какая-то новая мода — вместо описания регистров чипа в даташите давать архив исходников софта, мол, ковыряйтесь там сами?..
2018-10-31_15-38-48.png
45.7 KB
Иногда спрашивают про простой, дешёвый, точный, оптоизолированный детектор нуля в сети переменного тока.

Вот.
👍1
http://www.tadviser.ru/index.php/%CA%EE%EC%EF%E0%ED%E8%FF:%D1%EE%E2%F0%E5%EC%E5%ED%ED%FB%E5_%D0%E0%E4%E8%EE_%D2%E5%F5%ED%EE%EB%EE%E3%E8%E8_%28%D1%D0%D2%29

Вот люди тоже нескучно живут — Синицина, который так гордился своими высокими связями, эти самые связи из «Стрижа» и выпинали.

Следующим актом будет всасывание остатков «Вавиота», хотя это, видимо, пройдёт совсем тихо — не то чтобы много там осталось.
Эволюция простой железки: в 2015 сделали платку, чтобы было удобно включать радиомодули — USB чисто для питания, пара выключателей, кнопка Reset, стабилизатор 3,3 В на LD1117. Особой другой цели и смысла у неё не было.

Далее платка медленно обрастала мелкими хотелками — импульсный преобразователь, набортный USB-UART, всякая мелкая логика...

Пока не было наконец сказано «да нахер всю эту мелочь!» — и в 2018 всю эту требуху с платы выкинули, а поставили STM32F042, на котором сделана вся логика управления питанием, переключением режимов, USB-UART, SWD-отладчик с поддержкой CMSIS-DAP, а заодно заложено место под измерение энергопотребления радиомодулей на INA214 (в прошивке пока не поддерживается).

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

Прошивка для STM32F042, кому интересно — https://github.com/unwireddevices/dap42, таргет UMDK-RF (src/stm32f042/umdk-rf/). Без операционки, на libopencm3 (какая же херовая у него документация).
https://www.microchip.com/design-centers/wireless-connectivity/low-power-wide-area-networks/lora-technology/sam-r34-r35

Пока STMicro третий год собирается, Microchip сделал процессоры с Cortex-M0 и трансивером лоры в одном корпусе

Неплохие и довольно экономичные, плюсы понятные — маленькие и дешёвые относительно связки из проца и лоры

* три модели — J16, J17, J18, отличаются объёмом памяти. J16 в жизни непонятно на что годе (64К флэша, 12К ОЗУ — стандартный стек LoRaMAC-Node очень жирный, ему на таком тесновато будет). J17 оптимальный, J18 для галочки (256К флэша нужны в очень небольшом числе задач)

* корпуса только BGA, и это минус. Практического смысла нет — в 99 % задач количества ножек на QFN32 или QFN48 плюс-минус такого же размера хватило бы по уши, а BGA усложняет и удорожает и монтаж, и плату, двуслоечкой особо уже не обойдёшься

* небольшой минус — внутри SX1276, а не новый SX1262, так что энергопотребление трансивера «как обычно»

* SX1276 совершенно обычный, ножками радиочасти торчит наружу, всё внешнее согласование с антенной остаётся каким было
Измерилка реального потребления электроники

По вертикальной шкале — микроамперы, по горизонтальной — сотни миллисекунд. Период измерений 10 мкс (!), наружу выдаются усреднённые значения за 100 мс
2018-11-15_18-12-49.png
17.7 KB
SX1276 сделал несколько раз CAD, чтобы проверить, не занят ли эфир, вышел на передачу, послушал ответ, заснул обратно.