Pasha 111
Nov 20 2005, 18:09
Вообщем спаял вот такую вот схемку:
http://cwer.hoha.ru/0/device.gifРешил запустить и посмотреть, работает или нет. Подал питание, воткнул USB кабель, запустил программу SAM-BA и нажал на кнопку "USB Connection" (было выбрано "AT91SAM7S64-EK"), на что получил сообщение "-E- DEVICE NOT FOUND on USB!". Что не так?
Как вообще записать программу в SAM7? Правильно ли я схему составил?
И ещё вопрос: если я замкну пин ERASE на 3.3V, то произойдёт просто стирание флешки, или же на её место запишется SAM-BA?
P.S. Заранее извиняюсь, но просто это моя первая схема на микроконтроллере, до этого ничего подобного не делал
P.P.S. Проверял, 3.3В и 1.8В есть, осциллографом посмотрел на кварц - работает.
замкнуть пин TEST на чиап на +3.3 вольта на 10 секунд (при включении питания). Снять пиание. Снять соединение. Включить чип в USB/
PS кондер на 33 пика и пара по 15 пик в части USB нафик не нужна, а вот 3-ую ногу USB коннектора (DDP) соединить резистором 1.5 ком с питанием 3.3 ворльта, иначе вообще ничего не найдется
Pasha 111
Nov 20 2005, 19:13
Нужно сделать так?
http://cwer.hoha.ru/0/device2.gifА зачем нужен пин TST? И зачем его на 10 секунд замыкать? Смотрю сейчас полный даташыт и вижу фиг: не могу найти, где про это написано.
В даташите написано, что USB подключается помимо DDM и DDP ещё к DAm и DAn. Это что? И питание 3.3В к 3-й ноге там ещё через транзистор. На что это влияет?
пр Dam ничего не знаю, нафик не надо. Схема правильная. Пин TEST надо на питание коротить чтобы код SAM-BA переписался во внутреннюю флеш проца. Все это описано в даташите - смотрите внимательней
Pasha 111
Nov 20 2005, 21:33
Всё спаял, но эффекта никакого. Windows должна сказать что-то про новое устройство?
Да, пробывал джампер на TEST ставить и ждать 10 сек, потом отключаться и пробывать заного и reset жал.
да, при наличчии резистора на DP windows будет искать устройство. Если нет - толи разъем перепутали, то ли резистор нетуды, то ли USB компа горелый
еще
The SAM-BA™ Boot Recovery restores the SAM-BA Boot in the first two sectors of the on-chip Flash memory. The SAM-BA Boot recovery is performed when the TST pin and the PA0, PA1 and PA2 pins are all tied high.
The SAM-BA Boot Assistant is a default Boot Program that provides an easy way to program
Pasha 111
Nov 20 2005, 21:47
Подключил токчно к 3-му пину (смотрел разводку на 2-й сайтах, несколько раз проверял на штекере, плюс проверял, подключая вольтметр к 1-й и 4-й ноге - на 1-й было +5В, т.е. 3-ю ногу тоже правильно нашёл).
При включении появлялась напряжение между 3-й ногой и землёй, но вот напражения между 2-м и 3-ми контактами не было, т.е. микруха не ничего падаёт.
Pasha 111
Nov 20 2005, 21:47
Подключил токчно к 3-му пину (смотрел разводку на 2-й сайтах, несколько раз проверял на штекере, плюс проверял, подключая вольтметр к 1-й и 4-й ноге - на 1-й было +5В, т.е. 3-ю ногу тоже правильно нашёл).
При включении появлялась напряжение между 3-й ногой и землёй, но вот напражения между 2-м и 3-ми контактами не было, т.е. микруха не ничего падаёт.
если при соединении резистором 3 ногий (D+) и 3.3 вольт винде плевать - что-то не то с портом
Pasha 111
Nov 20 2005, 21:56
Между 2-м и 3-м выводами должно быть напряжение?
не помню. вроде и ноль может на втором быть. Блин, выкинь кондеры !
а чего у тебя NET VDDIO и V3_3 не соединены ? или это ты просто так рисуешь - без точек ?
Pasha 111
Nov 20 2005, 22:16
3.3В идут к VDDIN, VDDFLASH, VDDIO + на кондёры. От VDDOUT питание идёт на VDDCORE и VDDPLL.
Меня уже начинают мучить ужасные мысли...

Вот схема подключения из документации:
http://cwer.hoha.ru/0/at91_usb.gifМожет мне чего исправить надо? Там подключается ещё USB_DP_PUP, может SAM-BA хочет, чтобы он был?
Могу фотку платы прислать, если это поможет разобраться в проблемой...
я же говорю DP USB ДОЛЖЕН быть подтянут на 3.3 вольта. Если так - винда будет искать новое устройство. Если нет - туши свет
Pasha 111
Nov 20 2005, 22:28
Так, к микрухе надо подключать только DDM и DDP?
Ко 2-й ноге USB - DDM через резистор на 27 Ом
Ко 3-й ноге USB - DDP через резистор на 27 Ом и 3.3В через резистор на 1500 Ом. Так? У меня всё так и сделано. Но винда ничего не делает. От микрухи в данном случае что-то зависит? С USB всё ОК - я плеер подключал туда уже.
короче - отключи полту нафик и просто резистором соединени +5 от USB с DP шнура. Расскажешь что будет
Pasha 111
Nov 21 2005, 09:04
Твой последний пост заставил меня задуматься вот над чем: ты говоришь замкнуть 1й и 4й вывод через резистор, т.е. между 1-м и 4-м выводами толжен течь ток. Но в моём случае он как раз и не течёт.
Вот что надо сделать, ИМХО, чтобы всё заработало:
http://cwer.hoha.ru/0/device3.gifТак же сделано на всех отладочных платах. Проще всего на плате фирмы OLIMEX:
http://www.olimex.com/dev/images/sam7-p64-sch.gifТолько там вместо одного диода стоит диодный мост, что даже лучше.
Сейчас проверить не могу - ухожу в универ. Вечером напишу, что получилось.
ну питаться то usb совсем не обязательно. Но эксперименты - вещь полезная :-)
У меня тоже проблема. Купил плату SAMP-64 от Olimex. Только не могу её запустить. При подключении к USB. Пишет устройство не опознано. Смотрел через USB монитор , устройство не проходит енумерацию. Типа определяется по резистору и всё.
Пробовал подавать питание от внешнего источника и замыкать джампер тэст. После этой процедуры всё осталось также. Смотрел осциллом кварц. Генерация есть.
Что может быть? Как запустить это дело? Может там загрузчик стерт.
Pasha 111
Nov 21 2005, 19:04
Вообщем сделал так: просто объединил землю USB и свою. Возникло вот что:
http://cwer.hoha.ru/0/device4.gifТеперь что делать?

На данный момент собрана вот такая схема:
http://cwer.hoha.ru/0/device5.gif
Судя по вопросам, рекомендую забить ПОКА на USB и запуститься по COM порту (самба его тоже умеет). Моргнуть светодиодом, т.е убедиться, что кварц работает, PLL работает, флеш пишеться, а только потом приступать к USB.
Для работы с USB поставить на комп две вещи- usbmon от микрософта - будут видны все устройства, с ВИДами и ПИДами, и BusHound - виден будет весь протокол обмена с устройством. С BusHound бывают грабли- завешивает систему на этапе загрузки, так что прийдеться подобрать рабочую связку Windows-bushound ( может понадобиться переустановить Винду "начисто"). Для того, чтобы винда видела неизвестное устройство (как на скриншоте) достаточно резистора подтяжки любого из проводов USB к 3.3 вольтам. В остальном устройство может быть полностью мертвое. Об этом скажет usbmon - у дохлого устройста будет VID PID равны 0.
Господи, ну конечно землю USB надо было соединять. Я даже об этом не писал :-(
SlavaCh
Nov 22 2005, 11:40
Господа, я тоже начинающий в АРМ, пожет просвятите несколько вопросов:
1. Если удается запустить самбу, то потом можно будет заливать откомпиленные программы посредством самбы в проц?. А какой формат файла нужен чтобы залить САМ? Сейчас я работаю с платой от ИАРА (-ЕК) и при компиляции и отладке через Jlink , в выходной папке иара /EXE нет привычного HEX файла.
2. Можно ли будет в принципе передавать пользователю готовое ус-во с залитой самбой, чтобы он апгрейд прошивки получал н-р по эл. почте и сам программировал проц?
3. В примерах на at91.com для иара есть как правило 3 варианта компиляции - RAM-debug, Flash-debug и просто Flash или Flash-bin.
Чем они принципиально отличаются? - вроде код одинаковый. Или в первом вар-те настройками проекта код грузится в рам, делается ремап и код запускается из озу?
Pasha 111
Nov 22 2005, 16:20
Вообщем читал я даташит. В нём написано вот что (страница 13, п. 7.2):
The TST pin is used for manufacturing test, fast programming mode or SAM-BA Boot Recovery of the AT91SAM7S Series when asserted high. The TST pin integrates a permanent pulldown resistor of about 15 kΩ to GND, so that it can be left unconnected for normal operations.
...
To enter SAM-BA Boot Recovery, the TST pin and the PA0, PA1 and PA2 pins should be tied high.
...
Т.е. мало замкнуть TST на 3.3В, нужно ещё пины PA0, PA1 и PA2 замкнуть. Только тогда SAM-BA перепишется во Flash память. Лично я так понял. Сейчас ещё почитаю даташит, если больше ничего не найду сделаю как написал.
Я об этом писал уже. Хотя у меня и без замыкания PA0-2 пашет.
2SlavaCh
1/ Можно. Формат - raw-binary.
2. Можно, но еще лучше сделать свой лоадер (в т ч шифрованный). Я так сделал в МТ-Линка
Pasha 111
Nov 22 2005, 19:44
Ура! У меня всё заработало!
http://cwer.hoha.ru/0/device5.gifhttp://cwer.hoha.ru/0/device6.gifhttp://cwer.hoha.ru/0/device7.gifИ дело было действительно не в PA0-2. А дело было в том, что у меня отошёл 27-омовый резюк от второго пина USB =))))))))
http://cwer.hoha.ru/0/device8.jpgТолько сегодня, когда плату прозванивал, увидел

Даже удивительно, как я всё остальное спаял и всё хорошо держится

Большое спасибо тебе, DASM!! Без тебя до сих пор бы мучился! Но, как говорится, самое сложное у меня ещё впереди, учитывая, что это мой первый девайс...
Andy Great
Nov 22 2005, 19:53
Цитата(DASM @ Nov 22 2005, 19:56)

Я об этом писал уже. Хотя у меня и без замыкания PA0-2 пашет.
Так в даташите написано про встроенные подтяжки, которые по ресету включается.
Пишу (начинающий) программу в Keil для AT91SAM7S64. Раньше работал с AVR. Хочу через Sam-ba заливать прошивку, но Sam-ba просит бинарный файл. Keil дает hex. Подскажите, как решить проблему, плз.
hex2bin, очевидно, поможет.
Спасибо, vet! Работает.
А как сделать, чтобы загружать через Sam-ba программу в SRAM и запускать на выполнение ? (Пишу в Keil'e, AT91SAM7S64).
Указал RAM_MODE в Project->Options for Target 'Target1' -> Asm -> Set. Компилится, но в симуляторе выдает "*** error 65: access violation at 0xFFFFFFFC : no 'execute/read' permission" . Заливал через Sam-ba, толку ноль.
Цитата(at90 @ Nov 21 2005, 15:00)

У меня тоже проблема. Купил плату SAMP-64 от Olimex. Только не могу её запустить. При подключении к USB. Пишет устройство не опознано. Смотрел через USB монитор , устройство не проходит енумерацию. Типа определяется по резистору и всё.
Пробовал подавать питание от внешнего источника и замыкать джампер тэст. После этой процедуры всё осталось также. Смотрел осциллом кварц. Генерация есть.
Что может быть? Как запустить это дело? Может там загрузчик стерт.
Запустил свою плату через DBGU. Для программирования через USB нада кварц на 18....
А Olimex на свои платы ставит 12Мгц.
Andy Great
Jan 23 2006, 10:47
Олимекс уже исправился

Мне пришла плата с неделю назад, там уже правильный кварц. У меня обратный вопрос: не могу войти в программирование через DBGU. Уже и USB отключил, подал питание другое, не находится. Джамперы выставил как надо, вроде. Какие-то хинты? Может кабель нуль-модемный надо?
Pasha 111
Jan 23 2006, 21:36
Нужно соединить ножки DBGU порта с ножками 2, 3 и 5 (RX, TX, GND) стандартного 9-ти пинового ком разъёма.
Andy Great
Jan 24 2006, 08:00
Это сделано джамперами. Все уже работает, похоже не хватало питания. 5.6В на вход ему мало
Lynxyk
Jan 30 2006, 10:27
2 Andy Great
скажи плз где заказывал.
нигде не могу найти.
Если что на Lynxyk()pisem.net
Спасибо зранее
Andy Great
Jan 30 2006, 18:03
www.olimex.com/devСобственно, у производителя.
Цитата(Andy Great @ Jan 30 2006, 21:03)

www.olimex.com/devСобственно, у производителя.
пожалуйста поподробней.спасибо
Andy Great
Jan 31 2006, 08:20
Заказать можно прямо на Олимексе, многое есть в Терраэлектронике. Я с Украины, потому заказал на Олимексе. Выбираете платы, пишете им, они высылают форму, заполняете, отправляете факсом, они выставляют счет, оплачивал я картой, нужна Виза не ниже классик (ну или Мастеркард), прислали почтой. Шло 3 недели, правда это были Новогодние праздники. Есть англоязычный форум поддержки их плат.
Имеется следующая ситуация: AT91SAM7S64 тактируется от отдельного генератора. Заливать прошивку очень хотелось бы через SAM-BA. Но SAM-BA требует кварц (как я понял из доки). Каждый раз при заливке припаивать кварц не прикольно. Как быть ?
Если писать свой лоадер, то подскажите, плиз, с чего начать ?
Заранее благодарен.
Прошу совета
После подключения самодельной платы по схеме выше, пишет USB Device Unrecognized. Хотя какой то идентификатор присватвает(девайс ид).
Sam-ba пишет Device Not Founde on USB.
Монтаж ошибка или дрова нужны?
Контроллер определяется сразу(HID?)
Контроллер мрёт от переполюсовки USB? или я рано расстраиваюсь? Кварц и 12 и 18 пробовал, всё едино.
От переаполюсовки вряд-ли умрет.
Чтобы Sam-ba через USB работала, нужен кварц 18,432 МГц (и никакой другой, в доке написано). Я когда собрал, USB не работало, оказалось кварц дохлый (не новый поставил). Лучше сначало через DBGU запуститься.
Если ошибок на плате нет, а в контроллере крутится Sam-ba, то при подлкючении к USB, винда запросит драйвер. Для DBGU драйвер не нужен.
Старый Бабай
Feb 6 2006, 11:15
Люди помогите.
Не могу запустить sam7s128
ни через USB ни через COM не хочет.
при СОМ пишет нет файла...
в чем трабл
2 Старый Бабай:
плата сомодельная ?
Кварц должен быть от 3 до 20 МГц.
Блок питания с контролем тока - тогда видно, пишется ли sam-ba: выключаем питание, ставим перемычку на TST и питание(3.3В), включаем питание, смотрим на индикатор тока - на 6-ой 7-ой секунде ток возрастает на 2-5 мА - значит sam-ba пишется, ждем до 10-ой секунды, выключаем питание. Снимаем перемычку, подключаемся к DBGU, включаем питание, запускаем на компе Sam-ba, указываем нужный порт, жмем кнопку DBGU...
Еще на некоторых выводах должны быть соотв. уровни (см. доку).
На своей плате заметил, что если блок питания слабый, т. е. фронт нарастания питания слишком долгий (~10мс), то проц не стартует.
ivan2006
Feb 6 2006, 18:49
Цитата(Старый Бабай @ Feb 6 2006, 14:15)

Люди помогите.
Хочу поделится своим опытом изготовления EvalBoard к at91sam7s64.
Надеюсь поможет кому-нибудь избежать моих ошибок.
Первая версия не заработала по причине того, что собирался использовать jtag, но неправильно развел выводы.
Начал искать информацию на эту тему, вдруг наткнулся на сайт www.at91.com. Там нашел схемку, и описание прошивки с помощью sam-ba.
Как потом оказалось прошивка по USB - самый простой и оптимальный для начала вариант.
Итак что должно быть на плате, чтобы она заработала:
1. at91sam7sNNN, где NNN>=64

2. разъем USB, из которого берется питание (почему именно из USB - см. ниже)
3. преобразователь 5V->3.3V, и встроенный в at91 3.3->1.8
4. кварц на 18.432МГц (и только на 18.432М! - никаких 12МГц!) + конденсаторы на 10-20пФ. 48МГц необходимые для работы USB Device получаются так 18.432МГц/5*26/2 и скорее всего именно эти коэффициенты заложены в прошивке SAM-BA.
5. PLL - цепочка (1.6кОм-1нФ-10нФ), номиналы можно слегка варьировать.
6. Резистор на 1.5к между 3.3V и USB_DATA_POSITIVE
7. Фильтрующая цепочка (27 Ом - 33пФ - 27 Ом) - желательно.
8. Кнопка или перемычка между TST и 3.3V
9. Конденсаторы по питанию 1нФ - где не жалко.
Повторяющиеся выводы питания и земли лучше объединить, по крайней мере 2 из 3-х.
PA0-PA2 и jtag во время прошивки должны висеть в воздухе!
Порядок действий при прошивке:
1. подключить USB, предварительно замкнув TST на 3.3V
2. досчитать до 20-ти, должно появится сообщение типа USB device not recognized
3. отключить USB, разомкнуть TST.
4. подключить USB, прошивать.
поскольку резистор 1.5к - запаян постоянно то подключать питание и шину USB нужно одновременно,иначе будет появлятся сообщение про неизвестное устройство.
В настройках IAR нужно указывать output format - raw binary, остальные настройки - как flash_debug в примере.
Никаких принципиальных проблем нет, если что-то не работает - ищите контакты, проверяйте разводку.
В последующей версии опять вернулся к jtag wiggeler, поставил транзистор отключающий резистор 1.5к, и мног чего еще.
Все ПП получились однослойные, в последней помимо всего остального получилось развести все 36 ног ввода-вывода на плате 4х5см.
Если кому интересно - могу выслать PCB т.к. срок давности разработки уже истек, пишите на
ivan.2005(общеизвестный символ)mail.ru
А как может сказаться на работе, если кварц, резисторы, конденсаторы, в общем вся обвеска подключаемая к at91sam7s64, будет удалена от него примерно на 30 см ???Будет работать?Шиться?
Pasha 111
Feb 6 2006, 21:42
Цитата
А как может сказаться на работе, если кварц, резисторы, конденсаторы, в общем вся обвеска подключаемая к at91sam7s64, будет удалена от него примерно на 30 см ???Будет работать?Шиться?
Думаю, что будет. В приложении фоты моей платы. Размер - 10 на 15 см. Все компоненты платы разбросаны, при этом всё хорошо прошивается, usb и com работают хорошо.
Цитата(Pasha 111 @ Feb 7 2006, 00:42)

Цитата
А как может сказаться на работе, если кварц, резисторы, конденсаторы, в общем вся обвеска подключаемая к at91sam7s64, будет удалена от него примерно на 30 см ???Будет работать?Шиться?
Думаю, что будет. В приложении фоты моей платы. Размер - 10 на 15 см. Все компоненты платы разбросаны, при этом всё хорошо прошивается, usb и com работают хорошо.
Спасибо за фоты, думаю и у меня все прошьется. А что эта за микросхема в нижнем правом углу ?
Pasha 111
Feb 7 2006, 16:46
Это AT45DB081B - флешка на 1 МБайт.