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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> AT91SAM7 + USB
aaarrr
сообщение Aug 10 2009, 17:27
Сообщение #16


Гуру
******

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



Цитата(piz2383 @ Aug 10 2009, 20:21) *
А FTDI какой *.sys драйвер использует?
И FTDI-айную заюзать можно?

Свой собственный. Заюзать можно, а смысл?
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 10 2009, 17:37
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Да мне главное что бы надежно работало.,.. Попробую usbser.sys
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 10 2009, 17:45
Сообщение #18


Гуру
******

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



usbser в XP работает надежно. Есть, конечно, и некоторые косяки - сигнализация не вся поддерживается и USB нельзя передергивать, пока порт открыт.
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 12 2009, 20:01
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Все вроде работает. Но уточню несколько нюансов.
На голой винде при подключении девайса, первого подключения в трее выскакивает надпись "atm6124.Sys ATMEL AT91xxxxx Test Board"
Как-то хочется что бы вскакивало что-то свое, как это сделать не подскажите?

И ещё скажите правильно ли я описал INF-файл для работы с usbser.sys?

Код
[Version]                                                  
Signature="$Windows NT$"                                  
Class=Ports                                                    
ClassGuid={36FC9E60-C465-11CF-8056-444553540000}      
Provider=%ATMEL%                                            
DriverVer=04/16/2008,1.0.0.0                                

[DestinationDirs]                                        
DefaultDestDir=12      

[Manufacturer]
%ATMEL%=AtmelMfg
                                        
[AtmelMfg]
%USBtoSerialConverter%=USBtoSer.Install,USB\VID_03EB&PID_6124  

[USBtoSer.Install]
CopyFiles=FakeModemCopyFileSection
AddReg=USBtoSer.AddReg

[USBtoSer.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[USBtoSer.Install.Services]
AddService=usbser,0x00000002,USBtoSer.AddService

[USBtoSer.AddService]
DisplayName=%USBSer%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys

[Strings]
ATMEL="My Corp."
USBtoSerialConverter="SUPER-PUPER BOMBA"
USBSer="USB Serial Driver"
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 12 2009, 20:25
Сообщение #20


Гуру
******

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



Цитата(piz2383 @ Aug 13 2009, 00:01) *
На голой винде при подключении девайса, первого подключения в трее выскакивает надпись "atm6124.Sys ATMEL AT91xxxxx Test Board"
Как-то хочется что бы вскакивало что-то свое, как это сделать не подскажите?

Пропишите индексы строк в device descriptor'е и сами строки.
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 13 2009, 11:56
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Обьясните плз что такое индексы строк, а то я не понял со стандарта? (вродекак написано: Index of string descriptor describing product)
Что в цнлом нужно прописыват в поле imanufacturer, iproduct и iserialnumber?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 13 2009, 12:28
Сообщение #22


Гуру
******

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



Цитата(piz2383 @ Aug 13 2009, 15:56) *
Обьясните плз что такое индексы строк, а то я не понял со стандарта? (вродекак написано: Index of string descriptor describing product)
Что в цнлом нужно прописыват в поле imanufacturer, iproduct и iserialnumber?

В этих полях нужно записать номера соответствующих строк, они будут использованы хостом при запросах GET_DESCRIPTOR - STRING.
Номера строк должны быть ненулевыми, нулевой дескриптор используется для передачи списка LANGID.
Код
DEVICE DESCRIPTOR:
    0x01,                        // Manufacturer string index
    0x02,                        // Product string index
    0x00,                        // Serial number string index (unused)

unsigned char StringDscr0[] =
{
    0x04,
    STRING_DSCR,
    0x09,                        // LANGID 0x0409
    0x04                        // English (United States)
};

unsigned char StringDscr1[] =
{
    0x12,
    STRING_DSCR,
    'A', 0x00,
    'B', 0x00,
    'C', 0x00,
    ' ', 0x00,
    'C', 0x00,
    'o', 0x00,
    'r', 0x00,
    'p', 0x00
};

unsigned char StringDscr2[] =
{
    0x14,
    STRING_DSCR,
    'M', 0x00,
    'y', 0x00,
    ' ', 0x00,
    'd', 0x00,
    'e', 0x00,
    'v', 0x00,
    'i', 0x00,
    'c', 0x00,
    'e', 0x00
};
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 13 2009, 19:40
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Меня как раз смутила надпись "ненулевыми" когда я читал спецификацию. В общем назначить можно любой.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 14 2009, 19:21
Сообщение #24


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(aaarrr @ Aug 10 2009, 21:45) *
usbser в XP работает надежно. Есть, конечно, и некоторые косяки - сигнализация не вся поддерживается и USB нельзя передергивать, пока порт открыт.
А можно поподробнее про момент передергивания при открытом порте ? В чем проблема конкретно ?

Дело в том что я тестировал на передергивание при передаче, и у меня ни разу не было проблем с этим.
То есть неперерывные запрос/ответ(протокол типа модбас) ну и передергиваю кабель много раз,
связь восстанавливается и ничего не падает.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 14 2009, 20:36
Сообщение #25


Гуру
******

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



Цитата(singlskv @ Aug 14 2009, 23:21) *
А можно поподробнее про момент передергивания при открытом порте ? В чем проблема конкретно ?

Если выдернуть кабель, пока открыт порт, то автоматом ничего не восстанавливается (по крайней мере на XP SP2). Если порт
закрыть, то проблем нет. На W2K было еще хуже - устройство отваливалось до следующей перезагрузки.
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 15 2009, 14:29
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



А подскажите как определить что хост отключился от шины? Линию UDP_CNX подключил как в даташите, но она почему-то всегда в единице. Внезависимости от того подключен хост или нет. Включен пул-ап или нет. Не подскажите что с этой линией может быть не так?
И можно как-то с помощью самого контроллера UDP определить подключен хост или нет?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 15 2009, 20:26
Сообщение #27


Гуру
******

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



Цитата(piz2383 @ Aug 15 2009, 18:29) *
А подскажите как определить что хост отключился от шины?

Что значит отключился, шнурок физически оторвали?

Цитата(piz2383 @ Aug 15 2009, 18:29) *
Линию UDP_CNX подключил как в даташите, но она почему-то всегда в единице. Внезависимости от того подключен хост или нет. Включен пул-ап или нет. Не подскажите что с этой линией может быть не так?

Если речь идет о линии, попключенной к VBUS через делитель, то с ней ничего не может быть не так. Разве только pull-up внутренний
может перетянуть ее в единицу, если его не отключить. Других вариантов я не вижу.

Цитата(piz2383 @ Aug 15 2009, 18:29) *
И можно как-то с помощью самого контроллера UDP определить подключен хост или нет?

Можно следить за RXSUSP или вручную мониторить UDP_ FRM_NUM.
Go to the top of the page
 
+Quote Post
piz2383
сообщение Aug 15 2009, 22:22
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 26-06-09
Пользователь №: 50 675



Цитата(aaarrr @ Aug 15 2009, 23:26) *
Что значит отключился, шнурок физически оторвали?
Точнее сказать отсоединили. В общем когда кабелем соединяется ПК с устройством, то началом соединения можно считать приход пакета SET CONFIGURATION. А вот когда пользователь просто взял и отсоединил кабель. Вот про это я спрашивал smile.gif))
Цитата(aaarrr @ Aug 15 2009, 23:26) *
Если речь идет о линии, попключенной к VBUS через делитель, то с ней ничего не может быть не так. Разве только pull-up внутренний
может перетянуть ее в единицу, если его не отключить. Других вариантов я не вижу.
aaarrr, я ваш вечный фанат. Да, именно отключив пул-апя добился того что при не подключенном кабеле у меня 0 на этой линии, а при подключенном единица smile.gif Спасибо.
Цитата(aaarrr @ Aug 15 2009, 23:26) *
Можно следить за RXSUSP или вручную мониторить UDP_ FRM_NUM.
Да будущее запомню, но раз уж с той линией разобрались, то не понадобиться сейчас.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 16 2009, 00:21
Сообщение #29


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(aaarrr @ Aug 15 2009, 00:36) *
Если выдернуть кабель, пока открыт порт, то автоматом ничего не восстанавливается (по крайней мере на XP SP2). Если порт
закрыть, то проблем нет. На W2K было еще хуже - устройство отваливалось до следующей перезагрузки.
Я думал что Вы имеете в виду что ломается что-то более серьезное, а так да,
переоткрытие порта решает вопрос переподсоединения.


Цитата(aaarrr @ Aug 16 2009, 00:26) *
Разве только pull-up внутренний
О, эту знатную фичу я тоже ловил, причем вся мерзость ситуации в том что на одном контроллере
пулап дотягивает до 1 а на другом таком же нет.
Go to the top of the page
 
+Quote Post
head_sk
сообщение Aug 19 2009, 08:18
Сообщение #30


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

Группа: Участник
Сообщений: 80
Регистрация: 3-07-09
Пользователь №: 50 897



Прошу прощения, если невнимательно шустрил по форуму. Использую драйвер usbser.sys. Как-то нехочется пользователя заставлять искать нужно ком-порт к примеру (COM4), пусть даже и просто выбрать из списка. Не подскажите как программными средствами в винде определить что этот виртуальный ком-порт открыт именно этим устройством?
Go to the top of the page
 
+Quote Post

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

 


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


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