Важная информация

User Tag List

Страница 1 из 135 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 1350

Тема: Цифровая археология: 1801 и все-все-все

  1. #1
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,301
    Благодарностей: 1796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Цифровая археология: 1801 и все-все-все

    Наконец решил завести отдельную тему, посвященную реверс-инжинирингу микросхем серии 1801. Этот самый первый пост буду дополнять ссылками по мере успешного завершения очередного реверса, все ссылки соберутся в одном месте. Отдельный хостинг мне заводить и поддерживать напряжно, поэтому воспользуюсь ресурсом, любезно предоставленным товарищем (спасибо Woland-у и BarsMonster-y)

    Закончен реверс таких микросхем:
    1801ВП1-013 Актуальный архив
    1801ВП1-014 Актуальный архив
    1801ВП1-030 Актуальный архив
    1801ВП1-037 Актуальный архив
    1801ВП1-055 Актуальный архив
    1801ВП1-065 Актуальный архив
    1801ВП1-119 Актуальный архив
    1801ВП1-120 Актуальный архив
    1801ВП1-128 Актуальный архив

    Фотографии (подготовка к реверсу):
    1801ВМ3 (металл, 640МБ)
    1801ВМ3 (диффузия, 400 МБ)
    1515ХМ2-001 (600МБ)
    1515ХМ2-003 (500МБ)
    1801ВП1-095 (330МБ)
    1801ВП1-096 (365МБ)
    К581ИК1 (307МБ)
    К581ИК2 (307МБ)
    KM1527XM1-715 (590М)
    KM1527XM1-716 (620М)
    KM1527XM1-717 (704М)


    YM2148 (388MB)
    YM2148 (диффузия, 392MB)
    AY-3-8910 (435MB)

    Схема 1801ВМ1А (pdf)
    Схема 1801ВМ1Г (pdf)
    Схема 1801ВМ2 (pdf)

    Верилог 1801ВМ1А/Г (версия 1.4e)
    Верилог 1801ВМ2А (предварительная версия)

    Сейчас "в работе" в разной степени готовности находятся:
    - 095 и -096 собраны панорамы
    - 1801ВМ2, готова схема (PCAD), написана предварительная модель на верилоге
    - 1801ВМ3, получены панорамы металла и диффузии, 90-процентная готовность схемы

    Далее в этой теме буду выкладывать новости по реверсу ВМ1, ВМ2, ВМ3.
    Сразу несколько слов о реверсе микросхемы 1801ВМ1. Предполагается что процесс будет состоять из нескольких этапов:

    - декапинг образца - извлечение кристалла из пластика, или вскрытие металлической крышки на керамическом корпусе. Выполнено, распилил штук 5 пластиковых процессоров и вскрыл один керамический.
    - серийное микрофотографирование верхнего слоя металлизации. Выполнено, получилось 307 снимков общим объемом 9 гигабайт, очень пригодилась самодельная однокоординатная мотоплатформа из старого DVD
    - сшитие снимков в панораму, выполнено - результирующая панорама 0.4 гигапикселя (осторожно - 500МБайт)
    - шлифовка верхнего слоя металлизации, выполнена - использовал "маникюрный набор" Dremel и зубную пасту
    - микрофотографирование открывшегося слоя диффузии, выполнено, получилась скромная серия из 90 снимков (снималось на другом объективе с меньшим увеличением)
    - сшитие панорамы слоя диффузии, выполнено (осторожно - 500МБайт)
    - векторизация слоев металлизации, поликремния, диффузии, выполнено
    - распознавание транзисторов, выполнено
    - перенос векторизованных слоев в PCAD-2004, выполнено
    - восстановление схемы с использованием механизма обратной аннотации, выполнено
    - перерисовывание схемы в "осознаваемый вид", выполнено
    - написание Verilog согласно полученной схемы, выполнено
    - моделирование модуля процессора, выполнено
    - прогон заводских тестов 791401 и 791404 на модели, выполнено
    - переписывание модели в синхронную, для применения в FPGA, выполнено
    - адаптация модуля процессора с шины Q-bus на шину Wishbone, выполнено
    - сравнительное тестирование модуля Verilog с реальным процессором 1801ВМ1 в пределах одного физического устройства
    Последний раз редактировалось Vslav; 03.09.2017 в 12:30.

  2. Эти 37 пользователя(ей) поблагодарили Vslav за это полезное сообщение:
    AIS (08.09.2014), Alex III (24.02.2016), ALEX KLADOV [JS] (04.01.2017), Alex_K (09.09.2014), andy7109 (09.09.2014), avk.ghost (12.09.2016), bigral (09.09.2014), BYTEMAN (15.09.2014), b_10101101 (14.03.2015), CodeMaster (09.09.2014), cpg (27.02.2017), DJs3000 (21.09.2014), Eats (03.12.2016), Ewgeny7 (14.09.2014), hobot (08.09.2014), Hunta (26.08.2017), MM (08.09.2014), Nick Pastushok (25.04.2016), NovaStorm (15.09.2014), nzeemin (09.10.2014), palsw (18.09.2014), perestoronin (08.09.2014), piroxilin (08.09.2014), Raydac (14.09.2014), Roger Wilco (28.06.2016), Sergey (06.01.2015), shattered (02.06.2016), SuperMax (15.09.2014), svofski (09.09.2014), Titus (08.09.2014), tnt23 (08.09.2014), troosh (17.05.2015), Vamos (09.09.2014), vazman (21.11.2016), Woland (11.11.2014), Xorder (08.11.2016), Ал-р (09.09.2014)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    Veteran Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,488
    Благодарностей: 374
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про мотоплатформу тоже интересно!

  5. Этот пользователь поблагодарил tnt23 за это полезное сообщение:
    svofski (09.09.2014)

  6. #3
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,301
    Благодарностей: 1796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Про мотоплатформу тоже интересно!
    Берем старый DVD. Достаем из него подвесную рамку для оптического блока. Сам блок перемещается по рамке вдоль одной оси (по радиусу CD/DVD диска), при помощи червячной передачи. Червячная передача приводится в действие шаговым двигателем. Вот его-то и удалось прицепить к самодельному контроллеру и перемещать блок при помощи нехитрой терминальной программы. Сам оптический блок достаточно сложен, внутри у него еще один маленький двигатель (не похож на шаговый, возможно линейный), оптика и кучка мелких деталей, но это никак не используется, весь блок целиком просто служит перемещаемой площадкой.







    "Мотоплатформа" крепится к столику микроскопа на двухсторонний скотч, исследуемый кристалл крепится к перемещаемой площадке тоже на скотч или пластилин. Дело в том что для получения хорошего фокуса по всей площади снимка кристалл должен быть перпендикулярен оптической оси объектива (без наклона). Если кристалл на скотче - то можно нажимать на тонкую жесть оптического блока DVD - она чуть гнется и можно выставить кристалл под нужным углом. Ну или на пластилине - он деформируется и держит форму (ниже на фото пластилин зеленый под розовой керамикой ВМ1, и я уже неплохим объективом Nikon разжился).



    В итоге, хотя координата перемещения одна, но это сильно ускоряет процесс получения серии снимкой. Фактически вместо кропотливого кручения ручки перемещения столика микроскопа я просто нажимаю клавиши '+/-' в терминальной программе и получаю гарантировано точное перемещение на фиксированный шаг. Ну фокус остается точно подстроить на каждом снимке и все. По другой координате перемещаем штатный столик микроскопа ручкой. Это требуется один раз на серию снимков (после фотографирования горизонтальной полоски) и не напрягает.

    Там я еще концевик положения прикрутил, но он практически не понадобился, только мешает, в итоге концевик убрал. Вся конструкция была собрана за половину выходного дня и обошлась примерно в $4. Периодически мониторю ebay на предмет заводского двухкоординатного моторизованного столика для микроскопа, но пока выкладывать минимум $400 жалко.
    Последний раз редактировалось Vslav; 08.09.2014 в 22:21.

  7. Эти 8 пользователя(ей) поблагодарили Vslav за это полезное сообщение:
    bigral (09.09.2014), DJs3000 (21.09.2014), hobot (08.09.2014), svofski (09.09.2014), Titus (08.09.2014), tnt23 (09.09.2014), Woland (11.11.2014), Xorder (08.11.2016)

  8. #4
    Veteran Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    1,233
    Благодарностей: 590
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет платформы для фоткания - Зонд А5, например :,

    или ПМХТ - практически готовые девайсы, нуждаются в незначительной декомплектации ( иголки - в одно место... ).
    *
    Действительно, давно пора свиней с севера Москвы поставить на место. А то, видите ли, секретность не позволяет рассказать, какого хрена ВМ1 любит иногда зависнуть на стандартной частоте ...
    Последний раз редактировалось MM; 08.09.2014 в 22:25.

  9. #5
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,301
    Благодарностей: 1796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MM Посмотреть сообщение
    Насчет платформы для фоткания - Зонд А5
    Кстати у нас тут "Квазар-Микро" продает списанную установку Зонд-А5. Позвонить узнать цену что-ли. Но здоровая штука, ой.

  10. #6
    Veteran Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    1,233
    Благодарностей: 590
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Там есть и блоки механики отдельно - системный блок называется "ПМХТ" ( фото нетушки, "секретность", хрен отличить от огромного лампового осцилла, тоже с экранчиком ). Отдельный блок механики - ну по 80 кг, примерно. ТОстер ПМХТ может обеспечивать проверку ПМК на диодные структуры без измерительной стойки с Э-60 с доп. корзинками на 9 слотов.
    Платы в А5 и ПМХТ - идентичны на 85% по Э3.
    Конструкция Зонд А5 - под 200 кг в сборе. Движки - ШДР-721, 4 обмотки.( штука довольно приятная, однако ... ). ИМХО - 30W могут развивать, приблизительно.
    Выходные транзисторы шаговиков - КТ808А, ни на что другое не заменимы в связи с тяжелыми усовиями эксплуатации ( 120 в. имп, до 12 а. имп. ).

  11. #7
    Guru Аватар для hobot
    Регистрация
    29.08.2011
    Адрес
    Зеленоград
    Сообщений
    4,586
    Благодарностей: 1023
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    перемещать блок при помощи нехитрой терминальной программы.

    Можно вот этот момент немного подробней раскрыть,
    то есть меня конечно не исходник программы интересует, а
    применяемая ЭВМ, интерфейс подключения, язык программирования,
    или проглядел где-то уже упоминалось? Спасибо.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  12. #8
    Veteran Аватар для MM
    Регистрация
    20.04.2013
    Адрес
    г. Павловский Посад
    Сообщений
    1,233
    Благодарностей: 590
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я думал, что ШД будет прямо на ЛПТ висеть ( через транзисторные усилки ) -так обычно в программных ( рисовальных ) плоттерах делают :
    http://www.phantom.sannata.ru/forum/...5463&&st=0

  13. Этот пользователь поблагодарил MM за это полезное сообщение:
    avk.ghost (11.09.2016)

  14. #9
    Veteran Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    1,301
    Благодарностей: 1796
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение

    Можно вот этот момент немного подробней раскрыть
    На фотографии не плата контроллера, а самодельный программатор JTAG-USB на основе FT2232H, сам контроллер проприетарный (разработан в моей компании), я его специально на фото не отобразил. У меня на работе запускается примерно 3-4 прототипа в месяц, изделие обычно содержит какой-нибудь микроконтроллер ARM/Cortex и некоторое количество лампочек, кнопочек и всяких драйверов, в том числе шаговых двигателей. Поэтому я просто взял одну из уже ненужных прототипных плат и дописал в тестовую прошивку 100 строчек кода на C. Сама тестовая прошивка тысяч на 300 строчек, так что добавление было несложным .

    Код:
    //________________________________________________________________
    //
    #define MOT_ON      MS_TO_TICKS(10)
    #define MOT_OFF     MS_TO_TICKS(10)
    #define MOT_STEP    MS_TO_TICKS(2)
    
    static void io_mot_on(void)
    {
        tn_task_sleep(MOT_ON);
        IO_PORT_SET(_MOT);
        IO_PORT_SET(_SHH);
        tn_task_sleep(MOT_ON);
    }
    
    static void io_mot_off(void)
    {
        tn_task_sleep(MOT_OFF);
        IO_PORT_CLR(_MOT);
        IO_PORT_CLR(_SHH);
        tn_task_sleep(MOT_OFF);
    }
    
    static void io_mot_forward(void)
    {
        IO_PORT_SET(_SHH);
        //
        // Реализуем сдвиг маски
        //  PH2 PH1 ->  PH2 PH1
        //   0   0       1   0
        //   0   1       0   0
        //   1   0       1   1
        //   1   1       0   1
        //
        if (IO_PORT_IN(_PH1))
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   1       0   0
            //   1   1       0   1
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_CLR(_PH1);
            }
            else
            {
                IO_PORT_CLR(_PH2);
            }
        }
        else
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   0       1   0
            //   1   0       1   1
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH2);
            }
            else
            {
                IO_PORT_SET(_PH1);
            }
        }
    }
    
    static void io_mot_rewind(void)
    {
        IO_PORT_SET(_SHH);
        //
        // Реализуем сдвиг маски
        //  PH2 PH1 ->  PH2 PH1
        //   0   0       0   1
        //   0   1       1   1
        //   1   0       0   0
        //   1   1       1   0
        //
        if (IO_PORT_IN(_PH1))
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   1       1   1
            //   1   1       1   0
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH2);
            }
            else
            {
                IO_PORT_CLR(_PH1);
            }
        }
        else
        {
            //
            //  PH2 PH1 ->  PH2 PH1
            //   0   0       0   1
            //   1   0       0   0
            //
            if (IO_PORT_IN(_PH2) == 0)
            {
                IO_PORT_SET(_PH1);
            }
            else
            {
                IO_PORT_CLR(_PH2);
            }
        }
    }
    
    void io_motor_stage(void)
    {
        int Key, i;
    
        tst_printf("\r\n*** Motorized microscope stage controller ***");
        for(;;)
        {
            tst_printf("\r\nMOT>");
            Key = tst_getch();
            if (Key)
            {
                tst_putch(Key);
            }
            tn_task_sleep(1);
            switch(Key)
            {
                case 27:
                {
                    tst_printf("\r\nESC pressed");
                    break;
                }
                case '1':
                {
                    io_mot_on();
                    for(i=0; i<1; i++)
                    {
                        io_mot_forward();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '2':
                {
                    io_mot_on();
                    for(i=0; i<1; i++)
                    {
                        io_mot_rewind();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '+':
                {
                    io_mot_on();
                    for(i=0; i<10; i++)
                    {
                        io_mot_forward();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '-':
                {
                    io_mot_on();
                    for(i=0; i<10; i++)
                    {
                        io_mot_rewind();
                        tn_task_sleep(MOT_STEP);
                    }
                    io_mot_off();
                    break;
                }
                case '?':
                {
                    tst_printf(
                        "\r\n + - forward 10 steps"
                        "\r\n - - rewind 10 steps"
                        "\r\n ? - Help message");
                    break;
                }
            }
        }
    }
    Если у меня не было такой готовой и освоенной платы под рукой, то я бы взял что-нибудь из отладочных комплектов с модулем управления шаговиком. Возможно что-то из области Arduino, хотя AVR-ы после ARM-ов у меня вызывают идиосинкразию. Можно и без контроллера, напрямую прикрутить драйвер шагового двигателя к тому же USB-модулю на FT2232 и рулить прямо из PC-шного приложения.

    Цитата Сообщение от MM Посмотреть сообщение
    Конструкция Зонд А5 - под 200 кг в сборе.
    Крупная штука, это уже надо в частном доме жить, чтобы такое у себя заиметь. И кажется микроскоп там слабоват по увеличению - там надо же просто зондом попасть в тестовую площадку, x20-x40 достаточно. Если я когда-нибудь в отдельный дом переберусь, то я уже буду хотеть что-нибудь из б/у электронных микроcкопов.
    Последний раз редактировалось Vslav; 09.09.2014 в 08:13.

  15. Эти 3 пользователя(ей) поблагодарили Vslav за это полезное сообщение:
    bigral (09.09.2014), hobot (09.09.2014), perestoronin (14.09.2014)

  16. #10
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    2,458
    Благодарностей: 807
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Фото матрицы.

    Скрытый текст

    [свернуть]


    Судя по рисунку возможно эта маска для микросхем памяти.

Страница 1 из 135 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 15:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 06:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 20:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 14:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 21:13

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •