...

суббота, 29 мая 2021 г.

Что гик может найти на испанской барахолке: результаты сегодняшнего дня


Артефакты прошлых лет на барахолке — в порядке вещей

Пару недель назад в нашем блоге была опубликована статья «Барахолки в Испании: что здесь продают и что можно купить?». В ней перечислены самые интересные, на взгляд автора, гаджеты, которые получилось найти, купить и восстановить за последние несколько месяцев. Но в комментариях нас несколько раз упрекали, что интереснее прямой репортаж, а не просто перечисление.
Окей, справедливо. Сегодня с утра я прошелся по барахолке, сделав ряд фотографий того, что там продают — не всего подряд, конечно, а только товаров, которые могут быть интересны для гика. Кроме того, расскажу и о том, что удалось приобрести сегодня. «Улов» небольшой, но интересный.

Барахолка в моем городе — легальное меропориятие, которое контролируется Ayuntamiento, аналогом горисполкома. Продавцы платят за место (около 10 евро, насколько знаю), им выдают новые бумажные пакеты с логотипом барахолки. Пакеты — строго из переработанной бумаги, в них продавцы складывают покупки своих клиентов.

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

После «санитарной» палатки начинаются ряды барахолки. Встречает меня уже на входе вот такая свинка с игрушечной гитарой и умными книгами.


Игрушки и книги я время от времени покупаю здесь, но поросенок и вот это все, что рядом с ним, мне не особо интересны. Прости, поросенок.

Кстати, позиционируется эта барахолка как «место, где можно купить антиквариат». И это так, всяких отреставрированных граммофонов, посуды, старой мебели разной степени паршивости здесь предостаточно. Но немало и техники — очень разной и в самом разном состоянии. Вот типичный набор продавца на барахолке: музыкальный центр, будильники, колонки-пищалки, кассетный плеер Sanyo и носки. Отлично, идем дальше.

Почти новые игры для NintendoDS — о первой никогда ничего не слышал, вторая — известна всем. Стоимость — всего 3 евро за игру, если поторговаться, то можно снизить цену и до двух евро.

Электросамокат без зарядного устройства. Может, работает, а может, и нет. Как-то купил за 15 евро электрический скутер для дочки — оказался в идеальном состоянии, распакован, но не использован. Дочка катается до сих пор, страшно довольна.

Насчет самоката — модель Denver SCO-65220, стоит 182 евро новый, вот ссылка на испанский Амазон. Цена самоката в текущем состоянии — 18 евро. Вполне может оказаться рабочим, но мне он не нужен, поэтому иду мимо.

Печатных машинок — море, от античных до самых новых. Модель — PHILIPS VW 2110 HANDY WRITER. Стоимость на eBay — 45 евро. На барахолке можно купить за десятку. Ее работоспособность под вопросом. Кстати, если продавец говорит, что устройство работает, то в 90% это действительно так. Если же ответ «не знаю», «нет зарядки», «не включал» — то это 50/50. Но на барахолке никто и не ожидает найти идеально работающий девайс за копейки. Но иногда такое все же случается.

Как-то приобрел 25-дюймовый монитор без единой царапины с двумя HDMI-портами, аудио-разъемами и прочими фишками всего за 5 евро. Именно потому, что не было зарядки и продавец поленился найти и проверить. Дисплей оказался рабочим, я его с полгода гонял вместе с PS4, а потом продал за 70 евро через местный аналог Avito. Но я что-то отвлекся, идем дальше.


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

Монитор HP L1940T и несколько клавиатур. Все это можно купить евро за 10-15, но в хозяйстве не пригодится — монитор очень уж старый (хотя для многих компаний подойдет и такой), хорошая клавиатура тоже в наличии.

Затеяли ремонт? Самое время приобрести дрель или шуруповерт. Пару раз покупал — один раз дрель, один раз — шуруповерт, все в рабочем состоянии. Есть Bosch и другие дорогие бренды, купить можно за копейки. Дрель оценили в 5 евро, шуруповерт — в 10. В момент фотографирования уже шел разговор покупателя с продавцом за моей спиной, так что почти все, что на фотке, купили.

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

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

Пульт Grundig varioprop T14. Глянул на eBay — такие штуки таже бу в неработающем состоянии стоят от 40 евро. Для чего служит именно этот — точно не знаю, но подобные вещи попадаются не так и редко.

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

Сразу три PS One с контроллерами, плюс диски для PS3 и PSP, плюс рации. Ну и если понадобится, есть книга по изучению французского, почему нет. Приставки оценены продавцом в 5-15 евро. Та, которая ближе к нижнему краю, вроде как в рабочем состоянии. Во всяком случае, в этом уверял продавец.

Проигрыватель виниловых дисков. Выглядит неплохо, есть даже пластинка. Работает или нет — продавец не знает. Прайс — 30 евро.

Телевизор Sony KDL-50W656A — умный ТВ с доступом в Sony Entertainment Network. Бу телевизор такого типа стоит около 150 евро, если покупать на местном «Авито». У этого телевизора целый экран, хорошее общее состояние. Проблема, по словам продавца, только в том, что нет изображения — звук есть, а экран черный.

Я знаю в чем дело — у него перегорел один из светодиодов (95% вероятности). Починил уже три телевизора с подобными проблемами. За этот ТВ продавец хотел 80 евро, но до 40-50 сбить точно было можно. Хотел уже купить, но потом вспомнил кабинет, забитый электроникой, и решил, что жена выгонит из дома вместе с телеком.

Самый интересный для меня стол. Здесь есть PSP 3000, пара дисков к ней, плюс Game Boy Advance SP с картриджами. PSP я купил — всего за 5 евро, благодаря тому, что продавец не знал, рабочая она или нет. Оказалась рабочей, ее проблема — неработающая батарея. «Толкнуть» ее не получилось, заряжаться не хотела. Заменил на ту, что имелась в запасе, поставил крышку для батареи — идеально, у меня в руках бу PSP в отличном состоянии.

Ну а теперь — о сегодняшнем улове


Приобрел всего три вещи, но зато именно то, что было нужно, хотя и попались случайно.

Камера Injoo 1080 FHD — приобрел всего за 3 евро, в состоянии новой. Все поверхности заклеены заводской пленкой. Принес домой, подключил, никакой реакции.

Снял переднюю панель, оказалось, что линия питания и линия данных оторваны от коннектора. USB-кабель свободно ходил в корпусе, поэтому оторвалось, видимо, почти сразу. Около 15 минут с паяльником и силиконовым пистолетом — результат на фото. Все работает. На Амазон такая камера, новая стоит 45 евро.


PSP 3000 с картой памяти и диском с игрой El Patito feo. О консоли чуть написал уже выше. В ней изначально была нерабочая батарея и не хватало крышки для батарейного отсека. Батарейка заменена (в закромах есть все, что угодно), крышка тоже найдена — года четыре уже валяется разобранная PSP 3000 с нерабочим процессором, наконец, пригодилась.

Универсальный зарядник и целая куча адаптеров к нему. Такие зарядные устройства регулярно встречаются на барахолке — конкретно это купил за 2 евро (рабочий, такое впечатление, что им еще не пользовались). Откуда их берут в состоянии новых и почему продают за копейки — не знаю. Стоимость такого же в магазине начинается от 20 евро, и это с 5 стандартными адаптерами. Здесь же целая куча адаптеров для практически всех моделей ноутбуков.

В целом, у меня в кабинете уже целый склад самых разных устройств с барахолки. О каких-то я писал в прошлом посте, но большая часть остается пока за «кадром». В скором времени собираюсь выпустить обзор коммуникатора от HP, так что не переключайтесь.

Adblock test (Why?)

Первый к китайской станции. Запуски года: 48 всего, 15 от Китая

Вячеслав Ермолин, 29 мая 2021 г.

Текущая статистика запусков на 29 мая 2021 года.
Текущая статистика запусков на 29 мая 2021 года.

Миссия:
Доставка груза и топлива на китайскую орбитальную станцию (CSS). Стыковка с задним осевым портом модуля Tianhe («Тяньхэ»). Разгрузка (после прилета экипажа). Перестыковка на передний осевой порт после завершения работы экипажа. Перекачка топлива. Перенос корабля манипулятором на боковой порт (следующий экипаж). Утилизация мусора. В составе CSS: май - сентябрь 2021.

Инфографика текущего запуска CZ-7 / TZ-2.
Инфографика текущего запуска CZ-7 / TZ-2.

Ссылка на изображение в высоком качестве.

Девиз:
«Третья миссия этапа проверки ключевых технологий».

Время и место старта:
29 мая 12:55 UTC.
Стартовая площадка 201 космодрома Wenchang (Вэньчан), Китая.

Ракета-носитель:
CZ-7 — Chang Zheng-7 (№Y3). Новая двухступенчатая ракета-носитель среднего класса четвертого поколения. Вариант без третьей ступени с 4 дополнительными ускорителями. Космодром Вэньчан.

Полезная нагрузка:
«Тяньчжоу-2» — грузовой корабль снабжения китайской орбитальной станции (CSS). Состоит из двух модулей — грузового и двигательного отсеков. Грузовой отсек представляет собой герметичный объем с максимальным диаметром 3,35 метра. Длина корабля около 10,6 метра, грузоподъемность — 6,5 тонны. Общий вес космического корабля составляет 13,5 тонны. Доставка грузов и топлива (до 2 тонн).

Орбита:
Первоначальная орбита: 200 x 400 км, 42°.
Целевая орбита CSS: 360 x 385 км, 42°.

Интересное:
— 371-й запуск ракета-носителей семейства Chang Zheng.
— 15-й запуск Китая в этом году. Одна авария.
— 3-й запуск CZ-7 с 1999 года. Одна авария.
— 2-й полет TZ-2.

Ссылка на изображение в высоком качестве.
Статья с портала NSF
Анонс от Everyday Astronaut.
Статья с портала HOMEM DO ESPAÇO

Эмблемы и нашивки миссии
Эмблемы и нашивки миссии
Легенда к статистике
Легенда к статистике

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

Грузовой корабль в значительной мере является «творчеством» китайских конструкторов. Если пилотируемый корабль «Шэньчжоу» и базовый модуль «Тяньхе» во многом являются повторением советских образцов ( «Союз» и «Мир»), то грузовой корабль сделан под свои задачи и является, скорее, повторением советского корабля ТКС или европейского ATV. Большой объем груза и топлива, собственная развитая система управления и стыковки. Кстати, китайский грузовой корабль доставляет на орбиту в два раза больше груза чем Cargo Dragon, при одинаковом весе корабля, плюс к этому имеет возможность доставки топлива на станцию. Cargo Dragon конечно имеет возвращаемую капсулу, но востребованность возврата груза на Землю преувеличена (с МКС нечего возвращать на Землю в таких объемах). Хороший пример когда универсальное решение проигрывает специализированному по цене и возможностям.

Грузовик летит вот к этому.

Adblock test (Why?)

Начинаем работу с Zynq 7000. Пособие для начинающих

Совсем недавно мне в руки попался один из вариантов отладочной платы с SoC Zynq XC7Z020. Поискав в Интернете материалы, а-ля how-to, и попробовав накидать свой минимальный проект обнаружил, что есть целый ряд подводных камней. Именно об этом я и хотел бы рассказать в статье. Кому интересно - добро пожаловать под кат.

Важно! Перед началом повествования, хотелось бы заранее оговориться, что основная цель которую я преследую при написании этой статьи - показать любителям, с чего можно начать, при изучении отладочных плат на базе Zynq. Я не являюсь профессиональным разработчиком под ПЛИС и SoC Zynq и могу допускать какие-либо ошибки в использовании терминологии, использовать не самые оптимальные пути решения задач, etc. Но любая конструктивная и аргументированная критика только приветствуется. Что ж, поехали…

Что за отладка такая? Покажи-расскажи...

Мне очень давно хотелось поиграться с SoC Zynq, но никак не доходили руки. Но в очередной раз погуглив - увидел, что за вполне вменяемый ценник продаётся отладка с Zynq на борту, от компании QMTech, называется она Bajie Board. Выпускается отладка в нескольких вариантах с разными вариантами SoC Zynq. Я выбрал для себя вариант на XC7Z020 и тут же ее заказал, через пару недель она у меня уже была в руках.

После распаковки я был приятно удивлен, комплект поставки порадовал. Это была сама отладочная плата, блок питания на 5В/2А, mini-USB кабель и microSD Flash-карта SanDisk на 16Гб с уже залитым на нее Linux. То есть, сразу после получения вы можете подключить к плате питание, воткнуть USB-шнурок, открыть Putty и получить в свое распоряжение полноценный mini-компьютер с Embedded Linux. О Linux для Zynq, я думаю, расскажу в другой статье, поэтому едем дальше...

