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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> USB + mass storage on stm32f107vc
batisto4ka
сообщение Jun 26 2012, 11:33
Сообщение #1


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Помогите разобраться с usb. Имеется отладочная плата sk-mstm32f107. На ней есть 2 разъема USB. B для питания платы. А хочу использовтаь для связи контроллера с обычной флэшкой, например для загрузки бута. Вобщем, задача такая, подключить флэшку к плате и прочитать с нее файл. Но возникло куча вопросов:
1. Я так понимаю, что флэшка может быть только слэйвом? Значит необходимо конфигурировать юсб на плате как мастер (хост)?
2. Как настроить юсб?
3. Как настроить ноги МК??
4. Как настроить прерывания?
5. В каком виде приход кадр и где его можно прочитать? Как узнать, пришел ли кадр?
6. Как мой хост узнает, что к нему подключена флэшка?

Ну и далее, вопросы, касающиеся того, как можно прочитать файл с флэшки, как можно найти нужный файл и т.д.

Если кто-то может, разложить по полочкам, пжлст, обьясните новичку. Читаю от википедии до даташита, туговато идет. Буду благодарна за примеры.

Сообщение отредактировал batisto4ka - Jun 26 2012, 11:37
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jun 26 2012, 11:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(batisto4ka @ Jun 26 2012, 14:33) *

1. Да.
2 ... 6 и все прочее. Ищите примеры проектов для USB (и не только) на ваш МК (на сайте ST и на диске, который шел с отладочной платой), читайте спецификацию USB, а также книжку Гука "Шины PCI, USB и FireWire" и книгу Jan Axelson про Mass-Storage, после чего пробуйте разобраться в примерах.

Если ранее не работали с МК - разбирайтесь сначала в простейших вещах, потом беритесь за USB (тем более - за хост (!!!!!)). Сразу скажу, что задача очень сложная, так что на быстрый результат не надейтесь ...
P.S. Альтернатива - купить отладочную плату с Linux, там все необходимое уже написано. Останется только разобраться, как это применить в своем проекте. Возможно, этот путь окажется для вас подходящим. Естественно, на вашем МК Linux не запустится, посему плату нужно покупать на другом МК. Например, на ARM9:
http://www.starterkit.ru

Сообщение отредактировал IgorKossak - Jun 26 2012, 14:25
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jun 26 2012, 12:07
Сообщение #3


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(kovigor @ Jun 26 2012, 14:58) *
1. Да.
2 ... 6 и все прочее. Ищите примеры проектов для USB (и не только) на ваш МК (на сайте ST и на диске, который шел с отладочной платой), читайте спецификацию USB, а также книжку Гука "Шины PCI, USB и FireWire" и книгу Jan Axelson про Mass-Storage, после чего пробуйте разобраться в примерах.

Если ранее не работали с МК - разбирайтесь сначала в простейших вещах, потом беритесь за USB (тем более - за хост (!!!!!)). Сразу скажу, что задача очень сложная, так что на быстрый результат не надейтесь ...

С МК работаю года 3. Работала с простыми интерфейсами USART,CAN,SPI. Вот добралась до USB.
Go to the top of the page
 
+Quote Post
Mareng
сообщение Jun 26 2012, 13:07
Сообщение #4


Участник
*

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



ST все уже сделал за нас.
Достаточно скачать stm32_f105-07_f2xx_usb-host-device_lib.zip и внимательно изучить.
Там есть примеры, в т.ч. и host
Go to the top of the page
 
+Quote Post
brag
сообщение Jun 27 2012, 10:54
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Мой совет - начните с usb device. хост гораздо сложнее и без опыта реализации девайса хост не сделаете.
загляните в соседнюю ветку про аналогичную задачу, там я еще немного писал про усб.
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 2 2012, 07:04
Сообщение #6


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(brag @ Jun 27 2012, 13:54) *
Мой совет - начните с usb device. хост гораздо сложнее и без опыта реализации девайса хост не сделаете.
загляните в соседнюю ветку про аналогичную задачу, там я еще немного писал про усб.

Прошу помочь примером. Я не прошу скидывать все описание юсб для хоста.мне просто нужно понять хотя бы настройку в данный режим стшки.
1. Настройка тактового генератора для юсб.
2. Настройка GPIO.
3. Настройка перрываний.
Хотя бы чтобы можно было к плате sk-mstm32f107 подсключить флэшку и просто послать запрос и получить ответ, что за устройство подключено.

Вот в примерах ничего не понятно. Наример настройка портов ввода/вывода:
Код
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

1.Что это за GPIO_OType,GPIO_PuPd. В стандартной библиотеке периферии версии 3,5 этих полей структуры инициализации портов ввода/вывода нет.
2.Далее вопрос по поводу выводов. Непонятно, как настраивать питание шины юсб. линии питания должны быть поднянуты к 5 вольтам или устанавливаться на ногах стшки? Питает хост или дэвайс?
3.Как обратиться к буфферу памяти, куда считываются данные?
4.По каким признакам можно настроить прерывания?
5. Как определить, подключено ли устройство к шине или нет? По какому-то прерыванию? Или периодически как-то опрашивать шину, посілая куакую-то команду и ожидая ответа?

Сообщение отредактировал batisto4ka - Jul 2 2012, 07:22
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 2 2012, 07:58
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(batisto4ka @ Jul 2 2012, 10:04) *
1.Что это за GPIO_OType,GPIO_PuPd. В стандартной библиотеке периферии версии 3,5 этих полей структуры инициализации портов ввода/вывода нет.
2.Далее вопрос по поводу выводов. Непонятно, как настраивать питание шины юсб. линии питания должны быть поднянуты к 5 вольтам или устанавливаться на ногах стшки? Питает хост или дэвайс?
3.Как обратиться к буфферу памяти, куда считываются данные?
4.По каким признакам можно настроить прерывания?
5. Как определить, подключено ли устройство к шине или нет? По какому-то прерыванию? Или периодически как-то опрашивать шину, посілая куакую-то команду и ожидая ответа?


1. Просмотрите .h - файлы, имеющиеся в скачанном вами архиве, а также .c - исходники на предмет обнаружения этих имен.
2. Придется глубоко вникать в исходники и в документацию на ваш МК. Другого пути нет. Кстати, почему вы именно ST выбрали ? Неужели не было ничего попроще ?
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 2 2012, 08:20
Сообщение #8


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(kovigor @ Jul 2 2012, 10:58) *
1. Просмотрите .h - файлы, имеющиеся в скачанном вами архиве, а также .c - исходники на предмет обнаружения этих имен.
2. Придется глубоко вникать в исходники и в документацию на ваш МК. Другого пути нет. Кстати, почему вы именно ST выбрали ? Неужели не было ничего попроще ?

1.Пример компилируется с ошибками
2. Нужно разобраться с юсб только для stm32f107 и проверить на отладочной плате.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Jul 2 2012, 08:42
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(batisto4ka @ Jul 2 2012, 11:20) *
1.Пример компилируется с ошибками


А другие примеры тоже компилируются с ошибками ? И вообще, неплохо бы увидеть сообщения об ошибках ...
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jul 2 2012, 09:36
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



GPIO_OType, GPIO_PuPd - это из STM32F4xx_DSP_StdPeriph_Lib_V1.0.0
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 2 2012, 11:04
Сообщение #11


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(011119xx @ Jul 2 2012, 12:36) *
GPIO_OType, GPIO_PuPd - это из STM32F4xx_DSP_StdPeriph_Lib_V1.0.0

В том то и дело, что нет описания в мануалах, как настроить порты для юсб, и в примере тоже.

Сообщения об ошибках
..\..\..\..\Libraries\STM32_USB_OTG_Driver\inc\usb_regs.h(85): error: #20: identifier "__IO" is undefined

Сообщение отредактировал batisto4ka - Jul 2 2012, 11:09
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jul 2 2012, 11:15
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Ошибка потому что не подключен заголовочный файл с описанием __IO, core_cm4.h или core_cm3.h
Go to the top of the page
 
+Quote Post
brag
сообщение Jul 2 2012, 11:32
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



Цитата
1. Настройка тактового генератора для юсб.
2. Настройка GPIO.
3. Настройка перрываний.

Это самое простое, что может быть, и без примера чтения даташита должно хватить

Цитата
Хотя бы чтобы можно было к плате sk-mstm32f107 подсключить флэшку и просто послать запрос и получить ответ, что за устройство подключено.

а вот это 80% работы sm.gif если это(device-дескриптор от флешки) получите, то все вопросы отпадут сами sm.gif

Вообще пример использования otg в режиме device есть в соседней ветке кидал свой где-то, no без бибкиотек, чисто работа с регистрами.
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jul 2 2012, 11:51
Сообщение #14


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(brag @ Jul 2 2012, 14:32) *
Это самое простое, что может быть, и без примера чтения даташита должно хватить


а вот это 80% работы sm.gif если это(device-дескриптор от флешки) получите, то все вопросы отпадут сами sm.gif

Вообще пример использования otg в режиме device есть в соседней ветке кидал свой где-то, no без бибкиотек, чисто работа с регистрами.

Кто-то может обьяснить или ткнуть носом. где в документации описаны назначения выводов ID,DP,DM, и как настраивать линии порта ввода-вывода?
Go to the top of the page
 
+Quote Post
011119xx
сообщение Jul 3 2012, 03:07
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



В Reference Manual, глава 27.
Go to the top of the page
 
+Quote Post

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

 


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


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