Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 02.07.2009, 14:08   #11
Archer07
Прописка
 
Регистрация: 25.03.2009
Сообщений: 137
Сказал спасибо: 22
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Archer07 на пути к лучшему
По умолчанию

Да!Именно точь-в-точь такой!
Реклама:
Archer07 вне форума  
Непрочитано 02.07.2009, 14:13   #12
ra9mig
Прописка
 
Регистрация: 24.09.2008
Сообщений: 116
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
ra9mig на пути к лучшему
По умолчанию

Цитата:
Но я точно знаю, что связь организовать на 9600 бодах возможно
Так кто с этим спорит?! Ваш кварц (судя по схеме http://www.biakom.com/pdf/ATAVRBFLY.pdf), скорее всего, предназначен для реализации RTC (часов). Для работы, вероятно, используется внутренний RC генератор. От него и пляши...
__________________
Если мы вам не подходим, вы нам вовсе не нужны!
Услышал и забыл, увидел и запомнил, сделал и понял!
Нейрон - штука тонкая!
Чудес на свете не бывает!
ra9mig вне форума  
Непрочитано 02.07.2009, 14:51   #13
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию

Сообщение от Archer07
На плате установлен кварц вот этот медленный на 32kHz
и еще есть встроенный,на 1MHz.Я еще раз все перечитаю и попробую тогда разобраться..Внешний подключен к XTAL1 и XTAL2.Больше ничего не знаю.Буду читать.
"встроенный" там RC-генератор внутри контроллера, на 4МГц с делителем на 4 ( так контроллер поставляется с завода). Но он не годится для UART-a "как есть" по причине температурной нестабильности. Его можно подстраивать программно, например, по преамбуле в начале обмена. RTFM.
makakus вне форума  
Непрочитано 03.07.2009, 15:32   #14
rubel
Гражданин KAZUS.RU
 
Аватар для rubel
 
Регистрация: 24.11.2006
Адрес: ДНР
Сообщений: 612
Сказал спасибо: 553
Сказали Спасибо 314 раз(а) в 142 сообщении(ях)
rubel на пути к лучшему
По умолчанию

Сообщение от Archer07
У меня AVR BUTTERFLY(mega169) демонстрационная отладочная плата,там кварц,LCD,Джойстик,все встроенное.И нет никакой внешней задающие RC-цепи.Кроме кварца нет ничего!Но я точно знаю,что связь организовать на 9600 бодах возможно.
Оригинальная прошивка на нее имеет возможность измерять температуру,проигрывать мелодии,...и отправлять данные в com-порт.
Подскажите пожалуйста способ организовать связь.
внешний кварц там чтобы калибровать внутренний. чтобы часики как можно более точно шли. вот этой хитрой функцией: OSCCAL_calibration

/************************************************** ***************************
*
* Function name : OSCCAL_calibration
*
* Returns : None
*
* Parameters : None
*
* Purpose : Calibrate the internal OSCCAL byte, using the external
* 32,768 kHz crystal as reference
*
************************************************** ***************************/
void OSCCAL_calibration(void)
{
unsigned char calibrate = FALSE;
int temp;
unsigned char tempL;

CLKPR = (1‹‹CLKPCE); // set Clock Prescaler Change Enable
// set prescaler = 8, Inter RC 8Mhz / 8 = 1Mhz
CLKPR = (1‹‹CLKPS1) | (1‹‹CLKPS0);

TIMSK2 = 0; //disable OCIE2A and TOIE2

ASSR = (1‹‹AS2); //select asynchronous operation of timer2 (32,768kHz)

OCR2A = 200; // set timer2 compare value

TIMSK0 = 0; // delete any interrupt sources

TCCR1B = (1‹‹CS10); // start timer1 with no prescaling
TCCR2A = (1‹‹CS20); // start timer2 with no prescaling

while((ASSR & 0x01) | (ASSR & 0x04)); //wait for TCN2UB and TCR2UB to be cleared

Delay(1000); // wait for external crystal to stabilise

while(!calibrate)
{
__disable_interrupt(); // disable global interrupt

TIFR1 = 0xFF; // delete TIFR1 flags
TIFR2 = 0xFF; // delete TIFR2 flags

TCNT1H = 0; // clear timer1 counter
TCNT1L = 0;
TCNT2 = 0; // clear timer2 counter

while ( !(TIFR2 & (1‹‹OCF2A)) ); // wait for timer2 compareflag

TCCR1B = 0; // stop timer1

__enable_interrupt(); // enable global interrupt

if ( (TIFR1 & (1‹‹TOV1)) )
{
temp = 0xFFFF; // if timer1 overflows, set the temp to 0xFFFF
}
else
{ // read out the timer1 counter value
tempL = TCNT1L;
temp = TCNT1H;
temp = (temp ‹‹ ;
temp += tempL;
}

if (temp › 6250)
{
OSCCAL--; // the internRC oscillator runs to fast, decrease the OSCCAL
}
else if (temp ‹ 6120)
{
OSCCAL++; // the internRC oscillator runs to slow, increase the OSCCAL
}
else
calibrate = TRUE; // the interRC is correct

TCCR1B = (1‹‹CS10); // start timer1
}
}

А насчет способа организовать связь - это же элементарно! Читаете даташит. конкретно про модуль USART - там яснее некуда написано все... В сети мильон примеров есть.К тому же в прилагаемом к баттерфляю ПО есть пример (смотрите функцию "USART.C") Какие проблемы?
Проблемы щас с тем что компы без ком-портов уже. USB forever!
rubel вне форума  
Непрочитано 28.07.2009, 10:38   #15
Hodok1
Прохожий
 
Регистрация: 19.02.2009
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hodok1 на пути к лучшему
По умолчанию

Привет всем. Такой вопрос: решил запрограмировать контроллер ATmega8 из AlgorithmBuilder, подключил к нему кварц 10 MHz (выводы XTAL1 XTAL2)и выставил во вкладке Fuse bits конфигурацию External crystal/ceramic resonator 1.0 - 16.0 MHz. Теперь контроллер будет такктироваться от внешнего кварца с частотой 10 MHz. После этого в теле программы настроил таймер счетчик 1 (TIMER1). Теперь вопрос: будет ли таймер счетчик тактироваться от вышеупомянутого внешнего кварца 10 MHz? Спасибо за ответы.
Hodok1 вне форума  
Непрочитано 28.07.2009, 12:11   #16
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию

Сообщение от Hodok1
Привет всем. Такой вопрос: решил запрограмировать контроллер ATmega8 из AlgorithmBuilder, подключил к нему кварц 10 MHz (выводы XTAL1 XTAL2)и выставил во вкладке Fuse bits конфигурацию External crystal/ceramic resonator 1.0 - 16.0 MHz. Теперь контроллер будет такктироваться от внешнего кварца с частотой 10 MHz. После этого в теле программы настроил таймер счетчик 1 (TIMER1). Теперь вопрос: будет ли таймер счетчик тактироваться от вышеупомянутого внешнего кварца 10 MHz? Спасибо за ответы.
Счётчик таймера может тактироваться с частотой кварца. Частота задаётся делителем (prescaler). Тактовая частота может быть поделена на 1,8,64,256,1024. Конкретно для меги8 читайте даташит (скачивается с atmel.com), если не можете оригинал - на gaw.ru наверняка есть перевод.
makakus вне форума  
Непрочитано 28.07.2009, 12:22   #17
Hodok1
Прохожий
 
Регистрация: 19.02.2009
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hodok1 на пути к лучшему
По умолчанию

Сообщение от makakus
Счётчик таймера может тактироваться с частотой кварца. Частота задаётся делителем (prescaler). Тактовая частота может быть поделена на 1,8,64,256,1024. Конкретно для меги8 читайте даташит (скачивается с atmel.com), если не можете оригинал - на gaw.ru наверняка есть перевод.
Про предделитель я знаю и про то что он может тактироваться от кварца тоже. Меня интересует другое: нужно ли какнибуть програмно настраивать таймер чтобы он работал с кварцем если процессор уже с ним работает. Не может случиться так что процессор работает с кварцем, а счетчик, настроеный считать частоту процессора, с внутренним тактовым генератором процессора?
Hodok1 вне форума  
Непрочитано 28.07.2009, 13:06   #18
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию

Сообщение от Hodok1
Про предделитель я знаю и про то что он может тактироваться от кварца тоже. Меня интересует другое: нужно ли какнибуть програмно настраивать таймер чтобы он работал с кварцем если процессор уже с ним работает. Не может случиться так что процессор работает с кварцем, а счетчик, настроеный считать частоту процессора, с внутренним тактовым генератором процессора?
Теперь скажите, кого Вы называете процессором?
При включении контроллера гарантируется обнуление многих регистров, я думаю, TCCR тоже обнуляются, чтобы таймеры не считали, не вызывали прерываний и т.д.
makakus вне форума  
Непрочитано 28.07.2009, 13:23   #19
Hodok1
Прохожий
 
Регистрация: 19.02.2009
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Hodok1 на пути к лучшему
По умолчанию

Сообщение от makakus
Теперь скажите, кого Вы называете процессором?
При включении контроллера гарантируется обнуление многих регистров, я думаю, TCCR тоже обнуляются, чтобы таймеры не считали, не вызывали прерываний и т.д.
Прошу прощения если не верно употребляю названия, по професии инженер конструктор поэтому в микропроцессорной технике понимаю чисто по личному опыту и интересу.
В моем понемании процессор это основное устройство микроконтроллера, которое выполняет операции с регистрами согласно записаной ранее в память программе, с какимто количеством операций в секунду. В моем случае это выглядит так: подключил кварц, написал программу, подключил микроконтроллер к компьютеру через програматор, запрограмировал микроконтроллер прогарамой указав что он должен тактироваться по внешнему кварцу 10 MHz. Теперь после отсоединения микроконтроллера от компьютера и подачи на него питания его процессор начнет выполнять загруженную мною программу с частотой 10000000 операций в секунду. Если я назвал чтото не так поправте меня.
Повторюсь: мне нужно чтобы таймер счетчик 1 тактировался по кварцу.
Hodok1 вне форума  
Непрочитано 28.07.2009, 14:12   #20
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию

Сообщение от Hodok1
В моем понемании процессор это основное устройство микроконтроллера, которое выполняет операции с регистрами согласно записаной ранее в память программе, с какимто количеством операций в секунду. В моем случае это выглядит так: подключил кварц, написал программу, подключил микроконтроллер к компьютеру через програматор, запрограмировал микроконтроллер прогарамой указав что он должен тактироваться по внешнему кварцу 10 MHz. Теперь после отсоединения микроконтроллера от компьютера и подачи на него питания его процессор начнет выполнять загруженную мною программу с частотой 10000000 операций в секунду. Если я назвал чтото не так поправте меня.
Повторюсь: мне нужно чтобы таймер счетчик 1 тактировался по кварцу.
Всё Вы правильно пишете.
После подачи питания заводится генератор тактовой частоты, некоторые регистры устанавливаются в 0 и вскоре начинают выполняться команды, начиная с нулевого адреса.

Открываем даташит на МЕГУ8 (у меня версия 2486S–AVR–08/07), смотрим на таймер1. Он управляется регистрами TCCR1A и TCCR1B.
Находим табличку "Clock Select Bit Description" для TCCR1b, в ней - clkI/O/1 (No prescaling): биты CS должны быть 001, чтобы счётчик считал тактовую частоту.
В начале программы должен быть блок, в котором настраиваются порты, таймеры, разрешаются прерывания и т.д. Как только Вы запишете в биты CS значение от 1 до 5, счётчик начнёт считать. Как считать, выдавать ли сигналы на ноги контроллера и т.д. определяется регистрами TCCR и TIFR.
Этот таймер - довольно сложная штука (описание занимает 24 страницы), и надо разобраться. Остальные таймеры и в других АВР-ках очень похожи.
makakus вне форума  
Закрытая тема

Закладки


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USART AVR MODBUS ua_gruzin Микроконтроллеры, АЦП, память и т.д 9 22.04.2012 00:00
Настройка USART AVR на DMX512 anton_avr Микроконтроллеры, АЦП, память и т.д 1 16.07.2009 13:13
Проблема с USART в Atmega8 tvilsa Микроконтроллеры, АЦП, память и т.д 21 14.01.2009 16:27
Регистры r0-r15 у mega169 myxan Микроконтроллеры, АЦП, память и т.д 17 17.12.2008 13:30
Проблема с USART в ATTiny2313 Фокс Микроконтроллеры, АЦП, память и т.д 4 09.04.2005 20:02


Часовой пояс GMT +4, время: 18:28.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot