Jump to content

    
Sign in to follow this  
Petka

AvrUsb500 by Petka. продолжение

Recommended Posts

Осталось только его с AVRStudio5 состыковать, а то пока не хотят общаться.

В проекте -> в файле main.c -> в функции "void programcmd(unsigned char seqnum)"-> на запрос "CMD_SIGN_ON" необходимо заменить ответ "AVRISP_2" на "STK500_2" и перекомпилировать проект. Тогда будет отвечать и в Студии 5.

Share this post


Link to post
Share on other sites

Собрал программатор. стоит мега48 и кварц на 14. При запуске светодиод моргает 6 раз. Вместо FT-шки ставил pl2303 и cp2102. Ситуация такая - в терминале нет ответов от программатора. Посему вопрос - он должен отвечать как при подключенной программируемой микросхемы так и без нее?

Share this post


Link to post
Share on other sites

Спасибо за развернутый ответ :) отмотав несколько страниц взад почитал, что в терминале откликается только при подрубленном программируемом контроллере. где правда? сопственно не важно (на данный момент).

 

Petka, подскажи в какую сторону копать. На резетном делителе с неподключенным программируемом контроллере (для меги48, в дипе, на чем у меня собрано) соответственно 0в, при подключенном 0,88-0,9в. Светодиод загорается, контроллер походу видит. В принципе в любом случае через UART ничего не отдается. Куда копать? Осциллографа нет :( pl2303 рабочая. закорачиваю rxd и txd - в терминале вижу ответное эхо. схему всю проверил, единственное что фьюзы не прошивал для меги48 никакие. все дефолтное (шил через avreal с STK200).

 

е) добавлена возможность использования mega48 в программаторе за счёт отключения консольного режима при компиляции для mega48.

 

