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

 
 
> C8051F320 от Sillicon Labs и USB драйвер, USB driver - Virtual COM port.
Kaplinsky
сообщение Sep 2 2005, 13:54
Сообщение #1


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

Группа: Свой
Сообщений: 97
Регистрация: 26-05-05
Из: Киев, Украина
Пользователь №: 5 426



Тема такая:
Нужно написать драйвер для USB данной микросхемы и организовать BULK Transfer и что бы с этим девайсом можно было работать как с обычным COM-портом.
100% такое кто то делал. Т.е. USB драйвер как виртуальный COM-порт.
Что бы мне заново не изобретать велосипед, подскажите где взять примерчик ?


--------------------
Смотреть в себя, зреть муки свои, зная, что сам ты виновник мук - вот истинное страдание.
Отладка / Софокл, "Аякс".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Angelborn
сообщение Feb 5 2015, 14:51
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Освежу тему (уже почти 10 лет ей) biggrin.gif

У кого-то есть раскрытая библиотека USBX_F320_1.LIB? Я так понял силаб её засекретил? Ну сейчас вроде 15ый год уже, к чему эти секреты ихние?
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 5 2015, 15:46
Сообщение #3


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Angelborn @ Feb 5 2015, 17:51) *
Освежу тему (уже почти 10 лет ей) biggrin.gif
У кого-то есть раскрытая библиотека USBX_F320_1.LIB? Я так понял силаб её засекретил? Ну сейчас вроде 15ый год уже, к чему эти секреты ихние?


Думаю, силабс держит патентец на нее. Там сидит функционал для USB-контроллера, зачем она Вам?


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Feb 5 2015, 18:25
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Цитата(alexunder @ Feb 5 2015, 17:46) *
Думаю, силабс держит патентец на нее. Там сидит функционал для USB-контроллера, зачем она Вам?


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

USB_Clock_Start()
USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US
B_PwAttributes,USB_bcdDevice);
USB_Int_Enable();

Возможно есть примеры на асме без этой мудреной библиотеки, для работы с USB.

Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 08:05
Сообщение #5


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Angelborn @ Feb 5 2015, 21:25) *
Ну это всёравно что держать патент на первый паровой автомобиль начала века )

Бывает и такое sm.gif

Цитата(Angelborn @ Feb 5 2015, 21:25) *
А зачем она мне... пишу на асме потихоньку, хотелось бы видеть набор команд для этих функций.
USB_Clock_Start()
USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US
B_PwAttributes,USB_bcdDevice);
USB_Int_Enable();
Возможно есть примеры на асме без этой мудреной библиотеки, для работы с USB.

Я все-таки не понимаю Вас или Вы не понимаете что есть USBX_F320_1.LIB. Эта "мудрёная" библиотека содержит код высокоуровневых функций типа USB_Clock_Start(), USB_Init() и пр. для работы с USB. На мой взгляд, она исполнена весьма неплохо: инициализация, отправка данных, и пр.. До проекта с F321 я много времени провёл с Cypress FX2 и должен сказать, что реализация USB у Silabs весьма неплохая хоть это и Full Speed. Зачем Вам ее исходники? Оптимизировать? Сомневаюсь, что Вы сделаете лучше чем Silabs, да и потом, Вам потребуется глубокое знание самоё USB и принципов работы подсистемы USB силабсовых МК - где это-то взять?.
Если же Вы желаете просто попрактиковаться программированию на ассемблере для 51, то есть же масса вариантов: напишите поддержку файловой системы для какой-нибудь SPI флеш на ассемблере biggrin.gif


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Angelborn
сообщение Feb 6 2015, 08:37
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 12-06-07
Пользователь №: 28 387



Цитата(alexunder @ Feb 6 2015, 10:05) *
Я все-таки не понимаю Вас или Вы не понимаете что есть USBX_F320_1.LIB. Эта "мудрёная" библиотека содержит код высокоуровневых функций типа USB_Clock_Start(), USB_Init() и пр. для работы с USB. На мой взгляд, она исполнена весьма неплохо: инициализация, отправка данных, и пр.. До проекта с F321 я много времени провёл с Cypress FX2 и должен сказать, что реализация USB у Silabs весьма неплохая хоть это и Full Speed. Зачем Вам ее исходники? Оптимизировать? Сомневаюсь, что Вы сделаете лучше чем Silabs, да и потом, Вам потребуется глубокое знание самоё USB и принципов работы подсистемы USB силабсовых МК - где это-то взять?.
Если же Вы желаете просто попрактиковаться программированию на ассемблере для 51, то есть же масса вариантов: напишите поддержку файловой системы для какой-нибудь SPI флеш на ассемблере biggrin.gif


Наверное всё-таки низкоуровневых )
Нет, вовсе не хочу там что-либо менять, понятное дело что они это всем своим штатом разрабатывали.
Просто нужно написать простую программу для отправки параметров в/из компа по шине USB. Пишу на асме. Вот как туда вставить эти подпрограммы... Что они расходуют, какие ресурсы - хотя бы понимание...
Go to the top of the page
 
+Quote Post
alexunder
сообщение Feb 6 2015, 09:49
Сообщение #7


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Angelborn @ Feb 6 2015, 11:37) *
Наверное всё-таки низкоуровневых )

