Обзор программатора для flash и eeprom на ch341a

Разновидности драйверов

Существует несколько разновидностей драйвера для Ардуино двигателя и других проектов на этом микроконтроллере. Рассмотрим несколько представителей такого программного обеспечения, доступных для этого микропроцессора.

Тип 1

Драйвер для расширенной версии Ардуино Уно — Arduino mega 2560 драйвер. У Arduino Uno и Mega 2560 может возникнуть проблема с подключением к Mac через USB-концентратор. Если в меню «Инструменты → Последовательный порт» ничего не отображается, попробуйте подключить плату непосредственно к компьютеру и перезапустить Arduino IDE.

Тип 2

Avrisp mkii driver – требуется для создания программатора. Когда вы устанавливаете IDE Arduino, устанавливается USB-драйвер, так что вы можете использовать программатор Atmel AVRISP mk II в качестве альтернативы использования серийного загрузчика Arduino. Кроме того, если вам нужно фактически запрограммировать AVR MCU с самим кодом загрузчика (требуется, если у вас есть пустой микропроцессор Mega328, у которого не было предустановленной прошивки загрузчика), вы можете сделать это из IDE Arduino, используя Tools / Burn Bootloader.

После указания AVRISP mk II в качестве программного обеспечения с использованием функции Tools / Programmer. Однако, когда вы устанавливаете Studio 6.1 / 6.2, установка Atmel будет загружать собственный USB-драйвер, который работает с ID Studio.x. У вас есть возможность не устанавливать драйвер Jungo во время процесса установки Studio, но вы не можете использовать Atmel AVRISP mk II или Atmel JTAGICE3 без этого драйвера.

Когда вы устанавливаете подключаемый модуль Visual Micro для Studio 6.x, скорее всего, вы будете использовать последовательный загрузчик Arduino, поскольку возможности программирования и отладки Visual Micro основаны на последовательной связи USB между ПК и микроконтроллером. Однако если вы решите, что хотите использовать Atmel AVRISP mk II из среды Visual Micro / Studio 6.x, вы обнаружите, что она не работает. Появится сообщение об ошибке, что AVRdude (программное обеспечение для программирования, используемое IDE Ардуино), не может «видеть» программатора AVRISP mk II. Это происходит потому, что Studio6.x использует USB-драйвер Jungo, а не Visual.

Тип 3

Для конструирования шагового двигателя понадобится Arduino l298n driver. Это двойной драйвер двигателя H-Bridge, который позволяет одновременно управлять скоростью и направлением двух двигателей постоянного тока. Модуль может приводить в действие двигатели постоянного тока с напряжением от 5 до 35 В с пиковым током до 2А. Давайте подробнее рассмотрим распиновку модуля L298N и объясним, как это работает.

Модуль имеет две винтовые клеммные части для двигателей A и B и еще одну винтовую клеммную колодку для заземляющего контакта, VCC для двигателя и вывод 5 В, который может быть либо входом, либо выходом. Это зависит от напряжения, используемого на двигателях VCC. Модуль имеет встроенный 5V-регулятор, который либо включен, либо отключен с помощью перемычки.

Если напряжение питания двигателя до 12 В, мы можем включить регулятор 5V, а вывод 5V можно использовать в качестве выхода, например, для питания платы Ардуино. Но если напряжение двигателя больше 12 В, мы должны отключить перемычку, поскольку эти напряжения могут повредить встроенный регулятор 5 В.

В этом случае вывод 5V будет использоваться в качестве входного сигнала, так как мы должны подключить его к источнику питания 5 В, чтобы IC работал правильно. Здесь можно отметить, что эта ИС уменьшает падение напряжения примерно на 2 В. Так, например, если мы используем источник питания 12 В, напряжение на клеммах двигателей будет составлять около 10 В, а это означает, что мы не сможем получить максимальную скорость от нашего 12-вольтового двигателя постоянного тока.

Troubleshooting

COM Port is Not Showing Up as CH340 Windows

We have had a few reports on Windows 10 where the driver will automatically install and the board will show up under a new COM port as USB-Serial CH340, but with a different device name. However, the board cannot be accessed on the Arduino IDE. Others have had issues where the installation process hangs.

Based on the customer experiences, this might be specific to the manufacturer and are usually isolated cases. Users seem to be able to eventually get the board recognized by a combination of giving the computer time to finish the install (close to 20 min), plugging the board back in multiple times, reinstalling the drivers, and/or resetting the computer multiple times (repeat both steps).

COM Port Not Available Windows, Mac, and Linux

If you installed the drivers for the CH340 on your computer but have issues connecting via serial terminal or uploading code using the Arduino IDE, there may be an issue with your user settings preventing you from using the CH340. You may receive an error similar to the output shown below.

In this case, the error appeared on a Linux when trying to upload code due to the drivers not being installed and the root permissions.

Make sure to check your configuration settings and ensure that the serial port for the CH340 is enabled for your OS. You may also need to reinstall the drivers for your operating system.

USB Cable Windows, Mac, and Linux

Certain USB cables are for power only and may not have the data lines available. Try checking your USB cable and ensure that the data lines are intact.

Установка драйвера

Загрузите программное обеспечение Ардуино и распакуйте все файлы в папку c:\ program. В итоге у вас будет каталог, похожий на arduino-0021.

Затем подключите плату к компьютеру с помощью USB-кабеля и подождите, пока Windows обнаружит новое устройство.

Windows не сможет обнаружить устройство, поскольку оно не знает, где хранятся драйверы. Вы получите ошибку, аналогичную той, которая указана справа.

Выберите опцию – установить из списка или определенного местоположения (Дополнительно) и нажмите «Далее».

Теперь выберите местоположение, в котором хранятся драйверы Ардуино. Это будет в подпапке, называемой драйверами в каталоге Arduino.

После выбора «Далее» вы можете получить сообщение, подобное показанному справа.

Выберите «Продолжить» в любом случае.

Теперь Windows должна найти программное обеспечение для Ардуино. Нажмите «Готово», чтобы завершить установку.

Компьютер взаимодействует с платой через специальный чип последовательного порта, встроенный в плату. Программное обеспечение Ардуино IDE должно знать номер последовательного порта, который только что выделил Windows. Откройте панель управления Windows и выберите системное приложение. Перейдите на вкладку «Оборудование » и затем нажмите кнопку «Диспетчер устройств».

Нажмите опцию Ports (COM и LPT) и обратите внимание, какой COM-порт был выделен для Ардуино Board

Затем запустите приложение Ардуино IDE, которое будет находиться в каталоге c:\program\arduino-0021 или аналогичном.

Нажмите «Сервис → Последовательный порт» и выберите номер порта сверху.

Затем нажмите Tools → Сервис и выберите тип платы, который у вас есть.

Attributions

  • Alexander Gavrilov — Provided us with the following insight:

    • OpenSource usbASP Flash Programmer .aka. AsProgrammer https://github.com/nofeletru/UsbAsp-flash
      Windows GUI Based programmer significantly better performance than closed-source version see
    • Avrdude version supporting CH341a https://github.com/Alx2000y/avrdude_ch341a
  • Github User BigBox2020 has provided us with flashrom
    instructions and some closed-source programming options.
    Here are the contributions:

    • Github User BigBox2020 has been kind enough to provide us with the Virus report
      of the above packages.

Resources and Going Further

Now that you’ve successfully got your CH340 up and running, it’s time to incorporate it into your own project!

  • WCH: CH340 Drivers

    • Windows (EXE) — Driver executable
    • Windows (ZIP) — Driver v3.4 (2016-09-27)
    • Mac (ZIP) — Driver v1.5 (2018-07-04)
    • Linux (ZIP) — Driver v1.5 (2018-03-18)

USB-to-serial converters like the CH340 are great for uploading code to a microcontroller or viewing data from a GPS on a serial terminal. Check out these tutorials to dive even deeper into the world of microcontrollers or send serial data to your computer with a GPS!

Serial Terminal Basics

This tutorial will show you how to communicate with your serial devices using a variety of terminal emulator applications.

33

GPS-RTK Hookup Guide

Find out where you are! Use this easy hook-up guide to get up and running with the SparkFun high precision GPS-RTK NEO-M8P-2 breakout board.

4

RedBoard Qwiic Hookup Guide

This tutorial covers the basic functionality of the RedBoard Qwiic. This tutorial also covers how to get started blinking an LED and using the Qwiic system.

3

SparkFun Inventor’s Kit Experiment Guide — v4.1

The SparkFun Inventor’s Kit (SIK) Experiment Guide contains all of the information needed to build all five projects, encompassing 16 circuits, in the latest version of the kit, v4.1.

2

Or check out these blog posts.

About CH341

This is versatile USB to multi-protocol converter chip.

There are 4 major items that become clear from the enclosed Datasheet(English)

  • UART — The chip can be used as a USB to UART converter. It can also be used for RS-485 since it has automatic driver control pin also available.
  • Synchronous Serial — I2C and SPI — The chip has 3 chip select pins and Multi-mode support for SPI protocol. Also the chip has dedicated I2C pins.
  • Parallel Interface — This interface can be used to talk to parallel memory Bus with all the required control signals
  • Printer Port — The device can emulate a EPP Parallel Port over USB to be able to connect to older printers .etc.

Windows 7/10

Note for Educators: You will need to obtain administrative privileges from your network or IT administrator in order to install these drivers. Make sure to test the drivers before class and set aside some time with students in the classroom when installing the drivers.

Download and run the executable.

Click the «Uninstall» button first. Then click on the «Install» button.


Windows CH340 Driver Installation

Driver Verification for Windows

To verify that your driver is working, you should see a difference in the following pictures after plugging the CH340 to a USB port.

Device Manager

To check that the CH340 enumerates to a COM port, you can open the device manager. You can click the Start or (Windows) button and type «device manager to quickly search for the application.

Using the search on Windows 10 to look for the device manager.

Note: On Windows 10, the quick search function is picky on the spelling of the application you are searching for. For example, you may get results using «devi» and none for «device«.

