This simple application designed using a very low cost 32bit microcontroller helps us convert serial data coming at certain baud rate to a different baud rate. Baud rate can be increased or decreased. First we have to setup the input baud rate. All standard baud rates are supported. Input baud rate can be configured using a 3 way DIP switch. 8 different combinations can be made using the DIP switch. In the same way the output baud rate can be selected using another DIP switch. Once the configuration is finished, and device is powered on, we can feed serial data on input serial port and it will convert the baud rate and output the same data on the output serial port(but at different baud rate).
This application required the use of two serial ports (USARTs) but normal 8 bit MCUs like AVR and PIC MCUs have only one USART, for this reason we have to select a 32bit chip with two USARTs. 32 bit chips generally have more than one USARTs and are easily available.
For testing purpose we have used two USB to Serial converter one each for input and output USARTs of microcontroller. Then we open the two COM ports on PC using a terminal software like Hyperterminal. Sending data to one COM port will be visible on another COM port.
If you are an embedded system or electronic design firm still using 8 bit microcontrollers like AVR, PIC or 8051 time has come to switch to 32 bit microcontroller. The most important reason is introduction of 32 bit MCU that are cheaper than lowest cost 8 bit microcontrollers like ATmega8! On the other hand what you get is a chip which is far advanced, many times faster, has more memory (RAM and FLASH), has more and advanced peripherals. This enables your company to develop products that are way ahead than they are presently. Cost of development tools (like a debugger)
and getting lower day by day.
ARM has Cortex-M0 and Cortex-M0+ cores that powers low cost 32 bit microcontrollers like STM32F0 and Kinetis L Series. I recommend this MCU for all new embedded design in place of 8 bit microcontrollers. There is a long list of advantages these MCUs have but the two most important and obvious one are listed below.
- Speed, STM32F0 and Kinetis L Series runs at 48 MHz, AVR ATmega8 runs at 16MHz(some AVRs like ATmega328 can run upto 20MHz)
- 32 bit MCUs can handle bigger numbers much faster. Most variable we need in a program needs to be 16 or 32 bits because maximum value a 8 bit variable can hold is 255 which is hardly practical for anything. So in your 8 bit MCU all 16 and 32 bit variable takes multiple instructions to load, save and do calculations, thus making them two or four times slower!
STM32F030F4
This is the smallest member of STM32F0 family, it has 20 pins, 16K Flash memory, 4K RAM (ATmega8 has 1K), runs at 48MHz. The cost of the bare chip is less than AVR ATmega8! Thus it makes a nice replacement for ATmega8, ATmega328 etc. It has 12 bit ADC compared to 10 bit ADCs in AVR MCUs which provide much better analog sensor reading. Like it? Well then you will love the next member! Introducing ...
STM32F051C8
I chose this to replace all 40 pin 8 bit MCUs like ATmega32, ATmega16 etc. It comes at the same price range as those 8 bit AVRs. It 48 pins, 64KB Flash, whooping 8KB RAM (ATmega32 has only 2KB), 2 USARTs(serial ports). It has integrated RTC (real time clock) so forget adding external DS1307 or so chips! It also has a DAC(digital to analog converter) which is not present in 8 bit MCUs.
High amount of RAM is useful in application requiring graphic LCD, big dot matrix LED displays, or file system based application like SD card interface. While DAC can help generate high quality audio, music or voice. Presence of two serial port is also a boon, helping connect more than one serial device to MCU. Like you can add GSM and GPS module at the same time.
Other members
Their are lots of other member in STM32F0 family with upto 100 pins, 256KB Flash, 32KB RAM. Then there is F1,F2,F3,F4,F7 series of ARM based MCU. F7 can run upto 462 DMIPs(Million Instructions Per Second), has floating point and DSP units, 2MB Flash, 512K RAM, 216 PINs.
Thus we have seen that 32 bit MCUs can be used for all purpose starting from very simple and low cost product to very high end and demanding products.
Design Service
Our company can help you design any kind of products with STM32F0 series of 32 bit microcontrollers. We have all the software and hardware tools of development available in our lab. Our engineers have long experience of design in the field of 8 bit and 32 bit microcontrollers. Please feel free to discuss your requirements.