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

 
 
> AT90USB1286, виртуальный COM-порт
Visor
сообщение Jan 11 2008, 07:44
Сообщение #1


Местный
***

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



Попробывал реализовать виртуальный COM-порт на AT90USB1286. За основу взял пример от Атмел (at90usb128-demo-cdc-1_0_3.zip). Подправил частоту (16МГц) и тупо загрузил, не пошло! Виндовс подключение устройства определяет, но тип устройства нет.
Может кто-то работал с этим примером, какие были проблемы (если были)? unsure.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Visor
сообщение Feb 2 2008, 16:11
Сообщение #2


Местный
***

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



Чип перестал работать, просто в один прекрасный день не завёлся и всё. Через ISP не отвечает. Проверил, на кварце нет генерации (16МГц). Заметил, что при отключении питания генерация на мгновение появляется при спаде питания ниже BOD. Что бы это значило?
Go to the top of the page
 
+Quote Post
Xenia
сообщение Jan 20 2009, 13:53
Сообщение #3


Гуру
******

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



У меня появился новый животрепещущий вопрос по теме: как можно со стороны МК попросить хост сделать паузу в посылке данных? Те данные, которые уже пришли, МК готов безоговорочно принять, но хочет попросить хост, чтобы оставшиеся данные он пока не присылал, попридержав их у себя до тех пор, пока МК не будет к этому готов.

Рассмотрим конкретный пример, чтобы моя задача не казалась слишком абстрактной. Положим у нас имеется устройство не с USB-портом, а с обычным COM-портом (RS-232), которое работает "периодически": сначала набирает к себе в буфер данные, а затем что-то со всеми этими принятыми данными начинает делать, из-за чего нуждается в паузе, пока это дело не будет сделано. Сейчас не суть важно, что это за дело - может быть отправляет эти данные пакетом куда-то дальше, или записывет на диск, или отправляет по e-mail, - только приходится ждать, пока принятые данные не будут утилизированы, и лишь после этого устройство снова будет готово к приему новой порции данных. Причем подразумевается, что устройство не имеет в своем распоряжении столько памяти, чтобы сохранить весь поток данных, пришедшых во время исполнения дела.

Если это RS-232, то такая задача решается исключительно просто - данные передают с хэндшейкингом, используя линию DSR, как признак готовности к приёму данных. Тут устройство попросту устанавливает отрицательный уровень DSR, что является сигналом для хоста преостановить передачу данных. Когда устройство закончит "переваривать" принятые данные, оно снова установит на линии DSR положительную полярность, что побудит хост продолжать передачу с момента вынужденной остановки.

Но вот мы присоединили это устройство не к родному COM-порту компьютера, а через USB/COM-конвертор, выполненный на нашем МК. И вот видит наш МК, что устройство запросило паузу линией DSR, - что тогда ему делать? Собственная память у него есть, но ее не так много, чтобы сохранить все то, что отсылать устройству ему запрещено. Кроме того, он не знает точно, как долго продлится эта пауза. Единственным разумным выходом из этой ситуации было бы, в свою очередь, поступить аналогичным образом - тоже попросить USB-хост об отсрочке передачи.

Возможно ли такое в принципе, а если да, то каким образом делается? Ведь наш МК является ведомым, зависящим от посылок со стороны хоста. Как ему сигнализировать о том, что у него будет временный напряг с приемом?

DETACH снять я не могу - тогда USB-хост его попросту потеряет. FREEZE сделать? Но поймет ли хост? Что положено в этом случае делать?

Сообщение отредактировал Xenia - Jan 20 2009, 14:01
Go to the top of the page
 
+Quote Post
aesok
сообщение Jan 20 2009, 15:01
Сообщение #4


Знающий
****

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



Цитата(Xenia @ Jan 20 2009, 16:53) *
Возможно ли такое в принципе, а если да, то каким образом делается? Ведь наш МК является ведомым, зависящим от посылок со стороны хоста. Как ему сигнализировать о том, что у него будет временный напряг с приемом?


Я не знаю есть ли какой специальный механизм для этотго в CDC. Для Bulk ендпоинт это реализуеться посылкой NAK в ответ на OUT пакет.

Цитата
8.5.2 Bulk Transactions
....
When the host is ready to transmit bulk data, it first issues an OUT token packet followed by a data packet
(or PING special token packet, see Section 8.5.1). If the data is received without error by the function, it
will return one of three (or four including NYET, for a device operating at high-speed) handshakes:
• ACK indicates that the data packet was received without errors and informs the host that it may send
the next packet in the sequence.
• NAK indicates that the data was received without error but that the host should resend the data because
the function was in a temporary condition preventing it from accepting the data (e.g., buffer full).

• If the endpoint was halted, STALL is returned to indicate that the host should not retry the transmission
because there is an error condition on the function.


Анатолий.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Visor   AT90USB1286, виртуальный COM-порт   Jan 11 2008, 07:44
- - GDI   Вы бы сам файл прикрепили, а то тут частенько прос...   Jan 11 2008, 08:07
- - prottoss   Цитата(Visor @ Jan 11 2008, 14:44) Попроб...   Jan 11 2008, 10:50
|- - Visor   Цитата(prottoss @ Jan 11 2008, 17:50) Обы...   Jan 11 2008, 15:28
|- - prottoss   Цитата(Visor @ Jan 11 2008, 22:28) Спасиб...   Jan 11 2008, 15:45
|- - Visor   Цитата(prottoss @ Jan 11 2008, 22:45) В т...   Jan 11 2008, 15:55
|- - prottoss   Цитата(Visor @ Jan 11 2008, 22:55) Внутри...   Jan 11 2008, 16:00
|- - Visor   Цитата(prottoss @ Jan 11 2008, 23:00) Я ж...   Jan 11 2008, 16:12
- - Visor   Нашел ошибку в коде примера, неверный PLL clock Pr...   Jan 12 2008, 07:12
- - TinyQ   а при установке драйвера at90usbxxx_cdc.inf указыв...   Jan 13 2008, 09:13
|- - Visor   Цитата(TinyQ @ Jan 13 2008, 16:13) а при ...   Jan 13 2008, 16:42
- - TinyQ   а VID_03EB&PID_2018 совпадают у меня этот прим...   Jan 13 2008, 23:01
|- - Visor   Цитата(TinyQ @ Jan 14 2008, 06:01) а VID_...   Jan 14 2008, 09:26
- - TinyQ   Может проблема по плате?   Jan 14 2008, 23:53
- - Xenia   Цитата(Visor @ Jan 12 2008, 11:12) Нашел ...   Apr 1 2008, 13:30
|- - Visor   Цитата(Xenia @ Apr 1 2008, 21:30) Укажите...   Apr 2 2008, 04:38
- - Xenia   Цитата(Visor @ Apr 2 2008, 08:38) Ошибка ...   Apr 2 2008, 12:08
|- - Visor   Цитата(Xenia @ Apr 2 2008, 20:08) А у вас...   Apr 2 2008, 14:15
|- - Xenia   Цитата(Visor @ Apr 2 2008, 18:15) Я работ...   Apr 2 2008, 22:08
|- - Visor   Цитата(Xenia @ Apr 3 2008, 06:08) Но ведь...   Apr 3 2008, 02:55
|- - Xenia   Цитата(Visor @ Apr 3 2008, 06:55) Нет, у ...   Apr 3 2008, 08:57
|- - Xenia   На WinXP работает, а на Vista не загружается драйв...   Apr 4 2008, 11:13
|- - Visor   Цитата(Xenia @ Apr 4 2008, 19:13) На WinX...   Apr 26 2008, 17:09
||- - Xenia   Цитата(Visor @ Apr 26 2008, 21:09) Вы реш...   May 14 2008, 04:08
||- - Visor   Цитата(Xenia @ May 14 2008, 12:08) INF-фа...   May 17 2008, 18:39
|- - Visor   Цитата(Xenia @ Apr 4 2008, 18:13) На WinX...   Nov 2 2009, 12:39
|- - manul78   Цитата(Visor @ Nov 2 2009, 15:39) Ну вот,...   Nov 7 2009, 12:42
|- - Visor   Цитата(manul78 @ Nov 7 2009, 19:42) Испол...   Nov 8 2009, 03:13
- - Visor   Обнаружилось следующее: Когда размер принимаемого ...   Jul 8 2008, 09:57
|- - prottoss   Цитата(Visor @ Jul 8 2008, 17:57) Обнаруж...   Jul 8 2008, 10:07
|- - galjoen   Цитата(prottoss @ Jul 8 2008, 14:07) Посл...   Jul 8 2008, 14:16
|- - prottoss   Цитата(galjoen @ Jul 8 2008, 22:16) Я не...   Jul 8 2008, 14:30
|- - Visor   prottoss спасибо большое! Помогло! Со стор...   Jul 26 2008, 15:41
|- - Xenia   Два вопроса про питание AT90USB647 от порта 1. US...   Nov 5 2008, 09:41
|- - SKov   Цитата(Xenia @ Nov 5 2008, 12:41) Два воп...   Nov 5 2008, 14:26
|- - Xenia   Цитата(SKov @ Nov 5 2008, 18:26) Говорят,...   Nov 5 2008, 23:35
|- - SKov   Цитата(Xenia @ Nov 6 2008, 02:35) Материн...   Nov 6 2008, 00:21
|- - Xenia   Цитата(SKov @ Nov 6 2008, 04:21) Про мате...   Nov 6 2008, 09:32
|- - SKov   Цитата(Xenia @ Nov 6 2008, 12:32) Там при...   Nov 6 2008, 12:02
- - TinyQ   to Xenia уточните вы пытаетесь подключать свое ус...   Nov 7 2008, 09:07
|- - Xenia   Цитата(SKov @ Nov 6 2008, 16:02) Сомневаю...   Nov 7 2008, 11:36
|- - SKov   Цитата(Xenia @ Nov 7 2008, 14:36) Я вроде...   Nov 7 2008, 12:25
- - ARV   извините, что вмешиваюсь... мне казалось, что USB-...   Nov 7 2008, 12:37
|- - Xenia   Цитата(ARV @ Nov 7 2008, 15:37) мне казал...   Nov 7 2008, 12:55
- - GDI   ЦитатаС первым вопросом про питание я кажется сама...   Nov 7 2008, 14:17
- - Dj.Shadow   Xenia, а еще можно DC\DC подключить через мел...   Nov 7 2008, 18:16
|- - Xenia   Заменила кварц 16 МГц на 8 МГц и ... ничего не изм...   Nov 7 2008, 21:40
|- - Petka   Цитата(Xenia @ Nov 8 2008, 00:40) Заменил...   Nov 8 2008, 08:13
|- - Xenia   Цитата(Petka @ Nov 8 2008, 11:13) смотрю ...   Nov 8 2008, 10:16
|- - Petka   Цитата(Xenia @ Nov 8 2008, 13:16) Судя по...   Nov 8 2008, 11:24
|- - Xenia   Цитата(Petka @ Nov 8 2008, 14:24) Как вы ...   Nov 8 2008, 12:38
|- - Petka   Цитата(Xenia @ Nov 8 2008, 15:38) А у мен...   Nov 8 2008, 12:48
|- - Xenia   Цитата(Petka @ Nov 8 2008, 15:48) 1) а ос...   Nov 8 2008, 13:47
|- - Petka   Цитата(Xenia @ Nov 8 2008, 16:47) Если пи...   Nov 8 2008, 16:41
- - Xenia   Проблема с напряжением на USB разрешилась совершен...   Nov 8 2008, 22:50
|- - aesok   Цитата(Xenia @ Nov 9 2008, 02:50) Принтер...   Nov 9 2008, 01:27
|- - SKov   Цитата(Xenia @ Nov 9 2008, 01:50) ... Что...   Nov 9 2008, 10:01
- - Xenia   Разбралась в причине "зависания" МК при ...   Nov 9 2008, 22:56
|- - Petka   Цитата(Xenia @ Nov 10 2008, 01:56) Разбра...   Nov 10 2008, 05:28
|- - Visor   Цитата(Xenia @ Nov 10 2008, 06:56) Нашла ...   Nov 10 2008, 10:19
|- - 777777   Небольшой оффтоп - Xenia, а где вы берете (планиру...   Nov 10 2008, 10:35
|- - Xenia   Цитата(777777 @ Nov 10 2008, 13:35) Небол...   Nov 10 2008, 11:41
|- - SKov   Хорошая ссылка. http://pdfserv.maxim-ic.com/en/an/...   Nov 11 2008, 11:44
|- - Xenia   Цитата(SKov @ Nov 11 2008, 14:44) Хорошая...   Nov 11 2008, 12:45
- - Xenia   Народ! Кто-нибудь из вас пробовал писать проши...   Nov 21 2008, 11:23
|- - aesok   Цитата(Xenia @ Nov 21 2008, 14:23) А то е...   Nov 21 2008, 12:18
||- - Xenia   Цитата(aesok @ Nov 21 2008, 15:18) Если В...   Nov 21 2008, 13:28
||- - aesok   Цитата(Xenia @ Nov 21 2008, 16:28) Здесь ...   Nov 21 2008, 14:56
|- - Visor   Цитата(Xenia @ Nov 21 2008, 19:23) Народ...   Nov 21 2008, 14:42
||- - Xenia   Цитата(Visor @ Nov 21 2008, 17:42) Я на б...   Nov 21 2008, 14:55
||- - Xenia   Цитата(Visor @ Nov 21 2008, 17:42) Кодdo ...   Nov 21 2008, 15:01
||- - Visor   Цитата(Xenia @ Nov 21 2008, 23:01) То, чт...   Nov 21 2008, 15:08
||- - Xenia   Цитата(Visor @ Nov 21 2008, 18:08) Ошибае...   Nov 21 2008, 15:14
||- - Visor   Цитата(Xenia @ Nov 21 2008, 23:14) Мда......   Nov 21 2008, 15:54
||- - aesok   В даташите же ясно написанно и нарисованно, для IN...   Nov 21 2008, 15:59
||- - Xenia   Цитата(aesok @ Nov 21 2008, 18:59) TXINI ...   Nov 21 2008, 17:30
|- - Dx!   Цитата(Xenia @ Nov 21 2008, 15:23) Народ...   Apr 29 2009, 15:21
- - tAmega   Механизм есть. Он описан в спецификации CDC, там ...   Jan 20 2009, 15:02
|- - Xenia   Цитата(tAmega @ Jan 20 2009, 18:02) Механ...   Jan 20 2009, 16:16
|- - aaarrr   Цитата(Xenia @ Jan 20 2009, 19:16) Там то...   Jan 20 2009, 16:37
|- - aesok   Цитата(Xenia @ Jan 20 2009, 19:16) ACK...   Jan 20 2009, 17:05
- - Rst7   ЦитатаНикаких посылок оттуда я посылать не могу, т...   Jan 20 2009, 16:32
- - Xenia   Цитата(Rst7 @ Jan 20 2009, 19:32) И не на...   Jan 20 2009, 16:46


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

 


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


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