Отговори на тема  [ 8 мнения ] 
Как да свържа кварц с Atmega8? 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 10, 2014 1:07 pm
Мнения: 12
Мнение Как да свържа кварц с Atmega8?
Здравейте! Започнах да си правя собствена development платка с Atmega8 и следвам този урок. В него обаче няма кварц, а аз искам да си сложа. Потърсих в интернет, но не успях да намеря точно обяснение как трябва да го свържа с подобна схема като тази от урока. Затова искам да помоля по-опитните да ми опишат от тази крайната схема:
Изображение

как да добавя кварц 16000. Благодаря предварително!


Пет Дек 05, 2014 5:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Как да свържа кварц с Atmega8?
Разгледай това: https://www.google.com/search?q=arduino ... CAgQ_AUoAQ
Ще ти трябват кварц максимално близо до Atmega8, два кондензатора от 20pF и трябва да промениш фюзовете, за да кажеш на контролера да ползва кристала.

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Дек 05, 2014 6:21 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 10, 2014 1:07 pm
Мнения: 12
Мнение Re: Как да свържа кварц с Atmega8?
Благодаря за отговора! Имам кварца, имам кондензаторите, но преди да действам искам да попитам така схемата ми вярна ли ще е:
Изображение


Пет Дек 05, 2014 7:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Как да свържа кварц с Atmega8?
Вярна изглежда(кристала е 16 000 000, а не 16к)
Изображение
Изображение
Изображение

_________________
Warriors of the Night, ASSEMBLER!!!


Пет Дек 05, 2014 8:19 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 10, 2014 1:07 pm
Мнения: 12
Мнение Re: Как да свържа кварц с Atmega8?
Направих си платката по схемата всичко стана, но сега имам няколко въпроса.
1. Използвам USBTinyISP за програматор. На няколко пъти успях да се свържа с avrdude промених си няколко пъти фюзовете и всичко премина успешно. Пробвах се да кача тестова програмка и всичко стана. Обаче не лампичката не мига:
Код:
#define F_CPU 16000000UL

#include <avr/io.h>
#include <util/delay.h>

int
main (void)
{
    DDRB |= _BV(DDB0);
   
    while(1)
    {
        PORTB ^= _BV(PB0);
        _delay_ms(1000);
    }
}

Това е кода. Свързал съм +-а на led-а към PB0 и минуса към gnd, но нищо не се случва. Пробвах самия led директно с 3 волта и си работи.

2. Програматора ту се свързва с atmega8, ту ми дава грешка:
avrdude: initialization failed, rc=-1

Това ми се случи няколко пъти и си помислих, че съм си изгорил чипа, но след няколко включвания и изключвания на захранването тръгна и пак си качих програмата без проблем.

Забелязах, че usbtinyisp-то не иска да ми burn-не и bootloader на ардуиното (със същата грешка), а ардуиното си работи перфектно и мога да си качвам скечове чрез USB. Това ме навежда на мисълта, че може би програматорчето нещо е бъгнало. Как да проверя дали проблема е в него?

3. Относно фюзовете използвах fuse calculator, но там не намерих за 16MHz кварц. Кое точно да избера за правилна настройка на фюзовете?

Въпросите ми може да са глупави, но съм начинаещ и тепърва се уча и ще се радвам ако ми помогнете.


Вто Дек 09, 2014 2:24 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Как да свържа кварц с Atmega8?
Не съм много навътре с avr, ама на кой ред убиваш кучето?
Светодиодите си свързват задължително през резистор.
Сигурен ли си че калкулатора няма сетинг: Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms;

_________________
Warriors of the Night, ASSEMBLER!!!


Вто Дек 09, 2014 3:16 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Пон Мар 22, 2010 8:52 pm
Мнения: 328
Мнение Re: Как да свържа кварц с Atmega8?
ike написа:
Не съм много навътре с avr, ама на кой ред убиваш кучето?
Светодиодите си свързват задължително през резистор.

:finga:


Вто Дек 09, 2014 5:44 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пон Ное 10, 2014 1:07 pm
Мнения: 12
Мнение Re: Как да свържа кварц с Atmega8?
Все още не мога да го накарам да мига. Не мога също да разбера защо не се свързвам всеки път с usbtinyisp, но преди малко успях, промених фюзовете на "Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms;" и си качих програмата, от миналия пост. Свързвам лед-а с резистор, но нищо не се случва. Като го свържа директно с +-а си светва..
Код:
veskoy-desktop veskoy # avrdude -c usbtiny -p m8 -F

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avr-gcc -mmcu=atmega8 -Wall -Os -o bl.elf bl.c     
veskoy-desktop veskoy # avr-objcopy -j .text -j .data -O ihex bl.elf bl.hex
veskoy-desktop veskoy # avrdude -c usbtiny -p m8 -e -U flash:w:bl.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307
avrdude: erasing chip
avrdude: reading input file "bl.hex"
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: writing flash (90 bytes):

Writing | ################################################## | 100% 0.25s

avrdude: 90 bytes of flash written
avrdude: verifying flash memory against bl.hex:
avrdude: load data flash data from input file bl.hex:
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: input file bl.hex contains 90 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.35s

avrdude: verifying ...
avrdude: 90 bytes of flash verified

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8 -e -U flash:w:bl.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307
avrdude: erasing chip
avrdude: reading input file "bl.hex"
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: writing flash (90 bytes):

Writing | ################################################## | 100% 0.25s

avrdude: 90 bytes of flash written
avrdude: verifying flash memory against bl.hex:
avrdude: load data flash data from input file bl.hex:
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: input file bl.hex contains 90 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.35s

avrdude: verifying ...
avrdude: 90 bytes of flash verified

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8 -e -U flash:w:bl.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9307
avrdude: erasing chip
avrdude: reading input file "bl.hex"
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: writing flash (90 bytes):

Writing | ################################################## | 100% 0.25s

avrdude: 90 bytes of flash written
avrdude: verifying flash memory against bl.hex:
avrdude: load data flash data from input file bl.hex:
avrdude: input file bl.hex auto detected as Intel Hex
avrdude: input file bl.hex contains 90 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.35s

avrdude: verifying ...
avrdude: 90 bytes of flash verified

avrdude: safemode: Fuses OK (H:FF, E:D9, L:EF)

avrdude done.  Thank you.

veskoy-desktop veskoy # avrdude -c usbtiny -p m8

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.


От лог-а може да видите, например накрая решавам да спра захранването на платката ми, след което пак го пускам и не мога да се свържа с usbtinyisp. Успявам веднъж на 30-40 опита и докато съм свързан мога да си правя всичко - да си качвам програми, да си променям фюзовете, но откаже ли е много дразнещо.

Някой може ли да предложи нещо? :cry:


Вто Дек 09, 2014 8:03 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни