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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> ATmega128 ISP & ADC
Jatagan
сообщение Sep 24 2009, 16:42
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



У меня почему-то не одна из мег 128 не хочет программироваться по ISP.
Подключаю так:

Программатор Лапы меги
MOSI PE0
MISO PE1
SCK PB1
Reset Reset

PEN подключал и на + и на землю, не хочет программатор ее видеть...
Программатор STK500, самодельный правда, но работает, ибо другие меги шью без проблем.
Что не так делаю?
Go to the top of the page
 
+Quote Post
DVF
сообщение Sep 24 2009, 18:38
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 26-07-06
Из: Саратов
Пользователь №: 19 097



И GND GND. Вроде все правильно подключено.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Sep 24 2009, 18:45
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Vcc и GND соответственно.
Но почему программатор кристал не видет?
На четырех корпусах проверял, с разных партий...
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Sep 24 2009, 19:44
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



Чудес не бывает. Все ноги vcc и gnd подсоединяли? Дожно быть 3 пары.
РЕN нужно на питание.
Go to the top of the page
 
+Quote Post
Vladimir_J
сообщение Sep 24 2009, 20:05
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 9-01-07
Из: Украина
Пользователь №: 24 228



Цитата(Jatagan @ Sep 24 2009, 19:42) *
PEN подключал и на + и на землю, не хочет программатор ее видеть...


Доброго дня smile.gif
PEN - по идеи надо в воздухе оставлять, у меня так работало smile.gif

С Уважением, Владимир smile.gif
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Sep 25 2009, 04:06
Сообщение #6


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Jatagan @ Sep 24 2009, 20:42) *
У меня почему-то не одна из мег 128 не хочет программироваться по ISP.
Программатор STK500, самодельный правда, но работает, ибо другие меги шью без проблем.
Что не так делаю?


Попробуйте частоту снизить.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
zheka
сообщение Sep 25 2009, 05:01
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



А PEN на питание нужно во время программирования? Или все время? РАньше работал с контроллерами младше 128, неужели теперь нужно помимо кнопок на софте нажимать еще чтото и на плате?
Go to the top of the page
 
+Quote Post
DVF
сообщение Sep 25 2009, 05:12
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 26-07-06
Из: Саратов
Пользователь №: 19 097



Ну, я сейчас работаю с мегой128. Прошиваю ISP от Petka или одним из многочисленных реализаций JTAG ICE. Проблема, порой, оказывается смехотворной при пристальном рассмотрении: "сопля" на плате, уровень ниже допустимого и т.п. Один раз я так намучался, когда сделал мультиплексирование на Reset посредством диодов. Результат - делитель и уровень на reset выше нормы...
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Sep 25 2009, 05:15
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(zheka @ Sep 25 2009, 09:01) *
А PEN на питание нужно во время программирования? Или все время? РАньше работал с контроллерами младше 128, неужели теперь нужно помимо кнопок на софте нажимать еще чтото и на плате?

PEN можно в воздухе оставить или на VCC через 1к, это рудимент от меги103. Дело не в этом. Осцилом посмотрите сигналы на ногах, может что то прояснится.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Sep 25 2009, 06:12
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Насчет соплей на плате и обрывов всяких, мне это хорошо известно. Сделал стендик - кусок стеклотекстолита, 6-и пиновый разъем, и тонкие провода которыми паяюсь к кристаллу. Не поленился, приладил мегу 8, все работает, программатор видит, а сдесь, хоть расшибись, ни на плате, ни на стенде...

PEN оставлял в воздухе, подключал к плюсу, к земле, к ресету...

Мне говорили, что порты нужно открыть... Может это при помощи JTAG делать нужно...
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Sep 25 2009, 07:04
Сообщение #11


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Может с фузами проблема?
Не пробовали на xtal1 подавать внешний клок?
Шил мега64/128 - всё без проблем шьётся stk200 и avrispmkII smile.gif
Go to the top of the page
 
+Quote Post
avg-85
сообщение Sep 25 2009, 07:11
Сообщение #12





Группа: Участник
Сообщений: 6
Регистрация: 11-03-08
Из: Москва, Россия
Пользователь №: 35 805



Выводы PE0 и PE1 только к программатору идут? или к ним еще что-то на плате подключено?

У меня был случай, когда одна из этих линий замыкалась на плате на землю (выход инвертора), в результате: ноль реакции на программатор. Тоже не сразу понял в чем плюха.
Кстати, можно посмотреть и остальные выводы: SCK и RESET.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 25 2009, 07:23
Сообщение #13


Шаман
******

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



Если на reset висит конденсатор, отключите.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Sep 25 2009, 08:09
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



XTAL1 подал 4 МГц, с толкача, сделал когдато, бывает нужно.
На Ресет конденсаторов нет...
Может и с Фюзами чет не то, но нет JTAGа чтоб посмотреть... Я вроде в описании видел, что не все фьюзы доступны с ISP. Микросхема на стенде, это тонкиеми проводами соединены выводы с разъемомм программатора, т.е. все видно, и нет коротышей или неконтактов, стенд рабочий, подкидывал на него Мегу 8, все ОК. А со 128, ну просто жуть какая-то...
Позже или куплю, или соберу JTAG, ним попробую... В описании написано, что JTAG является основным интерфейсом.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 25 2009, 08:52
Сообщение #15


Шаман
******

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



Цитата(Jatagan @ Sep 25 2009, 11:09) *
В описании написано, что JTAG является основным интерфейсом.

ISP у свежевыпущенных чипов по умолчанию включен.
Кроме того, залоченный чип не позволяет использовать JTAG, так что последний врядли можно считать основным.
Очень много использовал 128-ю, никогда не было проблем с ISP. Может Вам партия битая попалась?
И ещё, народ часто ошибается перепутав местами MISO и MOSI или забыв подать питание на AVCC.
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 25 2009, 09:59
Сообщение #16


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

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата
Микросхема на стенде, это тонкими проводами соединены выводы с разъёмом программатора

А конденсаторы на всех парах питания не забыли + электролит на всю мегу? И чем запитываете мегу?
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Sep 25 2009, 11:35
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



А вот на AVCC напругу не подавал, меге 8 тоже не подавал, меге 8535 тоже не подавал, но они при этом, без проблем дружат с программатором (но это так, в качестве эксперемента, обычно на них напряжение подаю, так же объединяю аналоговую землю с цифровой в одном месте). Попробую на аналоговую чать напряжение подать, мож изменится что нибудть в лучшую сторону.
А может и действительно партия битая попалась...
Всем спасибо за дельные советы.

Электролит на всю мегу танталловый, плюс конденсаторы керамические на лапках...
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Sep 26 2009, 07:27
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Все работает!
Странно...
После того, как на плате работать не захотела, все дальнейшие экперементы проводил на сетнде, но на анологовую сторону напругу не подавал (потому что другим мегам это не требуется), подал, заработало.
Всем огромное спасибо!
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 26 2009, 09:02
Сообщение #19


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

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Jatagan @ Sep 26 2009, 11:27) *
Все работает!
Странно...
После того, как на плате работать не захотела, все дальнейшие экперементы проводил на сетнде, но на анологовую сторону напругу не подавал (потому что другим мегам это не требуется), подал, заработало.
Всем огромное спасибо!

Нет, так просто мы вас не отпустим. Напишите пожалуйста к каким выводам что было подключено когда не работало, и что куда подключено, когда заработало.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Sep 26 2009, 09:13
Сообщение #20


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Jatagan @ Sep 26 2009, 10:27) *
на анологовую сторону напругу не подавал (потому что другим мегам это не требуется)

Мега 8 - это еще не все "другие". Пример
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Sep 26 2009, 09:20
Сообщение #21


Шаман
******

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



Весь этот сыр-бор на две страницы из-за невнимательного чтения документации.
В случая ATmega8515 аналоговое питание не подаётся ибо его там нет.
В случае же с ATmega8 и ATmega128 в документации на обе чётко сказано:
1. в разделе по программированию есть вполне понятный рисунок, на котором AVcc изображено и ниже следует
Цитата
VCC - 0.3 < AVCC < VCC + 0.3, however, AVCC should always be within 2.7 - 5.5V.

2. в Table 103. ADC Characteristics и примечаниях к ней (мелкими буквами)
Цитата
2. Minimum for AVCC is 2.7V.
3. Maximum for AVCC is 5.5V.

Все разговоры типа "А я делал и у меня получалось" более чем несерьёзны. Результат мы здесь наблюдаем.
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Sep 26 2009, 15:26
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



И не только документации, но и форума. Я ж еще в 4-м посте написал:
Цитата
Все ноги vcc и gnd подсоединяли? Дожно быть 3 пары.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Oct 3 2009, 18:25
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Причем здесь 8515, я про нее ничего не говорил...
Кстати, только после того, как подал аналоговое питание, все образумилость, действительно, про "три пары" сказано было верно.
Вопрос другой. Кто нибудь работал с АЦП меги 8? Лично я работал с мегой16, никаких проблем. Скорее всего что-то не то делаю... Но проблема в другом, АЦП работает только при включении контроллера.

Пишу при инициализации:

ADMUX = _BV(REFS0); //0-й канал
ADCSRA = 0b11000111;

Через две секунды считываю, потом даю команду сарт конверсии:
ADCSRA |= 0x40;

Через 2 секунды снова считываю, но, в регистре АЦП остается предыдущее значение, хотя бит окончания конверсии устанавливается, его можно сбросить записью в него 1. Но измеряется только при включении, когда инициализация происходит. Видимо какая-то нелепая ошибка с моей стороны... Кварц 12 МГц, тактовая частота АЦП получаетсч около 78 КГц. С предделением все вроде как в порядке, на АРЕФ подано 5 В. Но почему работает только при включении?
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 3 2009, 18:45
Сообщение #24


