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

 
 
> Нужна помощь, сломал голову! (Atmel AT91SAM7х256), после прошивки контроллера, компьютер не видит плату
alex7577
сообщение Sep 11 2017, 12:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Есть плата обработки внешних сигналов на ATMEL AT91SAM7х256

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


После прошивки, не определяется, потому что на контакте D+ USB-разъема напряжение слишко мало, 1.7в, а нужно хотя бы 2.4в. До прошивки напряжение присутствует, поэтому и нормально определяется.

Требуемое напряжение на D+USB задается ножкой 91 через резистор 1.5к (см. схему). Если резистор отпаять, то на ножке 91 присутствует 3.3в, как и должно быть. Если припаять резистор обратно, то напряжение падает на ножке 91 до 2.3в, а на D+USB до 2.2в и это при отключенном кабеле USB, т.е. без нагрузки. Если подключить компьютер (через кабель USB), то на D+USB падает до 1.7в и соответственно плата не видна в диспетчере устройств. Если обнулить прошивку (3.3в на ножку 92), все восстанавливается, плата определяется.
Все элементы заменял, проверял, прозванивал, ошибки нет. Запаял 4 такие платы, у всех одни и те же симптомы. При этом старая рабочая плата прекрасно работает, у нее напряжение на на D+USB 3.3в без подключения кабеля и 2.4в при подключении.
Получается, что после прошивки падает входное сопротивление на ножке 94 и просаживается напряжение на ножке 91. Но как такое может быть в зависимости от наличия прошивки?
Прошивки не менялись лет 5, сотни раз использовались, и их много, какую не залей, тот же эффект.
Питание контроллера не просаживается, стабильно 3.3в
Единственная пока идея: может контроллеры бракованные??? Но мне кажется это маловероятно.
Кто-нибудь сталкивался с подобным? Прошу помощи, проект горит, заказчик топает, а мы подвисли.





Go to the top of the page
 
+Quote Post
5 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 66)
Сергей Борщ
сообщение Sep 11 2017, 13:12
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 13:25
Сообщение #3


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

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



1) А паршивка за это время не протухла, в смысле, не менялась?

2) Ревизия чипа отличается от остальных?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 13:27
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(richie @ Sep 11 2017, 16:25) *
1) А паршивка за это время не протухла, в смысле, не менялась?

2) Ревизия чипа отличается от остальных?


Прошивка не менялась. Ревизия отличается.
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 13:35
Сообщение #5


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

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



Если прошивка точно не менялась, тогда курить ревизию из даташита.

Если не поможет, искать непропай, бракованную деталь.

P.S. А как вы платы перепрошиваете если это понадобится?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 13:37
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(Сергей Борщ @ Sep 11 2017, 16:12) *
Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало.

Черт, похоже Вы правы! В другом форуме человек такое же сделал предположение. Однако мы не можем быстро разобраться с прошивкой, сейчас такого специалиста в штате нет. Можете посоветовать, что тут можно предпринять?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 11 2017, 13:46
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (alex7577 @ Sep 11 2017, 16:37) *
Можете посоветовать, что тут можно предпринять?
Повесьте резистор 1.5 кОм не на 91 ногу, а сразу на питание. Ваше устройство не сможет по собственной инициативе (без выдергивания USB-шнурка) переподключаться к компу, на остальном вроде не должно сказаться.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:12
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(richie @ Sep 11 2017, 16:35) *
Если прошивка точно не менялась, тогда курить ревизию из даташита.
Если не поможет, искать непропай, бракованную деталь.

P.S. А как вы платы перепрошиваете если это понадобится?


Прошивка точно не менялась, а если даже дело в ревизии, то мы не можем быстро изменить прошивку.
Тут все уже перепробовали, 4 платы с одним и тем же дефектом, явно дело в не случайном непропае или детали.
Программатором JTAG.


Цитата(Сергей Борщ @ Sep 11 2017, 16:46) *
Повесьте резистор 1.5 кОм не на 91 ногу, а сразу на питание. Ваше устройство не сможет по собственной инициативе (без выдергивания USB-шнурка) переподключаться к компу, на остальном вроде не должно сказаться.


Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:20
Сообщение #9


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 11 2017, 17:12) *
Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.


А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )

Сообщение отредактировал 0men - Sep 11 2017, 14:21
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:26
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 11 2017, 17:20) *
А если поиграться номиналом 1.5К? То есть уменьшить его (сохранив ваши схему - подтяжка к 91 ноге )

Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке.
Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:29
Сообщение #11


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 11 2017, 17:26) *
Сейчас попробую. А вы понимаете как там устроены процессы? Я не пойму, почему непрошитый контроллер, когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство", а убираешь и все в порядке.
Постоянная составляющая напряжения на D+ становится выше нормы? Померил - 3.3в, когда напрямую от питания и 2.4, когда, когда убираешь.


Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?

Сообщение отредактировал 0men - Sep 11 2017, 14:32
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 14:34
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 11 2017, 17:29) *
Понимаю, так делать нельзя. Хост, по уровням на D+, D- определяет скорость подключенного устройства. А вообще, мне не очень понятна цель 91 ноги. Она используется для ре-енумерации устройства чтоли?

Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 14:37
Сообщение #13


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 11 2017, 17:34) *
Ну так я переменником подгоню нужный уровень напряжения 2.4в и наверное должно заработать. 5 минут


правильный уровень 2.8 В. Вот, посмотрите для быстрого понимания http://usb.fober.net/teoriya/Fizicheskij-interfejs/

ПС, судя по вашей схеме, ножка 91 должна в программе быть определена на выход . Она сейчас у вас на вход с верхней подтяжкой (килоом в 50). Думаю, если она (91 нога) используется в программе и далее (для ре-енумерации), то проблема с подбором 1.5К до конца не решится.

Сообщение отредактировал 0men - Sep 11 2017, 14:51
Go to the top of the page
 
+Quote Post
Integro
сообщение Sep 11 2017, 15:00
Сообщение #14


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

Группа: Свой
Сообщений: 167
Регистрация: 25-12-09
Из: Минск
Пользователь №: 54 460



Цитата(alex7577 @ Sep 11 2017, 17:12) *
Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.


Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс.

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 11 2017, 15:03
Сообщение #15


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

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



1) Ага, всё-таки существует вероятность, что файл прошивки сейчас может отличаться от того что был ранее.

2) Ревизия скорее всего отпадает.

3) Перепрошивка. Это был наводящий вопрос. Почему при проектировании платы нельзя добавить джампер, при наличии которого плата предназначена для прошивки с гарантированным состоянием условий работы контроллера, не зависящих от "прошит", "не прошит", "прошит неправильной прошивкой"?
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 15:05
Сообщение #16


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(Integro @ Sep 11 2017, 18:00) *
Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс.

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?


Затянули то туда, но неправильно )) "когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство" Нужно Vcc на D+ через 1.5К
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Sep 11 2017, 15:16
Сообщение #17


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 15:18
Сообщение #18


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(Genadi Zawidowski @ Sep 11 2017, 18:16) *
Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.


не думаю, с кондерами там все ок (если стоят те, что на схеме)
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Sep 11 2017, 15:32
Сообщение #19


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Можете не думать, я не настаиваю.
Есть опыт борьбы с FT232RL, на которую навесили именно так как у Вас. Пока не сняли, опознавалось один из десяти раз.

Сообщение отредактировал Genadi Zawidowski - Sep 11 2017, 15:32
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 11 2017, 15:34
Сообщение #20


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(Genadi Zawidowski @ Sep 11 2017, 18:32) *
Можете не думать, я не настаиваю.
Есть опыт борьбы с FT232RL, на которую навесили именно так как у Вас. Пока не сняли, опознавалось один из десяти раз.


у меня сотни плат с такой схемой и на FTDI и на AT91SAM7S. И если вы внимательно почитаете топик сначала, то поймете, что уровни напряжения совсем не связаны с конденсаторами
Go to the top of the page
 
+Quote Post
Corvus
сообщение Sep 11 2017, 15:44
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Цитата(0men @ Sep 11 2017, 18:34) *
у меня сотни плат с такой схемой


Схема-то штатная. Но могли и неправильные номиналы запаять. Я бы не зацикливался на напряжении вывода, а сначала упростил до минимума. D+ через резистор 1,5к к +3V3, резистор от 91-й ножки отпаять. А то может помимо напряжения на выводе ещё и кварц шалит wink.gif
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 11 2017, 16:09
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 11 2017, 18:37) *
правильный уровень 2.8 В. Вот, посмотрите для быстрого понимания http://usb.fober.net/teoriya/Fizicheskij-interfejs/

ПС, судя по вашей схеме, ножка 91 должна в программе быть определена на выход . Она сейчас у вас на вход с верхней подтяжкой (килоом в 50). Думаю, если она (91 нога) используется в программе и далее (для ре-енумерации), то проблема с подбором 1.5К до конца не решится.


Да, не решилось (( непрошитая определяется, прошитая нет. При этом после прошивки падает напряжение на D+ до 1.5 (с 2.8 до прошивки) и подбор перемещением результатов не даёт, определяется как неизвестное устройство




Цитата(Integro @ Sep 11 2017, 19:00) *
Значит, не туда затянули, либо фронт долгий вышел. Предлагаю подключить USB, вернуть подтяжку на VUSB и ребутить устройство через сигнал RESET(не отключая от USB). Не прошитый девайс должен определятся! Затем проверить прошитый девайс.

Также из поста не совсем понятно, запускается ли в целом прошивка, то-есть проблема только с USB? Остальной функционал исправен?


Отъехал пока, вернусь, попробую. Проверить работу прошивки не могу, она работает с софтом на PC, т.е. пока usb не заработает, нельзя проверить работу платы

Цитата(richie @ Sep 11 2017, 19:03) *
1) Ага, всё-таки существует вероятность, что файл прошивки сейчас может отличаться от того что был ранее.

2) Ревизия скорее всего отпадает.

3) Перепрошивка. Это был наводящий вопрос. Почему при проектировании платы нельзя добавить джампер, при наличии которого плата предназначена для прошивки с гарантированным состоянием условий работы контроллера, не зависящих от "прошит", "не прошит", "прошит неправильной прошивкой"?


Не, не, откуда вы взяли? Прошивка последний раз менялась в 2013г., с тех пор - нет. А плат за это время сделали сотни и всегда все ок.


Цитата(Genadi Zawidowski @ Sep 11 2017, 19:16) *
Попробуйте снять эту гроздь из конденсаторов на цепях USB. Могу предположить что SAMBA loader откатывается на USB 1, а прошивка не умеет. Изменились скорее всего электрические параметры хоста.

Пробовал. Ни на что не влияет.

Цитата(0men @ Sep 11 2017, 19:05) *
Затянули то туда, но неправильно )) "когда подаешь Vcc напрямую на D+ определяется как "неизв.устройство" Нужно Vcc на D+ через 1.5К


Это имелось ввиду, конечно через 1.5к. А напрямую - это смысле "не через 91 ногу"
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 11 2017, 16:18
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(alex7577 @ Sep 11 2017, 17:12) *
Повесил. Теперь и прошитый и непрошитый контроллер определяются как "неизвестное устройство" в диспетчере задач. Вернул все обратно, непрошитый определяется как на моем скрине вначале темы.

Так НЕ ДОЛЖНО быть. Проверьте еще раз.

Цитата(Сергей Борщ @ Sep 11 2017, 16:12) *
Чудес не бывает. Кто-то из ваших программистов дрогнувшей рукой перевел ножку 91 на ввод и вы там наблюдаете напряжение встроенной подтяжки (она включена по умолчанию). Можете убедиться в этом, подгрузив на землю резистором с известным сопротивлением. Ток встроенной подтяжки по документации - 300мкА плюс-минус лапоть. Возможно, в предыдущих партиях контроллеров он был "плюс лапоть" и его хватало.

Я бы думал, что все с точностью до наоборот: загрузчик ничего не знает о 91 ноге, поэтому подключение хост видит через включенный pull-up, благо на AT91SAM они зверские. А вот что происходит в основной программе - науке неведомо.

alex7577, снимите резистор, и посмотрите поведение 91 ноги в режиме загрузчика и в боевом - куда и в каком объеме она тянет/отдает ток.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 11 2017, 19:09
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(alex7577 @ Sep 11 2017, 20:37) *
Однако мы не можем быстро разобраться с прошивкой, сейчас такого специалиста в штате нет. Можете посоветовать, что тут можно предпринять?

Для быстрого выявления "программной природы" бага, можно найти готовый пример какого-либо USB-устройства для отладочной платы с Вашим МК и с аналогичной распиновкой USB-интерфейса.
Скомпилить, прошить, проверить.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 12 2017, 10:54
Сообщение #25


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

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(alex7577 @ Sep 11 2017, 16:21) *
Есть плата обработки внешних сигналов на ATMEL AT91SAM7х256

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

А есть старые платы? Они с этим компом на этом виндоус с этим разъёмом работают?

Был случай, пришлось на другую реализацию стека USB уходить....
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 12 2017, 12:30
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Всем спасибо за помощь! Проблема пока не решена, но хотя бы понятно куда копать.
Нашли пару МК с более старой ревизией, запаяли, все сразу заработало, т.о. понятно что дело только в новой ревизии.
Блин! Такой удар со стороны классика )) 5 лет все было нормально и вдруг на тебе! Самое главное вовремя )

Цитата(jcxz @ Sep 11 2017, 22:09) *
Для быстрого выявления "программной природы" бага, можно найти готовый пример какого-либо USB-устройства для отладочной платы с Вашим МК и с аналогичной распиновкой USB-интерфейса.
Скомпилить, прошить, проверить.

Боюсь это не быстро для нас ( Нам бы "костыль" влепить, лишь бы работало, отправить заказ, а потом уже посидим, покумекаем.
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Sep 12 2017, 12:30
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Цитата(alex7577 @ Sep 12 2017, 14:58) *
Блин! Такой удар со стороны классика )) 5 лет все было нормально и вдруг на тебе! Самое главное вовремя )


Ребят, ну вы же сами себе злобные буратины (ССЗБ). Даташит что гласит?

Прикрепленное изображение


Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 12 2017, 13:16
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(VladislavS @ Sep 12 2017, 15:30) *
Ребят, ну вы же сами себе злобные буратины (ССЗБ). Даташит что гласит?

Прикрепленное изображение


Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.


Подцепил.
Непрошитый МК определяется нормально, как на скрине в начале темы.
Прошитый как неизвестное устройство. На D+ при этом 2,9в.

Это однозначно говорит о том, что принудительная енумерация присутствует?
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 12 2017, 13:19
Сообщение #29


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(VladislavS @ Sep 12 2017, 15:30) *
Если не нужна принудительная енумерация, то можно 1.5 кОм намертво к +3.3В подцепить.


Самое странное, что ТС пытался 1.5 кОм намертво к +3.3В подцепить (по его словам), ничего не помогло.

Цитата(alex7577 @ Sep 12 2017, 16:16) *
Подцепил.
Непрошитый МК определяется нормально, как на скрине в начале темы.
Прошитый как неизвестное устройство. На D+ при этом 2,9в.

Это однозначно говорит о том, что принудительная енумерация присутствует?


очень похоже на это. Уровень напряжения нормальный
Может вы кусок проекта сюда скините с инициализацией периферии?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 12 2017, 13:28
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(_4afc_ @ Sep 12 2017, 13:54) *
А есть старые платы? Они с этим компом на этом виндоус с этим разъёмом работают?

Был случай, пришлось на другую реализацию стека USB уходить....


Да написал выше, старая плата работает на этом компе стабильно.
Более того, перепаяли МК на новую, тоже работает.

Цитата(0men @ Sep 12 2017, 16:19) *
Самое странное, что ТС пытался 1.5 кОм намертво к +3.3В подцепить (по его словам), ничего не помогло.

очень похоже на это. Уровень напряжения нормальный
Может вы кусок проекта сюда скините с инициализацией периферии?



Конечно, только подскажите что скинуть. У меня в IAR, при открытом проекте вверху куча вкладок с исходниками, но я не знаю в какой ноги инициализируются. Как быстро найти?
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 12 2017, 13:33
Сообщение #31


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 12 2017, 16:28) *
Конечно, только подскажите что скинуть. У меня в IAR, при открытом проекте вверху куча вкладок с исходниками, но я не знаю в какой ноги инициализируются. Как быстро найти?


если не хотите кидать весь проект, кидайте файл, где функция мейн, по ней пробежимся, скажем что кинуть дальше )

Кстати, а вы можете осциллографом посмотреть поведение при работе ноги 91 на обеих платах?

Сообщение отредактировал 0men - Sep 12 2017, 13:35
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 13 2017, 07:21
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 12 2017, 16:33) *
если не хотите кидать весь проект, кидайте файл, где функция мейн, по ней пробежимся, скажем что кинуть дальше )

Кстати, а вы можете осциллографом посмотреть поведение при работе ноги 91 на обеих платах?


Я готов скинуть и весь проект, там секретного ничего нет. Дайте контакты куда.
Осциллографа нет. Мы давно ничего не меняли в электронике, обновляли только софт для PC, с которым работает плата, не меняя протокол обмена с платой.
Соответственно нет ни специалистов ни оборудования, кроме тестера. Платы паялись и всегда работали, до этого момента sm.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 13 2017, 09:12
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(alex7577 @ Sep 13 2017, 14:21) *
Я готов скинуть и весь проект, там секретного ничего нет. Дайте контакты куда.

Не боитесь, что форум читают и китайцы? biggrin.gif
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 13 2017, 09:34
Сообщение #34


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 13 2017, 10:21) *
Я готов скинуть и весь проект, там секретного ничего нет. Дайте контакты куда.
Осциллографа нет. Мы давно ничего не меняли в электронике, обновляли только софт для PC, с которым работает плата, не меняя протокол обмена с платой.
Соответственно нет ни специалистов ни оборудования, кроме тестера. Платы паялись и всегда работали, до этого момента sm.gif


кидайте весь проект, контакт отправил в личке
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 13 2017, 09:44
Сообщение #35


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Нашел такой код:

//USB VBUS
#define PIN_USB_VBUS {1 << 4, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_INPUT, PIO_DEFAULT}
//USB PULL_UP
#define BOARD_USB_PULLUP_EXTERNAL
#define PIN_USB_PULLUP {1 << 7, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}

//USB
#define USB_Vbus 1<<4
#define USB_BUS_POWERED
#define AT91C_VBUS AT91C_PIO_PA4
#define AT91C_PIO_VBUS AT91C_BASE_PIOA
#define AT91C_ID_VBUS AT91C_ID_PIOA

#define USB_PULLUP 1<<7
#define AT91C_PULLUP AT91C_PIO_PA7
#define AT91C_PIO_PULLUP AT91C_BASE_PIOA
#define AT91C_ID_PULLUP AT91C_ID_PIOA

#define USB_PULLUP_ON AT91C_PIO_PULLUP->PIO_SODR = USB_PULLUP;
#define USB_PULLUP_OFF AT91C_PIO_PULLUP->PIO_CODR = USB_PULLUP;
#define Cfg_Vbus_Detect AT91C_PIO_VBUS ->PIO_ODR = USB_Vbus;\
AT91C_PIO_VBUS ->PIO_PER = USB_Vbus;\
AT91C_PIO_VBUS ->PIO_IFER = USB_Vbus;

Цитата(0men @ Sep 13 2017, 12:34) *
кидайте весь проект, контакт отправил в личке


Скинул

Цитата(jcxz @ Sep 13 2017, 12:12) *
Не боитесь, что форум читают и китайцы? biggrin.gif


Не боюсь, у нас главная фишка не в платах, а в софте для PC sm.gif
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 13 2017, 11:16
Сообщение #36


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 13 2017, 12:44) *
Нашел такой код:

//USB VBUS
#define PIN_USB_VBUS {1 << 4, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_INPUT, PIO_DEFAULT}
//USB PULL_UP
#define BOARD_USB_PULLUP_EXTERNAL
#define PIN_USB_PULLUP {1 << 7, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}

//USB
#define USB_Vbus 1<<4
#define USB_BUS_POWERED
#define AT91C_VBUS AT91C_PIO_PA4
#define AT91C_PIO_VBUS AT91C_BASE_PIOA
#define AT91C_ID_VBUS AT91C_ID_PIOA

#define USB_PULLUP 1<<7
#define AT91C_PULLUP AT91C_PIO_PA7
#define AT91C_PIO_PULLUP AT91C_BASE_PIOA
#define AT91C_ID_PULLUP AT91C_ID_PIOA

#define USB_PULLUP_ON AT91C_PIO_PULLUP->PIO_SODR = USB_PULLUP;
#define USB_PULLUP_OFF AT91C_PIO_PULLUP->PIO_CODR = USB_PULLUP;
#define Cfg_Vbus_Detect AT91C_PIO_VBUS ->PIO_ODR = USB_Vbus;\
AT91C_PIO_VBUS ->PIO_PER = USB_Vbus;\
AT91C_PIO_VBUS ->PIO_IFER = USB_Vbus;



Скинул



Не боюсь, у нас главная фишка не в платах, а в софте для PC sm.gif


чего то я нигде не увидел перевод ножки 91 (PA7) на выход (в мейне)
Точнее, там есть настройка портов, но достаточно специфическая sm.gif

чтобы не разбираться долго, попробуйте в MAIN
сразу после первой строчки

PIO_Configure(pins, PIO_LISTSIZE(pins));

написать так:
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;

скомпилировать и проверить



Цитата(alex7577 @ Sep 13 2017, 12:44) *
Нашел такой код:



И еще у вас есть непонятный момент. В мейне есть такой код

// connect if needed
VBus_Configure();
Cfg_Vbus_Detect;
USB_PULLUP_ON;
ISR_Vbus(&pinVbus);

Так вот Vbus это PA4 судя по этому коду:
#define USB_Vbus 1<<4
#define USB_BUS_POWERED
#define AT91C_VBUS AT91C_PIO_PA4
#define AT91C_PIO_VBUS AT91C_BASE_PIOA
#define AT91C_ID_VBUS AT91C_ID_PIOA

PA4 это 88 нога, а на вашей схеме она тупо через резистор притянута к земле... зачем, почему..

И еще: попробуйте закомментировать строчку

#define BOARD_USB_PULLUP_EXTERNAL

в board.h

Кстати, в проекте выбран чип at91sam7x512, а впаян at91sam7x256


Сообщение отредактировал 0men - Sep 13 2017, 10:26
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 13 2017, 11:48
Сообщение #37


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 13 2017, 14:16) *
чего то я нигде не увидел перевод ножки 91 (PA7) на выход (в мейне)
Точнее, там есть настройка портов, но достаточно специфическая sm.gif

чтобы не разбираться долго, попробуйте в MAIN
сразу после первой строчки

PIO_Configure(pins, PIO_LISTSIZE(pins));

написать так:
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;

скомпилировать и проверить


Сделал, к сожалению ничего не изменилось, так же падает напряжение на D+ до 1.7 и плата не определяется. После стирания прошивки, определяется. Два повторил, результата нет (

И еще у вас есть непонятный момент. В мейне есть такой код

// connect if needed
VBus_Configure();
Cfg_Vbus_Detect;
USB_PULLUP_ON;
ISR_Vbus(&pinVbus);

Так вот Vbus это PA4 судя по этому коду:
#define USB_Vbus 1<<4
#define USB_BUS_POWERED
#define AT91C_VBUS AT91C_PIO_PA4
#define AT91C_PIO_VBUS AT91C_BASE_PIOA
#define AT91C_ID_VBUS AT91C_ID_PIOA

PA4 это 88 нога, а на вашей схеме она тупо через резистор притянута к земле... зачем, почему..


Вот начальная схема




но по факту, диод никогда не паяли, поэтому цепь VBUS была разомкнута и получается, что ножка на землю только через 15к. Зачем это было сделано не знаю, разработчик давно не работает у нас.



Цитата(0men @ Sep 13 2017, 14:16) *
Кстати, в проекте выбран чип at91sam7x512, а впаян at91sam7x256


Это не влияет, я так понимаю, что просто разный объем паммяти.
Мы ставили 128, 256, 512, всегда работали.

Цитата(0men @ Sep 13 2017, 14:16) *
И еще: попробуйте закомментировать строчку

#define BOARD_USB_PULLUP_EXTERNAL

в board.h


Тоже не помогло. После прошивки напряжение на D+ 2.2в без подключения к компу (со стертой прошивкой 3.3в), а при подключении кабеля usb падает до 1.7, ну то есть все как раньше.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 13 2017, 12:11
Сообщение #38


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 13 2017, 14:48) *
Тоже не помогло. После прошивки напряжение на D+ 2.2в без подключения к компу (со стертой прошивкой 3.3в), а при подключении кабеля usb падает до 1.7, ну то есть все как раньше.


