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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Краткое резюме по поводу обвязки МК при SPI-прог-ии?, на примере ATmega16
MakFatum
сообщение Feb 15 2006, 10:37
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



Всем Доброго Времени!...
я в курсе что это уже спрашивали, но это все разбросано кусками по всему форуму...
читал-читал и в голове одна каша...

можно ли подвести краткое резюме всему написанному ранее?...

Собрал простой SPI программатор по схеме :

Отдельно от него отладочная плата с панелькой.
Вопрос первый: какой длины я могу использовать провод между LPT (саму схему я поместил в разъеме LPT) и отладочной платой? Читал что 20-30 см?(придется сидеть тогда с платой и программатором глубоко под столом biggrin.gif ). Можно ли использовать удлинитель в виде шнура от матричного принтера???? (было бы для меня удобно, но не будут ли помехи наводиться???(хотя шнур от матричного принтера экранированный ведь?))
Вопрос второй, по отладочной плате. Ниже приведена обвязка, насобирал сведения отовсюду....Вопрос -такая схема с этими номиналамии будет работать?

Я помню обсуждалось, что AREF можно оставлять пустым?
В какой-то pdf-ке прочитал "Connect ICP to Vcc if not used" (20 вывод PD6)....Зачем??
и еще интересует RESET. Правильно ли будет ТАК, как на схеме?....

Заранее благодарен...
Go to the top of the page
 
+Quote Post
ivan2006
сообщение Feb 15 2006, 10:55
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 8-01-06
Из: Петербург
Пользователь №: 12 944



Цитата(MakFatum @ Feb 15 2006, 13:37) *
Вопрос первый: какой длины я могу использовать провод между LPT (саму схему я поместил в разъеме LPT) и отладочной платой? Читал что 20-30 см?(придется сидеть тогда с платой и программатором глубоко под столом :biggrin: ). Можно ли использовать удлинитель в виде шнура от матричного принтера???? (было бы для меня удобно, но не будут ли помехи наводиться???(хотя шнур от матричного принтера экранированный ведь?))

Вопрос второй, по отладочной плате. Ниже приведена обвязка, насобирал сведения отовсюду....Вопрос -такая схема с этими номиналамии будет работать?
Я помню обсуждалось, что AREF можно оставлять пустым?
В какой-то pdf-ке прочитал "Connect ICP to Vcc if not used" (20 вывод PD6)....Зачем??
и еще интересует RESET. Правильно ли будет ТАК, как на схеме?....

1. Удлиннитель для принтера в большинстве случаев использовать можно!
2. Если в Atmel AVR встроенный тактовый генератор то работать будет.
Распиновка ЛПТ зависит от используемого софта.
Подумайте, есть ли смысл запараллеливать В1, В2, В3?
3. Ресет на программаторах делают часто с пом. транзистора с откр. коллектором, но так тоже будет работать. Главное поставить конденсатор reset-gnd >=10nF
ICP - на ваше усмотрение.
Go to the top of the page
 
+Quote Post
$ilent
сообщение Feb 15 2006, 11:13
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296



зачем всё так усложнять? тык
Go to the top of the page
 
+Quote Post
BVU
сообщение Feb 15 2006, 11:27
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата($ilent @ Feb 15 2006, 14:13) *
зачем всё так усложнять? тык

А если необходимо внутрисхемное программирование (корпус контроллера не в DIP)? В этом случае одним PonyProg не обойдешся...
Для нормальной работы все же надо иметь несколько устройств поддержки программирования и отладки (последовательный/внутрисхемный программатор, параллельный программатор и отладчик JTAG).


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Георгий
сообщение Feb 15 2006, 11:34
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 269
Регистрация: 17-11-05
Из: Киров-Москва
Пользователь №: 10 957



...или тык
Причем прошиваю внутрисхемно.

Сообщение отредактировал Георгий - Feb 15 2006, 11:36


--------------------
Обычно последним смеется тот, кто хуже соображает!
Go to the top of the page
 
+Quote Post
$ilent
сообщение Feb 15 2006, 11:35
Сообщение #6


Частый гость
**

Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296



Цитата(BVU @ Feb 15 2006, 14:27) *
А если необходимо внутрисхемное программирование (корпус контроллера не в DIP)? В этом случае одним PonyProg не обойдешся...

В каком смысле? ковырять уже собранное устройство? ни каких проблем, просто позуеш только основной модуль пони, разъём только перепаять по своему усмотрению... А вот на счёт параллельного, это действительно нужная весч...
Go to the top of the page
 
+Quote Post
MakFatum
сообщение Feb 15 2006, 11:38
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



"Подумайте, есть ли смысл запараллеливать В1, В2, В3?"
дык нету смысла запараллеливать, я это понял, когда, развел, вытравил, спаял, и засунул в LPT..
ну думую, не сильно страшно....можно бы, конечно, было светодиоды туды засунуть...., но обойдусь без них уж...
"ICP - на ваше усмотрение."
ну что ж, хорошо, на мое усмотрение, чем меньше, тем лучше...

"Для нормальной работы все же надо иметь несколько устройств поддержки программирования и отладки (последовательный/внутрисхемный программатор, параллельный программатор и отладчик JTAG)."
Вот где бы про это еще почитать (JTAG, параллельное программирование, последовательное), чтобы доступно, понятно, с расшифровкой аббревиатур.......
Go to the top of the page
 
+Quote Post
BVU
сообщение Feb 15 2006, 11:51
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(MakFatum @ Feb 15 2006, 14:38) *
Вот где бы про это еще почитать (JTAG, параллельное программирование, последовательное), чтобы доступно, понятно, с расшифровкой аббревиатур.......

На форуме лежит очень много тем которые обсуждались по данным вопросам, что Вас интересуют. Сделайте поиск. А принципы программирования - последовательные/параллельные можно узнать из фирменных описаний на атмеловский AVR контроллер. Про JTAG отладку - множество информации в инете... вот хотябы: "JTAG. Это стандартный тестовый интерфейс, применяемый для тестирования электронных компонентов и устройств. Устанавливаеться методом навески без применения пайки.
В 1985 сформировалась специальная группа ведущих производителей электроники - JTAG (Joint Test Action Group). Для решения проблем тестирования JTAG выдвинула как промышленный стандарт спецификацию IEEE Std 1149.1-1990 (IEEE Standard Test Access Port and Boundary-Scan Architecture). "


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
MakFatum
сообщение Feb 15 2006, 17:08
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



ну вот, пришел я к окончательному варианту...
всем спасибо!...
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 15 2006, 21:20
Сообщение #10


кекс
******

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



Цитата(MakFatum @ Feb 15 2006, 19:08) *
ну вот, пришел я к окончательному варианту...


1. Схему сброса можно сделать на одном конденсаторе 1uf между пином Reset и Gnd (без причуд с диодом).
2. Дроссель - либо выбросить, либо применить по назначению в цепи AVCC.
3. Кварц бы желательно добавить между XTAL1 XTAL2 (отладочная плата все же, не сидеть же все время на внутреннем RC генераторе).
4. Резисторы 470ом (MISO, MOSI, SCK) не нужны.
Go to the top of the page
 
+Quote Post
MakFatum
сообщение Feb 16 2006, 02:29
Сообщение #11


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



дело в том, что эти данные насобирал из разных источников, как то: AVR beginner, AVR hardware design consideration....
Есть ли какой-нибудь документ, где есть кумулятивный апдейт знаний и сведений про эти все подсоединения и нюансы (например дроссель и назначение в цепи AVCC)...
я так понял он стоит как фильтр по питанию...
кварц я воткну, мне пока бы просто с RC запустить...
а почему резисторы не нужны?.объясните, пожалуйста?...
1 uf - это 1 мкФ?....просто я в схемах видел, что между пинами Reset и GND 0,1 мкФ включают, или это не принципиально?

Сообщение отредактировал MakFatum - Feb 16 2006, 02:31
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 16 2006, 10:07
Сообщение #12


кекс
******

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



Цитата(MakFatum @ Feb 16 2006, 04:29) *
Есть ли какой-нибудь документ, где есть кумулятивный апдейт знаний и сведений про эти все подсоединения и нюансы (например дроссель и назначение в цепи AVCC)...

да - dataheet на ваш МК. (насчет дросселя - стр. 211)

Цитата
а почему резисторы не нужны?.объясните, пожалуйста?...

А какое их назначение? При программировании все равно вначале формируется сигнал сброс, а потом подключаются соответствующие выводы (на вашем программаторе), если их где и требуется размещать, так лучше в программаторе, хотя и там не обязательно.

Цитата
1 uf - это 1 мкФ?....просто я в схемах видел, что между пинами Reset и GND 0,1 мкФ включают, или это не принципиально?

да.. (u - мк)
На Reset - не принципиально. у вас в схеме и стоит 1uf, только еще куча лишнего - резистор и диод, которые можно не ставить.
Go to the top of the page
 
+Quote Post
era
сообщение Feb 16 2006, 21:22
Сообщение #13





Группа: Новичок
Сообщений: 5
Регистрация: 16-12-05
Пользователь №: 12 321



1. В части резистора и диода на Reset
Этот вход не имеет встроенного защитного диода, таким образом, после снятии питания со схемы некоторое время на нем будет присутствовать напряжение с заряженного конденсатора, что не есть хорошо. Так, что жадничать, наверное, не стоит.
2. При наличии конденсатора на входе Reset при подаче питания на схему на нем некоторое время (зависит от номинала R или встроенного R) будет удерживаться состояние лог"0". При отсутствии подтяжки к питанию на входе SCK, можно поймать неприятные глюки типа порчи flash-а. Короче, полезно подтянуть, т.к. до старта программы вход "висит в воздухе".
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 17 2006, 08:07
Сообщение #14


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(era @ Feb 16 2006, 23:22) *
1. В части резистора и диода на Reset
Этот вход не имеет встроенного защитного диода, таким образом, после снятии питания со схемы некоторое время на нем будет присутствовать напряжение с заряженного конденсатора, что не есть хорошо. Так, что жадничать, наверное, не стоит.
2. При наличии конденсатора на входе Reset при подаче питания на схему на нем некоторое время (зависит от номинала R или встроенного R) будет удерживаться состояние лог"0". При отсутствии подтяжки к питанию на входе SCK, можно поймать неприятные глюки типа порчи flash-а. Короче, полезно подтянуть, т.к. до старта программы вход "висит в воздухе".

Обо всём этом говорилось в апнотах и даташитах от Atmel, так что пренебрегать этим не стОит, тем более, что это и не так накладно.
Go to the top of the page
 
+Quote Post
MakFatum
сообщение Feb 19 2006, 17:20
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 7-12-05
Пользователь №: 11 912



Ну вот ниже окончательная схема, со второго разу заработало!...(С первого не считается, в программаторе к 20-й ноге микросхемы забыл "-" подключить)..
Кондер и дроссель последовательно который стояли убрал..


Еще вот один вопрос....

я понимаю, что сразу после него захочется меня отправить в школу, ....ну помогите только с этим, а потом уж и сам сяду за учебники....Хочу светодиодом помигать просто....
Но чего-то не получается...
С помощью CodeVision AVR и его Wizarda создал проект и программу мигания светодиодом, подключенного к порту А.
привожу ниже кусочек (а то wizard еще много чего там на генерил)
Цитата
#include <mega16.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0xff;

while (1)
{
PORTA.1=0;
delay_ms(1000);
PORTA.1=1;
delay_ms(1000);

};
}


ну вообщем, я понимаю, что проще некуда...Ну не моргает!...
Вопрос по самому процессу программирования!

CVAVR МК видит, все считывает, все программирует, все стирает....

Вот глупый сейчас вопрос задам..
Программу заливать в EEPROM же надо?

Нажимаю я пипку Run Chip Programmer, далее выбираю "файл- Load-EEprom"...
Программирует, но ничего не работает...

а если нажимаю "Programm All", он что-то начинает программировать, доходит до 3% и виснет, ...приходится всключать и выключать питание...а потом стирать...
А еще после прогр-ия и после "read-EEprom", а потом" EDIT".....в табличке, правее 16-ричных чисел, какие-то кракозябры и русские буквы ...что это....?
.....
Go to the top of the page
 
+Quote Post

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

 


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


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