29.07.2015, 16:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
И вот тут-то встал вопрос: велосипедить что-то свое, или все-таки есть у STM32 возможность внешней синхронизации RTC по секундным импульсам от GPS?
|
Ну а почему должна быть "возможность внешней синхронизации RTC"?
Самому реализовать такую возможность что мешает?
Считают себе часы (простой счетчик) внутри STM миллисекунды и секунды, а по внешнему импульсу обнуляет мс и округляет секунды (или берет время от UART, раз уж там GPS).
Практическая реализация, вроде, несложна.
|
|
|
|
29.07.2015, 16:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
c точностью 1 мс - не навзничь сделать
с GPS на 9600 байт летит 1 мс и по какому байту синхронизироваться ?
Легче часы со старта до финиша нести
Последний раз редактировалось Boba_spb; 29.07.2015 в 16:58.
|
|
|
|
29.07.2015, 16:59
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
В поисках инфы о таймингах DMA наткнулся на документик:
AN2548 Using the STM32F1x and STM32L1x DMA controller
http://www.st.com/web/en/resource/te...CD00160362.pdf
Там расписаны времена циклов работы DMA.
На страничках 5-6 расписано, из чего складывается цикл DMA.
В частности, если используется более одного канала DMA:
Цитата:
|
As a results, when at least two DMA channels are enabled, the DMA latency for the highest
priority channel is the sum of the ongoing transfer time (without the arbitration phase) and
the transfer time for the next DMA channel to be served (highest pending priority).
|
По моим подсчетам, 10 тактов на обслуживание запроса DMA (т.е. около 0.3 мкс).
С учетом, что если запрос на DMA пришелся на момент обслуживания другого запроса, вполне реально, что не успевает забрать очередной байтик из SPI за 0.5 мкс.
По поводу внутреннего FIFO для DMA в описании к F4 явно указано, что таковой есть, в описании к STM32L1 о таковом не упоминается.
|
|
|
|
29.07.2015, 17:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Boba_spb
|
c точностью 1 мс - не навзничь сделать
с GPS на 9600 байт летит 1 мс и по какому байту синхронизироваться ?
|
С GPS модуля (не со всех) выходят импульсы PPS, точность - наносекунды.
|
|
|
|
29.07.2015, 17:12
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
С GPS модуля (не со всех) выходят импульсы PPS, точность - наносекунды.
|
Вообще-то сотни нс в лучшем случае
|
|
|
|
29.07.2015, 17:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Hives
|
/offtop niXto отступы и запятые обсудить СЭР не желает? справочником по башке чтоли сегодня разбудили?
|
Просто вашей ли корове мычать на неопределённость байт/бит, если сами пишете на ТЕХническом форуме не менее безграмотно
|
|
|
|
29.07.2015, 17:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
Самому реализовать такую возможность что мешает?
|
Хочу прежде, чем велосипедостроением заниматься, разведать - вдруг уже все есть, а я собираюсь очередной велосипед-квадратные-колеса делать?
Ну, раз аппаратно это сделать не выйдет, то буду, похоже, и правда программно: считать уход системного счетчика времени от внешних тиков и соответствующим образом менять значение ARR. Для вычисления точного значения миллисекунд тупо отдавать компутеру текущее значение счетчика выбранного таймера + текущее значение ARR. А компутер уж сам пусть делит CNTR/ARR.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
29.07.2015, 18:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Ну, раз аппаратно это сделать не выйдет, то буду, похоже, и правда программно: считать уход системного счетчика времени от внешних тиков и соответствующим образом менять значение ARR.
|
Ну мне кажется, тут можно просто таймер настроить, к примеру, на отсчет от внешнего кварца с разрешением 10 мкс (или 100), а по прерыванию от PPS корректировать его значение до ближайшего круглого (до целых мс). И почти что без велосипедов
|
|
|
|
29.07.2015, 18:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,359
Сказал спасибо: 85
Сказали Спасибо 613 раз(а) в 371 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от niXto
|
Вообще-то сотни нс в лучшем случае
|
Ну да, я и говорю, наносекунды, в смысле, что до микро не дотягивает
В любом случае, для задачи ТС более чем подходит.
|
|
|
|
29.07.2015, 18:04
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от pambaru
|
Ядро то да, а периферия, к коим относится и SPI, вполне может отличаться.
DMA то точно отличается (от F4, по крайней мере), как раз код переносил с F4.
|
SPI отличается у F0 и F3 (сами же апноту приложили), ДМА у F4 действительно отличается, но это уже М4.
Прицепите логический анализатор (ЛА) и посмотрите, какой байт теряется на приёме, первый, последний или по очереди.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:20.
|
|