CH340 и ATMega328p с внешним кварцем и без внешнего кварца
CH340 и ATMega328p с внешним кварцем и без внешнего кварца
Модуль uart с ch340, подключаю к atmega328p с внешним кварцем 16мгц, данные в serial порт передаются без искажений. Подключаю этот же модуль к такому же МК, настроенному на работу от внутреннего генератора на 8мгц, данные в serial передаются с искажениями. Если подключить, к этому же МК (с работой от внутренних 8мгц) uart с CP2102, то данные в serial передаются без искажений. В чём причина такой работы ch340?
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Какая скорость в USART? Есть ли у CH340 буква в конце названия? Какая буква там? Есть ли кварцевый резонатор? Они бывают разных видов. Есть плохие воспоминания о тех CH без резонатора.
ATmega328P: Calibration Accuracy of Internal RC Oscillator: 8.0MHz: 2.7V to 5.5V –40°C to +125°C Calibration Accuracy: ±14%
Для USART поставьте кварцевый резонатор на ATmega. В противном случае неизвестно, уложитесь ли в пределы допустимой погрешности USART-a.
ATmega328P: Calibration Accuracy of Internal RC Oscillator: 8.0MHz: 2.7V to 5.5V –40°C to +125°C Calibration Accuracy: ±14%
Для USART поставьте кварцевый резонатор на ATmega. В противном случае неизвестно, уложитесь ли в пределы допустимой погрешности USART-a.
Последний раз редактировалось veso74 Вт сен 23, 2025 17:52:42, всего редактировалось 3 раза.
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Скорость 9600, на других скоростях (ниже) пробовал, без разницы. Где её смотреть, эту букву? Кварц есть: на одном 12мгц, на другом. 16мгц, оба искажают данные по serial, если МК без внешнего кварца работает
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
[uquote="alsav22",url="/forum/viewtopic.php?p=4747881#p4747881"]Где её смотреть, эту букву? Кварц есть: на одном 12мгц, на другом.[/uquote]
На корпусе ИС, с напр. помощью увеличительного стекла.
Если кварц 12 MHz к CH есть, весьма вероятно, что это CH340G.
Почему MK ATmega328P должен быть без кварца?
На корпусе ИС, с напр. помощью увеличительного стекла.
Если кварц 12 MHz к CH есть, весьма вероятно, что это CH340G.
Почему MK ATmega328P должен быть без кварца?
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Буква G, на том, что с кварцем на 12, на другом ничего нет. МК без внешнего кварца - для пробы: хотел посмотреть, как настраивать фьюзы, как будет работать.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Для USART нужна точность, см. характеристики. Правда, что устройства работают и с очень большой погрешностью. Но есть предел. Вероятно, у одного из ваших модулей ошибка с одной стороны, у МК - с другой, и ошибка вне спецификации. При желании можно найти "виновника". Бы подключил clock ATmega к пину и измерил частоту. А для ваших целей просто поставьте кварц.
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
А может быть так, что на модуле кварц есть , но он не подпаян к микросхеме (ch340)? Будет такой модуль работать с МК, у которого внешний кварц задействован?
Добавлено after 8 minutes 4 seconds:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего кварца
На том, где кварц на 12, и есть маркировка микросхемы, я нашёл ноги куда кварц подпаян, а на том, где кварц на 16, и маркировка стёрта - не нашёл.
Добавлено after 1 minute 44 seconds:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего кварца
Может одна микросхема не G? Но вторая-то G, а работает криво.
Добавлено after 8 minutes 4 seconds:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего кварца
На том, где кварц на 12, и есть маркировка микросхемы, я нашёл ноги куда кварц подпаян, а на том, где кварц на 16, и маркировка стёрта - не нашёл.
Добавлено after 1 minute 44 seconds:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего кварца
Может одна микросхема не G? Но вторая-то G, а работает криво.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Не знаю, какие у Вас модули. Фото? У CH340G есть кварцевый резонатор на 12 MHz. Насколько помню, у GH340C есть встроенный генератор.
Не видел G без кварцевого резонатора.
ATmega328P на 8 MHz внутренний генератор используйте с CP2102 и готово. Если CP оригинальные, то они хорошие.
И CH хорошие. За долгое время мне удалось повредить только одна ИС (из-за разницы GND на PC и рабочем столе с электроникой).
Не видел G без кварцевого резонатора.
ATmega328P на 8 MHz внутренний генератор используйте с CP2102 и готово. Если CP оригинальные, то они хорошие.
И CH хорошие. За долгое время мне удалось повредить только одна ИС (из-за разницы GND на PC и рабочем столе с электроникой).
Последний раз редактировалось veso74 Ср сен 24, 2025 14:19:01, всего редактировалось 1 раз.
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
На нанке кварц уже установлен. на 16 или на 8 МГц.
Обычно 8 МГц на 3-вольтовом варианте нанки - смотрим что в лапы попало (отдельная методика как с немаркированными нанками/про мини разбираться).
Запускать МК при подключенном кварце от внутреннего тактового генератора конечно можно попытаться - но там ведь и фузы менять надо - а эта процедура в ардуиноIDE обычно "по умолчанию" при простой загрузке скотча не выполняется (а для смены частот генератора /кварцев нужно еще и "платформу" с мультичастотным меню установить).
Для загрузки фузов в комплекте с бутлоадером в "чистый" (после операции "общее стирание") МК используется опция IDE:
"инструменты -> записать загрузчик" плюс та запись делается минимум через ардуиноISP программатор (или чего есть в наличии по соответствующему списку на вкладке IDE),
или установку соответствующих настроек фузов делать на отдельной софт - оболочке и железке программатора.
Скорее всего именно с настройкой фуз под генератор и проблема. Захотелось чего то своего, но "в рамках ардуино-нанки" без соответствующей подготовки той нанки.

