Тег ‘паяльный бред’

А это – извращение?

Раз уж последние записи у меня – про connected car и тому подобную ерунду – то вспомнился такой вот эпизод. Я как-то признался, что пробовал писать параметры от электронного блока управления двигателя в файл формата EDF, который обычно используется для всякого рода измерений в биологии и медицине. Нет, ну никто же не запрещает в поле Patient’s name написать GAZ-3111? В остальном же формат прекрасно подходит для 8- и 16-битных данных от ЭБУ (их туда можно писать вообще почти без обработки). Меня, правда, за это назвали извращенцем – ну что ж, бывает.

А вот недавно приспичило мне поискать первоисточник фразы о том, что команда McLaren “в течение одной гонки получает около 750 миллионов цифр от своего гоночного болида”. Взята она, как оказалось, из русского перевода выступления исполнительного директора фирмы McLaren Electronics Питера ван Манена на TED и целиком звучит так:

We’re logging about 500 different parameters within the data systems, about 13,000 health parameters and events to say when things are not working the way they should do, and we’re sending that data back to the garage using telemetry at a rate of two to four megabits per second. So during a two-hour race, each car will be sending 750 million numbers.

Замечу, что переводчики здесь накосячили, переведя numbers, как “цифры”. Речь, скорее всего, идет о 32- или 16-битных числах, получаемых от датчиков.

Меня, как известного извращенца (см. выше) заинтересовала содержательная часть выступления ван Манена – где он рассказывает, что цинично пытаясь казаться хорошими McLaren Electronics установила систему, похожую на формульную телеметрию, в детской больнице Бирмингема, сумела намерить что-то хорошее, и в целом даже кому-то помогла.

Так вот – что является бОльшим извращением – использовать для записи параметров “автомобильной” телеметрии формат, изначально предназначенный для записи физиологических параметров, или использовать для регистрации физиологических параметров автомобильную систему телеметрии?

Забавное про “полупроводниковую” экономику

Делаю сейчас одно устройство, в котором используется так называемая K-линия – немного напоминающий UART автомобильный диагностический интерфейс (он же ISO 9141). Преобразователей из K-линии в UART и подобные интерфейсы (тот же RS232) придумано довольно много, мне лично нравится вариант на логической микросхеме. Из обвязки нужно всего лишь два резистора, диод и транзистор, а стоимость деталей в чип-и-диповской рознице – менее 50 рублей (особенно, если не гнаться за какими-нибудь низковольтными вариантами логики), а “оптом” – думаю, упадет рублей до 10-15.

Для состоятельных парней выпускаются специализированные микросхемы – всякие MC33199, MC33290, L9637, или более актуальная (то есть еще встречающаяся в продаже) Si9243 – внутри там примерно то же самое, только в корпусе SOIC-8. В розницу эта микросхема стоит около 70 рублей, оптовая цена опускается до 40.

А теперь следите за руками – специализированная микросхема оказывается выгоднее, если к стоимости компонентов добавить стоимость монтажа. В случае с решением “на логике” мы имеем 22 точки пайки, а на специализированной микросхеме – всего 8. Стоимость ручного (точнее, “полуавтоматического”) монтажа – что-то порядка 2-3 рублей за точку пайки – и 14 “лишних” точек съедят всю экономию.

Конечно, стоимость “одного транзистора” или “одного соединения” в виде дискретного элемента или в составе микросхемы, отличающиеся порой на несколько порядков, приведены в любой книжке – но как-то об этом не задумываешься, пока не столкнешься “вживую”.

PS А заодно можно сделать вывод, что “узкоспециализированная” микросхема более выгодна и для производителя, чем “универсальная” стандартная логика – себестоимость их производства одинакова, а вот продать первую можно значительно дороже.

Вопрос возник

Православно ли использовать ладан вместо канифоли при пайке?

Ну и покороче

А то в предыдущей записи слишком многа букв :)

Столкнулся с небольшим багом в примерах к микроконтролеру CC3200 (ARM Cortex-M4 + WiFi). Если в многозадачной системе поменять настройки WiFi (они пишутся в подключенную к микроконтролеру флешку), а затем перезапустить сопроцессор WiFi (для применения новых настроек) способом, указанным во всех примерах, можно получить полностью неработоспособный WiFi – настройки не успевают записаться (ну вот так мне показалось – особо в подробности не вдавался). Решение очевидное – небольшая пауза при перезапуске. Я озвучил его на форуме техподдержки коллеге по несчастью 26 апреля в 1:25 PM по форумному времени – а ровно через три с половиной часа сотрудник техподдержки предложил то же самое в соседней теме.

Закон парных случаев?

Схема вместо картинок

Кажется, в детской практически книжке Борисова переход от картинок к условным обозначениям радиодеталей происходил где-то на десятой странице, непосредственно после решения вопроса “где достать детали для детекторного приемника”. Тем более удивительным мне представляется, что на популярных сайтах “про Ардуино” вместо простой и практически очевидной принципиальной схемы оперируют вот такими красивыми картинками с одним лишь недостатком – понять, что же здесь изображено, весьма затруднительно.

fritzing-breadboard

Эксперты, где вы?

Выложили фотографии остатков американских “Томагавков”. В мятых железках я не особо понимаю, а вот что касается электроники – интересно, куда делись многочисленные эксперты, которые ставили диагноз по фотографиям “черного ящика” Су-24?

tomahawk-parts-1

tomahawk-parts-2

Пайка в печке

Хочу поделиться впечатлениями от сборки и использования контролера печки для пайки оплавлением по мотивам описанного Олегом Артамоновым – собственно, это будет большой и развернутый комментарий к статье по ссылке:

http://olegart.ru/wordpress/reflow-soldering/

Собственно, такой девайс понадобился мне для сборки относительно “серийных” изделий – но что значит “серийных”? Скажем, “серые коробочки” для любительского и ретро-ралли разошлись уже тиражом в несколько десятков штук – правда, в процессе проектирования находится более продвинутый вариант. Пайка вручную даже пяти AtMega, пусть даже в “человеческом” корпусе с шагом выводов 0,8 мм – занятие малоинтересное по определению. В общем, запаивая к новому сезону очередную “партию” коробочек, я задумался – а нельзя ли как-то упростить это дело?

Вариант с заказом производства в том же “Резоните” я не расмматривал – во-первых, стыдно заказывать изготовление штучных партий устройств, где всех деталей – AtMega, пара резисторов и оптопара, во-вторых – это получалось относительно дорого (в частности, стоимость “подготовки производства” в 3000 рублей, даже будучи “размазанной” на партию в десяток изделий, все равно оказывалась в числе значимых статей расходов). Наверное, 3000 можно потратить как-то иначе – например, вот на такую печку.

В принципе, вариантов переделки электродуховки в печку для пайки довольно много, но иностранцы почему-то не склонны к экономии в такого рода проектах. Например, зачем-то они используют твердотельные реле – да, это стильно, модно и молодежно, но одновременно – довольно дорого (раза в два дороже “дискретных” тиристора и оптопары). Зачастую используют готовые контролеры типа Controleo – да, с ним вся переделка печки сводится к правильному подключению проводов, но сам контролер стоит совершенно неприличных денег (да, силовой части в нем нет, придется городить несколько твердотельных реле и блок питания, а это дополнительные расходы). Короче говоря, контролер за авторством Олега Артамонова показался мне более приближенным к российским реалиям – с легкодоставаемыми компонентами (все есть в Чип-и-Дипе и Терраэлектронике) и в целом доступный для повторения.

Сама электродуховка “для опытов” досталась мне бесплатно, будучи вытащенной из лежащего на балконе хлама. Подходящие дешевые печки стоят “в магазине” что-то около 2000-3000 рублей, б/у можно найти либо в собственном хламовнике (бесплатно), либо на каком-нибудь авито (недорого).

Плату устройства я немного переделал – во-первых, заменил SMD-шные резисторы и конденсаторы на выводные (просто их у меня много, да и паять вручную кучу SMD совсем неинтересно), во-вторых, сделал ее односторонней с несколькими перемычками на верхнем слое – для изготовления по “лазерно-утюговой” технологии (кстати, переход с SMD на выводные детали это дело значительно упрощает). Заодно выкинул “лишнее” – например, USB-порт и реле. Избавившись от USB, можно было бы попробовать и заменить микроконтролер на более дешевый – как выясняется, прошивка с ампутированным обменом по USB прекрасно влезет и в AtMega8, но я понадеялся, что получится использовать готовую прошивку без доработок. Забегая вперед, скажу – они понадобились, в первую очередь из-за того, что в выкидывании всякого ненужного барахла я немного поторопился и избавился от термодатчика TMP37.

Заодно я поменял габариты платы, рассчитывая вписать ее в корпус Gainta G767 (я придерживаюсь той точки зрения, что проектируя печатную плату – надо сразу задуматься, в какой корпус ее поставить) – но с этим облажался по-крупному. Конечно, надо было сначала купить этот корпус и промерить его “по месту” – но я понадеялся на чертеж и лоханулся с размерами. Вот какое там расстояние между крепежными отверстиями для платы? Я подумал, что в чертеже ошибка – но нет, кто-то додумался указать расстояние именно между этими двумя точками. Интересно, каким инструментом его можно замерить? Добавлю еще, что вычислить расстояние между крепежными отверстиями возможно лишь в том случае, если известны диаметры стоек.

Еще из моей лажи – я не сразу заметил, что несмотря на то, что дисплеи Winstar WH1602A (самый дешевый в продаже) и WH1602J (а этот использован в схеме) имеют очень похожие разъемы, назначение выводов в этих разъемах совсем разное – и после того, как я просто припаял дисплей к плате на “гребенке” и долго выяснял, почему он не работает, мне все равно пришлось сидеть и долго запаивать проводочки :)

Довольно важный вопрос, почему-то обойденный стороной в описании на сайте Олега – калибровка датчика температуры. Судя по всему, в ранних прошивках она была жестко зашита в контролер – а в выложенной на сайте версии прошивки появилась возможность немного варьировать параметры. К сожалению, описания этого процесса либо нет, либо оно погибло вместе с сайтом fclab.ru – так что кратенько прокомментирую, что нужно сделать. Используемая в устройстве термопара типа K (как в мультиметрах) имеет практически линейную характеристику в интересующем нас диапазоне от +25 до +250 °С – поэтому в EEPROM микроконтролера прошиваются два 16-битных числа, первое из которых для термопары равно 31 (расчет этого коэффициента можно увидеть в файле thcouple.c в исходниках прошивки) – и без особой необходимости менять его не надо. Второе число задает сдвиг шкалы – в единицах, равных 1/4 °С. Например, значение -100 увеличит показания температуры на 25 °C, а 100 – напротив, уменьшит их на ту же величину. Так как я выкинул термодатчик, показания которого принимались за температуру холодного спая термопары, пришлось записать в эту ячейку памяти -100 – приняв “комнатную температуру” за 25 °C. Конечно, можно было бы сделать и лучше – но, как показала практика, и так нормально. Показания прибора, когда термопара засунута в чайник с кипящей водой – около 96-97 °С, что можно считать более-менее приемлемым. Так как я выкинул дополнительный термодатчик, пришлось все-таки поставить WinAVR и добавить в прошивку обнуление показаний канала АЦП, к которому тот был подключен – иначе “градусник” начинал безбожно врать.

Да, еще один волнующий многих вопрос по поводу прошивки – какие использовать значения fuse. В принципе, все написано и в тексте – но чтобы не вдумываться в фразы типа “в конфигурации отключены DIV8, JTAGEN и HWBEN” – приведу здесь значения, которые мне подсказал “AVR fuses calculator” – L=0xDE, H=0xDD, E=0xCF.

Больше, наверное, никаких проблем и не возникло – ну разве что внезапно выяснилось, что в Москве проблематично недорого купить термопару – имеющаяся у меня термопара от мультиметра в металлическом корпусе оказалась довольно инерционной в показаниях, а провод явно пованивал при нагреве до 250 °C. Да, в некоторых магазинах (Промэлектроника, например) термопары типа K можно купить рублей за 100 – но только не в том случае, если такое желание внезапно возникло в пятницу в конце рабочего дня. В общем, проще и дешевле всего оказалось купить в Юлмарте самый дешманский мультиметр модели 838 (кстати, сравнив его со своим десятилетней давности Mastech 830, я просто офигел, насколько деградировали дешманские мультиметры). Заодно мне достались два разъема-”банана” – термопару я подключил проводками к клеммной колодке.

С учетом покупки мультиметра бюджет проекта составил примерно те самые 3000 рублей, которые жаба не позволила тратить на “подготовку производства” в Резоните – и надо сказать, что я в целом остался доволен – даже нанося паяльную пасту (я взял на пробу Multicore CR36) вручную из шприца (медицинского, с обрезанной толстой иглой), удалось добиться вполне приемлемого количества брака (прежде всего слипшихся ножек на микросхемах с малым шагом – это исправляется с помощью паяльника и “оплетки для выпайки”). Но главное – это скорость монтажа, нанести пасту, расставить детали и сунуть несколько плат в печку получается намного быстрее, чем в случае, когда все надо запаивать вручную. Надо бы попробовать нанести паяльную пасту через трафарет – я, конечно, попробовал вырезать какое-то подобие трафарета из прозрачной пленки, но ножом это делать неудобно, и те же ножки микроконтролера я объединил в одну широкую прорезь – замыканий получается меньше, чем при ручном нанесении, но все равно они иногда случаются.

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

А что случилось с Чип-и-Дипом?

Смотрю цены на разные микроконтролеры – и неожиданно ЧиД оказывается одним из наиболее выгодных вариантов.

Atmega8A – 75 рублей в розницу в ЧиДе, и 74,51 – оптом в Терраэлектронике или Электронщике (я так понимаю, что он ищет, в частности, и в Терре) (UPD Терра=Компэл=Электронщик).

STM32F103RBT6 – 190 в розницу в ЧиД, и 212 – в Терре (правда, начиная от 40 штук – Терра выгоднее).

LPC1768FBD100.551 – 350 в ЧиД – и опять же, Терра может что-то противопоставить только при партии от 40 штук.

Кто-то в лесу сдох?

Reflow soldering

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

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

Internet of Cunts

Решил я на днях погуглить про чипы CC2541 – благо парочка модулей на них с, простите, алиэкспресса досталась мне совершенно бесплатно. Кроме того, надо было прикинуть возможность реализации прошлогоднего “кошмара техинспекции” – так что я искал реально “вглубь”, настолько, что даже наткнулся на вот такое объявление на Freelansim:

Мы французская компания, специализирующаяся в разработке IOT дивайсов.
На данный момент мы разработали нашу прошивку сами. Эта прошивка в рабочем состоянии и уже используется в серийной продукции.
Однако теперь нам нужно очистить код, и добавить новые функции. Для этого мы ищем талантливого разработчика с опытом работы с IAR 8051 и встроенным программированием.

https://freelansim.ru/tasks/194715

Слово perifit в нике автора объявления легко выводит на страничку “французской компании” – она так и называется, Perifit, и делает вагинальные тренажеры с Bluetooth.

perifit

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

Так и живу на эти два процента

Вводная – есть некий девайс из категории Open-Source Hardware. В сравнении с коммерческими аналогами – недорогой (500$), для своих задач вполне пригодный – но, как водится, “open source в плохом смысле”, отягощенный ардуиной головного мозга у разработчиков.

Теперь переходим к этим двум процентам. Разработан прототип нового устройства под кодовым названием “ровно в два раза круче” – во всех смыслах, если прототип имел, скажем, 8 каналов АЦП – то здесь будет 16, и так далее, а затем – заказано изготовление плат (4 слоя по “продвинутым” технологическим нормам) и монтаж в “Резоните”, причем в режиме “мы вам деньги и документацию, а вы нам готовые устройства с курьерской доставкой”. “Резонит” сам по себе – не самая дешевая фирма, да и за монтаж они берут выше среднего, и, подозреваю, немного “накручивают” и на закупке компонентов – но весь заказ “опытной партии” из трех устройств, с подготовкой производства, обошелся всего около 70 000 рублей (на “срочном производстве”, с повышающим коэффициентом) – это по сегодняшнему курсу чуть меньше 1200$.

Из этого делаем вывод, что себестоимость “прототипа”, о котором речь идет в первом абзаце, не превосходит 200$ (делим на 6 – так как наше изделие, хоть и заказано тиражом в 3 экземпляра, ровно в 2 раза круче по всем параметрам) – а продается он за 500$. Собственно, это все, что хочется сказать об Open-Source Hardware и его покупателях.

777 таймер

В фейсбуке Руслана Тихонова лозунгом этой пятницы объявлено: “От 555 таймера – к 777 портвейну!” Надо соответствовать:

777-timer

Обратите внимание, что в отличие от популярного 555 таймера, таймер на 777 портвейне требует минимальной внешней обвязки, а времязадающие емкости встроены в устройство.

Про книжки вопрос

Разбираюсь сейчас с одним проектом с использованием Keil MDK. Первым делом, конечно же, нашел старую, но местами актуальную (особенно в моем случае, где используется довольно старая версия MDK) книжку Тревора Мартина “Микроконтроллеры ARM7 семейств LPC2300/2400″. Некоторую ценность представляет 6 глава, где довольно подробно рассказывается о возможностях ОС Keil RTX.

Но вот сегодня я решил все-таки обратиться к фирменной документации (ну, помимо встроенной справки) – благо книжка Getting Started: Building Applications with RL-ARM доступна совершенно бесплатно – и просматривая раздел про RTOS, испытал ощущение, что где-то я это все уже видел. И действительно – эти две публикации практически дословно повторяют друг друга.

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

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

Флюс ТТ или осторожно, говно

Нарвался на грабли при использовании этого чуда околопаяльной химии. А ведь предупреждали!

Симптомы – довольно странные, на первый взгляд. Есть кучка девайсов на микроконтроллере LPC1768. Устройства иногда выходят из строя и кустарным способом ремонтируются, причем монтажник очень любит этот самый флюс ТТ. Очередной отремонтированный (замена МК) прибор попал мне в руки – и довольно быстро вновь “превратился в тыкву”. Оказалось, что оставшиеся под микроконтроллером продукты распада этого самого ТТ – проводящие, и сопротивление между выводом nRESET и “землей” составляет что-то от нескольких килоом до нескольких сотен Ом (в зависимости от температуры и цены на бананы в Гондурасе). При небольшом нагреве (от работы МК) они нагревались, “сажали” вывод сброса на землю – со всеми отсюда вытекающими последствиями.

Лечение – промыть плату от остатков этого дерьмища 646 растворителем.

Конференция Inothings-2018

Засмотрел (в виде прямой трансляции на ютубе) некоторые доклады с конференции Inothings-2018. Хотелось бы поделиться впечатлениями.

Честно говоря, я немного не понимаю сам термин “Интернет вещей”. Судя по коммментариям в ютубовском чате – это общая непонятка, правда, некоторые своего непонимания стесняются и подменяют его какими-то дикими “определениями”, а затем – яростно спорят с теми, кто с этим существующим лишь в голове автора “определением” не согласен. В общем, будем считать “интернетом вещей” область человеческих знаний, включающую в себя промышленную автоматизацию, разработку “встраиваемых систем”, системы сбора данных, беспроводные сети – ну и наверное, еще что-нибудь.

Первый доклад – “Разработка устройств IoT – то, о чем не написано в книгах” технического директора фирмы “Стриж” Андрея Цислава произвел довольно странное впечатление. Бесспорно, докладчик в теме разбирается отлично – но по сути все сводилось к словам “Смотрите, как у нас все правильно сделано”. Нет, все удовлетворяло главному условию конференции – “отсутствие маркетинговых и рекламных докладов”, но хотелось все-таки чего-то другого, какого-то неоднозначного и быть может, даже не всегда “правильного” опыта. Впрочем, для незнакомых с продукцией и технологиями “Стрижа” могло бы быть и интересно.

Выступление Антона Сысоева под заголовком “IIoT: проектирование систем промышленного интернета вещей. Учет времени” оказалось неожиданно интересным. Может быть, кому-то показалось скучным и длинным вступление – но это ровно до тех пор, пока вы самостоятельно не столкнетесь с проблемой синхронизации времени на куче устройств. Я, конечно, немного представлял себе суть проблемы и возможные методы решения – но на практике все оказалось намного интереснее. Скажем, я никогда особо не задумывался над различиями между установкой и коррекцией часов – а это, между прочим, две очень разные вещи! К концу выступления докладчик очень оживился, обругал GPS, назвав его “ненадежной системой” – в общем, посмотреть стоит.

Интересный набор примеров “как не надо делать” – в докладе Максима Крентовского “Боль разработки программно-аппаратных проектов“. Собственно, чего-то нового или незнакомого здесь не было – просто набор из нескольких жизненных примеров, с которыми сталкивались, наверное, почти все разработчики “встраиваемых систем” в любом виде – от кривых, но популярных опенсорсных проектов (и да, здесь прозвучало слово “Ардуино”) до собственного “забега по граблям” при разработке даже простейших устройств.

Еще один доклад представителя “Стрижа” Сергея Аксенова – “Антипаттерны разработки программных комплексов для интернета вещей” – касался в основном “бекэнда”, то есть в случае “Стрижа” – систем сбора и хранения данных. В основном, конечно, все опять сводилось к тому, как все сделано у “Стрижа” и почему это правильно – но показалось интереснее первого доклада – наверное, из-за того, что “правильного” ответа на вопрос, как хранить многие миллионы измерений, я до этого не знал (спойлер – не используйте для этого реляционные базы данных).

Надо сказать, что на конференции было два зала, и доклады шли параллельно – поэтому часть из них я просто не мог посмотреть. Тут я виртуально переместился во второй зал, послушать Олега Артамонова из Unwired Devices и Евгения Белова из МТС – про “Цифровое животноводство“. Вроде бы выступления в малом зале были предназначены для представителей “бизнеса” – но вот в этом выступлении, правда, о пользе разрабатываемой системы для бизнеса были сказаны лишь общие слова – да, можно представить, что мониторинг бычков и телочек животноводам интересен, понятно, что внедрить его проще в крупных хозяйствах – но вот о конкретном экономическом эффекте никто ничего так и не сказал. С “технической” же точки зрения коровы, обвешанные беспроводными датчиками, выглядят весьма футуристично.

Вот следующий доклад – “Точное позиционирование персонала на примере особо опасного производства” Константина Нехаева из Гейзер-Телекома – мне показался более ориентированным на потенциальных заказчиков. Да, тема очень интересная, и даже отсылающая к фильмам про “Терминатора”, где киборга-убийцу из будущего непременно побеждают на металлургическом заводе – но доклад был в основном посвящен возможностям систем локального позиционирования, без особых отсылок к их техническим нюансам, а каждую из аббревиатур, изредка проскакивавших на слайдах, проще было загуглить и понять, о чем, собственно, речь. Гейзер-Телеком такие системы внедрять умеет, так и запишите.

В это же самое время (и вот тут-то я оценил прелесть просмотра ютубовских трансляций со скоростью в полтора раза выше нормальной) в большом зале выступал Станислав Елизаров из “Стрижа”, рассказывавший о “Почти надежных решениях“. Наконец-то можно было догадаться, где в “Стриже” все-таки смогли ошибиться! Доклад сводился к нескольким советам на уровне здравого смысла – а это, как известно любому, означает, что все эти советы знают, но никто им не следует. Заодно удалось узнать, что шуточка про рекорд по скорости передачи данных, поставленный КамАЗом с пиратскими дисками – вовсе не шуточка, а реальность в исполнении Amazon и даже Disney.

Конкурирующие технологии сетей LPWAN” в исполнении Олега Артамонова – короткий обзор множества разнообразных технологий построения радиосетей и некоторых неочевидных ограничений. Вывод простой – у всех типов сетей есть свои плюсы и минусы, и можно привести примеры реальных проектов, где выбор будет обусловлен именно этим. Впрочем, именно из-за этих примеров это выступление и надо посмотреть.

Очередной доклад про “операторские” сети я пропустил – хотя его автор должен был доказать аудитории, что обруганный в предыдущем выступлении NB-IoT – это то, что всем нужно. На это может, и стоило бы взглянуть – но я выбрал в качестве некоторой разрядки выступление юриста, партнера компании “Nevsky IP Law” Кирилла Митягина на тему “Как IoT взломает нашу правовую систему: разбираем переворот вековых юридических устоев на трех кейсах“. Признаюсь сразу – немного пожалел. После выступлений “технарей” доклад юриста выглядел слабовато. Пусть даже Nevsky IP Law и специализируется на “околокомпьютерных” спорах – но в терминологии докладчик немного “плавал” (ему явно местами требовался переводчик “с технического на юридический”), приведенные им примеры мне показались чуть ли не очевидными – впрочем, все в данном случае зависит почти исключительно от предварительной подготовки. Скажем, я как-то на досуге полистал 4 часть ГК и имею мнение, что на любые EULA на софт в определенных случаях можно плевать – для части аудитории это, несомненно, было сюрпризом. Довольно забавный и показательный диалог был по поводу “несакционированного” доступа к данным – кто-то из зала считал, что любые “зашифрованные” им данные – на что получил отлуп от такого же слушателя “из зала”, причем совершенно шикарный, попробую его кратенько пересказать:

