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

 
 
> AT90S1200 и tiny 2313
Terapefft
сообщение Aug 29 2006, 07:34
Сообщение #1


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



подскажите пожалуста у меня возникла ситуация: раньше прошивал S1200 но потом их вроде как сняли с производства и теперь у нас на производство закупили тини2313. я пробовал в них зашивать туже програму, он прошивается все нормально никаких ошибок не выдает, но устройство куда он ставится не функционирует вобще(пользуюсь PonyProg). может кто с эти уже сталкивался? подскажите пожалуста что там надо изменить?
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 32)
Alex_Pol
сообщение Aug 29 2006, 07:53
Сообщение #2


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Проверь фусы. Особенно, выбор источника тактирования. З.Ы. Ну вот. 1200 по умолчанию тактируется от кварцевого генератора, а 2313 - от бортового RC с делителем. 1 мГц.
З.З.Ы. С фусами поосторожнее. С непривычки контроллер можно уконтропупить запросто. Потом будешь осваивать параллельный программатор. :-)
С такими вопросами лучше сюда: "Форум разработчиков электроники - Electronics developers forum > Микроконтроллеры (МК) - Microcontrollers (MCs) > AVR"

Сообщение отредактировал Alex_Pol - Aug 29 2006, 08:12
Go to the top of the page
 
+Quote Post
Old1
сообщение Aug 29 2006, 08:15
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Aug 29 2006, 10:34) *
подскажите пожалуста у меня возникла ситуация: раньше прошивал S1200 но потом их вроде как сняли с производства и теперь у нас на производство закупили тини2313. я пробовал в них зашивать туже програму, он прошивается все нормально никаких ошибок не выдает, но устройство куда он ставится не функционирует вобще(пользуюсь PonyProg). может кто с эти уже сталкивался? подскажите пожалуста что там надо изменить?

На сайте атмел есть AN AVR093: Replacing AT90S1200 by ATtiny2313, там подробно описаны все отличия.
Go to the top of the page
 
+Quote Post
Hmm
сообщение Aug 29 2006, 19:12
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 329
Регистрация: 22-06-04
Пользователь №: 124



Добавьте в начале команду настройки стека.


--------------------
Талант не пропить ...
Go to the top of the page
 
+Quote Post
sav6622
сообщение Aug 29 2006, 20:02
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 2-02-05
Из: Россия
Пользователь №: 2 377



Цитата(Hmm @ Aug 29 2006, 23:12) *
Добавьте в начале команду настройки стека.


Лучше пусть прочитает апликейшн, там все толково и понятно расписано, сам адаптировал программу на ассемблере из 1200 в tiny2313 именно по нему, все заработало безупречно и сразу. Правда потом все равно на Си переписал, но это уже другая история biggrin.gif
Go to the top of the page
 
+Quote Post
Hmm
сообщение Aug 29 2006, 20:26
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 329
Регистрация: 22-06-04
Пользователь №: 124



Была и у меня история - вышла из строя 90S1200, прошивка была, а самого чипа уже было трудно найти. Исходных кодов не было (какое то буржуйское у-во). Прямая замена на 90S2313 не работала. С помощью HEX-редактора вставил код перехода, настроил стек и обратный переход. Как и ожидалось все зафункционировало. "Зрить в корень" надо, а остальное, фузы и пр. уже вторично, т.е. само-собой smile.gif


--------------------
Талант не пропить ...
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Aug 31 2006, 13:31
Сообщение #7


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



А какие фузы надо выставить при прошивании в ponyprog?
Go to the top of the page
 
+Quote Post
Семён
сообщение Aug 31 2006, 13:44
Сообщение #8


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

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Terapefft @ Aug 31 2006, 17:31) *
А какие фузы надо выставить при прошивании в ponyprog?


Незнаю как там в ponyprog. Но тебе надо оставить галку только на SPIEN. Проще сделай так: считай фузы посмотри как стоит бит на SPIEN, а остальные поставь на обратное значение. P.S. SPIEN не трогай, а то придеться искать паралельный программатор.


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post
Old1
сообщение Aug 31 2006, 18:59
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Aug 31 2006, 16:31) *
А какие фузы надо выставить при прошивании в ponyprog?

Для того, чтобы подсказать как программировать фузы, нужно знать от чего тактировалась Ваша S1200. Хотя, если при прошивке S1200, заводские фузы не менялись, то фузы tyny2313 нужно выставлять так:
SPMEN = 1
DWEN = 1
EESAVE=1
SPIEN=0
WDTON=1
BODLEVEL2=1
BODLEVEL1=1
BODLEVEL0=1
RSTDISBL=1
CKDIV8=1
CKOUT=1
SUT1=0
SUT0=1
CKSEL3=1
CKSEL2=1
CKSEL1=0
CKSEL0=0
(что черным по белому написано в AVR093 wink.gif )
При программировании фузов понипрогом нужно помнить, что установленная галка напротив имени фуза означает его программирование в 0.

2 Семён Понипрогом изменить состояние SPIEN нужно еще умудриться, поскольку этот фуз недоступен при последовательном программировании.
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 1 2006, 07:59
Сообщение #10


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



я установил фузы как написано в AVR093 он вроде прошивает, но в конце пишет write failure и вобще нифига не работает. когда прошивали s1200, то сначала в Picprog записывали параметр SEL_RC, а потом заливали в него прогу в ponyprog. Объсните пожалуста что это значит, просто я совсем недавно столкнулся с микроконтроллерами.... буду очень признателен
Go to the top of the page
 
+Quote Post
Old1
сообщение Sep 3 2006, 19:32
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Sep 1 2006, 10:59) *
я установил фузы как написано в AVR093 он вроде прошивает, но в конце пишет write failure и вобще нифига не работает. когда прошивали s1200, то сначала в Picprog записывали параметр SEL_RC, а потом заливали в него прогу в ponyprog. Объсните пожалуста что это значит, просто я совсем недавно столкнулся с микроконтроллерами.... буду очень признателен

write failure пишет в конце программирования фузов или программы?
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 4 2006, 07:35
Сообщение #12


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



write failed пишет после програмирования програмы. может я что не правильно делаю? я сначала выставляю фузы, прошиваю, затем открываю прогу и жму write all и вот после этого выдает это сообщение
Go to the top of the page
 
+Quote Post
Old1
сообщение Sep 4 2006, 17:44
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Sep 4 2006, 10:35) *
write failed пишет после програмирования програмы. может я что не правильно делаю? я сначала выставляю фузы, прошиваю, затем открываю прогу и жму write all и вот после этого выдает это сообщение

Не спросил в прошлый раз: в процессе программирования кварц подключен к тине2313? Если нет, то
попробуйте подключить кварц 3...8МГц и повторите попытку запрограммировать программу (Write Progam).
Или если есть под рукой еще один контроллер с заводскими фузами, то сначала залейте прогу, а потом программируйте фузы.
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 5 2006, 11:03
Сообщение #14


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать?
Go to the top of the page
 
+Quote Post
Семён
сообщение Sep 5 2006, 12:22
Сообщение #15


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

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Terapefft @ Sep 5 2006, 15:03) *
там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать?

Если контролер порошился это, значит, что программа в память загружена и не более того. Ты уверен, что правильно модифицировал саму программу и не где не ошибся? Если правил в HEX-редакторе, то мог спокойно испортить весь код. Теперь маленькое предложение: "Если надо сделать быстро, то за небольшое вознаграждение могу переделать код. От тебя только требуется прислать мне HEX файл. Если согласен пиши в личку".


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 5 2006, 12:39
Сообщение #16


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



я программу вобще не трогал....разве в ней надо что нить изменять? и еще вопрос относительно фузов: почему в ponyprog не изменяется SPIEN? ведь в AVR093 написано что там должен быть 0.
Go to the top of the page
 
+Quote Post
Семён
сообщение Sep 5 2006, 13:20
Сообщение #17


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

Группа: Свой
Сообщений: 196
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 922



Цитата(Terapefft @ Sep 5 2006, 16:39) *
я программу вобще не трогал....разве в ней надо что нить изменять? и еще вопрос относительно фузов: почему в ponyprog не изменяется SPIEN? ведь в AVR093 написано что там должен быть 0.

В AT90S1200 аппаратный стек, а в ATTiny2313 нет, его надо при старте устоновить используя следующие команды:
ldi tmp,low(RAMEND)
out SPL,tmp
Также надо проверить, что там твориться с прерываниями, хотя думаю можно сначало только выстовить стек


--------------------
Тяжелое детство - 8-битные игрушки на 8-дюемовых дискетах
Go to the top of the page
 
