Jump to content

    

Как правильно организовать ЦОС

Здравствуйте, уважаемые коллеги, делаю довольно уже стандартное устройство, где есть АЦП, сенсорная панель, звук и др. узлы. С АЦП идет поток, данные с которого нужно фильтровать, масштабировать, анализировать и выводить на ЖК дисплей. Сейчас у меня так: АЦП обрабатывается в прерываниях, данные сохраняются в масиве, а всю ЦОС- обработку вывел в задачу. Эта задача всегда в ожидании симафора, который устанавливается каждый раз в прерывании от АЦП, после переноса данных в массив по DMA каналу. Так как система работает в реальном времени нужна всегда надежная обработка сигнала, пропуски не допустимы. В системе сейчас пока четыре задачи, из-за чегос в моей системе бывают пропуски в сигналеб потому эффективность фильтрации резко ухудшается. Вот потому обратился за помощью, как можно решать подобные задачи?

Хотелось бы грамотно настроить систему, видел на форуме, что упоминается об uCOS View, а как им пользоваться не знаю... Может книжонка есть?

Share this post


Link to post
Share on other sites

Если из-за других задач возникают пропуски, значит неправильно выставлены приоритеты. Если приоритеты выставлены правильно, а пропуски всё равно возникают, значит не хватает вычислительной мощности и надо обновлять железо или править алгоритмы (можно проверить, отключив все задачи кроме обработки АЦП).

 

ucos View это программка для оперативного наблюдения за состоянием оси. Работает просто - собирается вместе с рабочей программой и шлёт данные через ком-порт на ответную часть на компьютере.

Share this post


Link to post
Share on other sites

Благодарен вам за ответ. Вы правильно подсказали, все дело в алгоритмах и реакции на прерывания, сделал функцию обработки прерывания, как FIQ, стало лучше. А алгоритмы, буду оптимизировать.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this