- У нас есть статья, по-моему, Уголовного кодекса о незаконном доступе к защищенной информации!
- У вас какой режим? Коммерческая тайна?
- Ну… Коммерческая тайна, да!
(быстро, на одном дыхании)
- Вы выполнили пять условий десятой статьи 98-ФЗ?
(первый обтекает)

В общем, аудитория подобралась очень и очень разная.

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

Ну и наконец, последний доклад – выступление Владислава Зайцева из Unwired Devices (итого у них со “Стрижом” паритет – по три выступления) про ячеистые сети “от Адама до Саддама”. Доклад действительно всеобъемлющий – от определения mesh network вообще до конкретных примеров (6LoWPAN, ZigBee, ZWave) и какие железки с каким софтом взять, чтобы поиграться с такими сетями.

В общем, получилось вполне себе насыщенно В целом – понравилось, и надо было все же идти “вживую”.

Продолжим про устройства ввода

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

Понятно, что нормальные люди играют в симуляторы, пользуясь рулем и педалями, но вот глянул я цены на минимально приличные варианты и как-то они меня не обрадовали. Варианты же “неприличные” – типа “руля с педалями” тысячи за полторы выглядят совсем убого.

В общем, посетила меня мысль заняться “техническим творчеством”. Бюджет, затраты времени и так далее можно особо не учитывать – в конце концов, этим делом занимаются обычно вовсе не от тотального безденежья, а вовсе наоборот. Пока что придумалось купить самый дешевый игровой руль (чтобы особо не заморачиваться с “механикой”), рулевое колесо Sparco из отдела “все для любимого зубла” ближайшего автомагазина и, скажем, блок педалей от “Газели” – там две педали – сцепления и тормоза – висят на одном кронштейне, в самопальном манипуляторе из них можно сделать тормоз и газ соответственно).

Отговорите :)

Сейчас такого не делают

В поисках нормальной клавиатуры полностью разочаровался в ассортименте московских магазинов – включая и Geekboards. Мембранные клавиатуры по цене от 200 до 2000 рублей – всенепременно говно, “ножничные” в сравнении с ноутбучной вау-эффекта не вызывают, “геймерские” ИМХО совершенно отвратительны по дизайну, а покупать Leopold FC900M за 10 тысяч не велит жаба. Прикидывал варианты с покупкой клона IBM Model M производства Unicomp – все-таки это в какой-то степени “настоящий IBM”, есть даже варианты с красной пипкой – но в любом случае такая клавиатура обойдется с доставкой через какое-нибудь Шипито в те же 10 тысяч. Выложить такие деньги исключительно за технофетишизм не велит все та же жаба.

general

Но удалось обнаружить корень моих представлений о “правильной клавиатуре” – среди всякого домашнего хлама была найдена клавиатура от первого моего компьютера, купленная вместе с ним в далеком 1996 году. Почему-то я думал, что это была какая-то модель Cherry – но воспоминания оказались ложными. На корпусе клавиатуры не нашлось ни одного упоминания производителя, а FCC ID (KM988KKB88) на наклейке оказался совершенно “левым” – поиск по нему выдает 88-клавишные клавиатуры производства Тайваня, а не Малайзии. Раскладка “азиатская”, с большим Г-образным Enter и коротким Backspace. Русские буквы нанесены странным шрифтом (обратите внимание на вычурные формы К и Ж), раскладка напоминает “машинописную”, со знаками препинания на цифровом ряду, но довольно сильно от нее отличается.

В общем, страшный noname – хотя нередко встречающийся в России, как показывают разные форумы клавиатурных маньяков:

https://geekhack.org/index.php?topic=68475.0

Логично было бы ожидать, что в этой клавиатуре сэкономили на всем, чем можно – но… Для начала – это действительно механическая клавиатура, пусть даже и с совершенно безымянными переключателями (выяснилось, что произведены они тайваньской фирмой Tai-Hao).

switch

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

Но это еще не все! Обратите внимание на характерный двухцветный рисунок на обратной стороне клавиши:

double-shot

Это означает, что латинские буквы и надписи на клавишах выполнены методом “двойного литья”, или double-shot injection moulding. Метод довольно сложный и дорогой – сначала отливаются надписи из пластика черного цвета, затем эти отливки устанавливаются в пресс-форму для клавиши и заливаются пластиком серого цвета. Надписи получаются практически “вечными”, не стирающимися даже при интенсивном использовании. Сложности очевидны – надо иметь комплект из сотни литьевых форм (для каждой клавиши) и специальное оборудование. В современных материалах на тему механических клавиатур так и пишут – “из-за цены только считанные производители делают такие клавиши”. Здесь же, напомню, мы имеем дело с ширпотребным ноунеймом. Русские символы, правда, нанесены краской – скорее всего, сублимационным методом.

Ну и в качестве маленького дополнения – обратите внимание на конструкцию клавиши Enter:

enter-stabilisers

У нее – аж два “стабилизатора”, поперечной и продольной устойчивости. В какое бы место клавиши вы не нажали, она нажмется без каких-либо перекосов. Между прочим, установка ее – отдельное приключение, в основном – из-за этой пары стабилизаторов.

Любая современная клавиатура, хотя бы близко стоящая по характеристикам к этой, будет стоить от 100$ и выше, что автоматически переводит ее в категорию нишевых товаров “не для всех”. Здесь же мы имеем дело с совершенно безымянным девайсом, но при этом с точки зрения качества стоящим намного выше любой “просто клавиатуры” в магазине.

В общем, остается заняться изготовлением переходника с пятиконтактного разъема DIN на что-то посовременнее.

UPD В процессе использования обнаружились некоторые нюансы, о которых стоило бы упомянуть. Из приятного – клавиатура заработала совместно с вот таким переходником (разъем клавиатуры я заменил на DIN):

ps2adapter

Из менее приятного – оказалось, что клавиши “удвоенного” размера не снабжены стабилизаторами, и, к примеру, левый Shift при нажатии мизинцем иногда подклинивает. Посадочные места для стабилизаторов предусмотрены, остается только купить и поставить.

Texas Instruments CC3220SF-LAUNCHXL

Приехала на днях демоплата от Texas Instruments. С микроконтроллером СС3200 я балуюсь достаточно давно, и узнав о появлении его новой версии CC3220 – практически при первой же возможности решил заказать отладочный набор. Но в апреле-мае это у меня не вышло – TI отказывался слать набор из своего магазина в Россию, ссылаясь на проблемы с таможенными органами, а в Чип-и-Дипе и Терраэлектронике эта же платка стоила неприлично дорого. Настолько неприлично, что я даже стал рассматривать варианты заказа в каком-нибудь Farnell или Mouser – по срокам то же, а по деньгам выходило дешевле. Останавливало одно – даже на коробке написаны слова WiFi и 256-bit encryption, на которые, по слухам, любят возбуждаться таможенники.

Но вот буквально на прошлой неделе я просматривал нотификации ФСБ и обнаружил многообещающий документ. Теперь можно было не пугаться надписей на коробке – так как согласно этому документу, этот отладочный набор средством шифрования не является. В общем, от “таможенных” проблем я был избавлен и со спокойной совестью заказал игрушку непосредственно у TI.

Кстати, обратите внимание на интернет-магазин Texas Instruments. Понятно, что заказывать оттуда отдельные детали – не совсем правильный путь, велик шанс, что посылку признают “коммерческой партией”, а вот отладочные наборы – почему бы и нет? Тот же CC3220SF-LAUNCHXL стоит у TI 49,99$ + 6,99$ доставка (а при заказе от 150$ – доставка бесплатна) – итого что-то около 3300 рублей. Для сравнения – в Терраэлектронике этот же набор предлагается за 5684 рубля со сроком поставки три недели, в Чип-и-Дипе – был примерно за 6000 с аналогичным сроком поставки (по-моему, раздел “Позиции на заказ” у них повторяет каталог Farnell). При этом TI store доставляет экспресс-почтой FedEx, у меня от момента заказа до вручения посылки прошла всего лишь неделя (пять рабочих дней – по идее, заказав в понедельник, теоретически можно получить свой заказ уже в пятницу).

Комплект поставки – сама плата в антистатическом пакетике, шнурочек с MicroUSB и пара бумажек с адресами сайтов TI и Terms and Conditions. В общем, ничего особенного. Что же мы получаем за 3300 рублей? На демоплате имеется:

- микроконтроллер CC3200SF со всей необходимой “обвязкой”;
- подключенные по I2C датчик температуры и акселерометр;
- повторитель на ОУ для аналоговых входов;
- две кнопки, три светодиода;
- “гребенки”, соединенные со свободными пинами МК;
- отладчик типа XDS110.

Разрабатывая демо-платы линейки LaunchPad, в TI явно посматривали в сторону ардуины. Во всяком случае, идея, что надо сделать универсальный разъем для дочерних плат с любой периферией (у TI они называются BoosterPack) – явно оттуда. В фирменном интернет-магазине встречаются такие платы со слотом для SD-карты, например, или с маленьким дисплейчиком, кнопками и джойстиком. Не знаю, кем надо быть, чтобы покупать BoosterPack со слотом для SD-карты, а затем героически дорабатывать его напильником, когда примерно то же самое можно сделать, имея в хозяйстве адаптер для MicroSD и разъем типа BLD-20 – но давайте не будем смеяться.

Главное здесь, конечно – это микроконтролер CC3220SF. Заявленные характеристики звучат весьма многообещающе:

- ядро Cortex-M4 с тактовой частотой 80 МГц;
- 256 кБ SRAM (в версиях без встроенной флеш-памяти пользователю доступно около 240 Кб);
- 1 МБ флеш-памяти процессора (в версии SF);
- 2xUART;
- SPI;
- I2C;
- SD-host;
- 4 таймера с ШИМ;
- watchdog;
- 4 канала АЦП с разрядностью 12 бит;
- McASP;
- интерфейс камеры (parallel camera interface module);
- до 27 линий ввода-вывода.

Короче говоря, засунули буквально все, что можно – хотя нахрена здесь, скажем, интерфейс камеры – я понять затрудняюсь. Возможно, исключительно для того, чтобы была возможность соорудить хреновенькую веб-камеру в демонстрашках, больше ничего осмысленного сделать все равно не получится.

Естественно, нельзя забывать и об основной фишке серии CC32xx – встроенном отдельном процессорном ядре, отвечающем за работу с WiFi. Это вам не ESP8266 с китайской прошивкой, управляемой AT-командами, а полноценный сетевой процессор (еще одно ядро ARM Cortex-M, судя по тому, что встречаетсчя в других микроконтролерах этой серии – M0, под управлением специальной прошивки в ПЗУ). Он отвечает за подключение к WiFi, сетевые соединения (интерфейс в стиле BSD socket – так что никаких особых сложностей в программировании не возникает), а для полного счастья в нем реализованы еще и несколько сетевых приложений – HTTP-сервер, DHCP-сервер, ping и DNS-клиент. В новом семействе увеличено количество ресурсов, доступных сетевому процессору – теперь в режиме точки доступа к устройству может быть подключен не 1, а 4 клиента, а количество одновременно доступных сокетов увеличилось с 8 до 16.

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

Описание Цена розничная в TI Store, $ Цена оптовая (1 ku) в TI Store, $ Цена в Терраэлектронике, р
CC3200 Микроконтролер 9,07 4,90 923-727
CC3200MOD Модуль 13,50 7,99 1491-1258
CC3220R Микроконтролер 11,08 5,14
CC3220S Микроконтролер с защитой данных 12,41 5,76 1021-736
CC3220SF Микроконтролер с защитой данных и 1 Мб флеш-памяти 12,66 6,79 1204-868
CC3220MODS Модуль, МК с защитой данных 17,52 9,39 1498-1262
CC3220MODSF Модуль, МК с защитой данных и 1 Мб флеш-памяти 19,76 10,59
CC3220MODAS Модуль, МК с защитой данных, встроенная антенна 19,57 10,49
CC3220MODASF Модуль, МК с защитой данных и 1 Мб флеш-памяти, встроенная антенна 21,81 11,69

Сравнивать эти модули с какими-нибудь ESP стоимостью три копейки за пучок, конечно, в целом бессмысленно – но не стоит забывать, что тут у нас имеется вполне неплохой микропроцессор на ядре Cortex-M4 c офигенным объемом памяти, сравнимый с теми же STM32 F1 и F3.

Но… В случае с CC3200 поджидает довольно неприятная засада – ядро Cortex-M4 не очень эффективно работает, когда исполняемый код находится в SRAM, каждая команда выполняется не за один, а за два такта. Скажу сразу, что я возлагал довольно большие надежды на CC3220SF, увидев в даташите слова про “1-Mb XIP Flash” – так что первым делом, скачав SDK, я решил… нет, не поморгать светодиодиком, а прогнать парочку бенчмарков.

Для встраиваемых микропроцессоров принято использовать писькомерки Dhrystone и CoreMark. Первая – довольно древняя, но по ее поводу имеется Application Note от ARM, регламентирующий использование оптимизаций компилятора (если коротко – запрещено все). Второй бенчмарк местами превращается в соревнование “кто круче расставит флаги оптимизаций”, и его результаты крайне желательно приводить вместе с параметрами компилятора. Итак, первая табличка – Dhrystone и CoreMark на СС3200 и CC3220SF (код выполняется из флеш-памяти), компилятор IAR 8.10.1, параметры оптимизации для CoreMark приведены в заголовке.

Dhrystone, DMIPS CoreMark, -Ol CoreMark, -Om CoreMark, -Ohs
CC3200 46,8 71,05 87,95 135,69
CC3220SF, код в флеш-памяти 27,4 47,14 57,50 86,88

Ничего себе! – сказал я и офигел от результатов. Спрашивается, за что платили? Зачем мне огромная, по меркам младших Cortex, память, когда производительность процессора падает в три раза относительно “номинальной”? Cortex-M4 теоретически должен выдавать около 1,25 DMIPS/MHz и около 3 CoreMark/MHz (в зависимости от компилятора). Результаты CC3200 предсказуемые, но еще более-менее терпимые. Что же касается CC3220SF – то освободив SRAM для данных, мы получаем проигрыш в производительности в полтора раза. Зачем такая радость?

Я прогнал еще один вариант бенчмарка – на этот раз без использования флешки. Результат оказался аналогичен CC3200 – вот еще одна строчка в таблицу выше:

Dhrystone, DMIPS CoreMark, -Ol CoreMark, -Om CoreMark, -Ohs
CC3220SF, код в SRAM 46,5 71,02 87,76 135,50

В такой конфигурации, разумеется, CC3220SF теряет все преимущества перед своими “младшими” версиями без флеш-памяти. А теперь давайте вернемся к табличке с ценами и зададим себе вопрос – “А если нет разницы, зачем платить больше”? Мегабайт медленной флеш-памяти, в целом не особо нужной, стоит 1,5$.

Короче говоря, я ожидал большего.

UPD На данный момент придерживаюсь мнения, что флеш-память в CC3220SF неправильно сконфигурирована – так как в микроконтролерах серии MSP432 она устроена похожим образом, и буферизацию чтения необходимо включать “вручную”.

Адов колхоз

Вопрос к электронщикам: чем надо бить по голове монтажника?

trip-kolhoz

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

А вот кто пользуется EAGLE?

Скажите, желание перерисовать все стандартные библиотеки компонентов – оно нормальное, или надо душить в зародыше внезапно разыгравшийся перфекционизм?