Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.11.2013, 12:49
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Скорость HID
Не знаю куда за написать данный вопрос..... Иметься программа написанная под STM32F4... Создающая HID USB устройство .........
Так же МК принимает данные со скоростью 230400 бит/сек. UART Настроен по прерыванию.... Вследствие этого в прерывание UART программа пишет в буфер. размер его 32 байта. В основном теле программы опрашивается буфер на наличие информации и отправляются данные на компьютер...
Но по USB отправляются пакетом длинной 8 байт..... Первый служебный, второй информация из буфера..... USB не успевает за скоростью UART и буфер переполняется.... Какой посоветуете выход..
1. Отсылать пакеты по USB длинной 2 байта....
2. Отсылать пакеты по USB длинной 64 байта, увеличить размер буфера, и забирать из него 64 байта ....
3 переписать программу под устройство FULL Speed.
Первый раз сталкиваюсь со скоростными ограничениями, ну наверно кроме паузы при посылке по UART... Так что пока не сильно компетентен в данном вопросе.
Заранее спасибо.
|
|
|
|
01.11.2013, 12:56
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Скорость HID
Во-первых, почему отсылаете по 8 байт, когда можно по 64? И какой у вас pooling интервал? 1мс? Вот и считайте - 64х1000 = 64кб/с.
Грешно сказать, но задача для PIC18, а не для Cortex.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
01.11.2013, 13:40
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: Скорость HID
Сообщение от Easyrider83
|
Во-первых, почему отсылаете по 8 байт, когда можно по 64? И какой у вас pooling интервал? 1мс? Вот и считайте - 64х1000 = 64кб/с.
Грешно сказать, но задача для PIC18, а не для Cortex.
|
Согласен, но PIC не знаю, АВРКА справилась бы.. Но это не серийное устройство..... Здесь все равно на чем делать... И за одно малое знакомство с STM....
Так нужно уменьшить pooling интервал ну и считать, а до скольких уменьшать можно ???.....
Все разобрался всем спасибо.
Последний раз редактировалось bass1981; 01.11.2013 в 14:54.
|
|
|
|
01.11.2013, 15:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: Скорость HID
Сообщение от Easyrider83
|
задача для PIC18, а не для Cortex
|
не-е, PIC18 сейчас неактуальны, регистров маловато
|
|
|
|
01.11.2013, 16:03
|
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
Re: Скорость HID
Сообщение от bass1981
|
Согласен, но PIC не знаю, АВРКА справилась бы.. Но это не серийное устройство..... Здесь все равно на чем делать... И за одно малое знакомство с STM....
Так нужно уменьшить pooling интервал ну и считать, а до скольких уменьшать можно ???.....
Все разобрался всем спасибо.
|
не нужно ничего уменьшать, тем более, что не получится. 64кб/сек это ограничение HID, больше с него не выжать, он не для того предназначен.
Делайте устройство CDC (USB-UART) класса если нужно, чтобы он виделся в системе как СОМ порт, и лень писать свой драйвер. Можно и LibUSB применить.
__________________
Если ты читаешь это - значит тебе нечем заняться...
|
|
|
|
01.11.2013, 16:20
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: Скорость HID
Сообщение от vdlab
|
не нужно ничего уменьшать, тем более, что не получится. 64кб/сек это ограничение HID, больше с него не выжать, он не для того предназначен.
Делайте устройство CDC (USB-UART) класса если нужно, чтобы он виделся в системе как СОМ порт, и лень писать свой драйвер. Можно и LibUSB применить.
|
Да хватит скрости....
pooling стоял 16мс....
230400 бит/сек при старт бите и стоп бите, проверки четности. примерно на 10 поделить... Получиться 23040 ~ 23кб/сек......
Думаю сделать так... Увеличить размер буфера до 512.... И если буфер забит больше чем на 64... То отправлять 64, если меньше то 32,16,8,1.
Сморегуляция получиться, ну и отправлять пакетами по 64 .
|
|
|
|
01.11.2013, 16:24
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: Скорость HID
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Android HID
|
Impartial |
Микроконтроллеры, АЦП, память и т.д |
3 |
13.07.2013 00:51 |
VB.NET USB HID
|
Easyrider83 |
Микроконтроллеры, АЦП, память и т.д |
28 |
27.09.2011 12:43 |
Помогите разобраться USB Device - HID - Joystick
|
redb |
Микроконтроллеры, АЦП, память и т.д |
6 |
11.03.2010 14:20 |
USB HID девайс на 18F13K50 не хочет работать.
|
DK |
Микроконтроллеры, АЦП, память и т.д |
17 |
26.02.2010 18:31 |
USB HID PIC18F4550 нужна помощь!
|
tower2007 |
Микроконтроллеры, АЦП, память и т.д |
0 |
17.04.2008 04:33 |
Часовой пояс GMT +4, время: 02:01.
|
|