Seeed Studio has asked that I put a link to their site on this blog. I have used Seeed Studio Fusion service and I was/am satisfied with them. So I have added a link in the right hand column.
I decided to research potential processors for the level converter circuit.
Wikipedia has a list of common microcontrollers. This is a good resource when looking for possibilities. I will only look at a few processors from companies I am familiar with. If this co-processor chip is going to act as a level shifter, It needs to be able to drive and accept 5 Volts.
ST Microelectronics makes STM8 and STM32 lines of processors. I will look at the STM32 line next week when I research 32 bit controllers.
The STM8 line has many processors that have a max operating voltage of 5.5 Volts. Of the processors that can operate at 5.5 Volts, the lowest operating voltage is 2.95 volts. This might be high for some ARM systems I would want to support. ST Microelectronics supports their devices very well on Mac and Windows. There is a good open source compiler available for Linux called Small Device C Compiler(SDCC). The STM8 line of chips doesn’t have any built in USB capabilities. The STM8 is a possibility.
Microchip makes a very wide variety of chips in the PIC16 line. I am very familiar with these chips. I have used chips in this line that support USB as well as operate from 1.65 to 5.5 volts. They have a four clock cycle instruction cycle. This means that a 48 MHz clock will process instructions no faster than 12 Million times per second. They are also very inexpensive chips.
Atmel makes the AVR chips. AVR microcontrollers are used on most Arduino platforms. This means that there are compilers available on Windows, Mac, and Linux. Atmel chips come available with 1.6 to 5.5 Volt operating voltages. Some chips have USB. I didn’t find one that had an operating voltage of 1.6 to 5.5 Volts with USB. There are quite a few that are 2.7 to 5.5 Volts. There are also 32 bit varieties that I will research next week.
Other 8 bit Microcontrollers:
There are a lot of 8051 and 6800 variant microcontrollers that are available from various manufacturers. I have worked with both lines and I am familiar with them. Each manufacturer has their own twist they put into each variant. This makes it harder to search for the features I need for the Uprogrammer co-processor. I will come back to these if I don’t find a suitable choice to move forward.
8 bit Conclusion:
I favor the Microchip PIC16 line chips because of familiarity and cost. I still have to look at the 16 and 32 bit processors before moving forward. One potential issue with the 8 bit devices is maximum clock speed. If I have a device with a JTAG interface at 80 MHz, an 8 bit device may not be able to operate in an acceptable range.
Do you have any suggestions in the 8 bit world? Do you think I should stay with 8 bit or move to a 16 or 32 bit architecture? Why should I choose one over the other?