+Quote Post
Old1
сообщение Sep 5 2006, 17:43
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Sep 5 2006, 14:03) *
там на программаторе стоит какой то на 10 МГц, но я не знаю как проверить подключен он или нет, просто программатор самодельный какой то, был сделан задолго до моего прихода на эту работу. я вот седня пробовал новый микроконтроллер программировать, сначала прошил фузы, а затем нажал write programm в итоге все нормально прошилось, появилось сообщение write sucsesful, но когда я вставил его на плату индикации то ни фига опять не показывало. может на плате индикации что нить надо сделать? ее разрабатывали для s1200, там еще схема сброса стоит, я уже пробовал и с ней и без нее, когда без нее я просто ресет через резистор на питание вешал, но все равно ничего не получаеца. что можно еще попробовать?

А на плате индикации какой кварц стоит? и стоит ли он там вообще? (может s1200, от RC генератора тактируется?) Фузы по AVR093 программируют тиню на работу с кварцем 3...8МГц .

Цитата
я программу вобще не трогал....разве в ней надо что нить изменять?

См. посты Семёна.

Цитата
и еще вопрос относительно фузов: почему в ponyprog не изменяется SPIEN? ведь в AVR093 написано что там должен быть 0.

Он (ноль) там и есть иначе понипрогом ничего не зашилось бы, поскольку понипрог программирует по SPI. А изменить его понипрогом нельзя, потому что SPIEN недоступен при последовательном программировании.
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 6 2006, 04:37
Сообщение #19


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



на плате индикации нету кварца это точно, подскажите пожалуйста наиболее оптимальный вариант для этой ситуации? может если туда кварц поставить все заработает?
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Sep 6 2006, 07:53
Сообщение #20


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Дева Мария, пресвятая богородица, заступница. Вам который день
рассказывают. Во - первых. В самое начало программы вставьте конструкцию вида:
ldi R16,low(RAMEND) ; настройка стека
out SPL,R16
Во вторых, проверьте установку фузов.
Потом, прочтите атмеловский пдф под названием :"Replacing AT90S1200_by_ATtiny2313.pdf"
Если не можете сами отрихтовать программу, пришлите hex - файл. Я вам на шару эти 2 оператора добавлю.
В догонку можете прислать схему самого дивайса.
З.Ы. Сам с 1200 не работал, но в атмеловском пдф есть какая то неясная угроза насчёт отличия электрических параметров. Хотя, думаю, что это неважно.

Сообщение отредактировал Alex_Pol - Sep 6 2006, 07:58
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 7 2006, 10:54
Сообщение #21


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



я уже добавил настройку стэка, пробовал и с заводскими установками фузов и выставлял как в AVR093 написано, все равно нифига не работает, а s1200 все нормально работает. что можно еще попробовать?
Go to the top of the page
 
+Quote Post
Old1
сообщение Sep 7 2006, 18:13
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(Terapefft @ Sep 7 2006, 13:54) *
я уже добавил настройку стэка, пробовал и с заводскими установками фузов и выставлял как в AVR093 написано, все равно нифига не работает, а s1200 все нормально работает. что можно еще попробовать?

Судя вот по этому:
Цитата
на плате индикации нету кварца...

S1200 работала от RC генератора (1МГц). (В этой связи понятны манипуляции ваших предшественников с программатором Picprog- это они программировали фуз RCEN в S1200, который доступен только при параллельном программировании.) А значит заводские фузы тини 2313 трогать всетаки не нужно smile.gif.
Проанализируйте программу S1200 и выясните использовались ли прерывание от переполнения таймера 0 и прерывание от аналогового компаратора. У тини2313 вектора этих прерываний находятся по другим адресам. Если хотябы одно из этих прерываний задействовано, то ИМХО проще будет перекомпилировать проект под тиню. Кроме того у тини отличается доступ к ЕЕПРОМ, на это тоже надо обратить внимание.
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Sep 7 2006, 22:27
Сообщение #23


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Цитата(Old1 @ Sep 7 2006, 21:13) *
Проанализируйте программу S1200 и выясните использовались ли прерывание от переполнения таймера 0 и прерывание от аналогового компаратора. У тини2313 вектора этих прерываний находятся по другим адресам. Если хотябы одно из этих прерываний задействовано, то ИМХО проще будет перекомпилировать проект под тиню. Кроме того у тини отличается доступ к ЕЕПРОМ, на это тоже надо обратить внимание.

Исходник в студию. Чтобы воду в ступе не толочь. smile.gif З.Ы. Мне бы на асме.

Сообщение отредактировал Alex_Pol - Sep 7 2006, 22:29
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Sep 8 2006, 05:05
Сообщение #24


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

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



[/quote]
Исходник в студию. Чтобы воду в ступе не толочь. smile.gif З.Ы. Мне бы на асме.
[/quote]
как его выложить? может я вам на мыло лучше пришлю?
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Sep 8 2006, 07:14
Сообщение #25


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Валяй. :-)
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Sep 8 2006, 09:31
Сообщение #26


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Получил. Дык она вообще не компилится. Компилятор матерно ругается вот в этом месте:
prt1:
ldi tmp1,$0f ;
cp T2L,tmp1 ;
breq p_rcorr ;
ldi tmp1,$27 ;
cpc T2H,tmp1 ;
brcc p_rcorr ;
cp T3H,tmp1 ;
brcc p_rcorr ;
ldi tmp1,1 ;
cp T4H,tmp1 ; Здесь!
brcc p_rcorr ;
ldi tmp1,4 ;
cp T4L,tmp1 ;
brcc p_rcorr ;
rjmp begin ;
И правильно делает. Т4Н не определён. Если эту программу как нить откомпилить, работать всё равно не будет. Так как там должно быть на самом деле?
Да, и ещё. Если вы ожидаете, что по прерыванию таймера у вас отработает процедура tim_0, то этого не случится никогда.
Ещё раз, внимательно AVR093 стр.2, 3; таблица 3.
Это я ещё до работы с EEPROM не добрался.

Сообщение отредактировал Alex_Pol - Sep 8 2006, 09:49
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Sep 8 2006, 13:10
Сообщение #27


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Terapefft, глянь личку.
Go to the top of the page
 
+Quote Post
Andrew_k5
сообщение Feb 15 2007, 12:57
Сообщение #28


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

Группа: Участник
Сообщений: 77
Регистрация: 15-02-07
Из: Днепропетровск
Пользователь №: 25 387



Зашил в тини2313 запрет на внешний сброс и он перестал распознаваться авреалом. Что можно предпринять. Программирую через "проводки".
Go to the top of the page
 
+Quote Post
Wild007
сообщение Feb 15 2007, 16:54
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Andrew_k5 @ Feb 15 2007, 11:57) *
Зашил в тини2313 запрет на внешний сброс и он перестал распознаваться авреалом. Что можно предпринять. Программирую через "проводки".

Теперь поможет только паралельный програматор. sad.gif Им перешить фузы и можно опять будет вернуться к последовательному програматору на "проводках". smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Vladim
сообщение Feb 16 2007, 02:47
Сообщение #30





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



to Andrew_k5
При программировании по SPI вывод RESET используется для ввода в режим
программирования. Если Вы запретили внешний сброс, то как правильно советуют
в предыдущем посте - ищите параллельный программатор.
Go to the top of the page
 
+Quote Post
Andrew_k5
сообщение Feb 16 2007, 19:46
Сообщение #31


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

Группа: Участник
Сообщений: 77
Регистрация: 15-02-07
Из: Днепропетровск
Пользователь №: 25 387



Спасибо за ответ, а как понимать Errata на тини2313, где написано следующее:

Parallel Programming does not work
Parallel Programming is not functioning correctly. Because of this, reprogramming
of the device is impossible if one of the following modes are selected:
– In-System Programming disabled (SPIEN unprogrammed)
– Reset Disabled (RSTDISBL programmed)

Так как помогает параллельное программирование или контроллер на елку можно повесить.
Go to the top of the page
 
+Quote Post
Vladim
сообщение Feb 16 2007, 20:11
Сообщение #32





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



Да, похоже парвллельный программатор не поможет.
Go to the top of the page
 
+Quote Post
Andrew_k5
сообщение Feb 19 2007, 17:34
Сообщение #33


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

Группа: Участник
Сообщений: 77
Регистрация: 15-02-07
Из: Днепропетровск
Пользователь №: 25 387



Подскажите как правильно выставить фузы в тини2313 чтобы работала от внешнего кварца на частоте более 10 мгц и распознавалась авреалом и программировании по "проводкам". И еще есть ли способ сбросить флэшь память атмела.
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 Текстовая версия Сейчас: 1st August 2025 - 20:15
Рейтинг@Mail.ru


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