After opening the device manager, you will need to open the Ports (COM & LPT) tree. The CH340 should show up as USB-SERIAL CH340 (COM##). Depending on your computer, the COM port may show up as a different number.

Screenshot of Window 10 Device Manager with a CH340 displayed on COM123. Click to enlarge.

Arduino IDE

Alternatively, if you have the Arduino IDE installed, you should also see a change in the number of available COM Ports (you may need to restart the Arduino IDE for the board to populate). Without the CH340 connected to your computer, click on Tools > Port. Take note of the Serial Ports available.

Connect the CH340 to your computer’s USB port. Click on somewhere else on the screen for the menu to refresh itself. Then head back to the menu by clicking on Tools > Port. A new COM port should pop up. By process of elimination, the CH340 should have enumerated to the new COM port! Feel free to click on the COM port to select if you are uploading code to a microcontroller. Depending on your computer, the COM port may show a different number.

Serial Loop Back Test

You can also verify if the USB-to-serial converter is working by doing a serial loop back test or echo test. If you are using the breakout board, you can add a jumper between the Tx and Rx to try and echo a character in a terminal program. For more information, try checking out the .

CH341a Programmer Application

We still did not find any clean programmer application, that does
not contain any viruses. Hence if any one can help us provide a clean
programmer application — please let us know.

We have finally found one piece of closed source software for programming.
This was contributed by Github User BigBox2020.
Another is usbASP Flash Programmer .aka. AsProgrammer. This is an
Open-Source alternative contributed by Alexander Gavrilov.

Please find the links to the respective contributions below.

Here are few Open-source projects targeting this platform:

  • https://github.com/setarcos/ch341prog
  • https://github.com/stefanct/ch341eepromtool

Contribution by Alexander Gavrilov

Here are few more Open-Source projects shared with us by Alexander Gavrilov

  • OpenSource usbASP Flash Programmer .aka. AsProgrammer https://github.com/nofeletru/UsbAsp-flash

  • Avrdude version supporting CH341a https://github.com/Alx2000y/avrdude_ch341a

Here are a few Close-Source links shared with us by Alexander Gavrilov

Contribution by Github User BigBox2020

Here are a few Closed-Source links shared with us by Github User BigBox2020:

Here are a few Open-Source tool flashrom links shared with us by Github User BigBox2020:

Чипы CH340g, FTDI FT232, ATMEGA 16U2 / 8U2

Обычно с чипами USB преобразователей и поиском драйверов сталкиваются в тот момент, когда возникает проблема подключения платы к компьютеру. Скорее всего,  вы тоже нашли эту статью, пытаясь заставить Arduino IDE взаимодействовать с китайской ардуинкой. Давайте разберемся, какую роль во взаимодействии с компьютером играет чип преобразователя и зачем устанавливать какие-то драйверы, чтобы все заработало.

Зачем нужен USB / UART TTL преобразователь

Когда вы подключаете Ардуино к компьютеру или любому другому устройству по USB, вы связываете между собой сразу два мира: микропроцессорный, сосредоточенный на плате Arduino и мир внешних устройств. Подходы к организации взаимодействия между элементами в этих мирах сильно отличаются. Для работы внутри платы используется особый протокол со своими правилами взаимодействия – UART. И для того, чтобы “внутреннюю” линию соединить с “внешней” нужен определенный преобразователь-посредник, который будет хорошо понимать физические сигналы, используемые как для USB, так и для платы контроллера. Вот этим посредником и являются чипы USB- UART (иногда их еще обозначают называют USB-TTL, хотя это не совсем корректно) преобразователей, самыми популярными из которых являются микросхемы FTDI, CH340G,  ATMEGA U16.

USB преобразователи в Ардуино

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

Исторически наиболее популярным вариантом чипов USB/UART конвертера была линейка микросхем от шотландского производителя  FTDI. Главным ее недостатком была стоимость и весьма странная политика в области контроля контрафакта, зачастую приводящая к тому, что легальные купленные устройства блокировались драйверами компании. Сегодня существенную конкуренцию FTDI составляют микросхемы семейства CH340, массово производимые многочисленными китайскими производителями. Они гораздо дешевле и достаточно надежны и это постепенно привело к тому, что в большинстве недорогих контроллеров Arduino и адаптеров установлены именно чипы CH340 (CH340g).

Наверное, единственной, но очень важной проблемой при использовании CH340g взамен FTDI является необходимость в некоторых случаях установки USB драйвера. “Респектабельная” FTDI давно уже тесно интегрирована в Windows и при подключении устройства с FTDI-преобразователем никаких драйвером устанавливать не нужно – они уже есть в системе

Для подключения CH340g иногда нужно скачать драйвер и установить его – только после этого система увидит наше устройство.

Процедура установки драйвера для CH340g на самом деле очень проста и почти всегда проходит без ошибок на самых популярных операционных системах Windows7, Windows10. Именно поэтому никаких проблем с использованием недорогих ардуино плат, несущих на себе чип CH340, почти никогда не возникает.

Остается только вопрос – а зачем вообще нужен какой-то USB драйвер для подключения ардуино  к компьютеру? Давайте разберемся.

USB драйвер для ардуино

Мы не будем уходить в теоретические дебри, разбирая многочисленные коммуникационные протоколы, поддерживаемые современными компьютерными системами. Главное, что нужно понимать: когда мы присоединяем какое-то устройство к компьютеру, оно может передавать или получать данные только если его “поймут” с другой стороны. На стороне компьютера таким переводчиком является специальная программа, называемая драйвером. Драйвер USB работает в режиме эмуляции последовательного, COM-порта. Это означает, что при подключении операционная система создает виртуальные, программные COM-порты, с которыми и работает драйвер. В Windows их можно посмотреть в диспетчере устройств.

Если мы подключаем Ардуино к компьютеру, то чип с помощью драйвера попросит систему открыть порт и начнет взаимодействие . И для чипов разных  производителей потребуются разные драйвера. Проблемы возникают, когда драйвера нет. Система пытается найти его для подключенного устройства, не находит и мы никогда не  увидим его в списке устройств. Для решения проблемы надо найти и скачать соответствующие драйвера, а затем установить их на компьютер. Ниже мы рассмотрим, как это делается на примере USB драйвера CH340.

Описание

Как скачать программу:

CH341A — программное обеспечение, необходимое для полноценной работы физического программатора аналогичного типа. С его помощью можно менять прошивки поддерживаемых чипов, очищать их и сохранять в папку компьютера. Интерфейс программы крайне прост и содержит лишь основной набор инструментов без множества дополнительных настроек.

Для того чтобы установить русский язык, в верхнем меню найдите пункт «Language» и в выпадающем списке выберете русский перевод — «Russian»

CH341A — USB Programmer поддерживает прошивку чипов различных типов. Среди них микросхемы, изготовленные компаниями NextFlash, ATMEL, WINBOND, MXIC, EON и др. Это позволяет программировать большое количество элементов ноутбуков, ПК и телевизоров — материнские платы, видеокарты, процессоры, BIOS, модули памяти и другие чипы.

Чтобы перепрошить микросхему, сначала подключите элемент к программатору

При этом важно соблюдать распиновку разъема. Затем выполните соединение устройства с компьютером через USB порт

Программа CH341A содержит не только инструменты для изменения прошивок, но и драйвера, необходимые для установки соединения программатора и ПК. Если ПО установлено, драйвера автоматически «встанут» в систему. В нижнем правом углу окна программы должно появиться уведомление о том, что программатор подключен.

Особенности последней версии USB программатора CH341A v1.34:

  • Оснащен набором требуемых драйверов;
  • Полный инструментарий для изменения стандартных прошивок микрочипов;
  • Совместимость с ОС Windows от XP и выше;
  • Имеет русскую и английскую локализацию;

Использовать данную программу необходимо аккуратно. Поскольку все прошивки скачиваются со сторонних сайтов и форумов (CH341A не имеет своей базы прошивок), установка выполняется на страх и риск самого пользователя.

Drivers (If You Need Them)

The CH340 has been tested on:

  • Windows 7/10
  • Mac OSX

    • v10.10.5 (Yosemite)
    • v10.11.6 (El Capitan)
    • v10.13.0 (High Sierra)
    • v10.14.5 (Mojave)
  • Linux

    • Raspbian Stretch (11-13-2018 release) for the Raspberry Pi
    • Raspbian Buster (2019-07-10 release) for the Raspberry Pi
    • Ubuntu v18.04.2, 64-bit

These operating systems have the CDC drivers pre-installed, which means you shouldn’t need to install any extra software. However, there are a wide range of operating systems out there, so if you run into driver problems, you can get the archived drivers linked below:

  • Windows (EXE) — Driver executable
  • Windows (ZIP) : Driver v3.4 (2016-09-27)
  • Mac (ZIP) : Driver v1.5 (2018-07-04)
  • Linux (ZIP) : Driver v1.5 (2018-03-18)

The CH340 is made by WCH. You can find the latest version of their drivers here, but most of their pages are in Mandarin. If you use a Chrome web browser, you should have the option to have the web page translated.

Drivers and tools

The manufacturer of CH341A provides a lot of useful things on the product page. Here are the files you can find and what they contain (the first two are the ones you need):

  • CH341SER.EXE — self installing archive with USB to serial driver.
  • CH341PAR.EXE — self installing archive with multiprotocol interface driver (this one is for the programmer mode)
  • CH341SER.ZIP — archive containing driver files and serial API and library (you don’t need specific API for standard serial port, but it contains some special functions to get IC version etc.)
  • CH341PAR.ZIP — archive containing driver files for interface mode and API (header and library to access the device and use any protocol you want).
  • CH341PAR_LINUX.ZIP — archive containing Linux driver source code and Linux API
  • CH341SER_LINUX.ZIP — Linux driver source code for serial port (don’t need this one, it’s already included in kernels)
  • CH341EVT.ZIP — some source code and tools written to be used with an evaluation board (may be useful for programming software that can access this device)
  • CH341DS1.PDF — datasheet, in Chinese
  • CH341DS2.PDF — some additional info and API documentation, in Chinese
  • CH341DP.ZIP — contains an ISP programming tool?
  • CH341DPS.ZIP — probably similar to the above, once required login to download

A regular user only needs the first two. Just double click on each of them and when the dialog appears click on Install. Next thing you’ll need is software. Windows users can try AsProgrammer.

The API becomes interesting due to the versatility of the chip. You can build your own software that will read/write data from/to sensors, real time clocks or any other devices that use serial communication. You can also interface parallel devices to the chip, but this will require modification of the programmer board in order to connect to pins.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector