|
Нештатный режим работы com порта |
|
|
|
Jul 27 2005, 05:29
|

Группа: Новичок
Сообщений: 7
Регистрация: 26-07-05
Пользователь №: 7 119

|
Народ, думаю, что я попал куда надо! Такая проблемма у меня. Мне нужно организовать частотомер для прямоугольных импульсов через ком-порт. Частоты небольшие - от 1 кГц до 20 кГц. Придумал такое решение. Подаю импульсы источника, как будто бы сигнал готовности передающего устройства на контакт 8, определяю время прохождения заданного количества импульсов и простыми вычислениями определяю частоту. Такое решение работает до тех пор, пока частота остается примерно на одном уровне. Если резко изменить частоту, то измеренное значение сильно отличается от истинного. После небольших экспериментов установил, что в этом отношении у ком-порта есть инерционность и перед следующим, после резкой смены частоты, измерением необходимо выждать какое-то время. В связи с этим появилось два вопроса: 1) Как долго протянет ком-порт в таком режиме? и 2) Какой есть более надежный способ организации измерения частоты через ком-порт? Есть конечно идея, подавать импульсы на канал данных, но тогда, необходимо произвести предварительную установку скорости обмена данными, что опять же влечет за собой предварительное измерение частоты из-за чего такой способ не представляется эффективным.
|
|
|
|
|
 |
Ответов
|
Aug 2 2005, 07:18
|

Группа: Новичок
Сообщений: 7
Регистрация: 26-07-05
Пользователь №: 7 119

|
Благодарен всем, кто отклинулся на мою тему. Видимо в дебрях своей программы до конца разбираться придется самому. Огромное СПАСИБО vvs157. Ему на последний вопрос отвечу так. Каждое измерение запускается только тогда, когда подразумевается, что резких скачков не должно быть. Но вот этот алгоритм почему-то не работает. Возможно, что ошибка как раз появляется в результате того, что опрашиваемое устройство переходит в стационарный режим после смены режима за более длительный период времени, чем предполагается по задумкам. Всей особенности технической стороны рассказать не могу (не имею права). Но мысль дельная, поисследую в этом направлении.
Из всего написанного понял, что подход к измерению частоты, описанный мной в самом начале является ламерским и годится лишь для школьного кружка "Умелые руки" <_< . Если же к решению вопроса подходить профессионально, то необходимо воспользоваться средствами, разработанными умными головами, для решения задач, подобных моей (смотри ответ MALLOY2).
Вообще говоря, интерфейс RS232 (UART) - один из двух, посредством которых мне необходимо получать данные от устройства. Второй естественно же USB. Предложенный MALLOY2-ем AT90S2313, как я понял позволяяет реализовать только UART интерфейс. Покопался я на атмелевском сайте (www.atmel.com) нашел у них новинку (???) AT76С713. Этот контроллер поддерживает оба интерфейса: и UART и USB. Хотелось бы узнать мнение специалистов об этом контроллере. Возможно, кто-то подскажет более примелемый вариант для реализации двух интерфейсов.
|
|
|
|
|
Aug 2 2005, 16:53
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 30-07-05
Из: Kyiv, Ukraine
Пользователь №: 7 211

|
Цитата(techno @ Aug 2 2005, 09:18) ...Возможно, кто-то подскажет более примелемый вариант для реализации двух интерфейсов. Если предполагается USB как опциональный интерфейс в дополнение к комовскому (т.е. одни и те-же данные гоняются по COM или USВ в зависимости от свободного порта на компе), то можете обратить внимание на преобразователь интерфейса USB в COM FT232 или CP2101. Т.е. к компу ваш девайс будет подсоединятся к UART вашего контроллера в девайсе либо напрямюу (COM -> UART) либо через ft232 (USB -> FT232 -> UART). Драйвера под винду для ft232 доступны готовые и бесплатно. Подобное решение используется в программаторах и еще вот там обсуждается
|
|
|
|
Сообщений в этой теме
techno Нештатный режим работы com порта Jul 27 2005, 05:29 MALLOY2 Самый надежный и правельный, это внешний контролле... Jul 27 2005, 07:23 vvs157 Если программа под Виндами, то на 20 кГц будет про... Jul 27 2005, 11:42 techno Цитата(vvs157 @ Jul 27 2005, 16:42)Если прогр... Jul 27 2005, 15:44  vvs157 Цитата(techno @ Jul 27 2005, 18:44)Хотя так ж... Jul 28 2005, 08:09   techno Цитата(vvs157 @ Jul 28 2005, 13:09)Цитата(tec... Jul 28 2005, 18:07    vvs157 По-моему правильнее использовать не CNT0 таймера, ... Jul 31 2005, 19:53     techno Цитата(vvs157 @ Aug 1 2005, 00:53)По-моему пр... Aug 1 2005, 06:44      vvs157 Цитата(techno @ Aug 1 2005, 09:44)Характерное... Aug 1 2005, 07:34 one_man_show Присоединяясь к двум предыдущим коллегам, но пытая... Jul 27 2005, 12:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|