Обычно 8 МГц на 3-вольтовом варианте нанки - смотрим что в лапы попало (отдельная методика как с немаркированными нанками/про мини разбираться).
Запускать МК при подключенном кварце от внутреннего тактового генератора конечно можно попытаться - но там ведь и фузы менять надо - а эта процедура в ардуиноIDE обычно "по умолчанию" при простой загрузке скотча не выполняется (а для смены частот генератора /кварцев нужно еще и "платформу" с мультичастотным меню установить).
Для загрузки фузов в комплекте с бутлоадером в "чистый" (после операции "общее стирание") МК используется опция IDE:
"инструменты -> записать загрузчик" плюс та запись делается минимум через ардуиноISP программатор (или чего есть в наличии по соответствующему списку на вкладке IDE),
или установку соответствующих настроек фузов делать на отдельной софт - оболочке и железке программатора.
Скорее всего именно с настройкой фуз под генератор и проблема. Захотелось чего то своего, но "в рамках ардуино-нанки" без соответствующей подготовки той нанки.
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
С фьюзами всё нормально, иначе и модуль с CP2102 с МК нормально не работал бы, а он нормально работает.
- Вложения
-
- Internal8.jpg
- (155.66 КБ) 113 скачиваний
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Давайте "сократим неизвестные"
. Какую частоту получаете на Arduino выводе 9?
должно быть: 16 MHz -> 1000000 Hz, 8 MHz -> 500000 Hz.
должно быть: 16 MHz -> 1000000 Hz, 8 MHz -> 500000 Hz.
Спойлер
Код: Выделить всё
void setup() {
// set pin 9 (OC1A) as output
pinMode(9, OUTPUT);
// stop Timer1 while configuring
TCCR1A = 0;
TCCR1B = 0;
// set CTC mode (Clear Timer on Compare Match)
TCCR1B |= (1 << WGM12);
// toggle OC1A on compare match
TCCR1A |= (1 << COM1A0);
// set prescaler to 1
TCCR1B |= (1 << CS10);
// set compare match value
// frequency = 16MHz / (2 * (OCR1A + 1))
OCR1A = 7; // ~1 MHz
}
void loop() {
}Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
нанка 16 МГц олд бутлоадер
правда софтинка чуток другая...
правда софтинка чуток другая...
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
[uquote="veso74",url="/forum/viewtopic.php?p=4748122#p4748122"]Давайте "сократим неизвестные"
. Какую частоту получаете на Arduino выводе 9?
должно быть: 16 MHz -> 1000000 Hz, 8 MHz -> 500000 Hz.[/uquote]
510.638kHz. Ещё раньше проверил: установил CKOUT, на 14 ноге МК появилась частота 8 MHz.
должно быть: 16 MHz -> 1000000 Hz, 8 MHz -> 500000 Hz.[/uquote]
510.638kHz. Ещё раньше проверил: установил CKOUT, на 14 ноге МК появилась частота 8 MHz.
- Вложения
-
- 2025-09-25_123503.jpg
- (190.04 КБ) 102 скачивания
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Надеюсь про входную обработку самой нанки после приобретения не забыли?
Промывка изопропиловым спиртом и удаление возможных шариков припоя на смд компонентах?
Микрокварцы весьма чувствительны к внешним загрязнениям.

Промывка изопропиловым спиртом и удаление возможных шариков припоя на смд компонентах?
Микрокварцы весьма чувствительны к внешним загрязнениям.
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Нанка - это что?
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
alsav22, для калибровки intrc пишется простенькая программка, и двумя кнопками подбирается OSCCAL (капитализма).
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
[uquote="alsav22",url="/forum/viewtopic.php?p=4748413#p4748413"]Нанка - это что?[/uquote]
Есть мнение, что это самка ненца.
Есть мнение, что это самка ненца.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
[uquote="OKF",url="/forum/viewtopic.php?p=4748414#p4748414"]alsav22, для калибровки intrc[/uquote]
Уже выяснили, что в этом причина? Почему cp2102 это не мешает правильно работать?
Уже выяснили, что в этом причина? Почему cp2102 это не мешает правильно работать?
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
все правильно у тебя происходит
1 при 8M b скорости 9600 погрешность 0.2% это с внешним кварцем те более менее работать будет
2 при 8M b скорости 9600 погрешность 0.2%-1,0% без внешнего кварца уже совсем плохо еще и частота
плывет(работать со сбоями будет)
3 СP2102 имеет функцию АПЧ и может работать на нестандартных скоростях
4 СН340 заточена под стандартные скорости +-0,5 % отклонения
как-то так
в файле кусок и даташита
1 при 8M b скорости 9600 погрешность 0.2% это с внешним кварцем те более менее работать будет
2 при 8M b скорости 9600 погрешность 0.2%-1,0% без внешнего кварца уже совсем плохо еще и частота
плывет(работать со сбоями будет)
3 СP2102 имеет функцию АПЧ и может работать на нестандартных скоростях
4 СН340 заточена под стандартные скорости +-0,5 % отклонения
как-то так
в файле кусок и даташита
- Вложения
-
- uart.png
- UART
- (121.65 КБ) 106 скачиваний
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1902
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: CH340 и ATMega328p с внешним кварцем и без внешнего квар
Попробуйте добавить корекции в OSCCAL, напр. -2%:
(не гарантирую, что сработает с первого раза, негде попробовать)
Добавлено after 16 minutes 21 second:
[uquote="BOB51",url="/forum/viewtopic.php?p=4748139#p4748139"]нанка 16 МГц олд бутлоадер[/uquote]
BOB51, да, нахожу те же фюзы, есть Arduino Nano на 16 MHz, включил к USBasp:

Код: Выделить всё
uint8_t x = OSCCAL;
OSCCAL = (x * 98) / 100;Добавлено after 16 minutes 21 second:
[uquote="BOB51",url="/forum/viewtopic.php?p=4748139#p4748139"]нанка 16 МГц олд бутлоадер[/uquote]
BOB51, да, нахожу те же фюзы, есть Arduino Nano на 16 MHz, включил к USBasp:
Последний раз редактировалось veso74 Чт сен 25, 2025 13:35:23, всего редактировалось 1 раз.