Давайте от простого пойдем, посмотрим, переводится вообще РА7 на выход 1.
Для этого в мейне после

PIO_Configure(pins, PIO_LISTSIZE(pins));
USB_PULLUP_OFF;
wait(100000);
USB_PULLUP_ON;

напишите

for(;;);

то есть дальше код исполняться не будет. Подключите к компу и измерьте напряжение на D+

Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 13 2017, 13:04
Сообщение #39


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 13 2017, 15:11) *
Давайте от простого пойдем, посмотрим, переводится вообще РА7 на выход 1.
Для этого в мейне после

PIO_Configure(pins, PIO_LISTSIZE(pins));
USB_PULLUP_OFF;
wait(100000);
USB_PULLUP_ON;

напишите

for(;;);

то есть дальше код исполняться не будет. Подключите к компу и измерьте напряжение на D+


Ничего не изменилось.
На всякий случай вот скрин результатов компиляции

Go to the top of the page
 
+Quote Post
0men
сообщение Sep 13 2017, 13:16
Сообщение #40


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 13 2017, 16:04) *
Ничего не изменилось.
На всякий случай вот скрин результатов компиляции


ничего не изменилось это что означает? какое напряжение на D+? 1.7?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 13 2017, 13:22
Сообщение #41


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 13 2017, 16:16) *
ничего не изменилось это что означает? какое напряжение на D+? 1.7?


Да. 1.7 при подключенном usb, 2.2 при отключенном.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 13 2017, 14:05
Сообщение #42


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 13 2017, 16:22) *
Да. 1.7 при подключенном usb, 2.2 при отключенном.


это означает, что нога на выход не работает..

перед
PIO_Configure(pins, PIO_LISTSIZE(pins));

вставьте вот такую строчку:
AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
это включение клока

да, похоже проблема именно в этом )) Клоки на порты у вас включаются в функции
PIO_InitializeInterrupts(0);

а она находится значительно ниже

перенесите функцию
PIO_InitializeInterrupts(0);

перед
PIO_Configure(pins, PIO_LISTSIZE(pins));



Сообщение отредактировал 0men - Sep 13 2017, 14:24
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 13 2017, 14:32
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(0men @ Sep 13 2017, 17:05) *
да, похоже проблема именно в этом )) Клоки на порты у вас включаются в функции
PIO_InitializeInterrupts(0);

а она находится значительно ниже

Для работы пинов на выход в серии SAM7 клоки не нужны.
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 10:46
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 13 2017, 17:05) *
это означает, что нога на выход не работает..

перед
PIO_Configure(pins, PIO_LISTSIZE(pins));

вставьте вот такую строчку:
AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
это включение клока

да, похоже проблема именно в этом )) Клоки на порты у вас включаются в функции
PIO_InitializeInterrupts(0);

а она находится значительно ниже

перенесите функцию
PIO_InitializeInterrupts(0);

перед
PIO_Configure(pins, PIO_LISTSIZE(pins));


К сожалению, опять не помогло, ситуация ровно таже 1.7в, на D+.
вот скрин кода, посмотрите, пожалуйста, все ли правильно.




Раскопали в хламе старые паянные МК. Запаяли вместо новых на эти же платы, все работает, блин!
Но три нам к сожалению мало, а хлам закончился.
Проблема по-прежнему актуальна.
Готов выставить хороший коньяк или иное вознаграждение по Вашему выбору за конструктивную помощь )
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 11:34
Сообщение #45


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 13:46) *
Проблема по-прежнему актуальна.
Готов выставить хороший коньяк или иное вознаграждение по Вашему выбору за конструктивную помощь )


ээээ.. зачем там цикл while(1) то?? у вас там нужка РА7 дергается в 0-1 постоянно.

короче, нужно понять, переводится ножка РА7 на выход или нет.
Напишите в самом начала мейна следующее:

AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7;
for(;;);

И измерьте напряжение на самой ножке РА7 и на D+



Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 11:54
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 14:34) *
ээээ.. зачем там цикл while(1) то?? у вас там нужка РА7 дергается в 0-1 постоянно.

короче, нужно понять, переводится ножка РА7 на выход или нет.
Напишите в самом начала мейна следующее:

AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7;
for(;;);

И измерьте напряжение на самой ножке РА7 и на D+


Сделал. Ничего не изменилось: РА7 - 2.3в, D+ - 2.2в при отключенном кабеле USB. После подключения кабеля, на D+ падает до 1.7в и плата не определяется.
Посмотрите код, так надо было?


Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 12:12
Сообщение #47


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 14:54) *
Сделал. Ничего не изменилось: РА7 - 2.3в, D+ - 2.2в при отключенном кабеле USB. После подключения кабеля, на D+ падает до 1.7в и плата не определяется.
Посмотрите код, так надо было?


да, код правильный, но результат полная ерунда.. Ножка не переводится на выход, что абсолютно непонятно. А сделайте плис тоже самое на рабочей плате

кстати, все таки важно, какой чип указан: 256 или 512. В функции LowLevelInit

#if defined(at91sam7x512)
AT91C_BASE_EFC0->EFC_FMR = AT91C_MC_FWS_1FWS;
AT91C_BASE_EFC1->EFC_FMR = AT91C_MC_FWS_1FWS;
#elif defined(at91sam7x128) || defined(at91sam7x256)
AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS;
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 12:12
Сообщение #48


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 14:59) *
да, код правильный, но результат полная ерунда.. Ножка не переводится на выход, что абсолютно непонятно. А сделайте плис тоже самое на рабочей плате


Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 12:20
Сообщение #49


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 15:12) *
Сделал. Держит напряжение нормально, 3.3в на D+ при отключенном USB и 2.9 при подключенном. Определяется как неизвестное устройство, но это понятно, из-за изменения в коде.


у
AT91C_BASE_EFC0
AT91C_BASE_EFC1
AT91C_BASE_MC

абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти

Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 12:25
Сообщение #50


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 15:20) *
у
AT91C_BASE_EFC0
AT91C_BASE_EFC1
AT91C_BASE_MC

абсолютно разные базовые адреса. Выбирая 512 в яре и прошивая прошивку в 256 вы не правильно инициализируете работу флэш памяти


Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации.
Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 12:42
Сообщение #51


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 15:25) *
Мы паяли разные: 128, 256, 512 и всегда они работали и одной и той же прошивкой. Вроде разработчик что-то предусмотрел в коде, чтобы можно было ставить любые модификации.
Сейчас и рабочие и нерабочие платы с вариантом 256, но вот старые работают, а новые нет.


не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане

Сообщение отредактировал 0men - Sep 14 2017, 12:42
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 13:47
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 15:42) *
не упрямьтесь, а попробуйте )) В последних ревизиях атмел очень серьезно ухудшил характеристики флеш памяти, этот код отвечает за время доступа к ней. Ваш разработчик ничего не предусмотрел в этом плане

Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в IAR
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 14:05
Сообщение #53


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 16:47) *
Да я готов попробовать, подскажите, что именно нужно сделать? что-то не могу найти подходящие настройки в IAR


мышкой ткнитесь в EIM-v3-Debug

потом - Project->Options-General options-Device

и там меняете Atmel AT91SAM7X512 на Atmel AT91SAM7X256

потом все перекомпилируйте

И еще нужно исправить в настройках линкера:

Project->Options-Linker-Config-Linker configuration file

изменить на 256

и еще ))

Project->Options-С/С++ Compiler->Preprocessor

изменить AT91SAM7X512 на Atmel AT91SAM7X256

Сообщение отредактировал 0men - Sep 14 2017, 14:08
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 14:09
Сообщение #54


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 17:05) *
мышкой ткнитесь в EIM-v3-Debug

потом - Project->Options-General options-Device

и там меняете Atmel AT91SAM7X512 на Atmel AT91SAM7X256

потом все перекомпилируйте

И еще нужно исправить в настройках линкера:

Project->Options-Linker-Config-Linker configuration file

изменить на 256

и еще ))

Project->Options-С/С++ Compiler->Preprocessor

изменить AT91SAM7X512 на Atmel AT91SAM7X256



Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно?
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 14:10
Сообщение #55


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 17:09) *
Сделал. Все тоже самое. Но это дефолтная прошивка. Если нужно внести изменения в код, которые вы рекомендовали, то какие именно?


во всех 3х местах изменили на AT91SAM7X256?



вот это в начале мейна вставьте и проверьте напряжение на D+

AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7;
for(;;);



Сообщение отредактировал 0men - Sep 14 2017, 14:11
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 14:29
Сообщение #56


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 17:10) *
во всех 3х местах изменили на AT91SAM7X256?



вот это в начале мейна вставьте и проверьте напряжение на D+

AT91C_BASE_PMC->PMC_PCER = (1<<AT91C_ID_PIOA);
AT91C_BASE_PIOA->PIO_PER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_OER = AT91C_PIO_PA7;
AT91C_BASE_PIOA->PIO_SODR = AT91C_PIO_PA7;
for(;;);


Все сделал как написали, в 3-х местах и код. Тоже самое (
В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается sm.gif
Надеюсь на ваш опыт.
Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 14:35
Сообщение #57


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 17:29) *
Все сделал как написали, в 3-х местах и код. Тоже самое (
В любом случае огромное спасибо за время и терпение, если получится, то с меня прочитается sm.gif
Надеюсь на ваш опыт.
Если вы в Москве, то я могу подвести все рабочую и нерабочую платы, исходники у вас есть.


я Питере sad.gif
пока идеи иссякли ((
А процессор вообще работает? Другие ноги управляются?
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 14:39
Сообщение #58


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 17:35) *
я Питере sad.gif
пока идеи иссякли ((
А процессор вообще работает? Другие ноги управляются?



Могу отправить DHL ) Если это вообще удобно для вас.
А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 14:46
Сообщение #59


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 17:39) *
Могу отправить DHL ) Если это вообще удобно для вас.
А как понять управляются ли другие ноги? Мы результаты работы платы можем видеть только в программе на PC, а USB не работает.


Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить sm.gif
У вас в программе есть управление светодиодами, на плате они есть? Моргают?

Сообщение отредактировал 0men - Sep 14 2017, 14:46
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 14:52
Сообщение #60


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(0men @ Sep 14 2017, 17:46) *
Давайте так, если до понедельника ничего не решится, то я вам напишу, куда отправить sm.gif
У вас в программе есть управление светодиодами, на плате они есть? Моргают?


Ок!
Раньше были светодиоды, но как только опытные образцы заработали стабильно от них отказались.
Go to the top of the page
 
+Quote Post
0men
сообщение Sep 14 2017, 14:58
Сообщение #61


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

Группа: Участник
Сообщений: 84
Регистрация: 7-05-05
Пользователь №: 4 819



Цитата(alex7577 @ Sep 14 2017, 17:52) *
Ок!
Раньше были светодиоды, но как только опытные образцы заработали стабильно от них отказались.


впаяйте в рабочую и нерабочую платы, посмотрите..

попробуйте купить несколько процессоров другой ревизии, в элитане есть С

Что еще можно попробовать, но это уже сродни танцу с бубном:

в LowLevelInit исправить AT91C_MC_FWS_1FWS на AT91C_MC_FWS_2FWS

Сообщение отредактировал 0men - Sep 14 2017, 15:07
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 19:01
Сообщение #62


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Попробовал прошить example "usb-device-cdc-serial-project". Плата со старым МК определяется нормально. Плата с новым не определяется. На D+ у нее так же 1.7в

Цитата(0men @ Sep 14 2017, 17:58) *
впаяйте в рабочую и нерабочую платы, посмотрите..

попробуйте купить несколько процессоров другой ревизии, в элитане есть С

Что еще можно попробовать, но это уже сродни танцу с бубном:

в LowLevelInit исправить AT91C_MC_FWS_1FWS на AT91C_MC_FWS_2FWS


Да некуда впаять, не предусмотрены уже на плате светодиоды.

Для пробы купили один МК в "Чип и Дип", та же история, видимо одна партия.
Эксперимент с прошивкой примера однозначно говорит о дефектности МК?
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 14 2017, 19:07
Сообщение #63


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alex7577 @ Sep 14 2017, 22:01) *
Для пробы купили один МК в "Чип и Дип", та же история, видимо одна партия.
Эксперимент с прошивкой примера однозначно говорит о дефектности МК?


Для полной уверенности нужно скачать свежий пример с сайта атмела под данную ревизию, проверить, если работает - для вас печальная новость, ибо программу нужно будет править, нет - неисправные или поддельные МК, надо будет покупать у официальных представителей.
Go to the top of the page
 
+Quote Post
alex7577
сообщение Sep 14 2017, 19:43
Сообщение #64


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 9-02-15
Пользователь №: 85 030



Цитата(mantech @ Sep 14 2017, 22:07) *
Для полной уверенности нужно скачать свежий пример с сайта атмела под данную ревизию, проверить, если работает - для вас печальная новость, ибо программу нужно будет править, нет - неисправные или поддельные МК, надо будет покупать у официальных представителей.


Если не сложно, подскажите ссылку. Поискал и не нашел, доков куча, а примеров готовых проектов не нашел. Они там точно должны быть?
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 15 2017, 06:47
Сообщение #65


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alex7577 @ Sep 14 2017, 22:43) *
Если не сложно, подскажите ссылку. Поискал и не нашел, доков куча, а примеров готовых проектов не нашел. Они там точно должны быть?

Давно не интересовался атмелом, но раньше были примеры в разделе application notes.

Вот здесь может что есть... http://www.atmel.com/tools/AT91SAMSOFTWAREPACKAGE.aspx

Сообщение отредактировал mantech - Sep 15 2017, 06:53
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 18 2017, 08:50
Сообщение #66


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

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(richie @ Sep 11 2017, 19:03) *
2) Ревизия скорее всего отпадает.


А я бы грешил на ревизию, и ухудшешуюся технологию изготовления флеш памяти.

Т.е. поставил бы в программе до повышения частоты работы на ~48МГц:

AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_2FWS;

Цитата
EFC: Embedded Flash Access Time 2
The embedded Flash maximum access time is 20 MHz (instead of 30 MHz at zero Wait State (FWS = 0).
The maximum operating frequency with one Wait State (FWS = 1) is 48.1 MHz (instead of 55 MHz). Above 48.1 MHz and
up to 55MHz, two Wait States (FWS = 2) are required.


PS: У AT91SAM7X512 вообще 16MHz Flash, так что и AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_3FWS; будет полезным.
Go to the top of the page
 
+Quote Post
toshas
сообщение Sep 19 2017, 06:53
Сообщение #67


Местный
***

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



Цитата(alex7577 @ Sep 14 2017, 17:52) *
Ок!
Раньше были светодиоды, но как только опытные образцы заработали стабильно от них отказались.


У вас же LQFP, повесьте светодиод на "сопле" к ножке и проверьте.

И закажите пару мк у нормального дистрибьютора, тогоже диджикея например
(есть конторы которые за несколько дней с него поставят за двойную цену).
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:25
Рейтинг@Mail.ru


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