заглянув в исходники на ifdef-ы касательно меги48 там принудительно отключен консольный обмен по причине нехватки памяти? и соответственно что и логично - в терминале я ничего и не увижу :) как отладить программатор в этом случае тогда? cavr не видит :(

 

продолжим... ситуация в линухе:

 

avrdude: Version 5.10, compiled on Jun 29 2010 at 03:44:14

Copyright © 2000-2005 Brian Dean, http://www.bdmicro.com/

Copyright © 2007-2009 Joerg Wunsch

 

System wide configuration file is "/etc/avrdude.conf"

User configuration file is "/home/ripz/.avrduderc"

User configuration file does not exist or is not a regular file, skipping

 

Using Port : /dev/ttyUSB0

Using Programmer : stk500v2

avrdude: stk500_2_ReceiveMessage(): timeout

 

в морг? бежать в магаз за мегой8? :(

Edited by RipZ

Share this post


Link to post
Share on other sites
...

единственное что фьюзы не прошивал для меги48 никакие. все дефолтное.

.....

Надо запрограммировать фузы. Иначе Мега будет тактироваться от внетреннего RC и UART не будет работать как надо.

Для m48 консольный режим отключен. Проверяйте сразу программой программатором. AVRDude, например.

Share this post


Link to post
Share on other sites

Пересобрал программатор на меге8. Кварц на 14.7456МГц. В терминале видится, все отдает как нужно. Таргет - мега16а, в avrdude имеем следующее:

 

C:\AVR>avrdude.exe -c stk500v2 -P com2 -p m16 -b 115200 -v -e

 

avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23

Copyright © 2000-2005 Brian Dean, http://www.bdmicro.com/

Copyright © 2007-2009 Joerg Wunsch

 

System wide configuration file is "C:\AVR\avrdude.conf"

 

Using Port : com2

Using Programmer : stk500v2

Overriding Baud Rate : 115200

AVR Part : ATMEGA16

Chip Erase delay : 9000 us

PAGEL : PD7

BS2 : PA0

RESET disposition : dedicated

RETRY pulse : SCK

serial program mode : yes

parallel program mode : yes

Timeout : 200

StabDelay : 100

CmdexeDelay : 25

SyncLoops : 32

ByteDelay : 0

PollIndex : 3

PollValue : 0x53

Memory Detail :

 

Block Poll Page

Polled

Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW

MaxW ReadBack

----------- ---- ----- ----- ---- ------ ------ ---- ------ ----

----- ---------

eeprom 4 10 128 0 no 512 4 0 900

9000 0xff 0xff

flash 33 6 128 0 yes 16384 128 128 450

4500 0xff 0xff

lock 0 0 0 0 no 1 0 0 900

9000 0x00 0x00

lfuse 0 0 0 0 no 1 0 0 900

9000 0x00 0x00

hfuse 0 0 0 0 no 1 0 0 900

9000 0x00 0x00

signature 0 0 0 0 no 3 0 0

0 0x00 0x00

calibration 0 0 0 0 no 4 0 0

0 0x00 0x00

 

Programmer Type : STK500V2

Description : Atmel STK500 Version 2.x firmware

Programmer Model: AVRISP

Hardware Version: 2

Firmware Version Master : 2.10

Vtarget : 5.0 V

SCK period : 129.2 us

 

avrdude.exe: stk500_2_ReceiveMessage(): timeout

avrdude.exe: AVR device initialized and ready to accept instructions

 

Reading | ################################################## | 100% 0.42s

 

avrdude.exe: Device signature = 0x000000

avrdude.exe: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

this check.

 

 

avrdude.exe done. Thank you.

 

в каком направлении дальше двигаться?

 

ЗЫ. Светодиод горит при подключении таргета, цепь резета отрабатывает по всей видимости правильно...

Share this post


Link to post
Share on other sites
...

avrdude.exe: Device signature = 0x000000

avrdude.exe: Yikes! Invalid device signature.

Double check connections and try again, or use -F to override

this check.

.....

в каком направлении дальше двигаться?

.....

Проверить цепь MISO. Нет ли закороток на землю.

Share this post


Link to post
Share on other sites
Проверить цепь MISO. Нет ли закороток на землю.

 

Петр, какие еще мысли могут быть?

 

все линии (MOSI, MISO, SCK, RESET) прозвонил от ног меги8 в программаторе до соответствующих ног в таргете. на землю ничего не звонится. Пробовал 2 таргета - мегу16 и мегу32. Ситуация одна на все.

 

При установленной конфигурации в 1MHz:

 

C:\AVR>avrdude.exe -P \\.\com2 -p m16 -c stk500v2

 

avrdude.exe: stk500_2_ReceiveMessage(): timeout

avrdude.exe: AVR device initialized and ready to accept instructions

 

Reading | ################################################## | 100% 0.26s

 

avrdude.exe: Device signature = 0x00ff00

avrdude.exe: Expected signature for ATMEGA16 is 1E 94 03

Double check chip, or use -F to override this check.

 

При установленной конфигурации в Fast:

 

C:\AVR>avrdude.exe -P \\.\com2 -p m16 -c stk500v2

 

avrdude.exe: stk500v2_command(): command failed

avrdude.exe: stk500v2_command(): unknown status 0xc9

avrdude.exe: stk500v2_program_enable(): cannot get connection status

avrdude.exe: initialization failed, rc=-1

Double check connections and try again, or use -F to override

this check.

 

ЗЫ. В программаторе стоит ATMega8A-PU, но это думаю не принципиально.

 

 

ЗЫЫ. Собирал по схеме взятой тут -> http://www.mindrunway.ru/Pony/PetkaDip.pdf

Share this post


Link to post
Share on other sites
Петр, какие еще мысли могут быть?

 

все линии (MOSI, MISO, SCK, RESET) прозвонил от ног меги8 в программаторе до соответствующих ног в таргете. на землю ничего не звонится. Пробовал 2 таргета - мегу16 и мегу32. Ситуация одна на все.

.....

ЗЫЫ. Собирал по схеме взятой тут -> http://www.mindrunway.ru/Pony/PetkaDip.pdf

Выводы таргета MOSI и MISO не перепутаны? А лучше выложите схему подключения программатора к программируемому контроллеру. От чего он питается? Как подключен программатор к компьютеру? От чего запитан?

Share this post


Link to post
Share on other sites
Выводы таргета MOSI и MISO не перепутаны? А лучше выложите схему подключения программатора к программируемому контроллеру. От чего он питается? Как подключен программатор к компьютеру? От чего запитан?

 

программер MISO - таргет MISO, программер MOSI - таргет MOSI и тп. На данный момент ищу на чем проще собрать юсб-осциллограф, ибо в пределе досягаемости нет ни аналогово не цифрового( Есть только тестер и SCK, который имхо не раскачивается на 2 разных мегах8.

 

Таргеты питаются от своих источников, соответственно общая только земля. Программатор подключен к компу через PL2303, в работоспособности которой я не сомневаюсь, ибо не работал бы терминальный режим. Запитан соответственно от 5в юсб.

Share this post


Link to post
Share on other sites
программер MISO - таргет MISO, программер MOSI - таргет MOSI и тп. На данный момент ищу на чем проще собрать юсб-осциллограф, ибо в пределе досягаемости нет ни аналогово не цифрового( Есть только тестер и SCK, который имхо не раскачивается на 2 разных мегах8.

 

Таргеты питаются от своих источников, соответственно общая только земля. Программатор подключен к компу через PL2303, в работоспособности которой я не сомневаюсь, ибо не работал бы терминальный режим. Запитан соответственно от 5в юсб.

Хм. Т.к. ваша схема и топология мной не делалась - по ним ничего сказать не могу. Судя по симптомам проблема с линиями подключения к программируемому контроллеру. Смотрите осциллографом.

Share this post


Link to post
Share on other sites

Просто для информации: пробовал подключать программатор вместо FTDI через переходники на м/с PL2303 и СР2102 - всё работает! Главное - правильно подключить TX/RX сигналы.

Share this post


Link to post
Share on other sites

Из 1-го поста темы:

 

Ответ:

а) Сделана разводка печатных плат для схемотехники "AvrUsb500 by Petka". Прилагаются готовые разводки (для удобного изготовления печатных плат в домашних условиях) как для ft232rl, так и для ft232bm.

б) Каждая топология рассчитана для односторонней печатной платы. Нет необходимости делать перемычки или совмещать шаблоны.

в) Сделаны готовые фотошаблоны в PDF как для лазерно-утюгового метода, так и для фоторезистивных технологий.

 

Оффтоп в этой теме, но самое близкое к моему вопросу - у Вас нету файлика .lay c разводкой FT232RL?

Share this post


Link to post
Share on other sites

Здравствуйте, возможно с помощью данного программатора программировать микроконтроллеры с напряжением питания 3В.

Edited by electronics

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this