Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 19

Тема: Измерение скорости ком-порта

  1. #1

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,000

    Измерение скорости ком-порта

    AVR Атмега8. USART аппаратный. Внутренний клок 8 МГц. Нужно подобрать значение калибровочного байта для попадания скоростью при комнатной температуре точно в 115200. При измерении осциллографом точность измерения получается около 1 КГц. Частотомер считывает среднюю температуру по палате с USART. Быть может есть устоявшаяся и проверенная техника измерения простыми средствами скорости ком-порта, вроде отправки 0xAA c определенными параметрами битов четности и стопа, чтобы частотомером можно было измерять? Велосипед изобретать не хочется.


    P.S. Лабу собрал, чтобы посмотреть границы устойчивого приема символов терминальной программой, и могу установить среднее значение в регистр, но это как-то не по научному что-ли (:

    Подумал, может зря импульс измерял. Надо было всю посылку брать, тогда бы точность на порядок лучше была.
    Последний раз редактировалось ozforester; 16.12.2021 в 13:30.


  2. #2
    Аватар для vadim_d
    Регистрация
    29.10.2006
    Адрес
    Санкт-Петербург
    Сообщений
    14,745
    Цитата Сообщение от ozforester Посмотреть сообщение
    вроде отправки 0xAA
    "Проще надо быть, проще" . Стартовый бит нулевой, стоповый - единичный https://en.wikipedia.org/wiki/Asynch..._communication , если 8 бит без четности с одним стопом гнать непрерывно, то при данных 0xF0 будет меандр с частотой в 5 раз ниже бодовой. Но это если железо работает полностью синхронно внутри себя, что вряд ли. А вообще 5% отклонения скорости интерфейс терпит, зачем такие изыски? А для подстройки кварца лучше поделить таймером/счетчиком и выдать наружу
    Вадим

  3. Спасибо от ozforester

  4. #3
    5% это уже совсем на пределе. Я для себя, например, стараюсь вписаться в 2%. При RC-генераторе подгоняю по опорнику 32768 на TMR2 (потому что есть). А вот как без опорников вообще - это уже сложнее. Ну не подбирать же вручную ? Значит, надо или измерять внешним частотомером и отдавать результат измерения внутрь, либо, что проще, измерять внешний опорник (захватом таймера - самое простое). Опорником могут быть и посылки UART от внешнего устройства, или какой-нибудь кварцованный генератор. А дискретность перестройки внутреннего RC - помнится, что около 0.5% (так что точнее просто и не мечтайте).

  5. Спасибо от ozforester

  6. #4

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,000
    к rx3apf


    Дискретности вроде бы хватает, она же на осцилляторе, и после деления уменьшается. Когда к региистру добавлял 3 или убавлял, то ошибок на терминале не наблюдал. Больше не пробовал, в экран осциллографа таращился, не догадался протестировать сразу на максимальные отклонения. То есть да, без путешествия в будущее проблемы как бы и нет. На меге около +3/-2% ошибка может быть, апнот уже забыть успел, только номер - avr054. Хочется же получить результат измерения точнее, чтобы к этим авр-овским не добавлять еще и свои прОценты. Про захват таймера это отдельную лабу нужно делать, как по изготовлению прибора для измерений, опять даташиты, опять отладка, хотя и правильный подход, никто не оспорит (:


    к vadim_d


    Ага, то есть все таки можно и 0xAA без четности. 0 10101010 1 0 10101010 1 0 с поправкой на вызов прерывания и прочее. Полагаю это как раз и будет где-то в погрешности измерений, можно даже не заморачиваться, а просто голый цикл по загрузке регистра передачи изобразить. Все равно ассемблер.


    Кварц не подходит по задумке, как и внешний клок. Управлять планируется esp-01 (esp8266 как недорогой модем - включил/передал/выключил - раз в день марк прислать или при отклонении измеряемого параметра величину этого отклонения)


    Материала для новой лабы уже достаточно. Будем посмотреть. Благодарю за советы.

  7. #5
    Цитата Сообщение от ozforester Посмотреть сообщение
    На меге около +3/-2% ошибка может быть, апнот уже забыть успел, только номер - avr054.
    Это, очевидно, результат заводской калибровки (плюс, возможно, дискретность подстройки). Поэтому, чтобы минимизировать ошибку - калибруемся по внешнему опорнику, и ошибка составит половину дискрета перестройки (плюс дрейф от питания и температуры, если стабильно, то можно не учитывать), тогда заводская калибровка роли не играет. А вот так, тупо "в лоб", полагаемся на точность заводской калибровки 8 MHz плюс фиксированную поправку (экспериментально вычисленную) - на мой взгляд неправильная затея (крутизна перестройки может и варьироваться, да и заводская неидеальна).

    Можно бы попробовать откалиброваться и по посылкам от ESP - там, помнится, начальная посылка есть на какой-то нестандартной скорости ?

  8. #6

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,000
    На esp 74800 скорость, если мне память не изменяет. Правится АТ-комндой на нужную с записью во флэш. В линуксе просто stty использую после запуска терминала для выставления этого необычного значения. Можно и нестандарртную скорость оставить, но тогда "любым" терминалом при необходимости уже не подлезешь и не посмотришь. Да и вайфай только как один из вариантов, можно ведь и GSM или какой-нибудь проводный модем прицепить уже исходя из конкретных условий и возможностей. Так далеко я пока в будущее не переносился. Сегодня надо за температурой следить, а там жизнь подскажет. (:

  9. #7
    Да, вроде бы такая скорость. Таким образом, если содержимое посылки известно и фиксировано (а там вроде бы всегда так), то захватом по таймеру даже и с одного байта можно определить системную тактовую. А вот как поступить дальше - уже надо думать. Вариант - перестраивая системную тактовую делать сброс ESP и опять смотреть, или один раз определить крутизну перестройки и требуемую поправку. Ну как-то так, наверное...

  10. #8

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,000
    Мысль понял. У мня не такие жесткие условия пока. (: Вечером лабу соберу по установке средней в нитервале скорости для начала.
    p.S. Про ресет с esp - в самую точку. Сначала сделал термометр с кодом на самой esp, и что-то мне подсказывает, что лишь благодаря периодическому ресету при выходе из режима энергопотребления он не успевал виснуть. Сейчас я его через ключик запитаю, и тоже будет все нормально.
    (: Имел в виду режим энергосбережения, но видать все по Фрейду, esp она такая.
    Последний раз редактировалось ozforester; 16.12.2021 в 16:21.

  11. #9
    Речь, как я понимаю, идет о датчике с WiFi ? Тогда логично бы к меге и часовой кварц, чтобы пробуждалась по таймеру. А в таком варианте все тривиально, системную тактовую можно в любой момент подстроить.


  12. #10
    Имеет смысл обратить внимание на меги с индексом PB. Атмега8 меняется на Atmega88PB. Они отличаются лучшей точностью встроенного генератора и повышенной термостабильностью оного. Эксплуатирую Мега328PB два года на улице круглогодично в метеостанции. Скорость по UART 38400. Работает стабильно на внутреннем генераторе.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Показометр скорости передачи данных
    от Слесарь в разделе Для начинающих
    Ответов: 4
    Последнее сообщение: 10.08.2014, 08:31
  2. Разветвитель COM порта
    от UR6EF в разделе Технологии
    Ответов: 12
    Последнее сообщение: 11.05.2014, 16:34
  3. Изменение скорости передачи номера CW в контесте.
    от ut7du в разделе Технический кабинет
    Ответов: 7
    Последнее сообщение: 16.06.2012, 17:34
  4. О скорости приема и передачи знаков,
    от Ajax в разделе Технический кабинет
    Ответов: 9
    Последнее сообщение: 06.06.2007, 23:54
  5. Радиоудлинитель сом-порта
    от космос в разделе Технический кабинет
    Ответов: 5
    Последнее сообщение: 31.10.2005, 00:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •