01.03.2012, 13:02
|
#1331
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Sergi_alc ну это же невозможно. где то у вас косяк в понимании или измерении.
|
|
|
|
01.03.2012, 13:06
|
#1332
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Реально ли захватить внешний параллельный 8-и битный поток, поступающий со скоростью 6Мбайт/сек при помощи одного из STM32? При этом надо ещё успевать анализировать содержимое некоторых байт. Я так понимаю, тут надо DMA задействовать и складывать данные куда-нибудь в оперативку?
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
|
|
|
|
01.03.2012, 13:45
|
#1333
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
skrynia захватить еще может и можно, а вот анализировать на лету - крайне маловероятно.
да и куда такой поток сохранять? в общем, подробности задачи в студию.
|
|
|
|
01.03.2012, 14:33
|
#1334
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Hives
|
подробности задачи в студию
|
Есть 8-и битная шина, 9-я линия - байтовая синхронизация, 10-я линия строб начала пакета. Байты идут непрерывно сплошным потоком, строб начала пакета позволяет определить начало. Пакет 256 байт, первые 8 байт - идентификатор. Нужно из потока получить пакет, первые 8 байт которого удовлетворяют неким условиям, т.е. совпадают с шаблоном. После того, как нужный пакет окажется в памяти, приём с шины можно прекратить и заниматься дальше разгребанием данных внутри принятого пакета.
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
|
|
|
|
01.03.2012, 15:04
|
#1335
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
то есть слушать подряд все проходящие пакеты не надо? тогда вполне можно.
|
|
|
|
01.03.2012, 15:07
|
#1336
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну теоретически это можно сделать и на быстром пике. По прерыванию кидать в память всю посылку. В основном цикле думать, нужна она нам или нет. Тупо данные с порта перекладывать в память. Много инструкций не потребуется.
|
|
|
|
01.03.2012, 15:13
|
#1337
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Hives
|
то есть слушать подряд все проходящие пакеты не надо?
|
Только пока не наслушаем нужный пакет. Может подскажете на пальцах логику реализации задачи?
Сообщение от Easyrider83
|
Ну теоретически это можно сделать и на быстром пике
|
На столе лежит STM32, поэтому сильно интересно сможет ли именно из этого семейства.
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
|
|
|
|
01.03.2012, 15:22
|
#1338
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
то есть надо:
1. прослушивать проходящий поток пока не попадется нужный пакет, после чего
2. остановить прослушивание и приступить к анализу пакета
я бы сделал так:
DMA в циклический режим, байт синхро как внешний запуск DMA, по нему брать байт с шины и класть в память (можно все 10 линий для последующего анализа),
основная задача следит за размером принятого блока, как только наберется на пакет делать разбор полетов.
PS в случае чего проц можно подразогнать
|
|
|
|
01.03.2012, 15:30
|
#1339
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от st__1
|
Кто сотворил??? Где??? Всё работает как надо...
И в чём тайный смысл подобной записи???
Код:
|
#define FLAG_RESET_Set GPIOB-›BSRR |= GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRR |= GPIO_BSRR_BR9 |
Почему не так???
Код:
|
#define FLAG_RESET_Set GPIOB-›BSRR = GPIO_BSRR_BS9
#define FLAG_RESET_Clr GPIOB-›BSRR = GPIO_BSRR_BR9 |
А ещё лучше так... так нагляднее...
И у компилятора не будет соблазна "изобразить по своему"...
Код:
|
#define FLAG_RESET_Set (GPIOB-›BSRR = GPIO_BSRR_BS9)
#define FLAG_RESET_Clr (GPIOB-›BSRR = GPIO_BSRR_BR9) |
|
Тайный смысл у предыдущего творца узнавать нужно.
По твоим замечаниям согласен. Но вот чего оно с BRR не работало?!
Иссключаю подозрения на пляски компилятора с дефайном, т.к. даже вместо FLAG_RESET_Clr писал вручную GPIOB-›BRR = GPIO_BRR_BR9
КСта, до этого в моих проектах с нуля BRR юзал и все оке. Теперь же после осадка его юзать вообще перестал...
|
|
|
|
01.03.2012, 15:31
|
#1340
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Hives, контроллер STM32F103RB, 72МГц. В описании не сказано, что DMA может с портами работать, а перечислена поддерживаемая периферия: таймеры, АЦП, SPI, I2C и USART.
Как МК будет реагировать на стробы на портах? Я так понимаю, строб должен вызывать прерывание, которое должно быть событием для DMA?
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
Последний раз редактировалось skrynia; 01.03.2012 в 15:35.
Причина: Дополнение
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:35.
|
|