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

 
 
6 страниц V  « < 2 3 4 5 6 >  
Reply to this topicStart new topic
> AT90USB1286, виртуальный COM-порт
Petka
сообщение Nov 8 2008, 08:13
Сообщение #46


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

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



Цитата(Xenia @ Nov 8 2008, 00:40) *
Заменила кварц 16 МГц на 8 МГц и ... ничего не изменилось. Снова всё та же история - как только напряжение становится ниже 4.4 вольта - МК виснет (обычно он у меня мигает раз в секунду светодиодиком).
Может быть у меня какой-нибудь не тот BODLEVEL в фузах прошит? И из-за этого МК на низком напряжении работать не хочет?
Подскажите пожалуйста, какие фузы для него надо устанавливать! Только все фузы разом, а не только те, которые понимаете. У меня внешний кварцевый резонатор на 8 МГц, и надо чтобы и МК работал на той же частоте. Хотелось бы, чтобы годилось питание в 4 вольта, а лучше - как можно более низкое.

смотрю даташит:
Table 8-2. BODLEVEL Fuse Coding(1)
Код
BODLEVEL 2..0            V
111                  BOD Disabled
110                  2.0 V
101                  2.2 V
100                  2.4 V
011                  2.6 V
010                  3.4 V
001                  3.5 V
000                  4.3 V

в зависимости от установленных фузов BODLEVEL контроллер будет "уходить в reset" при разных напряжениях. выберите нужное вам напряжение и соответствующим образом прошейте фузы.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 8 2008, 10:16
Сообщение #47


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Petka @ Nov 8 2008, 11:13) *
смотрю даташит:
Table 8-2. BODLEVEL Fuse Coding(1)


Эту табличку я видела. Мои фузы такие (лог программатора Avreal32):

Код
Device connected, 90USB647 detected
Chip not locked
Fuses
  OSCCAL = 91
  CKDIV = 1
  CKOUT = 1
  SUT = 2
  CKSEL = E
  BLB1 = 3
  BLB0 = 3
  OCDEN = 1
  JTAGEN = 0
  WDTON = 1
  EESAVE = 1
  BOOTSZ = 1
  BOOTRST = 1
  HWBE = 0
  BODLEVEL = 7


Судя по BODLEVEL = 7, я пыталась отключить BOD совсем. Впрочем, не дожидаясь ответа, я перепробовала все BODLEVEL, но лучше от этого не стало.

Не подбросит ли кто-нибудь еще идеи, по какой причине AT90USB647 может зависать, при уменьшении питающего напряжения ниже 4.4 вольта?

Сообщение отредактировал Xenia - Nov 8 2008, 10:17
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 8 2008, 11:24
Сообщение #48


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

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



Цитата(Xenia @ Nov 8 2008, 13:16) *
Судя по BODLEVEL = 7, я пыталась отключить BOD совсем. Впрочем, не дожидаясь ответа, я перепробовала все BODLEVEL, но лучше от этого не стало.

Не подбросит ли кто-нибудь еще идеи, по какой причине AT90USB647 может зависать, при уменьшении питающего напряжения ниже 4.4 вольта?

Как вы подключили пин UVCC?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 8 2008, 12:38
Сообщение #49


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Petka @ Nov 8 2008, 14:24) *
Как вы подключили пин UVCC?


На этот вопрос я уже отвечала:

Цитата(Xenia @ Nov 5 2008, 12:41) *
Схема соединения примитивная - все напряжения одним пучком Vbus+Uvcc+Avcc+Dvcc (Figure 21-3). Внутренний регулятор у меня включен.


Криминала тут нет, поскольку согласно Figure 21-3 даташита, такая схема подключения функционирует вплоть до 3.4 в (ниже уже требуется подключаться напрямую к Ucap).
Кроме того, если бы я даже совсем обесточила UVCC, то у меня бы только перестал работать USB-канал, но процессор бы не завис. А у меня ниже 4.4 вольта перестает моргать светодиод на выводе порта, переключаемого из прерывания по таймеру T0. Т.е. у меня даже таймер останавливается! Впечатление такое, что кварц "заело".

Сообщение отредактировал Xenia - Nov 8 2008, 12:39
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 8 2008, 12:48
Сообщение #50


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

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



Цитата(Xenia @ Nov 8 2008, 15:38) *
А у меня ниже 4.4 вольта перестает моргать светодиод на выводе порта, переключаемого из прерывания по таймеру T0. Т.е. у меня даже таймер останавливается! Впечатление такое, что кварц "заело".

1) а осцильчиком в кварц тыкнуть?
2) а если запитать схему не от USB а от регулируемого источника питания. (d+ и d- НЕ использовать). И тоже понижать напряжение. Схема тоже "остановится"?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 8 2008, 13:47
Сообщение #51


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Petka @ Nov 8 2008, 15:48) *
1) а осцильчиком в кварц тыкнуть?
2) а если запитать схему не от USB а от регулируемого источника питания. (d+ и d- НЕ использовать). И тоже понижать напряжение. Схема тоже "остановится"?


А чем питание от USB не кошерно? smile.gif Я могу запретить, а точнее - вообще не инициализировать USB-сервис, используя чип, как обычный микропроцессор, а не как USB-контроллер. Тогда от USB-порта только одно питание и останется.

Если питать от внешнего источника, то происходит тоже самое - как только питание падает до 4.40-4.35 вольта - признаки жизни пропадают.

А ткнуть осцильчиком в кварц - моя мечта smile.gif. К сожалению, я - программист, а не электронщик. Осциллографа у меня нет. Но надеюсь найти место, где мне удастся им воспользоваться.

Сообщение отредактировал Xenia - Nov 8 2008, 13:50
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 8 2008, 16:41
Сообщение #52


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

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



Цитата(Xenia @ Nov 8 2008, 16:47) *
Если питать от внешнего источника, то происходит тоже самое - как только питание падает до 4.40-4.35 вольта - признаки жизни пропадают.

А ткнуть осцильчиком в кварц - моя мечта smile.gif. К сожалению, я - программист, а не электронщик. Осциллографа у меня нет. Но надеюсь найти место, где мне удастся им воспользоваться.

а есть возможность упротить программу например до:

Код
void main(void){
  led_on();
  delay_ms(250);
  led_off();
  delay_ms(250);
}


тоже будет "стопориться" при понижении питания?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 8 2008, 22:50
Сообщение #53


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Проблема с напряжением на USB разрешилась совершенно неожиданным образом. Оказалось, что с программированием драйвера было всё в порядке, о чем свидетельствовало значение тока, которое можно посмотреть на вкладке Power устройства USB Hub в девайс-менеджере.
Проблема была ... в кабеле! Каждая жила которого имела сопротивление 2.6 ома. Итого в цепи питания (Ubus+Gnd) набиралось 2.6+2.6=5.2 ома, которые при токе 150 мА сажали на себя 5.2*0.15=0.78 вольта. В результате устройство имело для питания 5-0.78=4.22 вольта. Большего с этим кабелем получить было нельзя даже теоретически.
Кабель покупала на Буденовском рынке, был в полиэтиленовый мешочек запаян. Продавался как кабель типа A-B для USB 2.0, длина 1 метр (реально оказалось 90 см). Отчего у него такое высокое сопротивление не понимаю. Еще более удивительно, что сопротивление между внешними экранами разъемов достигает 20 ом! Мне и в голову не приходило, что такой короткий кабель может иметь такое большое сопротивление.
Кабель попал под подозрение тогда, когда я однажды забыла его отключить во время прошивки через LPT-порт. Еще не начав прошивку, а только лишь присоединив шлейф, я увидела, что мое устройство весело замигало лампочкой. Померив напряжение на МК, я обнаружила, что оно повысилось до 4.6 вольта, на которых устройство уже работало. Стала искать причину прибавки и сильно удивилась, не обнаружив на шлейфе никаких напряжений. Присоединяя все жилы шлейфа по очереди, удалось выследить, что напряжение возрастало в то момент, когда к устройству присоединяли ... землю! Вот тут-то уж померила напряжение между землями компьютера и устройства, которая оказалась как раз равна этой прибавке. В дальнейшем, выясняя ее происхождение, я неминуемо наткнулась на высокое сопротивление жил в соединительном кабеле.
Проклиная нехорошими словами злополучный кабель, а отодрала USB-кабель от принтера, с которым тот продавался в комплекте. Тот кабель был вдвое длиннее (2 метра), большего про него узнать не удалось. Принтер же определялся операционкой, как USB 1.1 девайс.
Измерив сопротивление принтерного кабеля, я с удовлетворением обнаружила, что оно составляет всего 0.2 ома на жилу, несмотря на то, что жилы в нем вдвое длиннее. Присоединив посредством этого кабеля свое устройство к компьютеру, я получила свои вожделенные 4.9-5.0 вольт, о которых мечтала.
Устройство равномерно подмигивало лампочкой, но ... компьютером не определялось. Вообще не видел компьютер моего устройства в упор. Подозреваю, что это потому, что этот кабель не был рассчитан на USB 2.0.
И вот сижу я теперь, перед этими двумя кабелями, как старуха у разбитого корыта. Один пропускает USB-сигналы, но пожирает напряжение питания, а другой пропускает напряжение питания, но пожирает USB-сигнал. На дворе воскресенье, магазины, где продают компьютерные прибамбасы, закрыты. А в понедельник куда мне идти, искать этот проклятый провод?
Может кто-нибудь в курсе, регламентируется ли где-нибудь омическое сопротивление USB-кабелей в расчете на один погонный метр? Или мне с авометром по магазинам ходить?
И еще один вопрос по теме - может ли AT90USB647/1286 работать по протоколу USB 1.1? Т.е. с меньшей скоростью, чем тот рассчитан? Если да, то что для этого нужно? В даташите на этот счет никакой информации не нашла.

Сообщение отредактировал Xenia - Nov 8 2008, 22:51
Go to the top of the page
 
+Quote Post
aesok
сообщение Nov 9 2008, 01:27
Сообщение #54


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(Xenia @ Nov 9 2008, 02:50) *
Принтер же определялся операционкой, как USB 1.1 девайс.
.....
Подозреваю, что это потому, что этот кабель не был рассчитан на USB 2.0.


USB 1.1 не синоним full(low)-speed, а USB 2.0 не синоним high-speed.

Цитата(Xenia @ Nov 9 2008, 02:50) *
Может кто-нибудь в курсе, регламентируется ли где-нибудь омическое сопротивление USB-кабелей в расчете на один погонный метр? Или мне с авометром по магазинам ходить?


Universal Serial Bus Specification; Revision 2.0
Я надеюсь она у Вас есть.

Chapter 6 Mechanical;
6.6 Cable Mechanical Configuration and Material Requirements
6.6.3 Electrical Characteristics
Page 105; Table 6-6. Conductor Resistance

Chapter 7 Electrical
7.2 Power Distribution
7.2.2 Voltage Drop Budget
Page 175; Figure 7-47. Worst-case Voltage Drop Topology (Steady State)

Цитата(Xenia @ Nov 9 2008, 02:50) *
И еще один вопрос по теме - может ли AT90USB647/1286 работать по протоколу USB 1.1? Т.е. с меньшей скоростью, чем тот рассчитан? Если да, то что для этого нужно? В даташите на этот счет никакой информации не нашла.


Первая страница даташита на AT90USB64/128:
• USB Full-speed/Low Speed Device Module with Interrupt on Transfer Completion

Анатолий.

Сообщение отредактировал aesok - Nov 9 2008, 01:34
Go to the top of the page
 
+Quote Post
SKov
сообщение Nov 9 2008, 10:01
Сообщение #55


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(Xenia @ Nov 9 2008, 01:50) *
...
Что там резистор что ли впаяли?
Если бы это было так, то при достижении порогового значения наблюдалась бы не отсечка, а линейное уменьшение выдаваемого компьютером напряжения с ростом потребляемого тока на всем диапазоне. Однако такой эффект незамечен. До 100 мА порт исправно выдает свои 5 вольт (у меня 5.05 в) и лишь после преодоления порога ток начинает уменьшаться.


Цитата
Проблема была ... в кабеле! Каждая жила которого имела сопротивление 2.6 ома. Итого в цепи питания (Ubus+Gnd) набиралось 2.6+2.6=5.2 ома, которые при токе 150 мА сажали на себя 5.2*0.15=0.78 вольта. В результате устройство имело для питания 5-0.78=4.22 вольта. Большего с этим кабелем получить было нельзя даже теоретически.

wink.gif wink.gif wink.gif
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 9 2008, 22:56
Сообщение #56


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Разбралась в причине "зависания" МК при понижении напряжения питания ниже 4.4 вольта. Причина оказалась настолько же дебильной, как и сопротивление в соединительном кабеле. Даже признаваться неловко.
Начну по-порядку.
Осциллографом кварц замерила - ниже 4.4 вольта генерация наличествует. Предположение о том, что не тянет кварц, не оправдалось. Эх, зря я 16 Мгц на 8 Мгц сменяла!
Следуя данному мне здесь совету, написала самую простейшую программку типа:
Код
main()
{
  Lamp_on();   // включаю светодиод
  for(;;);    // бесконечный цикл
}

При напряжении ниже 4.4 вольта и эта программка, как и ожидалось, не сработала - светодиод не зажегся. Однако самым интересным оказалось то, что при понижении напряжения из работающего состояния в неработающее светодиод гас! Это означало, что МК не зависает, а ресетится!
Померила напряжение на ножке RESET - так оно и есть! Напряжение всего 0.4 вольта - при таком значении МК работать не может. Нашла в интернете даташит на микросхему супервизора (MCP100T-450), который формирует сигнал RESET. Так оно и есть - у него Vtrip = 4.5 вольта, а гистерезис от 4.25 в до 4.50 в (в среднем). Как у меня напряжение падало ниже этого уровня, он и вставлял ресет.
Судя про всему, быть мне великим электронщиком, когда я своё устройство усмирю! smile.gifsmile.gifsmile.gif

Сообщение отредактировал Xenia - Nov 9 2008, 22:56
Go to the top of the page
 
+Quote Post
Petka
сообщение Nov 10 2008, 05:28
Сообщение #57


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

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



Цитата(Xenia @ Nov 10 2008, 01:56) *
Разбралась в причине "зависания" МК при понижении напряжения питания ниже 4.4 вольта. Причина оказалась настолько же простой, как и сопротивление в соединительном кабеле.
.......
Нашла в интернете даташит на микросхему супервизора (MCP100T-450), который формирует сигнал RESET. Так оно и есть - у него Vtrip = 4.5 вольта, а гистерезис от 4.25 в до 4.50 в (в среднем). Как у меня напряжение падало ниже этого уровня, он и вставлял ресет.

Так BOD был внешним? 07.gif
Одно из первых что проверяют после питания - ресет.
Цитата(Xenia @ Nov 10 2008, 01:56) *
Судя про всему, быть мне великим электронщиком, когда я своё устройство усмирю! smile.gifsmile.gifsmile.gif

Всё у Вас получится.
Go to the top of the page
 
+Quote Post
Visor
сообщение Nov 10 2008, 10:19
Сообщение #58


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 23-03-07
Пользователь №: 26 428



Цитата(Xenia @ Nov 10 2008, 06:56) *
Нашла в интернете даташит на микросхему супервизора (MCP100T-450), который формирует сигнал RESET. Так оно и есть - у него Vtrip = 4.5 вольта, а гистерезис от 4.25 в до 4.50 в (в среднем). Как у меня напряжение падало ниже этого уровня, он и вставлял ресет.

А зачем она вам? AT90USB содержит встроенный BOD, параметрируемый и замечательно работающий.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 10 2008, 10:35
Сообщение #59


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

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



Небольшой оффтоп - Xenia, а где вы берете (планируете брать) Vendor ID и Device ID? Форум по этому вопросу я просмотрел, интересует ваш способ.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Nov 10 2008, 11:41
Сообщение #60


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(777777 @ Nov 10 2008, 13:35) *
Небольшой оффтоп - Xenia, а где вы берете (планируете брать) Vendor ID и Device ID? Форум по этому вопросу я просмотрел, интересует ваш способ.


Это не оффтоп, а вопрос как раз по теме.
За основу брала "USB библиотеку под AT90USBxxx" выложенную на Сахаре OlegPowerC:
http://caxapa.ru/128010.html
Затем я ее переписала под себя, вычистив замеченные ошибки:
http://caxapa.ru/136120.html
Vendor ID и Device ID остались от Atmel'я, примеры на сайте которого скорее всего послужили OlegPowerC прототипом.

Сообщение отредактировал Xenia - Nov 10 2008, 11:42
Go to the top of the page
 
+Quote Post

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

 


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


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