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

За прошедшее время обнаружилось, что кристаллов «случайного моргания» — довольно много разновидностей. Фотографии и размышления авторов на тему принципа работы аналогичных кристаллов — siliconpr0n.org, cpldcpu.wordpress.com, hackaday.com. Удивляет то, что мало того, что кто-то предметно занимается разработкой и массовым производством такой казалось бы незначительной вещи как мерцающий светодиод — там еще есть и прогресс/конкуренция!


Красный мерцающий светодиод



Размер кристалла 580x476 µm, технология 3µm. 3 контакта — плюс, минус и вывод на кристалл светодиода.

Похоже в качестве источника случайных данных тут опосредованно используется разность фаз между двумя RC-генераторами, и поведение получается не детерминировано. Существует множество вариантов реализации этой микросхемы, например можно встретить вариант c LFSR и одним генератором (16-и битный регистр сдвига с линейной обратной связью — для реализации требует 16-и битного сдвигового регистра и одного многовходового XOR, цикл повторения генерируемой псевдослучайной последовательности — 65536 при оптимальном выборе конфигурации, самый простой аппаратный генератор псевдослучайных чисел).

Фотография кристалла без металлизации:


RGB мерцающий светодиод



Поведение этого светодиода полностью детерминировано: отличия в поведении между разными светодиодами только в разбросе частоты встроенного RC генератора (~±10%). Левая нижняя часть — напоминает ROM-based микрокод. Т.е. этот светодиод напоминает старые процессоры — последовательное переключение режимов работы через этот микрокод в нужное время активирует различные комбинации подсхем мерцания. И, также как и процессор, начиная программу с 0 — тут каждый светодиод идет по тому же самому графу состояний, просто с немного разной скоростью.

Размер кристалла 553x474 µm, технология 1.5µm. Не смотря на усложнение схемы — кристалл получился меньше. Эту микросхему получилось нормально отснять только с 3-й попытки: с такими мелкими кристаллами (площадь ~0.25мм?) работа получается очень нервная: 1 ,2.

Фотография кристалла без металлизации.


PS. В получении светодиодов помог факультет АСОИ ГГУ.

Резюме

Все кристаллы (как те, что попались мне, так и другим) произведены по относительно старым технологиям производства, от 1.5 до 3 мкм (1500-3000нм!) — что подчеркивает, что далеко не всегда тонкие нормы производства экономически оправданы для новой продукции: площадь кристаллов — примерно 0.25мм?, кристалл меньшей площади уже затруднительно отрезать, и соответственно более тонкие нормы производства продукт дешевле/лучше уже не сделают (собственно, технологию у RGB улучшили только до 1500нм чтобы получился примерно такой размер кристалла). Также это хороший пример, что даже на простых продуктах кто-то зарабатывает — но делать что-то простое дешевле всех пожалуй также сложно, как и делать что-то самое сложное.

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

Комментарии (13)


  1. revector
    03.06.2015 06:46

    Хорошая работа. А это у вас хобби или действительно такая работа за которую платят?


    1. BarsMonster Автор
      03.06.2015 06:55
      +12

      На 66% хобби (интерес все разбирать и смотреть что внутри думаю был когда-то у всех), 34% работа — но за которую платить пришлось бы самому себе :-) Есть ряд компаний, подобную работу выполняющие на коммерческой основе (и в России тоже).

      В моем случае эти 34% работы — смотреть на коммерческие продукты в интересующих областях, оценивать технологию, себестоимость и сложность разработки. Эти результаты затем ложатся в основу бизнес-плана и проч.


      1. Mulin
        03.06.2015 14:41
        +4

        Как вы точно посчитали процент)


        1. MiGr
          09.06.2015 16:50

          Две трети — одна треть :)


  1. DarkByte
    03.06.2015 09:05

    Под RGB мерцающим светодиодом понимается тот, который моргает разными цветами или плавно переключателя между ними? Интересно было бы посмотреть на разницу начинки между ними.


    1. BarsMonster Автор
      03.06.2015 09:19
      +3

      Там у него несколько режимов работы, разные алгоритмы мерцания и он по очереди переключается между ними.
      Да, RGB разных тоже много… И ведь люди сидят, разрабатывают эти разные моргающие светодиоды…

      Тот что у меня — вот так работает:


      1. DarkByte
        03.06.2015 09:35
        +10

        А некоторые потом сидят и реверсят моргающие светодиоды, а мы потом сидим и завороженно смотрим на их фотографии))


  1. IlyaPodkopaev
    03.06.2015 10:19
    +3

    гм. угадал автора по первой картинке :)


  1. gxcreator
    03.06.2015 16:22
    +3

    В этот тред надо отправлять всех мигателей светодиодами на Raspberry PI


  1. barabanus
    03.06.2015 22:46

    Так это, выходит, не микроконтроллер, а цифровая схема, сделанная под эту конкретную задачу?


    1. BarsMonster Автор
      04.06.2015 03:14
      +1

      Именно так )


  1. mporshnev
    04.06.2015 16:32

    Я правильно понял, что такие диоды можно подключать прямо к источнику напряжения без резистора? Если да, то сколько В?


    1. BarsMonster Автор
      04.06.2015 16:39
      +1

      Да, можно напрямую. 3.3-5В, больше 5 — слишком большой ток и температура, сгорят со временем :-)