Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как повысить скорость хода соединения?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
R.S.Nemesis
Добрый день! Проблема такая:
Есть симулятор контроллера (Atmel 89S8252), есть 2 виртуальных COM-Port'а и есть MatLab. Проблема в том, что MatLab посылает данные существенно быстрее, чем симулятор их принимает и посылает обратно MatLab'у (кроме этого, он ничего с ними не делает). Не могли бы вы посоветовать, как можно увеличить скорость быстродействия МК?
Golikov A.
Цитата(R.S.Nemesis @ Jan 28 2008, 06:05) *
Добрый день! Проблема такая:
Есть симулятор контроллера (Atmel 89S8252), есть 2 виртуальных COM-Port'а и есть MatLab. Проблема в том, что MatLab посылает данные существенно быстрее, чем симулятор их принимает и посылает обратно MatLab'у (кроме этого, он ничего с ними не делает). Не могли бы вы посоветовать, как можно увеличить скорость быстродействия МК?


учитывая интерпритаторность матлаба, я не верю, что какой либо контролер может работать медленнее него. Видать проблема интерпритарности симулятора кристалла, можно попробовать
1. другие программные продукты-симуляторы,
2. можно попробовать написать свой софтварный проект - симулирующий контроллер (не весь, а конкретную вашу программу),
3. ввести задержки в матлабе, чтобы сравнять скорость, или
4. попробовать на настоящем кристале. (я бы так сделал, купив подходящий старкит, или 3 вариант).

И может быть поможет, но очень с малой вероятностью, задать другие приоритеты выполнения процесса матлабу и симулятору в винде, поставить матлабу низкий приоритет, а симулятору высокий, может это позволит сравнять скорость. Так как матлаб своим интерпретатором может сильно отжирать ресурсы системы, и тормозить процессы симулятора.
R.S.Nemesis
Цитата(Golikov A. @ Jan 28 2008, 18:35) *
учитывая интерпритаторность матлаба, я не верю, что какой либо контролер может работать медленнее него. Видать проблема интерпритарности симулятора кристалла, можно попробовать
1. другие программные продукты-симуляторы,
2. можно попробовать написать свой софтварный проект - симулирующий контроллер (не весь, а конкретную вашу программу),
3. ввести задержки в матлабе, чтобы сравнять скорость, или
4. попробовать на настоящем кристале. (я бы так сделал, купив подходящий старкит, или 3 вариант).

И может быть поможет, но очень с малой вероятностью, задать другие приоритеты выполнения процесса матлабу и симулятору в винде, поставить матлабу низкий приоритет, а симулятору высокий, может это позволит сравнять скорость. Так как матлаб своим интерпретатором может сильно отжирать ресурсы системы, и тормозить процессы симулятора.

1. А что вы могли бы посоветовать?
3. С этим имеются некоторые трудности, т.к. страдает качество самого процесса.

Как ни странно, разность приоритетов, в каком-то смысле, помогает: тормозится вся система, а также - сам процесс обмена информацией, однако, отдача и приём при этом более-менее синхронизированы. Хотя, конечно, хочется более корректного способа.
Golikov A.
Цитата(R.S.Nemesis @ Jan 29 2008, 07:14) *
1. А что вы могли бы посоветовать?
3. С этим имеются некоторые трудности, т.к. страдает качество самого процесса.

Как ни странно, разность приоритетов, в каком-то смысле, помогает: тормозится вся система, а также - сам процесс обмена информацией, однако, отдача и приём при этом более-менее синхронизированы. Хотя, конечно, хочется более корректного способа.



1. к сожалению ничего, не силен в ассортименте. Просто ИАР и Кеил симулят по разному, и так на глаз ИАР вроде бы побыстрее справляется, плата за это невозможность онлайн смотреть изменение переменных, только в супер медленном анимированном режиме. Может в этой области покопаться...

3. Ну это же симуляция, смысл проверить корректность работы, а не скоростные характеристики, если я что-то в чем-то понимаю. Предложенный вариант разных приоритетов, как раз косвенно введение задержек в матлаб процессы.

Если цель симуляции, что-то более чем просто проверить работает или нет алгоритм, я бы пошел и купил старкит с микросхемой, причем даже не обязательно этой, близкого семейства, и на нем бы все и тестировал, а отлаживал бы через порт, через сообщения из кристалла. Перенос программы в пределах семейства, не очень сложная задача...
R.S.Nemesis
Цитата(Golikov A. @ Jan 29 2008, 13:42) *
1. к сожалению ничего, не силен в ассортименте. Просто ИАР и Кеил симулят по разному, и так на глаз ИАР вроде бы побыстрее справляется, плата за это невозможность онлайн смотреть изменение переменных, только в супер медленном анимированном режиме. Может в этой области покопаться...

3. Ну это же симуляция, смысл проверить корректность работы, а не скоростные характеристики, если я что-то в чем-то понимаю. Предложенный вариант разных приоритетов, как раз косвенно введение задержек в матлаб процессы.

Если цель симуляции, что-то более чем просто проверить работает или нет алгоритм, я бы пошел и купил старкит с микросхемой, причем даже не обязательно этой, близкого семейства, и на нем бы все и тестировал, а отлаживал бы через порт, через сообщения из кристалла. Перенос программы в пределах семейства, не очень сложная задача...



1. IAR - он же, вроде как, с COM-портами не работает?

3. Проблема в том, что важны именно скоростные характеристики, просто так, всё работает достаточно корректно. Правда, с приоритетами кое-что выходит, но при этом тормозит не только MatLab он и вся ОС, что становится несколько неудобным, да и желаемой ссинхронизации не достигается. Хотя, в таком, неудобном для МатЛаб, режиме, всё идёт намного слаженнее.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.