я имел ввиду, что функции типа USB_Init, Block_Read и пр. являются высокоуровневыми по отношению к оперированию приемопередатчиком USB, пакетами, токенами и пр. Ну, не важно, в самомо деле.

Цитата(Angelborn @ Feb 6 2015, 11:37) *
Просто нужно написать простую программу для отправки параметров в/из компа по шине USB. Пишу на асме. Вот как туда вставить эти подпрограммы... Что они расходуют, какие ресурсы - хотя бы понимание...

Отлично! Нет ничего проще, чем сделать это с помощью обсуждаемой библиотеки! Вы работаете в Keil? Ну так подключите библиотеку к проекту. Там в пакете USBXpress должны быть и примеры для популярных сред типа Keil и IAR. И там же была информация в PDF-файле о ресурсах, требуемых для библиотеки.
Затем в Вашем ассемблерном проекте вызывайте внешние функции с помощью lcall (только не забудьте, что передача переменных идет через регистры Rx)

Код
;****************************************************************
; Объявления внешних функций из библиотеки Silabs USB_API
; Не забудьте прицепить файл USBX_F320_1.LIB к проекту!
;****************************************************************
extrn number (Flash_Size_L,Flash_Size_H)
extrn code (USB_Clock_Start)
extrn code (_USB_Init)
extrn xdata (?_USB_Init?BYTE)
extrn code (USB_Int_Enable)
extrn code (USB_Int_Disable)
extrn code (Get_Interrupt_Source)
extrn code (USB_Disable)
extrn code (_Block_Read)
extrn code (_Block_Write)


Вызов _BlockRead() Из обработчика прерывания от USB:
Код
MessageDispatcher:
; Получена структура сообщения от хоста. Диспатчим ее
; Считываем структуру из USB_Buffer
    mov      r3, #0x01
    mov      r2, #HIGH(USB_Buffer)
    mov      r1, #LOW(USB_Buffer)
    mov      r5, #0x0E
    mov      r4, #0x00
    lcall    _Block_Read




--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kaplinsky   C8051F320 от Sillicon Labs и USB драйвер   Sep 2 2005, 13:54
- - aal   CP210x по некоторым источникам - это C8051F320 зат...   Sep 3 2005, 11:53
- - Konst_777   Последующее изложение предполагает, что Вам действ...   Sep 3 2005, 17:49
- - Kaplinsky   USBExpress - это действительно очень удобно, если ...   Sep 5 2005, 08:58
|- - Charley   Цитата(Kaplinsky @ Sep 5 2005, 12:58) USB...   Nov 13 2005, 19:06
|- - Kaplinsky   Цитата(Charley @ Nov 13 2005, 21:06) По м...   Nov 17 2005, 13:15
- - Konst_777   Готового проекта для С8051F320 у меня нет, так как...   Sep 5 2005, 09:45
- - Kaplinsky   Есть вот какое соображение: Берем драйвер для CP21...   Sep 5 2005, 10:24
- - Konst_777   Лучше так: в firmware контроллера ставим VID и PID...   Sep 5 2005, 10:52
- - Konst_777   И все-таки, учитывая все вышеизложенное Вами, поче...   Sep 5 2005, 12:42
- - Kaplinsky   Аднако не соглашусь с тобой дядька. Посчитай сколь...   Sep 6 2005, 10:47
- - Konst_777   Архив содержит .EXE файлы. Проверьте на вирусы. О...   Sep 6 2005, 20:25
|- - Kaplinsky   Ну спасиб тебе дядька за AN220, AN197 - веть они ...   Sep 12 2005, 09:23
- - Konst_777   Сам писал.   Sep 13 2005, 00:21
|- - Kaplinsky   Цитата(Konst_777 @ Sep 13 2005, 02:21)Сам пис...   Sep 14 2005, 08:30
- - Konst_777   После установки SiLabs IDE, в папке C:\SiLabs...   Sep 14 2005, 15:29
- - one_man_show   Если усраивает самому написать Virtual Com Port, т...   Nov 17 2005, 13:51
- - Harbinger   Файл, прикреплённый к 10-му сообщению в этой теме.   Feb 6 2015, 07:00
|- - Angelborn   Цитата(Harbinger @ Feb 6 2015, 09:00) Фай...   Feb 6 2015, 07:10
- - Angelborn   О, спасибо. Уже начинаю понимать. В кейле конечно ...   Feb 6 2015, 11:58
|- - alexunder   Цитата(Angelborn @ Feb 6 2015, 12:58) А г...   Feb 6 2015, 12:41
||- - Angelborn   Цитата(alexunder @ Feb 6 2015, 14:41) Ниг...   Feb 6 2015, 13:13
||- - alexunder   Цитата(Angelborn @ Feb 6 2015, 14:13) Т.е...   Feb 6 2015, 14:09
|- - jcxz   Цитата(Angelborn @ Feb 6 2015, 17:58) Пол...   Feb 7 2015, 17:55
|- - alexunder   Цитата(jcxz @ Feb 7 2015, 18:55) Порядок ...   Feb 8 2015, 21:55
- - Angelborn   Всем спасибо за ответы! Сделал проект в Кейле,...   Feb 10 2015, 07:42
- - pvasil404   Ребята, помогите написать\подобрать драйвер д...   Jul 11 2016, 20:57


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

 


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


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