Отговори на тема  [ 32 мнения ]  Отиди на страница 1, 2, 3  Следваща
PIC ìèêðîêîíòðîëåð êàòî êîíâåðòîð îò USB ïðîòîêîë â IDE 
Автор Съобщение
Мнение PIC ìèêðîêîíòðîëåð êàòî êîíâåðòîð îò USB ïðîòîêîë â IDE
Çäðàâåéòå êîëåãè!

Èíåòåðåñóâà ìå äàëè íÿêîé ìîæå äà ïðåäëîæè íÿêàêâà ñõåìà çà êîíâåðèòðàíå íà ñèãíàëèòå íà USB ñ öåë óïðàâëåíèå íà óñòðîéñòâà ñ IDE ïðîòîêîë. Àç ëè÷íî èìàì òàêàâà ñõåìà, íî å ðàçðàáîòêà ñ ìèêðîêîíòðîëåð íà CYPRESS êîåòî íå ìè ïîìàãà ìíîãî çàùîòî íå ñúì íàÿñíî ñ ìîäåëà íà ïðîãðàìíîòî îñèãóðÿâàíå íà òîçè âèäîâå ÷èïîâå. Àêî íÿêîé ìîæå äà ìè ïîìîãíå ÷àêàì èäåè...


Пет Яну 21, 2005 2:26 pm
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
За каква скорост си говорим...щото с PIC не съм сигурен, че ще има добри резултати :roll:


Пет Яну 21, 2005 2:37 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Това са специализирани чипове и аз поне мисля, че няма да е много удачно да се ползва PIC за тази цел.


Пет Яну 21, 2005 2:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Предполагам, че едно FT232 на 2Mbps и един PIC18 ще се справят...но това са си 2Мbps :x Тук май е място за XILINX.


Пет Яну 21, 2005 2:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Целта е компа да разпознае джаджата като Mass Storage Device - много ми е любопитно как ще стане това със FT232. Това е един прост конвертор USB<->RS-232 и нищо повече. Не, че и така неможе да се направи нещо, но тогава трябва и драйвери за компа да се пишат и става дълга и широка. Би могло да се емулира работата на такъв чип със един PIC с USB интерфейс, но ще е много бавно. Има няколко фирми, които правят такива специялизирани чипове - OTi например (или пък който и USB Flash да отворите - той е с подобен чип), но се съмнявам, че ще обърнат внимание за единични бройки.
Ама кажи каква ти е идеята за таково устройство, защото ако ще е единична бройка имай предвид, че има такива кутий USB 2.0<->IDE, които се продават на цени около 30$.


Пет Яну 21, 2005 4:10 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Имам един LEXAR Mass Storage Device (така го разпознава, иначе си е обикновен четец на CF карти). Не виждам проблем с FT232. Освен това FT232 може да работи в два режима. Единият е като Virtual Com Port (VCP), а другия е през D2XX.dll-а. Чрез тоя DLL си пишеш както тебе те устройва (нищо че пак си е обикновен Comport). Отделно във външния EEPROM на FTDI-то си пишеш VID,PID и user-стрингове каквито ти си искаш, така че при малко повече старание не е проблем да стане...В момента точно с това се занимавам, като си пъхна тапата в USB-то ми изписва "Found New Hardware >> Predator_MF's RS485 converter",а не "USB >> RS232 Serial Converter", следващия етап е да се инсталират драйвери не за виртуален ком порт, а каквито на мен ми трябват 8)

Разгледайте сайта на FTDI


Пет Яну 21, 2005 4:31 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Добре де - прочетoх го. Обаче това, че можеш да си смениш Vendor ID-то, Product ID-то, някакъв стринг дето ще излезне като го ръгнеш в порта и серийния му номер - не означава, че можеш да смениш целия дескриптор, за да може Windows-а да го разпознае като Mass Storage Device (да CF картите са такива, Flash паметите също, както и харддисковете дето се закачат на USB-то), а не като Simple Communication Device например. Така, че невиждам как ще стане цялата работа - т.е. то може да се направи така, но няма да може да се отвори със Windows Explorer-a например и да си прехвърляш файлове все едно ти е вътрешния диск. Или пък дори и да се напънем много - то ще стане с такава зайгравка с драйвери и Windows-а, че пак казвам - незнам каква е идеята и дали си заслужава.
Аз бих предложил друго - USBN9603-28M или пък PDIUSBD12PW - това са универсални USB контролери със шина към процесор - може да си ги вържите където искате и да си го направите каквото искате крайното устройство (освен ако не ви се ползва процесор със вграден USB контролер де). На всичкото отгоре тия чипове ги има във Футорел на цена под 10 лв. Това е само един такъв вариант - има още доста чипове подобни на тези.


Пет Яну 21, 2005 6:34 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Dimitar написа:
..т.е. то може да се направи така, но няма да може да се отвори със Windows Explorer-a например и да си прехвърляш файлове все едно ти е вътрешния диск....


Точно това исках да кажа за старанието...мисля че не е чак такава философия, трябва да се чете повечко...Иначе другия вариант , за който се сещам е да се направи програмка - терминал специално за този Mass Storage Device...

За тая работа за дескриптора не съм много сигурен, не съм наясно с API-то на Windows...програмите дето ги пиша не са на такова ниво...

Ей тука се сещам за Deamon Tools (това е подобно на VirtualCD) - имитира CD-ROM...Как по дяволите лъжат компа ми, че има CD :roll:


Пет Яну 21, 2005 6:55 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Хищнико, това дето го правиш ме интересува много. Ако не възразаваш, дай по-подробна информация как си ги направил и как мислиш да го добършваш, защото и аз искам да си направя нещо подобно.


Пет Яну 21, 2005 7:04 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Ами тая вечер съм решил да зае*а гаджета и дискотеки....утре ще кажа как (и дали) става :wink:

Жалко, че нямам нет в нас :x


Пет Яну 21, 2005 7:30 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Дескриптора се намира в устройството, а не на компа. Затова ти казвам, че няма как да стане. Защото този дискриптор, дето е записан във FT232-то неможеш да го променяш - с изключение на няколко стрингчета дето можеш да си напишеш твоето имe, та после да се кефеш, че Windows-а ти го показва като намери твоя хардуер. Дескриптора е една доста голяма структора от данни, която описва напълно устройството ти - отговаря на много строги правила, които са описани в документацията за USB-то. По него Windows-а се усеща какъв тип, подтип и т.н. е устройството, което се закача в момента. Чиповете от типа на FT232 нестават за нищо друго, освен за това за, което са предназначени точно поради причината, че неможеш да променяш целия дескриптор. Затова ви споменах тези другите - защото те са универсални USB контролери и можеш да си запишеш в тях какъвто си искаш дискриптор. Запознай се малко с единия от двата и ще видиш, че USB-то въобще не е толкова лесно, колкото изглежда. Борили сме се цяла седмица с едно устройство и то само защото са били сбъркани няколко байта от дискриптора му. Нещата стават още по залюхани ако трябва да поддържаш и Power Save и Wake-Up функции например.


Пет Яну 21, 2005 7:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Предполагам, че си прав (за мен до някъде...не ми се иска толкова лесно да приема истината :wink: ).


Значи това са ми стринговете на FT232BM фабрично програмирани...
Код:
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x0403 (Future Technology Devices International Limited)
idProduct:          0x6001
bcdDevice:          0x0400
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x01
Open Pipes:              2

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00



Правя си опит..гледам си стринговете на мишката (Logitech USB...)...тиквам ги във EEPROM-а на USB платката. След като тикна платката XP-то ми казва нов хардуер: Logitech Optical Mouse...installing drivers...естествено нищо не става..Верно, че не мога да променя целия стринг,но все пак лъжа Windows, че съм му тикнал мишка.
Ето стринговете дето съм му тикнал тогава:


Код:
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x046D (Logitech Inc.)
idProduct:          0xC00C
bcdDevice:          0x0400
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x03
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x00
Device Bus Speed:     Full
Device Address:       0x00
Open Pipes:              0


На мен ми изглежда възможно :wink:


Пет Яну 21, 2005 7:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Ако забелязваш двете са със еднакви класове - пробвай да му хакнеш дескриптора от CF картата например. Виждаш също, че изчезва инфото и за EndPoint-овете. Незнам - аз съм твърдо убеден, че без да пипаш надълбоко във Windows-a няма да направиш FT232-то стандартно Mass Storage Device. Но нищо не са знае де - може и да успеш 8), зависи колко си упорит :D .


Пет Яну 21, 2005 8:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 12, 2004 3:38 pm
Мнения: 9103
Местоположение: Chicago, IL
Мнение 
Може да погледнеш www.usb.org - там имаше програми за генериране на дескриптори и разни други полезни нещица. Ако вземеш все пак та успееш - предлагам веднага да го преместим в безумни идеи 8) .


Пет Яну 21, 2005 8:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Абе играчка е...аз си го представям простичко.
Например пише се един драйвер (т'ва е лоша думичка), който да се зарежда при откриване на USB със VID и PID избрани от мене (написани във FT232-кaтa). Ръгам FT232 във USB, инсталират се драйвери,който да се справят със съответния хардуер, например CF четец, и човъркат в Windows да му турят в Explorer-а една CF-карта като "Mass Storage Device"...Дали има някой програмист да обясни става ли така? На мен ми изглежда съвсем възможно, още повече че видях нещо подобно на Delphi, само дето не бъзика по Explorer-а :idea:


Пет Яну 21, 2005 8:24 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 32 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни