Форум программистов, компьютерный форум, киберфорум
Электроника для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/31: Рейтинг темы: голосов - 31, средняя оценка - 4.61
hirmis_jr
1

Разъясните пожалуйста по ISP

28.08.2012, 22:42. Показов 6147. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь разобраться с внутрисхемной прошивкой attiny2313, но пока всё равно плохо представляю, что делаю :) Если схема до ужаса простая (например, к контроллеру на какую-то незарезервированную ногу повешен светодиод), то всё само собой работает – на пять свободных ног для прошивки вешаю clk, miso и тд.
Сложность начинается, если все ноги контроллера чем-то заняты, например, на ногах с 17 по 19 висит шина для регистров сдвига. А на RESIT - pullup резистор, чтобы потом во время работы контроллер не сбрасывался. И как тогда правильно разрулить ситуацию с шестипиновым портом для ISP? То есть вполне может случиться, что пять контактов для ISP так или иначе где-то в схеме замыкаются на +5V, землю или через какой-нибудь диод друг на друга, а в том же FAQ написано:
В: У меня МК совсем не хочет прошиваться. Что делать?
О: Электраника - наука о контактах. Поэтому, прежде всего, берём тестер и убеждаемся, что каждый из проводков от программатора имеет контакт с нужной ножкой процессора, и не замыкает на землю/питание/что-то-ещё.
Джамперы для временного разрыва делать что ли? Но ведь я нигде не видел чтоб так было... А в большинстве статей про внутрисхемное программирование даны простенькие схемки с ненагруженными контроллерами (там свободные ноги mosi, clk и другие).
Примерно вот о чём речь:

http://img94.imageshack.us/img94/7449/tinyrf.th.png
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2012, 22:42
Ответы с готовыми решениями:

PIC16F887. Разъясните пожалуйста
Начал изучать программирование на Си, а именно программирование микроконтроллеров. Стало интересно...

Разъясните пожалуйста про механизм объявления констант
Вот значит я пишу в виде глобальной переменной const uint32_t my_var = 0xFFFFFFFF; Правильно ли я...

Разъясните пожалуйста
int sd(int n, int d = 1) { if(n == 0) { return 0; } else { ...

Разъясните пожалуйста
Всем привет.Вот столкнулась я с такой задачкой. Нужно написать калькулятор : Реализация...

12
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
28.08.2012, 23:11 2
джамперы надо, да. если в реальной работе к spi что-то подключено - надо отключать, иначе подключенная штучка будет мешать. единственное - ресет можете оставить
0
hirmis_jr
28.08.2012, 23:14 3
Вот блин, досада. Какое же оно тогда внутрисхемное, если по сути контроллер выдирать из схемы надо :-D
Спасибо, значит придётся городить огород из джамперов...
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
28.08.2012, 23:28 4
как вариант ещё можно при разводке схемы резисторы закладывать на сигнальные линии 1к, тогда программатор можно напрямую к мк цеплять, а то, что на spi - окажется отвязанным резисторами. т.е. влиять теоретически будет, но прошиться должно

если уже развели - можете дорожки порезать и смд резисторы впаять. программатор какой у вас?
0
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 699
28.08.2012, 23:42 5
Если к линиям программирования подключены входы логики, то они не мешают. Если выходы, нужно добавить последовательно резистор, как написали выше.
0
hirmis_jr
28.08.2012, 23:46 6
Не, пока эту схему не травил ещё, могу пока чудить с ней что угодно. Просто чтобы лишний раз не расстраиваться и не тратить уйму времени на плату, решил сперва спросить и уточнить всё, чтобы уж знать наверняка.

Программатор простенький - Громова, от som-порта. На attiny2313 в dip-корпусе работает на отлично, правда пока только в макетной плате пробовал прошивать отдельно от всего, либо с минимумом компонентов на незарезервированных ногах, а с внутрисхеммным вот первый раз колдую.

Про резисторы где-то в даташите читал вроде, но смущает меня такой вариант. Ведь в отличие от перемычек (пластиковых, либо припоем), эти резисторы уже никуда не денутся и будут в итоге влиять на всю схему... Ну там если на miso ноге где-нибудь висит светодиод, то после 1k резюка он уже и светить-то толком не будет.

Цитата Сообщение от Леанид Ивинавич
Если к линиям программирования подключены входы логики, то они не мешают. Если выходы, нужно добавить последовательно резистор, как написали выше.
Ну вот у меня в схемке например 17, 18 и 19 ноги идут к входам 74HC595, причём для последнего требуется 1mF конденсатор между 17 ногой (которая, в свою очередь, MOSI) и землёй.

То есть как я понимаю, универсальное решение - понатыкать джамперов вообще на всех пяти портах. Либо нужно чётко знать, что и как себя поведёт в конкретной схеме?
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
28.08.2012, 23:47 7
Подтяжка к земле и к питанию через резисторы порядка 2-10к не повлияют на программатор. Например, можно запросто повесить эти ножки на какие-нибуль кнопки, но при программировании, естественно, кнопки не трогать. Либо как выводы на светодиоды. Главное. чтобы не на двигатели и реле, либо что-то подобное.

У меня, например, эти выводы идут на сдвиговый регистр и на 7-сегм. индикатор. При программировании на индикаторе бешено переключаются сегменты - ну и что?

Кстати, в моем программаторе (от ПРОТОССа, а-ля AR910) - на всех выводах висят резисторы по 68-100 ом. Прекрасно работает.
0
hirmis_jr
28.08.2012, 23:57 8
Окей, кажется ясно. Можно только всё же попросить, чтобы набросали схемку, куда именно пихать резисторы, если например 17, 18 и 19 (ясное дело, если речь об attiny2313) ноги идут к сдвиговому регистру или светодиодам. Чтобы убедиться, что я корректно всё понял. Спасибо.
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
29.08.2012, 00:18 9
от разъема ISP - на резисторы. От резисторов - на ноги МК. Ноги МК также на вашу периферию, без резисторов. Вход МК RESIT на разъем - можно без резистора.
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
29.08.2012, 01:47 10
не-не
от ysp - на ноги мк. а от spi- входов мк на выходы других схем - резисторы. раз у вас выходы мк идут только ко входам регистра, то ничего не надо. т.е. смысл резисторов - не давать замкнуться двум выходам между собой - представьте - на выходе микросхемы - 0, а на выходе программатора -1. и КЗ. а резистор окажется просто небольшой дополнительной нагрузкой для программатора и всё будет работать.
Я спросил про программатор, потому что как раз громова может не работать с резисторами - там пассивная схема и сама содержит резисторы, в таких случаях лучше перемычки
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
29.08.2012, 01:49 11
Цитата Сообщение от hirmis_jr
Ну вот у меня в схемке например 17, 18 и 19 ноги идут к входам 74HC595, причём для последнего требуется 1mF конденсатор между 17 ногой (которая, в свою очередь, MOSI) и землёй.
А вот этого вообще нельзя делать - конденсатор на выход цеплять нельзя
0
hirmis_jr
29.08.2012, 01:57 12
Цитата Сообщение от Johmmy0007
А вот этого вообще нельзя делать - конденсатор на выход цеплять нельзя
Не знаю, не сам придумал, взято тут с самой нижней схемы: http://arduino.cc/en/Tutorial/ShiftOut (From now on those will be refered to as the dataPin, the clockPin omd the latchPin respectively. Notice the 0.1muf capacitor on the latchPin, if you have some flicker when the latch pin putsis you can use a capacitor to even it out.) Конечно, судя по тексту он не обязателен. Или вы имеете в виду, что нельзя цеплять не вообще в принципе, а только если нужно внутрисхеммно прошивать контроллер?
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
29.08.2012, 02:19 13
Нельзя в принципе цеплять конденсатор к выходу МК, если только не единицы пикофарад. Иначе, если кондер разряжен, а на выходе появляется единичка - то кондер, пока не зарядится, проводит ток на землю, в итоге выход с единичкой оказывается КЗ на землю.
Можно, только если между кондером и выходом МК есть резистор, на котором может погаситься ток КЗ.
0
29.08.2012, 02:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2012, 02:19
Помогаю со студенческими работами здесь

Пожалуйста разъясните код
Программа имитирует алгоритм планирования "Самый короткий процесс - следующий". Пожалуйста...

разъясните синтаксис пожалуйста
В различных Исходниках обнаруживаю подобные конструкции: $helperClass =...

Разъясните пожалуйста задачу
Вот задача. #include <iostream> using namespace std; const int n=3; struct STRUCT { ...

Разъясните тему, пожалуйста
Почему при построении такого запроса у меня выдает 4 результата вместо 5(ведь я прописываю 5...

Разъясните, пожалуйста, код
$d = opendir("somewhere"); while (($e=readdir($d)) !== false) { . . .} Мне не очень понятно...

Разъясните, пожалуйста, код
Вот код HTML <ul id="footer-logos"> <li><a href="#"><img src="img/logo-sb.png"...

Разъясните пожалуйста (классы)
1. Зачем в следующем коде в 1 строке стоит амперсанд? 2. Что значит RHS и когда его использовать?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru