реклама на сайте
подробности

 
 
> AVRdragon против CKDIV8 & DWEN :), Кто кого?
ReAl
сообщение May 4 2008, 10:43
Сообщение #1


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



На внутреннем 128кГц с CKDIV8 дракон не входит в обмен и не может блокировать DW

Подробности про две новости, плохую и хорошую


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение May 4 2008, 11:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Только что писал прогу. Микруха м48. В прошивке вывел частоту 10кГц на OC2 (совмещён с MOSI). После этого AVREAL и JTAG ICE MK2 в режиме ISP микруху не берут.
AVREALом проблему победить не смог, а вот JTAGом взял таким образом. Выставляешь частоту 100 Гц и выполняешь только операцию ERASE. После этого, естественно, всё работает.
Go to the top of the page
 
+Quote Post
ReAl
сообщение May 5 2008, 12:25
Сообщение #3


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(SasaVitebsk @ May 4 2008, 14:50) *
Только что писал прогу. Микруха м48. В прошивке вывел частоту 10кГц на OC2 (совмещён с MOSI). После этого AVREAL и JTAG ICE MK2 в режиме ISP микруху не берут. AVREALом проблему победить не смог

Мега48, внутренний RC 8MHz
Код
#include <avr/io.h>

#include "pin_macros.h"

#define SCK    B,5,H
#define MISO    B,4,H
#define MOSI    B,3,H


void main(void)
{
    PORTC = 0xFF;
    PORTB = 0xFF;
    DDRB = MASK(SCK) | MASK(MISO) | MASK(MOSI);
    PORTD = 0xFF;

    TCCR2A = (1 << COM2A1) | (1 << WGM20);
    TCCR2B = (1 << CS20);
    OCR2A = 0x7F;

    for(;;) {
        TOGGLE(SCK);
        TOGGLE(MISO);
    }
}
ШИМ, правда, 16кГц получается. Но и так, и без ШИМ - с внесением TOGGLE(MOSI) в цикл, и все ножки по одной, и в разных комбинациях - всё нормально перешивается на нормальной тактовой SPIЮ без занижения.
"Ну не знаю я".


Цитата(zhevak @ May 4 2008, 22:03) *
Первый раз, когда прошивал из CodeVision. Поднял фьюзы на внутренний RC-генератор на 128 кГц и сразу "потерял" кристал.
А там разве нет возможности изменить частоту SPI при программировании?

Цитата(zhevak @ May 4 2008, 22:03) *
Второй раз на грабли встал, когда установил предделитель частоты ядра на максимум (на 256) при частоте внутреннего RC-гернератора 4.8 МГц. При тактовой 4.8 МГц и предделителе на 8 все работало нормально. Стоило только увеличить коэфиициент предделителя, программатор потерял чип. Вылечил кристалл аналогично.
Аналогично - достаточно изменить частоту SPI.
4.8MHz / 256 ~ 19kHz
avreal32 с ключиком -o15khz и всё перешивается.
Надо снизить нижнюю границу допустимого значения ниже 1кГц, а то 32768/256 = 128Гц :-)

Гораздо интереснее - "а какого".
Даже из-за "безударного" переключения частот (в документации задержка переключения T1 + (1..2)*T2, где T1 - период до переключения) должно было бы успеть, период при 19кГц немогим больше 50мкс, по документации выдержка от сброса до подачи команды входа в программирование 20мс, в avreal все 100мс.
Значит сброс CLKPR производится после снятия сброса в те 14 тактов дополнительной задержки, которые есть даже при 0-вом SUT.
Вероятно, так же и у всех регистров, кроме связанных с IO-портами - не зря там постоянно повторяется, что у портов асинхронный сброс непосредственно по поступлению какого-либо сигнала reset.
Т.е. при подаче сброса только переводятся в hi-z все выводы, но CLKPR не сбрасывается, по снятию сброса отрабатывает SUT, потом в 14 тактов происходит сброс всех регистров, включая CLKPR.
Поэтому при программировании действует оставшееся от программы состояние предделителя.



Цитата(galjoen @ May 5 2008, 00:13) *
Из PowerDown АВР выходит больно долго и энергию при этом потребляет. Не считая режима IDLE конечно.
Если работа от кварца - то кто угодно будет выходить долго и печально, так как надо раскачаться кварцу в генераторе и дождаться стабилизации его амплитуды. А от внутреннего RC - по документации старт за 6 тактов и я не замечал отклонений. Мерять время старта я не мерял, но у меня в одном месте контроллер просыпается из POWER DOWN по WDT interrupt с интервалом 250мс приблизительно на сотню тактов - ток укладывается в оценку по скважности исходя из потребления в непрерывном режиме и в POWER DOWN.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
defunct
сообщение May 5 2008, 20:27
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ReAl @ May 5 2008, 15:25) *
Значит сброс CLKPR производится после снятия сброса в те 14 тактов дополнительной задержки, которые есть даже при 0-вом SUT.

Дык, добавьте кратковременный положительный пульс на Reset
0-1-0 ..

Цитата(zhevak @ May 5 2008, 08:53) *
Поскольку используется счетчик (для отсчета времени в 1 мс), то уйти в Down или PowerSafe нельзя. Из этих режимов нельзя проснуться по таймеру. Актуальны только сброс, внешнее событие или вотч-дог. Этим объясняется большое энергопотребление.

Ну надо смотреть может Вам и не надо 1ms smile.gif или может быть можно снаружи взять 1kHz.
А так самый распространенный способ просыпать от WDT.

Цитата(galjoen @ May 5 2008, 16:02) *
А лишний ток при старте конечно только при работе от кварца потребляется.

t13 не имеет даже возможности тактироваться от внешнего кварца. Только RC и внешний клок.
Go to the top of the page
 
+Quote Post
ReAl
сообщение May 5 2008, 21:10
Сообщение #5


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(defunct @ May 5 2008, 23:27) *
Дык, добавьте кратковременный положительный пульс на Reset
0-1-0 ..
А он есть, короткий, для повышения вероятности условия SCK=0 в момент подачи сброса (уменьшения потребности пересинхронизаций).
Т.е. сейчас 100мс сброс (этот для перевода портов в hi-Z, можно было и короткий сделать), несколько тактов (исходя из ключа -o) снятие сброса, 100мс сброс, вход в программирование.
Только тут какая штука - как я понял текст, те 14 тактов будут отрабатывать после снятия внутреннего сброса, т.е. после отработки SUT.
Если эта единичка на сбросе будет короче выставленной по SUT задержки, то, получается, CLKPR не сбросится (видимо, это у меня и было в эксперименте, у меня там в болванке SUT=2 забито). А если единичка будет длиннее более, чем на время от начала работы программы до записи делителя в CLKPR, то оно запишется опять smile.gif
Короче, а по дырочкам - ну никак попасть в те несколько тактов от конца работы SUT до записи в CLKPR всё равно не удастся.
Да и решается это всё с помощью -oочень_мало
Можно в тестовой программе сделать задержку милисекунд в 10 до записи в CLKPR и выставить SUT на 0мс, перекомпилировать avreal на милисекунду-другую единички между сбросами, ...
А оно надо?


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ReAl   AVRdragon против CKDIV8 & DWEN :)   May 4 2008, 10:43
- - ILYAUL   Цитата(ReAl @ May 4 2008, 14:43) На внутр...   May 4 2008, 11:22
|- - ReAl   Цитата(ILYAUL @ May 4 2008, 14:22) Не отк...   May 4 2008, 17:46
|- - defunct   Цитата(SasaVitebsk @ May 4 2008, 14:50) Т...   May 4 2008, 14:05
||- - SasaVitebsk   Цитата(defunct @ May 4 2008, 18:05) Стран...   May 4 2008, 14:15
|- - zhevak   Цитата(ReAl @ May 5 2008, 18:25) А там ра...   May 5 2008, 12:59
|- - galjoen   Цитата(ReAl @ May 5 2008, 16:25) Если раб...   May 5 2008, 13:02
||- - ReAl   Цитата(zhevak @ May 5 2008, 15:59) 250 мс...   May 5 2008, 13:56
||- - galjoen   Цитата(ReAl @ May 5 2008, 17:56) WDT мень...   May 5 2008, 14:29
||- - ReAl   Цитата(galjoen @ May 5 2008, 17:29) Я экс...   May 5 2008, 19:36
||- - galjoen   Цитата(ReAl @ May 5 2008, 23:36) А нельзя...   May 5 2008, 21:14
||- - ReAl   Цитата(galjoen @ May 6 2008, 00:14) При п...   May 5 2008, 21:32
||- - galjoen   Цитата(ReAl @ May 6 2008, 01:32) 1. С аси...   May 5 2008, 22:07
||- - defunct   Цитата(ReAl @ May 6 2008, 00:10) Если эта...   May 6 2008, 00:09
|- - SasaVitebsk   Цитата(ReAl @ May 5 2008, 16:25) ШИМ, пра...   May 6 2008, 18:26
|- - ReAl   Цитата(SasaVitebsk @ May 6 2008, 21:26) Д...   May 7 2008, 07:55
|- - SasaVitebsk   Цитата(ReAl @ May 7 2008, 11:55) Я не виж...   May 7 2008, 21:15
|- - zhevak   как в старом анекдоте про золотую рыбку: -- Ящик в...   May 26 2008, 08:45
- - zhevak   Цитата(ReAl @ May 4 2008, 16:43) На внутр...   May 4 2008, 19:03
|- - ReAl   Цитата(zhevak @ May 4 2008, 22:03) Вчера ...   May 4 2008, 19:26
||- - zhevak   Цитата(ReAl @ May 5 2008, 01:26) Интересн...   May 4 2008, 19:46
||- - defunct   Цитата(zhevak @ May 4 2008, 22:46) (Моя ц...   May 4 2008, 20:56
||- - galjoen   Цитата(defunct @ May 5 2008, 00:56) Смысл...   May 4 2008, 21:13
||- - zhevak   Цитата(defunct @ May 5 2008, 02:56) Работ...   May 5 2008, 05:53
|- - ReAl   Цитата(galjoen @ May 6 2008, 01:07) 3. От...   May 6 2008, 17:21
|- - galjoen   Цитата(ReAl @ May 6 2008, 21:21) ... Вышл...   May 6 2008, 18:46
|- - zhevak   ЦитатаЯ сегодня погонял на 3.3В тини13... Спасибо...   May 6 2008, 18:57
- - zhevak   хочу добавить про MSP430. Может кому будут интерес...   May 26 2008, 14:27
- - smk   ЦитатаДа, чуть не забыл! У МСП внутренний DCO-...   May 28 2008, 17:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 03:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016