HV Fusebit Doctod Shield для AVR

Тема в разделе "Микроконтроллеры AVR", создана пользователем Airbus, 29 окт 2015.

  1. Airbus

    Airbus Оракул

    Для универсальных целей есть специальное устройство.Но это уже другая песня.Думаю переписать скетчи под Мегу 328 и Тини 13 а также под тини 2313 (плата уже имеется) но нет времени.А мне самому это уже не нужно купил высоковольтный универсальный прог TL-868
    [​IMG]
    Но рад если кому то мои идеи помогли!
     
    ИгорьК и kabazyaka нравится это.
  2. kabazyaka

    kabazyaka Нуб

     
  3. kabazyaka

    kabazyaka Нуб

    Обалденная Весчь!!! Сам подумываю, или купить такой же, или собрать POSTAL 3. Кстати, если у Вас TL866CS, то есть парочка сайтов с описанием, как его проапгрейдить до версии А, с режимом ICSP.
    http://vlab.su/viewtopic.php?f=170&t=18132
    http://monitor.net.ru/forum/topic452437-0.html
    http://vrtp.ru/index.php?showtopic=20926&st=120&#entry470206
    А Атмега Фьюз Доктор я себе уже сваял, тоже классная вещь. Только не с того сайта, что Вы дали, а отсюда
    http://forum.cxem.net/index.php?/topic/146099-fuse-doctor-не-определяет-пациентов/
    с переработанной от глюков прошивкой.Ещё раз огромное Спасибо, и Удачи в новых творениях! С нетерпением будем ждать.
     
  4. ИгорьК

    ИгорьК Победитель модулей

    Поделитесь ссылочкой где купили.
     
  5. Airbus

    Airbus Оракул

    Я переписал скетч для Меги 8/88/48/168/328 и исправил исходный в начале статьи. Отличия-скетч стал полностью автономным не надо нажимать ни на какие кнопочки да и кнопку можно вообще убрать. Подали питание он сделал своё дело и весело замигал светиком на пине 13. Забил фьюзы для разных Мег - специально для Гурманов теперь нужные фьюзы раскоментируем а ненужные наоборот закоментируем. Вот собственно пока и всё!Пользуйтесь на здоровье!На очереди переписать скетч для Тини-13 и допилить для Тини-2313.
     
    kabazyaka нравится это.
  6. Airbus

    Airbus Оракул

    Здесь за 2100 но это год назад сейчас наверное можно и дешевле найти.
     
    ИгорьК нравится это.
  7. kabazyaka

    kabazyaka Нуб

    Огромное Спасибо от Гурманов :)
     
  8. Airbus

    Airbus Оракул

    Появилось время-допилил скетч для Тини 2313/4313 протестировал-работает.
    Код (C++):
    //Фьюзбит доктор для Тини2313
    //После лечения чип снова виден для ISP программатора
    #define  HFUSE  0xDF   // дефолтные фьюзы для ATTiny 2313
    #define  LFUSE  0x64   // дефолтные фьюзы для ATTiny 2313
    // Назначение пинов
    #define  DATA    PORTD // PORTD порт данных
    #define  DATAD   DDRD
    #define  VCC     8
    //#define  RDY     12     // RDY/!BSY сигнал от МК
    #define  OE      11
    #define  WR      10
    #define  BS1     9     //BS1=PAGEL
    #define  XA0     13
    #define  XA1     19    //XA1=BS2
    #define  RST     14    // Выход подачи 12 вольт на RESET
    #define  XTAL1   17

    void setup()  // запускается разово
    {
      // Установим линии для HV программирования как надо
      DATA = 0x00;  // линия данных
      DATAD = 0xFF;
      pinMode(VCC, OUTPUT);
      //pinMode(RDY, INPUT);
      pinMode(OE, OUTPUT);
      pinMode(WR, OUTPUT);
      pinMode(BS1, OUTPUT);
      pinMode(XA0, OUTPUT);
      pinMode(XA1, OUTPUT);
      pinMode(RST, OUTPUT);  // Выход подачи 12 вольт на RESET
      pinMode(XTAL1, OUTPUT);
      // инициализируем пины
      digitalWrite(RST, HIGH);  // выключим пока +12V
      delay(300);  // ждём пока всё устаканиться
      // приводим пины в режим программирования
      digitalWrite(WR, LOW);
      digitalWrite(XA1, LOW);
      digitalWrite(XA0, LOW);
      digitalWrite(BS1, LOW);
      // переходим в режим программирования
      digitalWrite(VCC, HIGH);  // подаём питание
      digitalWrite(OE, HIGH); // и единицу на OE
      delay(1);
      digitalWrite(RST, LOW);   //  подаём +12V на RESET
      delay(1);
      digitalWrite(WR, HIGH); // и единицу на WR
      // сначала пишем HFUSE
      //sendcmd(B01000000);  // отправляем команду на запись фьюза
      digitalWrite(XA1, HIGH);
      digitalWrite(XA0, LOW);
      DATA = B01000000;
      digitalWrite(XTAL1, HIGH);  // дрыгнем XTAL чтоб передать команду в чип
      delay(1);
      digitalWrite(XTAL1, LOW);
      delay(1);
      //writefuse(HFUSE);
      digitalWrite(XA1, LOW);
      digitalWrite(XA0, HIGH);
      delay(1);
      // Write fuse
      DATA = HFUSE;  // нужное значение фьюза
      digitalWrite(XTAL1, HIGH);  // дрыгнем XTAL чтоб передать команду в чип
      delay(1);
      digitalWrite(XTAL1, LOW);
      digitalWrite(BS1, HIGH);  // пишем HFUSE
      digitalWrite(WR, LOW);   //записано!
      delay(1);
      digitalWrite(WR, HIGH);
      delay(500);              // ждёмс
      // пишем LFUSE
      //sendcmd(B01000000);
      digitalWrite(XA1, HIGH);
      digitalWrite(XA0, LOW);
      DATA = B01000000;
      digitalWrite(XTAL1, HIGH);  // дрыгнем XTAL чтоб передать команду в чип
      delay(1);
      digitalWrite(XTAL1, LOW);
      delay(1);
      //writefuse(LFUSE);
      digitalWrite(XA1, LOW);
      digitalWrite(XA0, HIGH);
      delay(1);
      // Write fuse
      DATA = LFUSE;  // нужное значение фьюза
      digitalWrite(XTAL1, HIGH); // дрыгнем XTAL чтоб передать команду в чип
      delay(1);
      digitalWrite(XTAL1, LOW);
      digitalWrite(BS1, LOW);  // пишем LFUSE
      digitalWrite(WR, LOW);  //записано!
      delay(1);
      digitalWrite(WR, HIGH);
      delay(500);         // ждёмс
      // и выходим из режима программирования
      digitalWrite(RST, HIGH);  // выключим +12V
      // обнуляем все пины
      DATA = 0x00;
      digitalWrite(OE, LOW);
      digitalWrite(WR, LOW);
      digitalWrite(XA1, LOW);
      digitalWrite(XA0, LOW);
      digitalWrite(BS1, LOW);
      digitalWrite(VCC, LOW);//выключаем питание
      }
    void loop() //дело сделано весело мигаем
    {
      digitalWrite(XA0, HIGH);
      delay(1000);            
      digitalWrite(XA0, LOW);  
      delay(1000);            
        }
    Осталось только переделать для тини 13/45/85
     
    Последнее редактирование: 17 апр 2017
    kabazyaka нравится это.
  9. kabazyaka

    kabazyaka Нуб

    Класс! Огромное Спасибо! Как говорится- От Души Душевно в Душу!
     
  10. Airbus

    Airbus Оракул

    Ставьте лайки :))))
     
  11. Airbus

    Airbus Оракул

    Переписал и оттестил скетч под тини13/45/85 заменил в начале статьи "старый".Можно пользоваться-всем удачи!
     
  12.  
  13. Добрый день! Запутался, как в ответе вопрос или просьбу задать.
    Вышлите пожалуйста на почту(ne.426@yandex.ru) плату в формате Sprint Layout.
    При изготовлении и прошивке доктора угробил 3 атмеги8.
    хочу попробовать этот вариант.
     
  14. Airbus

    Airbus Оракул

    Ок!Вышлю
     
  15. b707

    b707 Гик

    Airbus, а если предварительно читать с контроллера сигнатуру - то можно, наверно, сделать универсальный скетч с авто-определением нужных фьюзов.
     
  16. Airbus

    Airbus Оракул

    Да можно.В Докторе так и сделано.И я уже писал что хотел сделать шилд "под все".Но подвернулся высоковольтный прогер и я на него подсел а на Доктора забил.Да и все равно в том же Докторе от поляка сокеты под Мегу 8 и иже с ней и Тини 2313 а под Тини 13 нужен переходник под Тини 26 тоже нужен переходник.Решил что проще сделать шилд под каждый сокет чаще всего используют Мегу8-328.Уже в процессе переделал шилд и переписал скетч.Хотя разводка под Мегу8 мне самому не нравиться не люблю я перемычки но что сделал то сделал менять ничего уже не буду.Интересно было изучать алгоритм HV программирования.Кроме этих скетчей написал еще под Мегу 8 на асемблере схема проста одноименные выводы кроме ресетов соединяются подаем 12 вольт на ресет пациента Доктор дрыгает ногами по алгоритму и выводит пациента из лока.Все как на Ардуино только габариты меньше.
     
    Последнее редактирование: 15 сен 2017