CP210x

Aus brainelectronics Wiki
Wechseln zu: Navigation, Suche

Controller wie der Iteaduino Lite verwenden den CP210x Chip für die serielle Kommunikation an Stelle des Atmega8 oder FTDI232.

Informationen

Um kurze generelle Informationen einzuholen kann man folgenden Befehl verwenden:

   $ lsusb
Bus 001 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

Installation des Treibers (Mac)

Der Iteaduino Lite nutzt im Gegensatz zum offiziellen Arduino Uno o.ä. einen CP2102 von SILabs an Stelle des teuereren ATmega8U2. Daher muss zunächst der Treiber für diesen Chip installiert werden CP210x VCP System Drivers.

Unter Mac OSX wird das heruntergeladene ZIP File entpackt und mittels dem Installer installiert.

Modifizieren

Setup

Das entsprechende Programm zum Modifizieren des CP210x Chips kann unter CP210x-Programmer oder from brainelectronics geladen, entpackt und installiert werden.

   $ tar -zxvf cp210x-program-1.0.tar.gz 
   $ cd cp210x-program-1.0/
   $ sudo python setup.py install

Ändern

Folgende Möglichkeiten der Modifikation sind gegeben:

    * Vendor ID
    * Product ID
    * Product String
    * Serial Number
    * Device Version
    * Bus Powered
    * max. Power consumption

Terminal

Das Gerät mit Vendor ID 0x10C4 und Product ID 0xEA60 kann mit nachfolgendem Befehl auf eine neue Product ID gesetzt werden:

   $ sudo cp210x-program --write-cp210x -m 10C4:EA60 --set-product-id="EA69"

GUI

Der Hersteller Silabs bietet zudem eine eigene Software für Mac, Linux und Windows um die Chips zu programmieren Silabs Program

Auslesen

Wie im README beschrieben, dann das Gerät 004 an Bus 001 folgendermaßen ausgelesen werden:

   $ sudo cp210x-program --read-cp210x -m 001/004

An welchem Bus das Gerät mit entsprechender Nummer sitzt kann wie oben beschrieben mit lsusb ausgegeben werden.

[usb device]
product_string = CP2102 USB to UART Bridge Controller
serial_number = 0001
vendor_id = 10C4
product_id = EA60
version = 1.00
bus_powered = no
max_power = 100
locked = no
part_number = 2
vendor_string = Silicon Labs

[baudrate table]
1500000 = FFF0, FFFA, 1 # 1500000 Baud, 12 us
1500000 = FFF0, FFFA, 1 # 1500000 Baud, 12 us
1200000 = FFEC, FFF8, 1 # 1200000 Baud, 16 us
 921600 = FFE6, FFF6, 1 #  923077 Baud, 20 us
 576000 = FFD6, FFF0, 1 #  571429 Baud, 32 us
 500000 = FFD0, FFEE, 1 #  500000 Baud, 36 us
 460800 = FFCC, FFEC, 1 #  461538 Baud, 40 us
 256000 = FFA2, FFDC, 1 #  255319 Baud, 72 us
 250000 = FFA0, FFDC, 1 #  250000 Baud, 72 us
 230400 = FF98, FFD9, 1 #  230769 Baud, 78 us
 153600 = FF64, FFC5, 1 #  153846 Baud, 118 us
 128000 = FF44, FFB9, 1 #  127660 Baud, 142 us
 115200 = FF30, FFB2, 1 #  115385 Baud, 156 us
  76800 = FEC8, FF8B, 1 #   76923 Baud, 234 us
  64000 = FE89, FF73, 1 #   64000 Baud, 282 us
  57600 = FE5F, FF63, 1 #   57554 Baud, 314 us
  56000 = FE53, FF5F, 1 #   55944 Baud, 322 us
  51200 = FE2B, FF50, 1 #   51173 Baud, 352 us
  38400 = FD8F, FF15, 1 #   38400 Baud, 470 us
  28800 = FCBF, FEC7, 1 #   28812 Baud, 626 us
  19200 = FB1E, FE2B, 1 #   19200 Baud, 938 us
  16000 = FA24, FE0C, 1 #   16000 Baud, 1.000 ms
  14400 = F97D, FE0C, 1 #   14397 Baud, 1.000 ms
   9600 = F63C, FE0C, 1 #    9600 Baud, 1.000 ms
   7200 = F2FB, FE0C, 1 #    7201 Baud, 1.000 ms
   4800 = EC78, FE0C, 1 #    4800 Baud, 1.000 ms
   4000 = E890, FE0C, 1 #    4000 Baud, 1.000 ms
   2400 = D8F0, FE0C, 1 #    2400 Baud, 1.000 ms
   1800 = CBEB, FE0C, 1 #    1800 Baud, 1.000 ms
   1200 = B1E0, FE0C, 1 #    1200 Baud, 1.000 ms
    600 = 63C0, FE0C, 1 #     600 Baud, 1.000 ms
    300 = B1E0, FE0C, 4 #     300 Baud, 1.000 ms
 

Platine

KICAD PCB CH340

Credits

Johannes Hölzl Entwickler von cp210x-program