Подключения/прошивка ATMega8

Тема в разделе "WASM.ELECTRONICS", создана пользователем lukash, 22 мар 2007.

  1. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Всем привет.

    Пытаюсь подключить и прошить микроконтроллер ATMega8, но пока ничего не получается. Собрал МК по схеме, приведенной здесь (ессно подключив соответствующие контакты к соответствующим на МК по даташиту)

    http://avr.nikolaew.org/primer1.htm

    Программатор использовал этот:

    http://avr.nikolaew.org/progr.htm

    Но даже после соответствующей настройки пинов в программе, постоянно выдает ошибку о том, что МК не откликнулся (Reset на 14, MOSI на 16, SCK на 17, MISO на 15).
    LPT до этого был рабочий, да и сейчас работает. “Землю” взял с компа, и вместо 5 вольтовой батареи также напряжение беру от него же. Уже всю схему тестером прозвонил, все звонится, да и напряжение на соответствующих пинах МК присутствует.
    Кварц поставил на 8Мгц, конденсаторы на 27пФ. Пока к МК кроме того, что нужно для прошивки не подключено.

    Также прикрепил фото, но оно врядли чем поможет.

    Подскажите, что не так, плз

    [add]
    Не прикрепляется (80Кб)
     
  2. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
  3. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    avreal рульный программатор :) там же разные варианты рабочих схемок подключения. Кстати у меги по умолчанию включен внутренний тактовый генератор в режиме 1МГц, так что для программирования кварц не обязателен.
     
  4. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Y_Mur

    Спасибо. Завтра попробую и напишу, что получится.
     
  5. vdk

    vdk New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    если тебе нужно 8MHz можно обойтись без кварца
    Код (Text):
    1. Table 9. Internal Calibrated RC Oscillator Operating Modes
    2. CKSEL3..0 Nominal Frequency (MHz)
    3. 0001(1)            1.0
    4. 0010                2.0
    5. 0011                4.0
    6. 0100                8.0
    при этом xtal1,2 должны быть свободны

    Код (Text):
    1. Table 7. External RC Oscillator Operating Modes
    2. CKSEL3..0 Frequency Range (MHz)
    3. 0101              0.1 - 0.9
    4. 0110              0.9 - 3.0
    5. 0111              3.0 - 8.0
    6. 1000              8.0 - 12.0
    конденсаторы большой емкости
    >> Recommended Range for Capacitors C1 and C2 for Use with Crystals (pF) 12-22

    красные это резисторы? зачем?
     
  6. VaStaNi

    VaStaNi Member

    Публикаций:
    0
    Регистрация:
    1 июн 2004
    Сообщения:
    203
    Адрес:
    Ukraine
    Не понял, 5V ОТКУДА ВЗЯЛ???
    С LPT что ли? Я понял, что с него... Тогда почти гиблое дело... Вот на GAME порту +5V точно есть и через низкоомный резистор от БП выведено, так что можно даже случайно коротнуть, от этого комп не дрогнет и не перегрузится и т.п.
    Вот какой пин не помню, но это тестером запросто вычислить, только чтобы 100% надо в параллель тестеру сунуть имитацию нагрузочки... ну резюк, скажем на 510 Ом и если вольтаж есть, то ЭТО ОН!
    А может ты подключешь со вскрытием компа на БП?
    Короче плохо указал в исходном посте, некорректно.
    Надеюсь мой пост кому то поможет ;)
     
  7. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    vdk

    У меня пока комп МП не видит, чтоб его программировать.

    Резисторы. Я его собирал по вышеуказанной схеме
    (http://avr.nikolaew.org/primer1.htm)


    VaStaNi

    С него. А почему с него нельзя брать 5V?

    Комп, все равно вскрыт, и я себе с БП также вывел 5V для других целей. Но МК от LPT брал. сейчас попробую от БП.

    Сейчас попробую перепаять выводи МК к пинам LPT и прошить как Y_Mur подсказал (еще не успел - только с учебы пришел) и скажу, что получится.
     
  8. VaStaNi

    VaStaNi Member

    Публикаций:
    0
    Регистрация:
    1 июн 2004
    Сообщения:
    203
    Адрес:
    Ukraine
    Глянул я на твое фото и.............
    кажется начал догадываться что у тебя и как.
    Итак, видим на фото, что у тебя светодиоды напаяны на раьем LPT!!!
    А по схеме они на НОГИ чипа выходят!!! На ВЫХОДНЫЕ ключи, стало быть шины чипа PORTC
    И Vcc (+5V) не через них поступает на чип, т.е. твою плату, а ведь у тебя так оно и есть, ведь так, я прав????
    Т.е. ЭТО ОШИБКА!
    Пересмотри схему, проанализируй, у тебя (если все так и я прав) ВООБЩЕ НЕ запитывалось ничего... ну может 1-2 волтьта кое где поплате...
    И еще посмотри ТУТ ветки, тут тема есть по LPT, я там ссылок тучу приводил доки по LPT, конкретные... ТАм глянешь и поймешь, что ЧИСТЫХ +5V на нем НЕ ВЫВЕДЕНО!
    Его иногда используют, да, но это ухищрения и надо понимать зачем и как....
     
  9. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Не совсем.

    Светодиоды в даной схеме у меня НЕ ЗАДЕЙСТВОВАНЫ. Это я когда то, когда на LPT свои программы тестил на этой планке LPT припаял диоды. А МК был подпаян к 14-17 выводам LPT(где диодов небыло). Сейчес выпаял светодиоды и перепаял соответственно
    LPT 6 (D4) - /RESET
    LPT 8 (D6) - SCK
    7 (D5) - MOSI
    10 (ACK) - MISO
    25 (GND) - GND

    Пробую...
     
  10. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Не работает:dntknw:
    Пытался прочитать avreal'ом - тоже не находит МК.
    Напряжение также из отдельной батареи пытался подавать (точно 5В) с общей с компом замлей. Куплю новую LPT "папу" и попробую еще раз перепаять, а то на этой уже все не очень хорошо держится.

    А чего еще нужно проверить?
     
  11. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Все, работает!!!
    Мк теперь распознается и считывается и с помощью avreal'а, и с помощью указанного мной в 1 посте программатора.
    Проблема была в том (просьба сильно не пинать), что я немного перепутал ножки МК SCK и MISO (они на МК рядом находятся - 19 и 18 соответственно). За это извиняюсь.
    Теперь начинается самое интересное - его программирование!

    Всем спасибо за помощь!
     
  12. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Еще один небольшой вопрос.
    Подпаял к порту С 6 светодиодов (плюсом к МК, и через 510Ом резистор на землю). Написал код, чтоб бит в регистре вертеть, и каждый раз его выводить в порт С. Такой бегущий огонек работает корректно. Затем подключил 2 выключателя к порту В(одной ногой к пину порта В, другой через 510Ом не плюс батареи). При нажатии на выключатель должно меняться направление вращения бег. огней. Но на нажатие кнопки МК не реагирует. Код пишу в AVR Studio 3.21. Подскажите, что я не правильно сделал(может ошибка в коде), плз.

    Код (Text):
    1. .def    TMP = R16  
    2. .def    VERT    = R17  
    3. .def    COUNT1  = R18
    4. .def    COUNT2  = R19  
    5. .def    COUNT3  = R20
    6. .equ    PORTC   =$15
    7. .equ    PINB    =$16
    8. .equ    DDRC    =$14
    9. .equ    DDRB    =$17   
    10.  
    11.     .org    0  
    12.     rjmp    START  
    13.     .org    0x50               
    14. START:     
    15.    
    16.     ldi     TMP,0xFF   
    17.     out    DDRC,TMP
    18.     ldi     TMP,0
    19.     out    DDRB,TMP
    20.     ldi     VERT,0x1
    21.  
    22. LOOP:
    23.     out PORTC,VERT 
    24.                
    25.     ldi     count2,55
    26. WAIT:
    27.     dec COUNT1
    28.     brne    WAIT       
    29.     dec COUNT2
    30.     brne    WAIT       
    31.                
    32.  
    33.     in  TMP,PINB
    34.        
    35.     cpi     TMP,0      
    36.     brcs    vlevo
    37.     cpi     TMP,1
    38.     brcs    vpravo
    39.    
    40.     ;rol    VERT
    41.    
    42.     rjmp    LOOP   
    43.  
    44. ;-----------------------------------------------------------------------------
    45. vlevo: 
    46.     rol VERT   
    47.     rjmp    LOOP   
    48. ;--------------
    49. vpravo:
    50.     ror VERT   
    51.     rjmp    LOOP   
    52. ;------------
    53.  
    54.     .exit
    После прошивки данного кода, постоянно горит первый диод (порт С, 0-бит).
     
  13. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Менял частоту внутреннего кварца МК, как vdk описывал - все работало. Затем биты CKSEL3..0 установил в 0, и теперь МК не работает и не распознается программаторами. Почему не МК не запускается от внешнего кварца, и как вернуть назад значение fuse битов (без параллельного программатора)?
     
  14. VBKesha

    VBKesha New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2004
    Сообщения:
    39
    В AVRreal есть редим тактирования MC от LPT ключь кажется -o0. Отключи кварц и попроубй шить тактирую от LPT мне всегда помагало.
     
  15. vdk

    vdk New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    Table 2. Device Clocking Options Select(1)
    Device Clocking Option CKSEL3..0
    External Crystal/Ceramic Resonator 1111 - 1010
    External Low-frequency Crystal 1001
    External RC Oscillator 1000 - 0101
    Calibrated Internal RC Oscillator 0100 - 0001
    External Clock 0000

    Figure 13. External Clock Drive Configuration
    Код (Text):
    1. NC ----------------------------| XTAL2
    2.                                |
    3. EXTERNAL CLOCK SIGNAL ---------| XTAL1
    4.                                |
    5. GND ---------------------------| GND
     
  16. lukash

    lukash New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2006
    Сообщения:
    142
    Спасибо. Восстановил. AVRreal таки рульный программатор!
     
  17. RA9FUE

    RA9FUE New Member

    Публикаций:
    0
    Регистрация:
    3 апр 2007
    Сообщения:
    1
    В AVRreal есть редим тактирования MC от LPT ключь кажется -o0. Отключи кварц и попробуй шить тактируя от LPT мне всегда помагало.
    А как это сделать конкретно, какой батфайл создать.
    Я вот такой по незнанию зашил
    @avreal.exe +mega8 -p1 -ab -e -w -fCKSEL=0,BLEV=0,BODEN=0 -%
    @goto exit
    vreal.exe +mega8 -p1 -ab -e -b -v -n -w -c DDS.HEX -d DDS.EEP
    и теперь МК не работает и не распознается программаторами ни STK-200 ни ALTERA BYTE BALSTER
    PonyProg2000 работает с ALTERA BYTE BALSTER или только с STK-200?
    Разобрался что к чему прошил и теперь всё работает!!!!!!!!