23.03.2016, 20:54
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
USB Даталоггер на stm32
Хочу сделать даталоггер аналоговых сигналов. В качестве памяти использовать spi flash или sd карту, может озу. Необходимо записывать 200 кб данных. Затем при подключении к ПК через USB просматривать этото файл как с флэшки. Помогите готовым примером.
|
|
|
|
23.03.2016, 22:22
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: USB Даталоггер на stm32
http://tomeko.net/miniscope_v2e/
SPI похоже свободен - должно получиться
|
|
|
|
24.03.2016, 07:09
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB Даталоггер на stm32
Спасибо, но у меня другая идея. STM32 со стороны USB определяется как флэшка, т.е. mass storage device, одновременно контроллер записывает в файл данные.
|
|
|
|
24.03.2016, 08:41
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: USB Даталоггер на stm32
дык сделано оно на STM32F0x2xx USB FS device library
http://www.st.com/web/en/catalog/too...N1734/PF257928
там пример Mass Storage example есть:
Цитата:
|
The mass storage demo complies with USB 2.0 and USB mass storage class (bulk-onlytransfer subclass) specifications. After running the application, the user just has to plug the USB cable into a PC Host and the device is automatically detected without any additiona drive (with Win 2000, XP, Vista and Windows 7). A new removable drive appears in the system window and write/read/format operations can be performed as with any other removable drive.
|
|
|
|
|
24.03.2016, 09:00
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB Даталоггер на stm32
Спасибо, посмотрю. Но как правило все примеры работают как mass storage. Но мне не понятно, как получить доступ к файлу со стороны контроллера.
|
|
|
|
24.03.2016, 09:41
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: USB Даталоггер на stm32
если глянуть, то примеры там разнообразные:
Цитата:
|
Human Interface Device HID:
– HID mouse and Custom HID examples
Audio:
– Audio device Example for streaming audio data Communication Device (CDC):
– VCP USB-to-RS232 bridge to realize a virtual COM port.
BULK:
– Mass Storage Demo based on the micro SD
Device Firmware Upgrade:
– DFU for firmware downloads and uploads
CCID: Integrated Circuits Cards Interface devices (New development)
– USB CCID device
Composite examples:
– CDC-HID and HID-MSC.
All the examples are developed and validated on the STM32072B-EVAL valuation board and can be easily tailored to any other hardware.
|
если глянуть файлик usbd_storage_msd.c, то можно увидеть функции:
Код:
|
/**
* @brief Read data from the medium
* @param lun : logical unit number
* @param buf : Pointer to the buffer to save data
* @param blk_addr : address of 1st block to be read
* @param blk_len : number of blocks to be read
* @retval Status
*/
int8_t STORAGE_Read (uint8_t lun,
uint8_t *buf,
uint32_t blk_addr,
uint16_t blk_len)
{
if( SD_Detect() == SD_NOT_PRESENT)
{
return (-1);
}
if( SD_ReadMultiBlocks (buf,
blk_addr * 512,
512,
blk_len) != 0)
{
return 5;
}
return 0;
}
/**
* @brief Write data to the medium
* @param lun : logical unit number
* @param buf : Pointer to the buffer to write from
* @param blk_addr : address of 1st block to be written
* @param blk_len : number of blocks to be read
* @retval Status
*/
int8_t STORAGE_Write (uint8_t lun,
uint8_t *buf,
uint32_t blk_addr,
uint16_t blk_len)
{
if( SD_Detect() == SD_NOT_PRESENT)
{
return (-1);
}
if( SD_WriteMultiBlocks (buf,
blk_addr * 512,
512,
blk_len) != 0)
{
return 5;
}
return (0);
} |
|
|
|
|
24.03.2016, 13:28
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: USB Даталоггер на stm32
Я так понимаю ,что с помощью єтих функций идёт запись на физическом уровне. Сюда наверно надо прикрутить библиотеку поддержки ФАТ от Чанга.
|
|
|
|
24.03.2016, 15:34
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: USB Даталоггер на stm32
Угу. У него там и проще фат была. Хотя у вас там скорее всего один файл будет и только запись - можно и самому вычислять по таблице где находится начало и размер файла, дописывать файл, переписывать таблицу. Форматировать и создать файл придется в таком случае на ПК.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:44.
|
|