Answer - quick prototyping look like challenge sometimes. Personally I preffer took Kit from shelf (one from many) and start to work, and spent all time for development of parts which do not exists. By this way - quick progress and result.
@FELiX_CZ there is a slide deck of the information the presenter is lecturing about. There is not a video. The slide deck button is in red, under the Special Educational Materials, under the sound bar. I have found that it is best to log in, then bring up the slide deck, then start the audio.
Well, everybody, thank you so much for your attention and attendance today. I hope to see you all again tomorrow when we stir things up discussing the 32-bit microcontroller architectures.
That's why I selected Microchip. I needed a 32 bit microcontroller with Ethernet and USB (and GPIB but that isn't included in any of them). MPLAB ICD3 didn't cost very much and MPLABX is free to any usinging it just for Microchip controllers.
.
Yes, Microchip is very focused with lots of networking interfaces with their PIC32. That's why the PIC32 parts have so much RAM and internal buffers. It's also faster on interrupt response (less cycles) than the Cortex family.
@BillGiovino: That's why I selected Microchip. I needed a 32 bit microcontroller with Ethernet and USB (and GPIB but that isn't included in any of them). MPLAB ICD3 didn't cost very much and MPLABX is free to any usinging it just for Microchip controllers.
@garysxt: I have done stuff over 100K so far -- it must be used as I stated -- plugged into board or with XDS100 or similar.. If you are doing your own desing you must pay the $495 at least for a one user node locked.
I would really love to know how to reduce cost of development(including IDE's) and cost estimation when selecting an MCU especially for 1 - 2 people companies. Also advise on how to cut costs would be great
Wow, that's a great topic. It's not as easy as it sounds ("free software can be expensive") and a bit complicated to explain.
:-) in the past, I've used the 4004, 4040, 1802, 8008, 8080, Z80, Z8, Z8001, 6500, 6802, TMS1000, TMS9900, TMS99105... and still have them in my stock.
@BillGiovino: I would really love to know how to reduce cost of development(including IDE's) and cost estimation when selecting an MCU especially for 1 - 2 people companies. Also advise on how to cut costs would be great
@Bill Architechture - Mostly PIC16 and Atmel MegaAVR in recent years. Did Z80, 68HCxx, NS32K, and a few others in distant past. Looking to move to ARM Cortex but have not found affordable softare tools that seem able to do the job.
I am using the MSP430. Yes quite a bit, but the development style is cross compiler. In this way I can target different optimizations. Also IAR or CCS are ridiculously costly.
Also one more thing of note is Redhat and TI are joining together to get the gcc offering. Announcement here http://www.mail-archive.com/mspgcc-users@lists.sourceforge.net/msg11305.html
Not all gcc compilers are the same. In general if you are using a gcc compiler you really need to know something about the target microcontroller architecture and write your own assembly routines to make your code optimized.
Some people swear by gcc, but I'm not a fan. I'd rather use a manufactuer's free compiler.
My usual free, non-mfg weapons of choice are Code::Blocks with WinAVR/AVRdude underneath. I've also tried Eclipse with AVR support but liked Code::Blocks more.
Back to work on the ST F4 Discovery -- just minor bugs mow. Looking forward to tomorrow. Notice you went to school in Toronto. Ice Storm in this area today -- weather ugly. Hope you're elsewhere.
Pascal: Strongly Typed language. Much more difficult to write incomprehensible code. C makes it easy to write incomprehensible gibberish.
Interesting.
I am currently getting a fractal diplay running on the STM32F4 discovery (Embest). The code for the original STM32F4 board (by ST (Keil?) I presume) is not well documented -- so much of it is incomprehensible. Getting it running takes guesswork as well as C knowledge.
It's harder to hide things in Pascal. It seems to require a more organized approach. It is not foregiving for bad programing -- which is good in my mind.
Well, for the past few years ST has been putting a lot of resources into the ST-Ericcson partnership. So there's been a cutback on R&D and support that is showing up in small ways.
Are there any 8 bit mcu's doing the switching off of RAM or other peripherals like the MSP430?
Off the top of my head I know that ST and Microchip switch off peripherals when not in use. they don't just turn them off - they cut power. About turnign off RAM, I can't say for certain without checking my records.
Java is fine for Android and 1GHz+ processors -- but on MCUs??? Don't think so. I use JAVA for Android programming -- even a bad C compiler is better, imho :-(
Even a bad C compiler is better than Java - I wrote something similar on a LinkedIn group yesterday and now my mailbox is filled with flames! :)
Pascal: Strongly Typed language. Much more difficult to write incomprehensible code. C makes it easy to write incomprehensible gibberish.
I am currently getting a fractal diplay running on the STM32F4 discovery (Embest). The code for the original STM32F4 board (by ST (Keil?) I presume) is not well documented -- so much of it is incomprehensible. Getting it running takes guesswork as well as C knowledge.
It's harder to hide things in Pascal. It seems to require a more organized approach. It is not foregiving for bad programing -- which is good in my mind.
Follow up on the low power. Are there any 8 bit microcontrollers doing the same thing from other vendors? Also are there any low power RAM's such as FRAM's which I have to take into account?
FRAM is a Flash-like alternative from TI for the MSP430 Wolverine series. The issue with FRAM is that it is from only one vendor and not yet industry-accepted.
.
Are there any 8 bit microcontrollers doing the same thing from other vendors? - I'm not sure I understand your question here.
QUESTION - Follow up on the low power. Are there any 8 bit microcontrollers doing the same thing from other vendors? Also are there any low power RAM's such as FRAM's which I have to take into account?
Note about 8051 vs. Z80 vs. X86 - I designed an 8051 project in the early 80's and when time came to buy for production not a one could be purchased for love or money. A little company called IBM had designed 'em into thier new keyboard for a product that was yet to be announced - the IBM PC - and had quietly bought 'em all. I ended up doing an emergency redesign with the Z80 for the project I was working on. THe 8051 is not compatible with the 8080/Z80 and I had to rewrite the code from scratch. Neither is directly compatibe with the x86 family although there were lots of effort expended for code migration from CP/M to MSDOS. I was involved with a few projects to do exactly that migration.
Java is fine for Android and 1GHz+ processors -- but on MCUs??? Don't think so. I use JAVA for Android programming -- even a bad C compiler is better, imho :-(
Rapid Prototyping: I try to buy eval boards configured as close as possible to my desired config -- with ready to go driver librraries and lots of demos showing as many pieces of the puzzle as possible. I then scour the internet looking for missing pieces andd further examples -- and active user forums.
If possible I download and test eval versions of the IDE/Compiler -- if practical.
Since I try to use C+ or Pascal -- testing is important.
Also -- I need Ethernet TCP/UDP packetizing -- so looking through those implementations is a mus as well.
If I can find the above items, the MCU and board go on the final list -- then I choose.
Re RP: I generally rapid prototype using solderless breadboards with SMD to DIP adapters when needed. Soldering can be a real bear for the small MCUs. Designs are usually small though. Stick with mfg IDE for SW.
---
For rapid prototyping, I will use the MCU and IDE I am familiar with and focus on the unique parts of the prototype. Normally, it is a new process algorithm or a new control method
All valuable information - thank you for this feedback!
Are there any low power considerations I have to take in terms of 8 bit microcontroller? I have been using a TI MSP430 and they give options of putting off parts of RAM not in use etc. Do all the 8 bit microcontrollers have similar features?
There are some devices that will dynamically turn on and off RAM to conserve power, because RAM is power hungry. That is extremyl valuable. I know that the MSP430 is the best at doing that, I believe they did it first and one of the reasons whhy the MSP430 is one of the most popular microcontrolelr architectures. Digi-Key has all the MSP430 flavors.
I would like a week long class on RTOS. It would be great if it was a low cost/free RTOS and could be paired with a low cost dev board so we could get some hands on practice on what we learn.
Re RP: I generally rapid prototype using solderless breadboards with SMD to DIP adapters when needed. Soldering can be a real bear for the small MCUs. Designs are usually small though. Stick with mfg IDE for SW.
For rapid prototyping, I will use the MCU and IDE I am familiar with and focus on the unique parts of the prototype. Normally, it is a new process algorithm or a new control method.
QUESTION - Are there any low power considerations I have to take in terms of 8 bit microcontroller? I have been using a TI MSP430 and they give options of putting off parts of RAM not in use etc. Do all the 8 bit microcontrollers have similar features?
Java being an interpreted language does not seem to be efficient for micro's (memory/cycles). Only way I think it could be viable is with a FPGA based interpreter, and I have not heard of one.
What's the strength to use a language such as Jave? I think it is the cross-platform ability. To support that, a OS is definitely needed. However, many applications are aimed to provide real time control or processing. Cross platform ability is the least thing to think about. So for me, I will not consider Java at all.
That's what I hear a lot. I get flamed for repeating it! :)
What's the strength to use a language such as Jave? I think it is the cross-platform ability. To support that, a OS is definitely needed. However, many applications are aimed to provide real time control or processing. Cross platform ability is the least thing to think about. So for me, I will not consider Java at all.
I learned the hard way that the less-expensive CCS C Compiler does not come with the specific PIC device files that MPLABX needs. These files are an extra $200.00. I must learn to read very deeply into mfg. docs.....
Yes, it is true, you get what you pay for. Although I know that there are zealots out ther that will swear by free compilers, they have their own personal libraries to keep thigns efficient.
@DaveWR I learned the hard way that the less-expensive CCS C Compiler does not come with the specific PIC device files that MPLABX needs. These files are an extra $200.00. I must learn to read very deeply into mfg. docs.....
QUESTION - If you are in a situation where you need to get a prototype out IMMEDIATElY - it doens't have to be efficient, it just has to be working tomorrow - how do you di it? What hardware do you use? How do you program it?
.
And in this situation, is hardware or software your primary concern?
Question: Intel 8088 is now called 8051? Was the 8088 considered a microcontroller? Aren't microprocessors at the heart of PCs, cellphones, etc.? Fuzzy, I guess, on the uP vs. uC issue.
People were asking about other labuages for embedded. go to mikroe.com -- has Pascal and BASIC as well as C -- plus their own line of boards based on TI, ST and PIC -- plus they support others.
Here's a what if. Say your application is a straightforward industrial process that can be handled by an 8 bit MCU. However, when upset conditions occur then suddenly all sorts of interrupts happen, complex software decisions need to be made, real time response is required. Would it be feasible to design a system with a seperate MCU, maybe 32 bit, to deal with the more complex software environment, rather than trying to cram everything into a one big MCU? Especially considering that upsets should be very rare..
If you are as interrupt-intenseve as you say, you have two options:
1) A 16-bit microcontroller. Why? because you have extra proessing power and don't have the interrupt overhead of a 32-bit MCU
2) Go like you said - an 8-bit as a dedicated interrupt processor, interfacing to a larger 32-bit or 26-bit system controller. I see this a lot
Here's a what if. Say your application is a straightforward industrial process that can be handled by an 8 bit MCU. However, when upset conditions occur then suddenly all sorts of interrupts happen, complex software decisions need to be made, real time response is required. Would it be feasible to design a system with a seperate MCU, maybe 32 bit, to deal with the more complex software environment, rather than trying to cram everything into a one big MCU? Especially considering that upsets should be very rare..
On 8 bit parts I've found that determining the sources of the interrupt can take more time than saving system state. Having a part with a vectored interrupt controller can speed up the interrupt response time a lot
Excellent point!
----------------------------
Saving power is about clock cycles. not speed(frequency)
I am slightly confused with the clock speeds? Is doing work fast and then going to sleep(or lower power) saves more power or doing things at slower frequency? How does 8 bit microcontroller fare in this?
Doing work EFFICIENTLY and then going to sleep saves power. Fast can mean increasing clock speed, whicih wastes power. Efficiently means single-cycle instructions, fast interrupt response times, native bit manipulation, and waking up from sleep quickly.
@ageppert -- Yes -- would need a month or two for warning and some real prep. Bet the guys at FreeRTOS would love the idea -- given enough warning. ;-)
I am slightly confused with the clock speeds? Is doing work fast and then going to sleep(or lower power) saves more power or doing things at slower frequency? How does 8 bit microcontroller fare in this?
Bill, I appreciate the tie-back of the first micros to products in your opening slides. I have one of those Speak-n-Spells and I've always wondered what as in it. How cool to learn it was the first microcontroller!
Yeah, early I programmed 68000's but my first microcontrolelr was an 8-bit COP8 in assembly. Very cool to program!
RTOS -- even a week on FreeRTOS would be nice -- use something like STM32F4 Discovery -- $15 base -- with ethernet Base Board total $50 -- walk through a complete implementation.
Why do you lecture first selecting 32-bit microcontroller and then the 16-bit ones?
.
Good catch. It's easier to discuss 32-bit and 8-bit. 16-bit is the "in-betwen" point of the two and it's important to understand 8-bit and 32-bit first, and why 16-bit is an important compromise of pwer and performance.
Bill, I appreciate the tie-back of the first micros to products in your opening slides. I have one of those Speak-n-Spells and I've always wondered what as in it. How cool to learn it was the first microcontroller!
Is there a tradeoff in choosing an 8 bit MCU with "intelligent" sensors vs a 16 or 32 bit MCU with simple sensors, where more processing gets done on board the MCU? Probably a question for tomorrow...
This is a question for tomorrow. It is less about sensors and more about the complexity of your code and what you want to do with the sensor data.
Is there a tradeoff in choosing an 8 bit MCU with "intelligent" sensors vs a 16 or 32 bit MCU with simple sensors, where more processing gets done on board the MCU? Probably a question for tomorrow...
On RTOS, I would like to learn more about the considerations where one would cross over from traditional superloops to the RTOS advantages in the 8-bit realm.
I will be discussing that tomorrow. In general, when your code gets very complicated and has multiple linear tasks, you will need some task scheduling to manage all these tasks. It's then that you need a 16-bit or 32-bit mcu and more RAM to manage it all.
Hi everyone, it's been brought to my attention that many of you couldn't hear me after Bill was finished speaking. I just wanted to again thank everyone for attending today's class, thank our sponsor Digi-Key, and remind you to join us tomorrow for "Selecting a 32-bit Microcontroller."
Freertos.org really has free RTOS for several processors. You do have to buy manuals if you want them though. About $50.00 for the manual and tutorial.
i believe interupts are very important. manufactures all have different ways of doing them, so need to pay attention on them. there are also 'low/high' level interupts rather than edge sensitive.
On 8 bit parts I've found that determining the sources of the interrupt can take more time than saving system state. Having a part with a vectored interrupt controller can speed up the interrupt response time a lot
On RTOS, I would like to learn more about the considerations where one would cross over from traditional superloops to the RTOS advantages in the 8-bit realm.
DesignNews.com recently changed their server address. If you ae having problems accessing this website you MUST perform these steps.
.
1) Reboot your router, especially if you are using a wireless router. Routers can cache the old IP address. Turn your router off, wait 30 seconds, then turn it on again.
.
2) While the router is off, flush the DNS cache of your computer. On most Windows PCs you can type at the command line:
At the time it came out it was NOT compatible with the 8080/z80 code set as it was a completely different internal architecture. It was incompatible with the existing CP/M OS that was popular at the time.
The usual definition of a processor word width is the size of the accumulator or similar register. The 8088 has an 8 bit wide external bus, but the internal architecture is of a 16 bit ALU (arithmetic/logic unit).
Definitions vary, but I define an architecture by the size of it's data bus. That tells you the type of data that you can move. The 8088 has an 8-bit external data bus.
My name is Bill Giovino and I will be entertaining you with my presentation today.
DesignNews.com recently changed their server address. If you ae having problems accessing this website you MUST perform these steps.
1) Reboot your router, especially if you are using a wireless router. Routers can cache the old IP address. Turn your router off, wait 30 seconds, then turn it on again.
2) While the router is off, flush the DNS cache of your computer. On most Windows PCs you can type at the command line:
Um, slide 5. Intell 8088 has a similar number to the 8080 but internally it was an 8086 and had 16 bit data paths. It strikes me as odd to include it in any discussion of 8 bit hardware.
@DaveWR. I can connect the the archived webinar with no problem. So I suggest you check your computer system, browser and network configurations, since you can log in here.
With LEDs dropping in price virtually every year, automakers have begun employing them, not only on luxury vehicles, but on entry-level models, as well.
The 3D printing revolution seems to have a knack for quickly moving technology ahead by way of collaborative effort and even a little friendly competition -- all of course in the name of scientific advancement.
Advantech has launched a new series of motion-control I/O modules to meet the increased demands that come with more distributed industrial systems that require control of a growing number of axes and devices.
Using almost 200 light-emitting diodes in the front and back of the new 2014 CTS, Cadillac designers are showing how LEDs can change the character of a vehicle.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 3
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
A quick look into the merger of two powerhouse 3D printing OEMs and the new leader in rapid prototyping solutions, Stratasys. The industrial revolution is now led by 3D printing and engineers are given the opportunity to fully maximize their design capabilities, reduce their time-to-market and functionally test prototypes cheaper, faster and easier. Bruce Bradshaw, Director of Marketing in North America, will explore the large product offering and variety of materials that will help CAD designers articulate their product design with actual, physical prototypes. This broadcast will dive deep into technical information including application specific stories from real world customers and their experiences with 3D printing. 3D Printing is
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.