roboforum.ru

Технический форум по робототехнике.

Нагрузка МК

Нагрузка МК

EasyTech » 22 янв 2012, 19:46

Делаю проект большой: робота. И не знаю как быть, много инфы обрабатывает процессор. я хочу освободить его от нагрузки большой, но не знаю как быть, был вариант ставить RTOS, но это морока, и пока я не хочу её ставить на авр, я потом хочу её дописать на арм проц. Есть вариант ставить диспетчер задачь, но не знаю нужно мне это или нет.
Какая идет нагрузка на проц? Да вот такая:
Робот радиоуправляемый, управляется по уарт:
символы принимаются по уарт в прерываниях и сохраняются в буфер.
А также паралелльно каждую секунду идет обработка напряжения и температуры, и всё это в 1 цикле.
помоему большая нагрузка на МК, используется и ацп, и таймеры, и прерывания - всё одновременно.
Может стоит освободить проц? Мне сказали нужно в прерываниях сразу обрабатывать символы принятые по уарт, стоит ли так делать?
Вот блок схема моего робота :(
1341.JPG

Re: Нагрузка МК

Radist » 22 янв 2012, 20:12

Это очень маленькая нагрузка на МК робота. Вам надо поизучать программирование, его приемы.

Re: Нагрузка МК

Myp » 22 янв 2012, 20:20

то что описано займёт от силы одну десятую времени работы МК. остальные 9 десятых он будет ничего не делать)))
так что смело можешь добавить роботу ещё десяток разных функций :)

Re: Нагрузка МК

EasyTech » 22 янв 2012, 21:08

Спасибо за отличные слова! Я очень рад!
Radist, я за две недели прочитал 2е книги по С программированию (Брайн Страуп и Керниган), как программировать для IBM я более менее понял. МК AVR это намного слабее проц, чем те что в современных ПК, поэтому я перестраховался, я использую много технологий для более легкого чтения кода и для того чтобы данные не пропадали (данные с фиксированной точностью, тип volatile и т.д.).
Но все равно спасибо!
Скажите пожалуйста примеры когда МК нагружен сильно? И когда на МК большая нагрузка, что делать? ставить планировщик?

Re: Нагрузка МК

elmot » 22 янв 2012, 21:45

Если все правильно запрограммировано, то планировщик не спасет от большой нагрузки. Либо замена МК на более мощный, либо несколько МК и раскидывание задач между ними. Volatile данные не спасают от слишком большой нагрузки, volatile нужно для синхронизации параллельного исполнения нескольких ветвей программы (напр. основная ветвь и прерывание) и иногда для программирования внешних устройств. В смысле нагрузки на МК volatile делает только хуже(но ненамного).

Re: Нагрузка МК

HarryStar » 23 янв 2012, 08:27

EasyTech писал(а):Скажите пожалуйста примеры когда МК нагружен сильно? И когда на МК большая нагрузка, что делать? ставить планировщик?

Сильно - это когда вам не хватает производительности. До этого времени не парьтесь.
Как уже заметили, планировщик не разгружает МК, он для другого придуман.
Разгружать МК, если он справляется, смысла нет. Ему не тяжело, он не устает.


Rambler\'s Top100 Mail.ru counter