Шаман
******

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



Цитата(Jatagan @ Oct 3 2009, 21:25) *
Причем здесь 8515, я про нее ничего не говорил...

Виноват, ошибся, разговор был о 8535. Не поленился, скачал документ, и там всё как и в 8 и в 128 об аналоговом питании при программировании по ISP.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Oct 3 2009, 18:50
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



С питанием аналоговым, тут дело такое, что корпус 128-й это дело тоскливое, ее снять с платы, подпоять на проводки... А мега 8, на самом деле при последовательном программировании, не требует аналогового питания, но с ней проще, корпус ДИПовский... Поэтому было не понятно...
А что с АЦП кто нибудь делал?

Сообщение отредактировал Jatagan - Oct 3 2009, 18:59
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 3 2009, 18:52
Сообщение #26


Шаман
******

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



Цитата(Jatagan @ Oct 3 2009, 21:25) *
Через 2 секунды снова считываю, но, в регистре АЦП остается предыдущее значение, хотя бит окончания конверсии устанавливается, его можно сбросить записью в него 1.

Ну так и сбрасывайте бит окончания перед стартом нового преобразования.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Oct 3 2009, 19:04
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Сбрасываю! До лампочки!
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Oct 3 2009, 20:38
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Запустил через прерывание, и в обработчике прерывания считываю значение, но, остается все равно то, что было замерено при первом преобразовании... Хрень какая-то... В регистрах АЦП ничего не меняется!...
Причем, бит начала конвертации, после прерывания сбрасывается, как и положено, но почему значения не меняются?...
Кварц на 11.0592МГц, деление на 128 частота получается 86.4 КГц, это если быть точным.
Кто нибудь сталкивался с чем нибудь подобным?

ADCSRA = 0b11001111;

Младшие три бита это коэфициент деления, в данном случае 128;
4-й, если младший считать первым, это разрешение прерывания;
5-й всегда 0, зарезервирован, или назначения не нашлось, неважно;
6-й цикличное преобразование, устанавливал, в обработчике прерывания инкрементировал переменную, смотрел на ее значение, да, работает циклично, но значения аналоговых регистров не меняются...
7-й старт конвертации;
8-й разрешение АЦП.
Это я по памяти пишу... Вроде не ошибся...
Все равно, значение аналоговых регистров не меняется, остается неизменным после первого преобразования!

Сообщение отредактировал Jatagan - Oct 3 2009, 20:39
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Oct 4 2009, 20:09
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



1. ADCH считываете? Новый результат в ADCH:L появляется только после считывания ADCH.
2. Ножка случайно не закорочена на питание/землю?
3. Аналоговое питание присутствует?
4. Порт входа АЦП настроен на 3-е состояние?
5. Напряжение на входе АЦП не превышает опорное напряжение?
5. Точно уверенны, что значения АЦП не меняются? может, ошибка в другом месте кода?

P.S.
Цитата
5-й всегда 0, зарезервирован, или назначения не нашлось, неважно;

5й (если считать с 1-го) - это флаг ADIF (ADC Interrupt Flag), т.е. вышеупомянутый Вами "бит окончания конверсии".
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 5 2009, 08:39
Сообщение #30


Шаман
******

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



Для ADC важно в каком порядке вычитывать обе половины этого регистра.
Go to the top of the page
 
+Quote Post
Jatagan
сообщение Oct 5 2009, 12:18
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687



Факт! Сперва старший байт, потом младший...
Ну да ладно, АЦП запустил, правда, как-то через задницу... Не так, как в даташите говорится... Вернее, так как и пишется, но забираю данные с него, воистинну -- через пень-колоду-задерищенко... Но, почему-то очень стабильно работает, даже младший бит.
Раньше, лет шесть тому назад, запускал на Меге16, без проблем работал, но редко последующее преобразование было таким как прежнее, минимум на еденицу отличалось, а тут странно даже, выставишь напряжение, проходит несколько преобразований, а значение не меняется, чуть изменишь измеряемое напряжение, значение преобразования меняется, причем, правильно...

МОДЕРАТОРЫ!!!

Грохните пожалуйста эту тему!!!

Сообщение отредактировал Jatagan - Oct 5 2009, 12:15
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 5 2009, 12:26
Сообщение #32


Шаман
******

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



Цитата(Jatagan @ Oct 5 2009, 15:18) *
Грохните пожалуйста эту тему!!!

Да нет, уж пусть будет.
Многие через подобное проходят, особенно начинающие.
К начинающим и перенесу.
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 Текстовая версия Сейчас: 27th July 2025 - 22:26
Рейтинг@Mail.ru


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