Итак, рассматривая плату и попутно документацию на нее я увидел относительно не плохой набор всякого-разного:

  • SoC: XC7Z020-1CLG400C 

  • (datasheet:https://ift.tt/3p2ECvc);

  • Осциллятор на 33,333 МГц;

  • Оперативная память DDR3 на 512 Мб от компании Micron, MT41K256M16TW-107:P;

  • Встроенный слот micro SD;

  • Источник питания для FPGA TPS563201 с широким диапазоном входных напряжений (от 4.5V до 17​V, 3A);

  • Один 50-пиновый и две Digilent PMOD совместимых, гребёнки с пинами, с шагом в 2,54 мм. для пользовательских кейсов (как заверяет производитель, все проводники до пинов выровнены по длине);

  • Кнопка для логического сброса процессорной системы (PS);

  • Гигабитный RGMII Ethernet-контроллер Realtek RTL8211E-VL, подключенный к PS;

  • Два пользовательских светодиода, один подключен к программируемой логике (PL) и другой подключен к процессорной системе (PS);

  • Встроенный HDMI-совместимый интерфейс дисплея TI TPD12S016;

  • Гребёнка для подключения JTAG-отладчика;

Для большинства задач начального уровня такого количества всего будет прям за глаза.

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

Установка необходимого набора ПО для разработки

Итак, прежде чем начать работу с платой мне было необходимо установить ПО Xilinx Vivado и Xilinx SDK. Насколько я понимаю, грубо говоря, Vivado используется для конфигурации аппаратной части используемой платы и для работы с программируемой логикой. А Xilinx SDK (ныне именуется Vitis) используется для создания кода непосредственно для процессорной системы.

Поскольку бОльшая часть примеров из документации и репозитория производителя и разнообразных примеров из роликов на YouTube делались в версии Vivado 2019.1 (видимо из-за того, что это последняя версия поддерживающая работу с Xilinx SDK) - я установил именно её, а не последнюю доступную 2020.2.

Все программные продукты необходимые для работы с Xilinx Zynq - можно взять на официальном сайте Xilinx, тут. Сразу же спешу обратить внимание, что те из вас, кто захочет установить самую новую версию Vivado - нужно скачивать версию 2020.2, а не 2020.3 т.к. последняя поддерживает только Versal SoC, и не поддерживает Zynq.

В моём случае, т.к. я работаю в операционной системе Linux - я перешел в меню Vivado Archive - 2019.1 и нажал на кнопку скачивания по ссылке  Vivado HLx 2019.1: WebPACK and Editions - Linux Self Extracting Web Installer в списке Vivado Design Suite - HLx Editions - 2019.1. Для пользователей Windows - выбирайте Windows Self Extracting Web Installer.

После скачивания открываем инсталлятор, установив права на исполнение:

chmod +x ~/Downloads/Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin
~/Downloads/Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Lin64.bin 

Вся установка состоит из набора стандартных шагов. 

  1. Вводим авторизационные данные, которые мы указывали при регистрации;

  2. Принимаем условия лицензионных соглашений;

  3. Выбираем Vivado HL WebPACK;

  4. Удостоверяемся в том, что выбран SoC Zynq в списке предложенного оборудования.

  5. Далее программа скачает порядка 16Гб всякого-разного, установит это и на Рабочем столе появятся иконки нужных нам приложений.

После установки Vivado необходимо установить драйвер для JTAG-программатора. В Linux это делается так:

cd Xilinx2019.1/Vivado/2019.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/
sudo ./install_drivers 

Подключаем все 6 пинов от JTAG-программатора в соответствии с шелкографией на плате. И проверяем установлены ли драйвера и определяется ли наша отладочная плата:

cd ~/Xilinx2019.1/Vivado/2019.1/bin
./xsdb 
xsdb% connect -host localhost   
xsdb% jtag targets                                                                                                                                                           
  1  Platform Cable USB 13724327082b01
     2  arm_dap (idcode 4ba00477 irlen 4)
     3  xc7z020 (idcode 23727093 irlen 6 fpga)

На этом подготовительных этап можно считать завершенным.

Hello, world или “Баяны подъехали”

Не будем отходить от традиции и попробуем поморгать LED-иком который подключен к программируемой логике. 

Запускаем Vivado и создаем новый проект. Нажимаем File - Project - New

Откроется мастер создания нового проекта, нажимаем Next > и пишем название нашего проекта PL-Blink.

Выбираем RTL Project и ставим галочку у пункта Do not specify sources at this time.

Далее в списке ищем наш процессор xc7z020clg400-1.

Жмём на кнопку Finish.

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

Первым делом, мы добавим необходимые указания программе, на то, какие физические ножки мы задействуем в нашей моргающей вакханалии =)

Находим меню Sources и нажимаем кнопку Add Sources.

Откроется мастер импорта и нам нужно выбрать Add or create constraints. 

В следующем меню нажимаем Create file и пишем название нашему файлу physical_constr. Именно в этом файле мы опишем какие ножки и в каком режиме должны работать.

Нажимаем кнопку Finish и в дереве Sourсes ищем только что созданный нами файл и открываем его:

Обратимся к схеме, которую любезно предоставил нам производитель и найдем какая ножка отвечает за тактирование, а какая за наш светодиод. Бегло поискав, я отметил для себя, что из Ethernet-контроллера RTL8211E-VL выведен опорный тактовый сигнал с его внутреннего PLL, частотой в 125МГц и заведен в ножку H16 (IO_L13P_T2_MRCC_35). Так почему бы нам его и не задействовать в нашем примере? =)

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

Тут же, рядом, на ножке H17 (IO_L13N_T2_MRCC_35) расположен светодиод, которым мы будем моргать.

Итак. Открыв наш constraints-файл запишем в него следующие строки:

# User LED and Clock
set_property IOSTANDARD LVCMOS33 [get_ports led_h17_d4]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]

set_property PACKAGE_PIN H17 [get_ports led_h17_d4]
set_property PACKAGE_PIN H16 [get_ports sys_clk]

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

В квадратных скобках, после get_ports необходимо указать логическое имя ножки (на ваше усмотрение). Имена стоит придумать осмысленно, потому что мы его будем использовать в Verilog-коде. 

Кстати, подробнее о Physical Constraints можно почитать тут в главе 8.

Добавим в наш проект таким же образом Design Source. Находим меню Sources и нажимаем кнопку Add Sources.

Откроется мастер импорта и нам нужно выбрать Add or create design sources. Далее нажимаем Create File, смотрим, что выбран язык Verilog. Нажимаем ОК и Finish.

В следующем меню всё оставляем без изменений и нажимаем ОК и Yes.

Открываем созданный файл и видим небольшую заготовку:

Здесь вместо предложенного кода пишем наш Verilog-код и прокомментируем что значит каждая из строк:

// Директива компилятора, которая определяет единицу времени и точность для моделирования Verilog.
// В целом, не очень интересный пункт для нас.

`timescale 1ns / 1ps    
                
// Определяем стандартный блок-модуль (как класс в С++)
module pl_blink(input sys_clk, output led_h17_d4);
    
// Задаем регистр для хранения записи о текущем состоянии светодиода
reg r_led; 

// Задаем регистр для хранения значения счётчика, использующегося в задержке
reg [31:0] counter;

// Тут мы задаем действия которые должны быть выполнены при старте программы
initial begin
    counter <= 32'b0;        //  Обнуляем счётчик    
    r_led <= 1'b0;           //  Делаем запись о состоянии светодиода
end

// Тут описываем поведенческий блок, который будет реагировать на ниспадающий фронт тактовой частоты
always@(posedge sys_clk)
begin
    counter <= counter + 1'b1;       // Увеличиваем счетчик
    
    if(counter > 12000000)           // Если счетчик больше некоторого условного значения
    begin
        r_led <= !r_led;             // Инвертируем запись о значении состоянии светодиода
        counter <= 32'b0;            // Сбрасываем счетчик
    end   
    
end

assign led_h17_d4 = r_led;          // Присваиваем текущее состояние ножке (условно)
           
endmodule

Нажимаем сочетание клавиш Ctrl + S чтобы сохранить код. Смотрим, не подсвечены ли где возможные ошибки. Если нет - то можем приступить к синтезированию, имплементации и генерации бинарного файла который мы потом зальем в нашу плату Zynq и будем наблюдать за морганием светодиода.

Нажимаем кнопку Run Synthesis и дожидаемся завершения синтеза. После окончания программа нам скажет, что синтез успешно завершен и мы можем переходить к следующему шагу:

Выбираем Run implementation и дожидаемся окончания. После выбираем пункт Generate Bitstream для запуска финального этапа:

Тут так же дожидаемся сигнала о том, что всё прошло успешно, выбираем Open Hardware Manager и можем приступать к заливке результата компиляции в нашу плату:

В открывшемся меню Hardware Manager нажимаем кнопку Auto connect, дожидаемся когда произойдет успешное соединение и откроется меню со списком устройств:

В меню слева или через нажатие правой кнопкой по xc7z020_1 в меню Hardware нажимаем пункт Program Device.

В следующем окне убеждаемся, что правильно указан путь к bitstream-файлу и нажимаем кнопку Program.

Программа заливается на нашу плату…

И через мгновение на плате загорается светодиод D2, который сообщает нам, что “FPGA DONE” и в другом конце платы мы видим весело моргающий светодиод. =)

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

Adblock test (Why?)