Friday, May 27, 2016

Off the Beaten Track

Just over a week ago, I met up with my colleagues from the Open Hardware User Group (OSHUG) to hear about developments in open core architectures and FPGAs.

OSHUG are now in their 6th year, and meet up monthly in Central London, for discussion and socialising.  I have known them since meeting #5 - but it was interest that I found this video of Professor David May, speaking at the very first OSHUG meeting #1 back in 2010 (44 minutes).

David May worked on the transputer project back in the mid 1980s, and more recently became the founder of XMOS - a fabless semicoductor company based in Bristol. XMOS make a multicore processor - that has specific hardware to support multi thread, concurrent processing.

The XMOS architecture is formally described in this pdf, or as a shortform in this slide presentation - by Professor David May.

Prompted by my OSHUG colleague, Alan Wood, this week, I have been taking a closer look at the XMOS devices, commencing with buying a  $16 startKIT, a 94 x 50 mm dev board, designed to highlight some of the unique features of this interesting multi-thread microcontroller architecture.

Before I dive fully into the XMOS, I would like to suggest that we are living at a time of great innovation in terms of processor architectures, and whilst sometimes it appears that the world is powered increasingly by ARMs, there is certainly a renaissance for new ideas in computing architectures.

A few weeks ago I looked briefly at the Parallax Propeller, again a novel machine, and as I bring myself up to speed with the XMOS, I can see distinct similarities between the devices.  The dev boards for these devices are low cost and widely available - so why not try something a bit different?

Both Parallax and XMOS are fairly small companies, and this might be part of the reason why they have taken innovative approaches, that might often be overlooked by the larger semiconductor manufacturers, or seen to be so far off the beaten track, that might be perceived as too much of a financial risk to the larger vendors. When you are dragged along by the momentum of the herd, there is little opportunity to innovate!


First let's look at some similarities between the XMOS and Parallax devices.  They are both advertised as multicore microcontrollers, though this terminology  may be a little misleading, as the XMOS device does not have true, separate stand-alone cores inside.   Instead, it has an execution unit, that has access to separate banks of registers, whilst the Propeller, has multiple execution units (cogs), which have access to shared memory resources.  Unless I am mistaken (and I might be, should any one wish to put me right), they appear to be two different approaches to achieve roughly the same outcome - multicore processing with virtually no latency between tasks.

The XMOS device reminds me of the Z80 architecture that had an alternate set of registers A' F' B' C' D' E' and H' L' .  Both the main registers and the alternate set were connected to the internal bus via a multiplexer, which allowed fast switching between the banks using the EXX instruction. In common use, the main registers were used for the main program, until an interrupt occurred, at which point the alternate set could be switched in to be used throughout the Interrupt Service Routine - an unrelated task.  The meant that the latency involved in stacking and unstacking registers could be avoided - and a faster interrupt response time achieved.

XMOS appear  to take this bank swapping concept a whole stage further,  and each "core" is effectively a rapidly swap-able bank of registers - consisting of 12 general purpose registers, stack pointer, data pointer, PC etc.

The banks of registers can be selected in an instant by a multiplexer structure, and this is done in a round robin fashion.  I get the image of the execution unit, parking one set of registers and picking up the next to continue with a new task, rather like a turret machine tool automatically changes it's cutting bits.

The Parallax Propeller device, on the other hand,  has multiple execution units with their own local set of extended registers, which have round-robin access to shared memory resources.

The difference between the two architectures may initially appear subtle, but I suspect they have their distinctive pros + cons, and part of the process of exploring new architectures is to investigate these differences - seeking out advantages in them both.

A later post will look at the all important interconnect between Xcores  (xCONNECT) plus some applications.

However, as this is a bank-holiday weekend in the UK and Memorial Day in the US, I shall park this entry for the moment, allowing the interested to find time for their own reading.

Might I suggest this excellent tutorial - which introduces the architecture and looks at some coding examples.

Finally, a brief reminder - The Silicon Valley Forth Interest Group meet on Saturday 28th May. This month it is a workshop in creating an 8080 core on a Lattice FPGA and running eForth on it. Details here.


Sunday, May 22, 2016

More Distractions of the Mind - Building Retro Computers - Part 2

Shopping for Tech in Shenzhen.

About 5 weeks ago  - in the first part of this post, I looked at some low cost electronics modules and LED displays which could be incorporated into novel retro-computer style designs. I continue this search for retro-tech, looking at some of the pcbs and devices that are widely available at very low cost, virtually off the shelf from the Shenzhen Electronics Markets. Crucially, most of these devices already have code libraries and drivers available for Arduino and Rasp-Pi - so it really is a case of plug and play!

Shenzhen is famous for its electronics markets, and if you can't get there in person, what better than a Personal Shopper, who can source your purchases for you?

Well, the package from Toby Yu  (@TobyYu3), at Man Friday (Shenzhen) arrived on Friday, and I can share with you some images of the latest shopping haul, and some of the proposed applications.

Firstly the modules:

A small selection of low cost modules
Above we have a selection of the modules.

Top row - left to right

1.  microSD card socket with 5V to 3V3 buffer IC - to allow use on 5v systems - such as Arduino.  Cost $0.65

2. CH376 USB memory stick host. Allows read write of memory sticks, via parallel interface, SPI or UART serial interface.  A tutorial, source code and video of this device is can be found on the Arduino Basics Blog. Cost  $1.80.

3. Hex Keypad  - a simple 4 x 4 matrix.  Cost $1.20

4. LED&KEY  - 8,  7 segment digit display, 8 individual LEDs and 8 switches. Uses the TM1638 driver/keyscanner IC. An  Arduino library for the TM1638 is available from RJ Batista . Tested and fully working with this particular hardware.  Cost  $2.00.

5  PL2303HX USB to UART adaptor.  This uses the newer HX version of the PL2302. (Datasheet). This will generate any baud rate between 75 baud and 12Mbaud - but unlikelt that the host PC will allow more than 3Mbaud.  Has a jumper link for 5V or 3V3 operation, but only Rx, Tx, V+ and 0V made available to target.  It would benefit from more of the handshaking lines being broken out to header pins.  Cost $3.00.

And now some of the LED displays:

A Selection of Low Cost LED Modules

Above, and pictured together so that you can see the relative sizes are a selection of the LED modules I am currently sampling.

1.  0.56"  4 Digit, RED, common anode   Cost $0.60
2.   0.36"  3 digit  RED, common anode   Cost $0.60
3.   10 segment bi-colour (red/green) bargraph   Cost $1.30
4    1.9mm  8 x 8 RED array.  20 x 20mm. Cost $0.40
5.    Holtek HT16K33 LED array driver/keyscanner breakout module   Cost $0.95
6.   3mm   8 x 8 bi-colour (red/green) LED array  38 x 38mm   Cost $0.60
7    16 x 16 RED LED array with rear mounted Holtek HT1632C driver IC. 76 x 76mm  Cost $5.85

These have been purchased to show a representative range of what can be sourced from China.  The prices quoted are those that you would pay when individually bought directly from a Vendor's stall at  the Shenzhen Electronics Market. You then have to pay about 30% for the Personal Shopping service, but it still works out considerably cheaper than buying in the west - say from Ebay. Shipping would be extra and dependent on destination, service, volume, weight etc.

One of the interesting modules is the HT16K33 breakout board.  This is a Chinese produced copy of the Adafruit board but $5.00 cheaper! It can drive two 8x8 LED matrices, 16 x 7 segment displays or a bicolour (red-green) 8 x 8 matrix. The datasheet for the HT16K33 is available and also an Arduino and Raspberry Pi Library may be downloaded from here.

The large 16 x 16 matrix is the sort that is built into large display screens.  The rear of the board arrows easy connection to neighbouring display tiles, and connection of 5V power.

With four of these tiles you could recreate the Manchester SSEM - "Baby" - and drive it with an Arduino or Raspberry Pi.  The brightness of the displayed pixels may be modulated - a row at a time using the dimming function.  See the HT1632C (datasheet) for the full versatility of this device.  A comprehensive Library to drive up to four HT1632C devices from an Arduino is available.  The $0.48 low cost HT32C also can serve as a keymatrix scanner device.

Finally, I had been looking for a compact keyboard to use with my 7" tablet.  I found the following Bluetooth keyboard through my Shenzhen market contacts.

The keyboard is 200 x 125 x 6mm (7.9" x 5" x 0.25") - and is a perfect size for my $50 Amazon Kindle. It can be used with Android, IOS and Windows machines. The cost was $10.80.

All of the above devices are available from Man Friday (Shenzhen).  My contact there, Toby Yu (@TobyYu3 on Twitter)  will assist in purchasing other locally available items.

In future posts in this series, I will look at some of the choices of cpu available for retro-computing projects - beginning with some of the more unusual devices like the Parallax Propeller and the XMOS multicore parts. Additionally I look at the low cost FPGA boards that have recently become available - and how to get started producing your own open core cpu.

Wednesday, May 11, 2016

Developing Smart Sensor Solutions

Reducing Cost.

One of our existing products at work, which I designed about 2 years ago, makes use of the STM32F373 microcontroller interfaced to an AD7767 24-bit sigma-delta ADC, to create a smart sensor.

Whilst at the time of development, (Feb 2014) - this seemed to be an economical solution, our requirements have changed a little, in that we wish to add Bluetooth Low Energy Connectivity, LiPo battery support and the means to drive an OLED display.  These functions could be added in the form of an additional pcb (similar to the Arduino shield concept), and provision had been made to accommodate such a board with an expansion connector, but after reviewing all of the costs, it was decided that a new approach - and a new dedicated pcb design would be ultimately preferable.

At the same time as I was making design decisions, I was aware that cheaper parts had become available - and so the combination of the STM32 mcu and 24 bit ADC, which had been costing around $15 in 1000 off, was starting to look a bit expensive.

Fortunately, I came across the range of MSP430i2xxx  16-bit microcontrollers, which come with 2, 3 or 4 individual 24 bit differential input SD ADC converters with programmable gain amplifiers (PGAs).  These are intended for energy metering applications - and this volume application is reflected in their low cost - about $1.98 in 1000 off from Mouser. Here was a way of stripping out a whole lot of cost from the smart sensor concept - and returning additional functionality, with up to 4 sensor channels.

MSP430i2041 and 128Kbyte SPI SRAM  Breadboard Prototype
After an initial review of the various MSP430 devices it was decided to opt for a generic smart analogue sensor design, capable of driving an OLED display.

I selected to use the MSP430i2041 (which was chosen for it's 4 x SD24 ADCs) in order to make precision analogue sensor measurements.  It uses a low noise differential input instrumentation amplifier based on the LMP2022 from TI which is described as being "EMI Hardened".

It can be used for tens of microvolt or millivolt range measurements - typically from bridge sensors, current shunts, milliohm measurements, strain-gauges, PT100 and thermocouple temperature measurements etc, etc.

The product is on a small board - just 42 x 53mm (1.65" x 2.1"), and has a forwards facing OLED display and 4 button user interface.

MSP430i2041 Bluetooth Smart Sensor Board

As stated last month I am using the MSP430i2041 and 128K byte 23LC1024  SPI serial SRAM.  I am using my SIMPLex Forthlike language which now executes code out of external serial memory, or an be used to respond to serial commands (requests for ADC reading data etc) over a serial link. 

As this has been designed as an evaluation, all of the MSP430i2041 mcu pins are available on 2 x 16 pin header strips - allowing it to be plugged into a breadboard, stripboard, or connected to a MSP430 Launchpad with jumper wires, using just Rx, Tx, 3V3 and 0V.  The Launchpad '4133 or  '6989 are preferred as they provide a 6 digit LCD "meter" like display.

USB to serial communications is handled using a CH340G USB-serial IC.    

There is an on board LiPo charger and boost regulator  - allowing the board to run from a LiPo  or  - as little as a 1V dc supply. The super capacitor and LiPo battery are used to back-up the non-volatile memory allowing this to act as a battery powered datalogger.. 

A Bluetooth Low Energy module (yet to be fitted in top -left corner - in above photo) allows data to be sent to smart phone or tablet.  The mounting holes are pitched to allow direct mounting of an OLED display on the front face of the pcb, plus buttons - to form a simple graphical user interface.

If the module is successful, I hope to be able to open source at least some of the design, for those who are interested.

Experimenting with New Devices - Part 4

The Best Things Come in Small Packages.......

What is true for wedding rings, is possibly also true for microcontroller hardware.

At least two microcontroller manufacturers have ARM M0 or ARM M0+  devices packaged in TSSOP 20 packages.  There is the STM32F0xxx series from ST Microelectronics, and the LPC82x series from NXP.

Freescale (now NXP) even had some M0+ parts in a 16 pin TSSOP - but the documentation is in such a mess - I failed even to find a pinout!

These are great little, low cost devices, with a clock speed of approaching 50MHz,  plenty of RAM and some even with native USB onchip 12 bit multichannel ADCs and multiple UART and SPI ports are also common.

This all adds up to a neat little package that could really knock spots off the now long-in-the-tooth Arduino.

For any microcontroller to become popular it has to first have the following in place - but sometimes it's a bit like a Chicken and Egg situation.

1.  A usable package - preferably breadboard or stripboard friendly with 0.1" pitch pinout
2.  A C compiler that is free to use - with rich featured - but not over complicated IDE
3.  A convenient means to program the device with minimum cost tool.
4.  Unique features that make it appeal rather than the competitor's device
5.  Well documented code examples and peripheral libraries
6.  A strong User Community.
7.  Documentation you can actually find and use (NXP/Freescale #Fail)
8.  Easy to create code that is portable across various manufacturers' families of mcu

Unfortunately the poor TSSOP 20 package fails to get off first base - even though it may be a strong contender for all the other options.

The TSSOP 20 is a small device -  yet because of a 0.65mm lead spacing it is a lot easier to solder than a QFN or LQFP package.

In order to remedy this situation, a low cost TSSOP adaptor is required - so as to convert the TSSOP pinout into a more breadboard friendly pinout.

Breakout Options.

As the Makersphere has generally grown accustomed to plug in packages in a 28 pin 0.3 DIL format  (i.e. ATmega328)  that could be one attractive option for the pinout.  It could be an instant upgrade to the Arduino - just by plugging a new module in.  With 28 pins  - there is a little scope for expansion - allowing packages up to about a LQFP/QFN 32 to be used. It also makes the module extremely attractive for breadboarding or using with stripboard.

If anyone wants a smaller package, the DIL 14, 16,18, 20 and 24 are all possibilities.  We could possibly use the neat trick used in the TI valueline Launchpad - where the DIL socket will cater for both 14 pin and 20 pin packages.

Here's the classic Arduino Pinout - with common names - again in glorious monospaced courier font.

               RESET      |            |  AN5/SCL
               RXD        |            |  AN4/SDA 
               TXD        |            |  AN3
               INT0       |            |  AN2
               INT1       |            |  AN1
               D4         |            |  AN0
               VCC        |            |  GND
               GND        |            |  AREF
               XTAL1      |            |  AVCC
                                    XTAL2      |            |  SCK
                                    D5         |            |  MISO
                                    D6         |            |  MOSI
                                    D7         |            |  SS
                                    D8         |            |  D9

So creating a breakout board is just a case of looking at the pinout of the proposed target microcontroller - and making sure that the functions (SPI, UART RX, TX etc) tie up with those on the above pinout diagram.

Two processor families  are under consideration - mainly because they meet or exceed the Arduino's capacity of RAM and Flash memory.  They are the STM32F03x, 04x and 07x  - which all share a common pinout and the NXP LPC08x series.

First  the STM32F0XX:

This needs a bit of detective work - because STM use simple names fro their GPIO pins that do not reveal the underlying function.  For this we need to further consult the datasheet.

STM32F Pin  Function        28 DIL (Arduino)
1            INT0              4
2            OSCIN             9
3            OSCOUT           10  
4            /RESET            1
5            VDDA             20
6            AN0              23
7            AN1              24
8            AN2/TX2          25
9            AN3/RX2          26
10           SS               16
11           SPI1_SCK         19
12           SPI1_MISO        18
13           SPI1_MOSI        17
14           INT1              5
15           VSS               8,22
16           VDD               7
17           TX1               3
18           RX1               2
19           SCL              28
20           SDA              27             

Note the 2nd USART is available on pins module 25,26

The STM32F0xx limited pin-out cannot support Arduino Digital pins D4,D5,D6,D7,D8,D9

Now the LPC82X.

This has the advantage that it has a highly flexible switch matrix which can assign the USART, SPI, SCT and I2C functions to any pin that is not power or ground.

LPC82X Pin  Function        28 DIL (Arduino

5            /RESET           1            
13            OSCOUT          10
14            OSCIN            9
15            VDD             7
16            VSS             8,22            
17            VREFN           22
18            VREFP           20

 VDDA            20           

Saturday, May 07, 2016

As Cheap as Chips.....

This could come in handy......

Some of you may be familiar with the recently available, Chinese produced CH340G USB to serial converter IC, that offers a very cost effective alternative to the FTDI part. No more paying over $3 for FT232R - when you can pay under $0.50 for the same function.

You may not know that the CH340 is just one of a series of about 60 ICs produced by Jiangsu Heng Qin,  (WCH)  in Nanjing, China.  These ICs provide very useful circuit functions, at very low cost - yet until recently have been virtually unknown to designers in the West.

WCH are amongst a small group of Chinese and Taiwanese chip manufacturers - including Holtek * and UMC, who produce a vast volume of low cost ICs for some of the most basic, yet essential building block circuit  functions. These form the bread and butter devices built into Far Eastern manufactured consumer products, such as MP3 players, telephones, flash drives, USB peripherals etc.  Their chips are literally in everything we buy and use. We just don't get to hear of them so much about them - as we do, of those semiconductor companies founded in the West.  (* I will feature Holtek in a later post).

Yet until the CH340 arrived on our shores - there was very little knowledge about any of these Chinese domestic ICs. Data sheets have been often only available in almost impenetrable Chinese language, and even if you did find an interesting device - how and where would you source samples of it, or prototype it with it? - with so very little information available.

Fortunately these barriers to creativity are now becoming a thing of the Past. The Chinese language is no longer a problem - thanks to the almost instantaneous translation available using Google Translate, and there are an increasing number of specialist vendors in southern China, who will gladly source you a few samples and post them over to you.  These guys are only a Skype call away - and eager to do business with Western customers. The electronic industry around Shenzhen is unique in that there are literally hundreds of small component vendors who will gladly sell you the parts in individual quantities.  Matching a particular part and finding samples is something that they take pride in - and will go the extra mile to keep their customers happy.

As an aside note. When prototyping with modern IC packages - you often need an SMT adaptor board to accept the SMT package and convert into a DIL footprint.  These prototype adaptors can be quite expensive if you source them from Mouser or Digikey - so here's a tip for free  - buy them for a few cents each - from these Guys.

QFN32 prototyping adaptor - yours for about $0.10

A Look at some useful Chinese ICs

This post is a little bit different to my usual musings - in that, this time, I explore some of the fascinating IC offerings of the little known IC manufacturer WCH,  in the hope that knowing more about some of these otherwise unfamiliar devices might trigger some design ideas, amongst the hardware product design creatives.

If you like reading about obscure, dirt cheap ICs - carry on.  If not, may I suggest you quit now - whilst you are ahead - there's bound to be some kitten videos somewhere on the web.

I have no commercial association with WCH -  I just like to use their chips.

WCH     company profile
Jiangsu Heng Qin Ltd. (WCH)  is located in the heart of Nanjing Software Valley is a technology-oriented high-tech enterprises, the core business is the interface class IC, SOC/MCU class of integrated circuits and embedded software development and sales. In the information industry speed the development of technology in an increasingly competitive today, the product of high-tech, user-friendly development path has become a technology-based businesses to comply, the forefront of technology Qin Heng people aware of this concept, and therefore continue to raise Jiangsu Heng Qin large R&D investment, improve R&D system, technology and development. Currently, we have a professional research team with independent research and development capabilities, and gain the right to layout-designs of integrated circuits, software copyrights, patents and a number of independent intellectual property rights. Companies focus on R & D investment and innovation, but also paid great attention to building its own brand, registered international trademark in many countries and regions in the United States, Britain, Germany, Korea, Taiwan and Hong Kong. Jiangsu Heng Qin was identified as the national high-tech enterprise, integrated circuit design enterprises, private technology enterprises in Jiangsu Province, Jiangsu Province, SME, the contract and trustworthy enterprise.

Jiangsu Heng Qin around the core business, with many domestic and foreign professional companies together to provide integrated circuits and overall applications with independent intellectual property rights. Jiangsu Heng Qin product positioning: professional, easy to use, the product is mainly used in the financial tax, information security, industrial control and other fields. Jiangsu Heng Qin technical services and application solutions covering electronic circuit, microcontroller and DSP and embedded software, computer system architecture, especially in the SCM system networking, interoperability of electronic products and computer aspects of the underlying computer hardware and software with professional technology service. Our strength lies in seamless connectivity and collaboration between software and hardware, the mutual penetration and conversion, and thus provide an overall cost-effective professional applications. 

In the Future, Jiangsu Heng Qin will continue to lead the development of the domestic IC industry to meet the challenges of ever-changing global IC field, you become more professional and reliable partner.

Low Cost Communications and Interface Devices

WCH have specialised in communication and interface ICs including serial UART, USB functions and ethernet - plus all manner of devices to form bridges between these comms functions.

They have devices for extending USB down 100m of CAT5 cable - by converting to and from 1000 base-T. Also devices for extending keyboard, VGA and mouse functions.

They also produce some 8 bit and 32 bit microcontrollers, based on enhance 8051, and ARM core, with internal USB functions, that may be customised to provide USB Host or peripheral device functions.

Finally, though perhaps not so relevant for the hobbyist, they have range of PCI peripheral devices - the sort of devices that are embedded into PC Expansion cards.

In addition, there are some memory parts (4K FIFO, 66 byte Dual Port RAM) plus a range of devices to manage micro SD cards, host USB flash drives and serial memory, providing FAT16 and FAT32 functionality.

All of their devices are very reasonably priced, (mostly < US$ 3.00 ) and available through the specialist vendors in Shenzhen from the Electronics Market.

Making full use of Google Translate - the WCH website and datasheets have become a lot more accessible.

I have selected some of the more interesting devices in terms of UART, USB, I2C and ethernet devices and translated the introductory outline which describes the function.  If you want the full information - click on the link and use Google Translate (right click) to perform a page translation.

PDFs may be downloaded from the download page - along with C code examples of drivers.

If you are interested in samples contact toby dot yu3 at gmail dot com

Toby runs "Man Friday" - a specialist component sourcing and manufacturing logistics company out of Shenzhen.

Here is a quick translation of their Application Solutions Page  - all in blue italics are clickable links to applications:
The list below is quite extensive - my personal favourites are:

CH317   USB extender over Ethernet - 100m extension via Cat5 cable
CH376   USB Host for Flash drive and uSD cards
CH9130  A multi-peripheral device connected via ethernet
CH9121  An ethernet controller accessed by serial UART
CH395   A Wiznet W5100 competitor.
CH943   USB to 8 or 16 UARTs
CH9331 A uSD disk using serial memory devices
CH341   Multi peripheral functions over USB

Have Fun.

Microcontroller Family  - a mix of 8051 8-bit, 8-bit RISC and 32-bit (ARM9) RISC parts.   

CH557 is a compatible enhanced E8051 core microcontroller MCS51 instruction set, 79% of single-byte instructions are single-cycle instructions.
CH557 provide a rich interface resources, including built-in classes 485 data transceiver, LED control card interface and the capture function level, others include a group of SPI, 2 serial ports, parallel ports, etc. 8, UART1 compatible 16C550; built-in timer 4 group ; provides one 16-bit PWM and two 8-bit PWM; supports 8-channel 10/11 bit ADC.

  •  CH558      Enhanced 8051 USB mcu for peripheral device applicatios
  •  CH559      Enhanced 8051 USB mcu for Host applications
  •  CH563      32 bit 100MHz RISC
  •  CH536      8 bit 12MHz RISC for USB Host/Device Applications
  •  CH537      Multichannel USB mcu  - for Hub applications

    Network Chips

    •  CH9130   Ethernet Multi-Function Peripheral IC

    CH9130 is a tool for Ethernet expansion of multi-chip peripheral interface, built-in 10/100M Ethernet media transport layer (MAC) and physical layer (PHY), fully compatible with IEEE802.3 10 / 100M protocol can be extended simultaneously: 2 Road UART, 16-way GPIO, 2-way SPI, 3-way PWM, 1 channel 3-channel ADC, 8-bit parallel port or passive 8/16 bit bus interface. End PC with a network interface library, you can quickly achieve a variety of network interface devices.

    •  CH9121  Serial Connected Ethernet Controller
    CH9121 integrated TCP/IP protocol stack, enabling network data packets and transparent two-way serial data transmission, with TCPCLIENT, TCP SERVER, UDP 3 modes of operation, the baud rate support up to 921600bps, can be easily configured via PC software, Convenient.

    •  CH395   Ethernet Controller with on chip TCP/IP Stack, MAC & PHY
    CH395  Ethernet protocol stack management chip, for single-chip system for Ethernet communications.

    CH395 chip comes with 10/100M Ethernet media transport layer (MAC) and physical layer (PHY), fully compatible with IEEE802.3 10/100M protocol, built-in PPPOE, IP, DHCP, ARP, ICMP, IGMP, UDP, TCP, etc. Ethernet protocol stack firmware. SCM system can easily network communication through CH395 chip.

    CH395 supports three communication interfaces: 8-bit parallel, SPI interface, or asynchronous serial interface, the MCU/DSP/MCU/MPU and other controllers for Ethernet communications through any of the above communication interface control chip CH395.

    USB Series Devices

    •  CH378  microSD card and USB Flash Drive Disk Management & Control IC
    CH378 is a file management control chip, single-chip system for fast read and write U disk or SD card file.

    CH378 supports USB device mode and USB host mode, and built-in basic firmware USB communication protocol, built-in firmware processing Mass-Storage mass storage devices dedicated communication protocol, built-in SD card communication interface firmware, built-in FAT16 and FAT32 and FAT12 file system management firmware to support popular USB storage devices (including the U disk / USB hard disk / USB flash drive / USB card reader) and SD card (including standard-capacity SD card and high capacity HC-SD card and protocol compatible the MMC card and TF card).

    CH378 supports three communication interfaces: 8-bit parallel, SPI interface, or asynchronous serial interface, the MCU / DSP / MCU / MPU and other controllers can be any of the above communication interface chip CH378 control, access U disk or SD card file or communication with the computer.

    •  CH376   microSD card and USB Flash Drive File Management & Control IC
    CH376 is a file management control chip for the SCM system to read and write U disk or SD card file.

    CH376 supports USB device mode and USB host mode, and built-in basic firmware USB communication protocol, built-in firmware processing Mass-Storage mass storage devices dedicated communication protocol, built-in SD card communication interface firmware, built-in FAT16 and FAT32 and FAT12 file system management firmware to support popular USB storage devices (including the U disk / USB hard disk / USB flash drive / USB card reader) and SD card (including standard-capacity SD card and high capacity HC-SD card and protocol compatible the MMC card and TF card).

    CH376 supports three communication interfaces: 8-bit parallel, SPI interface, or asynchronous serial interface, the MCU / DSP / MCU / MPU and other controllers can be any of the above communication interface chip CH376 control, access U disk or SD card file or communication with the computer.

    CH376 and CH372 USB device mode is fully compatible chip, CH376 and CH375 USB host mode chip basically compatible.

    •  CH375   USB Host/Device Bus Interface IC
    CH375 is a common USB bus interface chip that supports both USB-HOST mode and USB-DEVICE / SLAVE mode device. The local side, CH375 with 8-bit data bus and read, write, chip select control lines and interrupt output can be easily attached to the microcontroller / DSP / MCU / MPU and other controllers of the system bus. In USB host mode, CH375 also provides serial communication, serial input, serial output and interrupt output and MCU / DSP / MCU / MPU, etc. are connected.

    CH375 and CH372 USB device mode is fully compatible chip, CH375 contains all the functionality of CH372. This manual does not provide instructions in CH375 USB device mode, the relevant information can refer to the CH372 manual CH372DS1.PDF.

    CH375 USB host mode supports common USB full-speed device, the external microcontroller can follow the appropriate USB device communication protocol and USB through CH375. CH375 also built firmware processing mass storage device Mass-Storage dedicated communication protocol, the external device can be directly read and write the basic unit of a sector common USB storage device (including USB hard disk / USB flash disk / U disk).

    •  CH374   USB Host/Device Bus Interface IC with Parallel or SPI Interface
    CH374 is a common USB bus interface chip that supports both USB-HOST mode and USB-DEVICE / SLAVE device mode, built-in 3-port HUB root hub, support low-speed and full-speed control transfer, bulk transfer, interrupt transfer and synchronous / isochronous transmission. The local side, CH374 with 8-bit data bus and read, write, chip select control lines and interrupt output can be easily attached to the microcontroller / DSP / MCU / MPU and other controllers of the system bus. In addition, CH374 also provides a saving I / O pin SPI serial communication via 3-wire or 4-wire SPI serial interface, and interrupt output and MCU / DSP / MCU / MPU, etc. are connected.

    •  CH372  USB Bus Interface IC
    CH372 is a USB bus universal device interface chip, an upgrade is CH371, CH375 chip function is a simplified version. In the end, CH372 with 8-bit data bus and read, write, chip select control lines and interrupt output can be easily attached to the microcontroller / DSP / MCU / MPU and other controllers system bus; in a computer system, CH372 supporting software provides simple user-friendly interface and communicates with local MCU is like reading and writing files.

    CH372 built-in USB communications in the underlying protocol, save the firmware up internally mode and flexible external firmware mode. Built-in firmware mode, CH372 automatically handles all matters default endpoint, 0 and local MCU as long as the responsible for data exchange, the SCM process is very simple. In firmware externally mode, external MCU deals with various USB requests according to requirements, which can achieve compliance with various USB class specification.

    •  CH370  USB Host Interface IC with Parallel or SPI bus.
    CH370 is a USB bus Host Host interface chip that supports low-speed and full-speed bulk transfer and control transfer and interrupt transmission, and MCU / DSP / MCU / MPU and other controllers interface supports 8-bit parallel bus and 4-wire or 3-wire SPI serial bus.

    •  CH9343   Android Host Interface  UART, GPIO, PWM, I2C, SPI
    CH9343 is a highly integrated, low-power, single-chip full-speed USB Android Host interface control chip, can be configured as six kinds of expansion interfaces: UART, GPIO, PWM, I2C master, SPI master and slave SPI for built-in USB device interface Android devices to access external components.

    •  CH9326      HID Serial IC
    CH9326 is a HID serial chip. CH9326 supports two-way data transmission, for receiving serial data, and in accordance with the HID class device specification data package uploaded to the computer through a USB port, or from a computer to receive data packets compliant with the USB HID class device, and transmitted from the serial port. By increasing the external EEPROM devices, users can configure their own chip VID, PID, and a variety of string descriptors.

    •  CH341  USB to Parallel, UART, SPI, and I2C Interface Bridge
    CH341 is a USB bus adapter chip, providing asynchronous serial interface via USB bus, printer port, parallel port and the common 2-wire or 4-wire synchronous serial interface. In asynchronous serial interface mode, CH341 provides serial port is enabled, the serial port on the other interactive reception rate control signal and the common MODEM communication signals for the computer extended asynchronous serial port, or an ordinary serial device upgrade directly to the USB bus.

    In the printer port mode, CH341 provides a compatible USB relevant norms and Windows operating system's standard USB printer port used to upgrade ordinary parallel printer directly to the USB bus.

    In parallel mode, CH341 provides a way to EPP or MEM mode 8-bit parallel interface, without the need for microcontroller / DSP / MCU environment, direct input and output data.

    In addition, CH341A chip also supports some common synchronous serial interface, such as 2-wire interface (SCL lines, SDA line) and the 4-wire interface (CS line, SCK / CLK line, MISO / SDI / DIN line, MOSI / SDO / DOUT line).

    •  CH340 USB to Serial Adaptor
    CH340 is a USB bus adapter chip, USB to serial port, USB to IrDA infrared, or USB printer port forwarding.

    In serial mode, CH340 provides common MODEM liaison signal for the computer extended asynchronous serial port, or an ordinary serial device upgrade directly to the USB bus. Turn on USB printer port are described in the Reference Manual (b) CH340DS2.

    In the infrared mode, CH340 plus infrared transceiver can constitute a USB infrared adapter, realize SIR infrared communication.

    •  CH317  USB over CAT5/CAT6 Extender Device
    CH317 control chip is USB2.0 extender for extended remote USB signal. The program is a two-chip solution, the CH317 plus third 1000BASE-T Gigabit Ethernet PHY and external auxiliary components constitute. Signal transmission path from the USB to Gigabit Ethernet via Category 5 cable (CAT6 better performance), from Gigabit Ethernet switch USB. 

    •  CH315   USB Extender/Isolator
    USB extension cable is CH315G control chip, real-time transit and transmission distance extension for USB signals.

    CH315H is a USB signal isolation control chip for USB bus opto-isolators or magnetic isolators.

    CH315 supports USB full-speed transmission and low-speed USB transfer, USB device support dynamic plug.

    •  CH345   USB MIDI Peripheral
    CH345 is a USB-MIDI chip. CH345 supports a MIDI signal input channels and two output channels MIDI signals for MIDI keyboard making the USB bus, MIDI music playback, as well as the electronic musical instrument MIDI to USB interface.

    •  CH331   4MB Flash Drive Controller
    CH331 is a small-capacity U disk controller chip, plus a serial memory chip as long as you can achieve a small U disk capacity of 2KB to 4MB.

    •  CH9331   16MB Flash Drive Controller

    CH9331 is a small-capacity U disk controller chip, just need SPI interface plus a serial memory chip, it can achieve a capacity of a small U disk capacity of 512K to 16M.

    •  CH412  USB TVS Protection Devices
    CH412 is a dual or quad ESD protection diode arrays, it can withstand up to ± 15KV Human Body Model to IEC 61000-4-2, ± 8KV contact discharge and ± 15KV air discharge ESD pulse for the external interface electronics High speed and differential signals and ESD protection common signals.

    CH412B provides 2-channel low capacitance TVS diode protection and transient voltage suppressors clamp are suitable for high speed and low speed signal can be used for high-speed and full-speed and low-speed USB signal protection.

    CH412A 2-channel low capacitance diode provides protection for high-speed and low-speed signals can be used for high-speed and full-speed and low-speed USB signal protection.

    CH412Z provide 4-channel TVS TVS clamp are suitable for low-speed signals can be used for low-speed and full-speed USB signal protection.

    •  CH9350  PS/2 Keyboard and Mouse Extender 
    CH9350 is a USB keyboard and mouse to serial communication controller chip, to be used in pairs. Combining asynchronous serial interface simple and easy to use, implementation extends between the USB keyboard and mouse, and USB Host USB communication is asynchronous serial interface (UART) manner, and to facilitate audio and video signal data integration, can be used for communication distance KVM extension applications. 

    I2C LCD, LED, 7 Segment Driver, GPIO Expander / Keyboard Scanner Series

    •  CH463    16 x 8 Segment LCD Driver

    CH463 is an LCD display driver chip. CH463 built-in clock oscillator circuit, 128 points (16 × 8), 48 points (12 × 4) LCD panels, but also can be 35 keys (based on 7 × 5 matrix) keyboard scanning; CH463 through a 2-wire serial line interface I2C with the microcontroller and other exchange data.

    •  CH462    32 x 4 Segment LCD Driver
    CH462 is an LCD display driver chip. CH462 built-in clock oscillator circuit, 128 points (32 × 4) LCD panel.

    •  CH456   I2C 7 Segment LED driver / 64 key Scanner 
    CH456 is a 16-bit digital tube display driver and the keyboard scan control chip. CH456 built-in clock oscillator circuit can dynamically drive up to 16 digital or 128 LED light tube; also can be scanned keyboard of 64 keys; CH456 via two wires serial interface I2C to exchange data with the microcontroller.

    •  CH454  I2C 7 Segment LED driver / 64 key Scanner 
    CH454 is a digital tube display driver and the keyboard scan control chip. CH454 built-in clock oscillator circuit can dynamically drive 8 16 digital segment tube or 128 LED, supports 11 segments, 14 segments, 16 segments × 8 and 17 segments × 7, etc; also can be keyboard scan 64 keys; CH454 and so on through 2-wire serial interface I2C to exchange data with the microcontroller.

    •  CH453  I2C 7 Segment LED driver / 64 key Scanner 
    CH453 is a 16-bit digital tube display driver and the keyboard scan control chip. 
    CH453 has built-in clock oscillator circuit and can dynamically drive 16 or 128 digital tube LED light tube.
    It can also scan a 64 key  keyboard.
    CH453 exchanges data with the microcontroller via two wires serial I2C interface

    •  CH455  I2C 7 Segment LED Driver / Keypad Scanner
    CH455 is a digital tube display driver and the keyboard scan control chip. CH455 built-in clock oscillator circuit can dynamically drive the 4-digit code or tube 32 LED; also can be scanned keyboard 28 with switches; etc. CH455 through SCL and SDA consisting of 2-wire serial interface to exchange data with the microcontroller.

    •  CH452   I2C LED Driver, BCD Decoder / Keyboard Scanner
    CH452 is a digital tube display driver and the keyboard scan control chip. 
    CH452 has built-in clock oscillator circuit can dynamically drive 8-digit code tube or 64 LED, with a BCD decoder, flashing, shift, Dan addressing beam decoding and other functions;
    It can also be used to scan keyboard of 64 keys;
    CH452 It can be cascaded via 4-wire serial interface or 2-wire serial interface to exchange data with an equal SCM; microcontroller and can provide power-on reset signal.

    •  CH451  I2C LED Driver /  Keyboard Scanner

    CH451 is an integrated digital tube display driver and the keyboard scan control, and multifunction peripheral chip μP monitored. 
    CH451 within the set RC oscillator circuit can dynamically drive 8 or 64 digital tube LED light tube, with BCD decoder, glitter, shift and other functions;
    It can also scan a 64 key keyboard
    CH451 through the string may be cascades and so on-line interface to exchange data with the microcontroller; and providing power-on reset and watchdog monitoring functions.

    •  CH450   I2C LED Driver/ Keyboard Scanner
    CH450 is a digital tube display driver and the keyboard scan control chip. 
    CH450 uses a built-in clock oscillator circuit and can dynamically drive six-digit code or tube 48 LED;
    It can also scan a 48 key keyboard
    CH450 communicates via two wires I2C serial interface to exchange data with the microcontroller; and may provide single-chip power-on reset signal.

    •  CH423   I2C I/O Expander / LED Driver
    CH423 is a universal remote two-wire serial interface I / O expansion chip. CH423 provides 8 bidirectional input and output pins 16 through output pin, supports input level change interrupt; CH423 built-current drive circuit can drive 24 static or dynamic LED light tube LED driver 128 (equivalent to 16 digital); CH423 via two wires serial interface to exchange data with the microcontroller.

    •  CH422   I2C  I/O Expander / LED Driver
    CH422 chip can be used in digital tube display driver or the I / O expansion. 
    CH422 has  a built-in clock oscillator circuit can dynamically drive four -digit LED or 32 LED light tube;
    CH422 is used for I / O expansion, can provide eight bidirectional input and output pins and four general-purpose output pins;
    CH422 communicates through 2 wire serial I2C interfaces for data exchange with the microcontroller.

    Multiple UARTS

    CH438 is an eight UART chip, comprising eight compatible 16C550 or 16C750 asynchronous serial ports, supports up to 4Mbps communication baud rate, can be used for RS232 serial port expansion MCU / embedded systems, high-speed serial interface with automatic hardware speed control, RS485 communication Wait. 

    CH432 is a dual UART chip contains two 16C550 compatible asynchronous serial, half-duplex transceiver supports automatic switching and IrDA red outer codec that supports baud rates up to 4Mbps, used for RS232 serial port expansion Microcontroller / Embedded Systems high-speed serial interface with automatic hardware speed control, RS485 communication, IrDA communications.

    Analogue Switches

    •  CH446   8 x 16  (or 5 x 24) analogue Crosspoint Switch
    CH446Q is 8x16 matrix analog switch chip. CH446Q contains 128 analog switches, located in the signal path 8x16 matrix, each intersection, each analog switch can be individually turned on or off, in order to achieve any signal path routing 8x16.

    CH440 4-channel two-way broadband low-resistance analog switch chip. CH440 contains 4 SPDT analog switches, high bandwidth, low on-resistance, or USB can be used for video signal switching a second election.CH440E CH440G less than 2-channel analog switch.

    CH444 is a two-way broadband channel low-resistance analog switch chip. CH444 contains 2-channel single-pole four-throw analog switches, high bandwidth, low on-resistance, can be used for video signal 4 election or a USB switch.

    CH441 4-channel two-way broadband low-resistance analog switch chip, the chip is pin-compatible 74HC4066, 4016, 74LV4066. CH441 contains 4-channel independent SPST analog switches, high bandwidth, low on-resistance, or USB can be used for video signal switching.

    FIFO and Dual Port Memory

    CH424 is a 4K-byte FIFO-capacity memory chips. CH424 W and having the end of the two ends of R 8 passive parallel port, the CH424 by eight data lines and read, write, chip select control lines attached to the microcontroller / DSP / MCU / MPU system bus controller, etc. for connecting the microcontroller and the microcontroller, MCU and DSP / MCU, etc. 

    •  CH421  Dual Port RAM
    CH421A provide a bidirectional data buffer interface chip. CH421A having X and Y are two 8-bit passive parallel port via a shared 66-byte dual-port data buffer, the bi-directional asynchronous data terminals X and Y between the end of the exchange. CH421A support operations both ends for connecting the microcontroller and the microcontroller, MCU and DSP / MCU, and the MCU and other Zhu Kongduan with active parallel interface, such as a computer or printer port CH365 local ports. 

    Finished Products and Modules

    Evaluation Boards