but i think, there something wrong with my browser, because i keep on sending posts but doesn't appear...anyway, i have finished the part II and will move on to the next part of this class..
thanks once again to our sir jon for delivering a nice presentation, which is very informative...i already saved all the slides for refferences...
thanks once again to the presenter for delivering a well-informative source of the topics...
it is good to learn from those slides are the websites for further informations and i am thankful for that references...giving all ideas to refer to and as a source of various products...
what i discovered and difficult to memorize, maybe, are all those accronyms being used...that's why going back again with the previous material to look for...hehehehe...excellent...
good morning to our colleagues for this class and most to our lecturer, sir jon, for giving this great presentation as i have started yesterday for this class via archived.
knowing all, only this month i have discovered dkcec, but in anyway, i am here now for continuing education...
once again, thanks to all, sponsor and design news...i will start now...
Very informative session. Particularly benefited from the advice to try demo software before purchase. Will come in handy in helping me make choices in future.
Is it possible to read the code inside the MCU? As I know, binary code will be downloaded to the MCU so is there any way to convert it back to ASM or C code?
Fantastic course! I'm just getting caught up now, thanks for the archive as I just did not have time to participate in the first part of the year. Outstanding pick for the instructors for this series. John's expertise in this area is indisputable. Having listened to two of his lectures I can state that he is an excellent teacher and I appreciate his effort to go back and answer questions and attention to detail in his postings. Thanks, John! Your reputation is well deserved.
Are there any resources that discuss the ease/difficulty of migrating between different MCU families or manufacturers (i.e. - learning curve)? My company currently uses a single manufacturer for all of our products, but it doesn't seem that anyone really knows why that particular one was chosen. If I want to consider using a different device manufacturer for a new product, it would be helpful to be able to have a good argument for the other engineerings being able to work on it if needed.
Jon, nice job with this very difficult topic. It is absolutely amazing to peruse the MCU offerings these days -- so many companies and so many products!
When choosing an MCU, there are so many varieties of MCUs that sport similar capabilities. Is cost a predominant fact or should greater emphasis be placed on choosing an MCU with a large support community?
If someone has a favorite review of the strengths and weaknesses of s/w deveopment tools for ARM Cortex M3, especially STM32 M3, I would really appreciate your suggestion.
@Tenacious Techhunter I don't know if anyone will look at this later, but I read all the chat and you talked about an MCU mixed with an FPGA... Have you heard about Xilinx's Zynq 7000? http://www.xilinx.com/products/silicon-devices/epp/zynq-7000/index.htm Maybe this can help you in some way.
Q: Jon, in the SoC chips with programmable analog... have you found anything that can implement an analog PID loop and an H-Bridge in the programmable analog hardware?
Q: what is the real difference between zigbee and Wifi [WiFi]?
A: Use ZigBee for a small network of devices when you require compatibility with other commercial products. You'll find ZigBee used in home automation equipment, security systems, vehicle tracking in parking areas. It's a short-range network. Use WiFi is you need connectivity to the Internet.
ZigBee uses IEEE 802.15.4-compliant radios, while WiFi complies with the 802.11 standard.
Q: What sort of features are typically offered with not-free packages (like IAR) that are not typically available from chip mfr freebies, like what's offered by Atmel? Or is it a situation where they all pretty much do the same thing, but more or less user-friendly?
A: The commercial (paid for) software tools will include support, updates, optimization of code, compliance with MISRA C, advanced debug and profiling operations. They are a complete development, debugging, and testing package as opposed to a nice IDE and C compiler. You also get runtime libraries, source code of some libraries, debugging hardware, and support for a wide variety of target MCUs.
Q: With the differnet wireless protocols that use the same frequency (ZigBee, Fi, Bluetooth) at 2.4 GHz, do they all use the same antenna types, or are there differences from the different protocols?
A: The frequency rather than the protocol, defines the antenna needed. So, any radio that operates at 2.4 GHz uses an antenna with the same characteristics as any other radio at 2.4 GHz. There are different radio-antenna configurations, such as chip antennas, short-wire antennas, Yagi antennas, and so on. The type of antenna depends on your application and whether you want directional or unidirectional performance, gain, etc.
Q: Standard C doesn't do fixed point math, per se... what do I need to look for in the compiler software to be able to use fixed point math?
Q: Who has a good math library with trig functions?
A: ARM. The ARM assembler includes floating point and trig functions. See: http://infocenter.arm.com/help/topic/com.arm.doc.dui0041c/DUI0041C.pdf.\ and see: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0041c/ch11s03s07.html.
For fixed-point math on an ARM, visit: http://infocenter.arm.com/help/topic/com.arm.doc.dai0033a/DAI0033A_fixedpoint_appsnote.pdf.
I'm breaking for a late lunch. I'll get back to Q&A later this afternoon or this evening. Check back later or tomorrow. Thanks for attending and your comments, answers, and questions. --Jon
Jon, in the SoC chips with programmable analog... have you found anything that can implement an analog PID loop and an H-Bridge in the programmable analog hardware?
Q: @jon: batteries as power supplies: When would you choose button cells, when "normal" battries? Besides the obvious "size" argument, I mean...
A: It all depends on how much power you need and how often you can afford to change the battery. Don't simply integrate current over time, though. Some apps need a burst of power for something like a wireless connection.
Q: The secured chips usually just deny access by blowing a fuse on programming. Sometimes they do something smarter, like just denying all reads but allowing writes. In some cases, though, it will just store a key and response, and only allow access if the correct response is provided for the given key.
A: They can do much more than that to obsure code on a chip, resist differential power analysis, scramble data, etc. If you blow a programming fuse, someone can unencapsulate an MCU and probe the memory. You want more than a blown fuse link in MCUs used in casino chips, or bank smart cards,for example
Regardless, in none of those cases is there any actual performance hit. I don't know that anyone does anything more complicated, like actively encrypting the software bytes.
The secured chips usually just deny access by blowing a fuse on programming. Sometimes they do something smarter, like just denying all reads but allowing writes. In some cases, though, it will just store a key and response, and only allow access if the correct response is provided for the given key.
Q: How much overhead do the secured chips add? Is there a noticable effect or minimal?
A: I have not used them, so I can't offer information from experience. I doubt the overhead consumes much power or chip resources because if it did, people would not use these chips. Check with Atmel and STMicroelectronics.
Another option is to connect multiple input pins to a continuously polling Analog input where each sensor provides a different voltage. Then the voltage level input would tell which sensor interrupt is triggering. If the sensor wires are long though it might be hard to get accurate voltages.
Q: I almost think it would be good for microcontrollers to have a small FPGA region peripheral, so you could implement your own communications protocol, or even a co-processor.
A: Check out the PSoC family from Cypress Semiconductor. They have what you want with an 8051 or or an ARM Cortex-M# processor on chip. Nice way to design everything on one chip with a lot of flexibility.
Well you can always just use a soft processor in a small FPGA to do the same thing... Or look at Cypress SoC chips with built in FPGA and programmable analog. Or Actel SmartFusion with an arm processor, FPGA and analog fabric..
Q: @jruddy34 should we contact the zegbee alliance even for the non commecial use?
A: You could ask them. I think you need to license ZigBee only if you create a product, whatever the use. If you want to set up a network of sensors for academic research and buy off-the-shelf ZigBee modules to drop onto your own boards, I doubt you need to contact the ZigBee Alliance. The Alliance just wants to ensure reliability and compatibility for commercial products.
I almost think it would be good for microcontrollers to have a small FPGA region peripheral, so you could implement your own communications protocol, or even a co-processor.
Q: You'd mentioned in the previous session that you'd go over some MCU training kits for those of us who are unfamiliar with C programming. Could you elaborate on this?
A: Sure. Most of the MCU program development uses C, so you can start with C or get your feet wet with another language such as BASIC. Look at the BASIC Stamp from Parallax. The company has many good training/teaching materials and kits. The Arduino Uno, Digilent chipKIT Uno32, and ARM mbed let you program with free development tools that are easy to use. I like them all. Most of the C-language books teach programming for PC-type applications. Look at "Practical C Programming," by Steve Oualline, from O'Reilly Media. ISBN: 978-1-56592-306-5. I use that book as a handy reference for C.
DavidG_or, that's good if your sensors are co-located with your board, but I was thinking more of an application where the sensors were more widely deployed. As things stand, to get what I really want, I'd probably either need to bit-bang a unique protocol (which may be lousy for determinism and performance), or scatter lots of tiny FPGAs or CPLDs to implement it in deterministic hardware, just to get reasonable performance with the latency priorities I'm interested in.
Question: Do you mean that I will need a RTOS for USB application with the MCU?
A: No. You might need an RTOS if you have so many tasks that they slow down the MCU. You also might need a faster MCU with more memory. Most of the embedded systems that need an RTOS use a general-purpose microprocessor, such as an X86. Not much to worry about in MCU space, although you can find some small-size OS kernels.
Tenacioius Techhunter: For the time sensitive sensor polling, I think looking at a CPLD might be appropriate. For larger number of sensors an FPGA would be able to handle the sensors, with as many ports built as you need, then use internal fpga logic to create an interrupt signal that tells which sensor.
Q: Can there be problems with patent infringement? If so, are there internet URL's that one can search? Also, if you develop a product application for a 3rd party, how is the intellectual property issue handled?
A: You can search patents at the U.S. Patent and Trademark Office via its Web site: www.uspto.gov. To protect intellectual property I always recommend people find a patent attorney familiar with their technical area and talk with him or her. Yes, it costs some money, but how much value do you attach to your IP?
1-wire is single Master only. The sensors wouldn't be able to initiate on the bus, and generate interrupts. There would have to be a separate line for that.
Q: I am looking to monitor the D-channel of a PRI (T1/E1). This has 64kb/sec ASCII data. I am not concerned about the voice traffic on the other channels. Is there an easier way than using a T1 framer chip set, since I don't need all that functionality?
Jon, if I recall, 1-wire seemed to have poorer performance. What I'd really like to see is a low-latency high performance bus for sensors and actuators; if it could be plug & play like USB, even better.
Q: @Jon, But john in the applications where we do not need all 7 layers, only upto the network layer suffice to have a data transfer kind of interface over Ethernet?
A: You don't have to use the whole stack. Something like the User Datagram Protocol (UDP) might suffice. Take a look at: http://en.wikipedia.org/wiki/User_Datagram_Protocol. You can access it at the Transport layer. Also, see: http://cache.freescale.com/files/microcontrollers/doc/app_note/AN2304.pdf.
Q: Jon, are there any good competitors to I2C and SPI coming down the pike? In particular, I find that, if I want many sensors capable of actively interrupting a processor in a deterministic fashion, SPI is too few, regular I2C is passive slave only, and Multi-Master I2C makes me swim through a river of documents, only to not be sure I've found a valid solution. Is there anything new coming along that will eliminate this problem for me?
A: I'm not aware of any. Could you use one MCU as a "concentrator" that connects to x sensors and then sends a burst of data to another MCU via serial comms? You could have several MCU concentrators. I guess much depends on how many sensors you have and what type of sensors. Have you looked at the 1-wire protocol from Maxim Integrated Products?
Q: How about you suggest 4 or 5 simple microcontroller projects for new comers to do. The projects can make use of most of the features on the mcu like opamps, comparators, adc, interrups, timers,..etc
A: 1. Flash patterns on 8 LEDS. 2. use a UART to send data to a terminal (Hyperterminal on a Windows PC, for example). Use UART to receive information from terminal keyboard and echo it back to terminal display. 3. Use ADC to measure the voltage from a potentiometer or a cadmium-sulfide photocell. 4. Use a PWN output to ramp up and then down the brightness of an LED. 5. Connect a temperature sensor to an MCU via an I2C bus and display temp in degrees F and degrees C on terminal. (Many I2C temp sensors are available only in SMT packages. See SchmartBoard for adapters.)
Jon, are there any good competitors to I2C and SPI coming down the pike? In particular, I find that, if I want many sensors capable of actively interrupting a processor in a deterministic fashion, SPI is too few, regular I2C is passive slave only, and Multi-Master I2C makes me swim through a river of documents, only to not be sure I've found a valid solution. Is there anything new coming along that will eliminate this problem for me?
@Jon, But john in the applications where we do not need all 7 layers, only upto the network layer suffice to have a data transfer kind of interface over Ethernet?
Q: Will what exactly Ethernet and USB "stacks" are, be covered in a later session?
A: No, but I'll give you a short answer. To run Ethernet or USB the MCU requires software that takes information from your application and presents it to the Ethernet or USB hardware in a format it can transmit. The software in a "stack" handles these operations. The word "stack" comes from the Open Systems Interconnection (OSI) model that comprises 7 "layers." Each layer provides specific types of functions. For more info, visit: http://en.wikipedia.org/wiki/OSI_model.
How about you suggest 4 or 5 simple microcontroller projects for new comers to do. The projects can make use of most of the features on the mcu like opamps, comparators, adc, interrups, timers,..etc
Jon, are there any good competitors to I2C coming down the pike? In particular, I find that, if I want many sensors capable of actively interrupting a processor in a deterministic fashion, SPI is too few, regular I2C is passive slave only, and Multi-Master I2C makes me swim through a river of documents, only to not be sure I've found a valid solution. Is there anything new coming along that will eliminate this problem for me?
Q: Jon, will you cover any new developments in software for MPU's like .Net Microframework (from MSFT but now open source) in tomorrow's session? Or do you have any personal experience yet in some of these trend areas?
A: Sorry, but I don't have experience with this type of software.
Q: Jon, do you recommend anything for working with Binary Coded Decimal?
A: You can use BCD, but BCD math can get tricky. Some of the early MCUs had a decimal-adjust op code for these types of operations, but I don't know if any recent devices do. I have never had to use BCD operations except to convert to and from BCD. Maybe a few MCU vendors have a BCD library?
Jon, my question was asked because there may be a mathematical way of proving that there may be an upper bound beyond which, there is a balance of efficiency to hando information with stored with too many bits", sort of the Shannon principle of digital communication. Does it make sense? I remember a Steven Hawkings speech in Texas in 2008 when he predicted the "end of physiscs."
Q: program memory- how do we increase it? move to another chip or add memory bank to the existing chip?
A: Using off-chip memory for programs can chew up machine cycles, use power, and require extra chips. Some MCUs might accommodate extra program memory, which uses I/O lines for control. I'd rather move up the "family tree" to a chip with more memory. Plus, it's one more chip and set of connections to debug.
64 bits is more about more addressable memory than more instructions or larger data values. When we need more memory than 64 bits can provide, only then are we considering moving to 128. We probably wouldn't have moved to 64 bits, if it weren't for the memory limit.
@raghu: some MCUs, I keep forgetting which ones, might even disallow "runtime" modification of program memory. So, I'd go with RM's advice: use the next larger model. Or read the story of Mel ...
Q: Jon, do you see the end of the # of bit war, As memory and procesing power prevails in the design?
A: Yes, that war is over. You choose the number of bits in an MCU that will get the job done. Sure, a 16-bit MCU has capabilities not available in an 8-bit device, but if the latter works fine, who cares?
Q: On my application power consumption is not an issue. I'm more interested if anyone has experience with EMC testing. Inputs tend to bounce when subjected to voltage spikes. 3.3volt mcu has less tolerance for input bouncing than 5.0volt mcu.
A: There are PCB design guidelines that help minimize the effects of EMI, which would require another course and is a good topic. You can use some shielding and geround planes, ferrite filters on external signals, proper grounding, elimination of ground loops, and so on. You can find a lot of practical information on the Internet.
Does anyone know if gruntwareinc.com is just down, or if there's a longer URL that needs to be entered to find it. Right now it just gives an index of directories (with OR without the www.)
Simona: The compatibility you worry about is only how they communicate and their operating voltage. You can connect them via a UART and transfer information back and forth. One MCU might handle a display and keypad input and then transmit into to a second MCU that processes the data and does other tasks. Actually, many displays have an MCU built in and use an I2C port or a serial port to communicate with the main MCU.
Also, on using the lower power chips on two batteries (at 3 volts) if they will run OK, they may run slower. See data sheet. TI MSP430s will run down from 1.8 to 3.6 volts, but the processor speed will slow down with lower voltages. Check the specs to ensure you will get the proper speed at the voltage you want to run (and test it at the actual voltage too)
Simona, it is very rare that you want two chips connected together so closely that you care about compatibility. Of more important concern is whether the two chips share identical data types, and don't use different endianness, for example.
On my application power consumption is not an issue. I'm more interested if anyone has experience with EMC testing. Inputs tend to bounce when subjected to voltage spikes. 3.3volt mcu has less tolerance for input bouncing than 5.0volt mcu.
luizcosta, the SPI slaves will only respond if talked to. To allow them to initiate the communication you need an additional IO pin to the MCU (with an interrupt).
Probably I missed some but about quote below : Is that means that you recomend to use different MCUs at the same circuit? I mean - the MCUs manufactured from different manufacturer? How we can be completely sure that they are absolutely compatible? I think that Just comparing of datasheets is not enough
Quote:
"Q: Could I expect a vendor to tell me which microcontrollers can work well together if I need to divide up tasks?
A: Yes, but they will recommend their own devices. MCUs can communicate via serial communications quite easily.
Q: What would be the advantages or disadvantages of a 3.3volt mcu versus a 5.0volt mcu?
A: Lower power used in a 3.3-volt device, more standard chips now use 3.3 volts, newer chips all use 3.3 volts. If you use a 5-volt MCU you need 5-volt support chips or 3.3-to-5-volt translator chips, which use power and require PCB space.
Q: Will 8-bit microcontrolers usage decline to niche applications?
A: I doubt it. As 8-bit MCUs get cheaper, people will find new ways to use them. Shipments of 16- and 32-bit MCUs exceed those of 8-bitters, but the 8-bit market is still strong.
Q: So, if I understand SPI, you can wire up more than one slave to a master but you have to have a chip-select circuitry to allow only one slave to be selected at a time - Correct?
A: Yes, that's correct. You use an output pin to control the chip select. For a large number of SPI chips, you could use, say, three outputs and an external decoder to create 8 chip select signals.
How do you estimate cost for a simple "proof of concept" prototype? As in "have the guys in the shop solder something together we can run our software on"...
Q: In searching for an MCU to incorporate for a project, since the industry is very competitive, what is the typical chip life cycle I should expect for that particular MCU and will manufacturers give you accurate information on life cycle?
A: You should expect about 7 years. Ask an MCU vendor about any end-of-life concerns you have. I'd bet you can still buy Z80 chips today.
So, if I understand SPI, you can wire up more than one slave to a master but you have to have a chip-select circuitry to allow only one slave to be selected at a time - Correct?
In searching for an MCU to incorporate for a project, since the industry is very competitive, what is the typical chip life cycle I should expect for that particular MCU and will manufacturers give you accurate information on life cycle?
Can there be problems with patent infringement? If so, are there internet URL's that one can search? Also, if you develop a product application for a 3rd party, how is the intellectual property issue handled?
SB, I started out programming embedded devices using the microchip PIC product line with the MPLAB and MCC18 compiler. A great embedded board to start with is: http://www.modtronix.com/product_info.php?cPath=1_36&products_id=149. This board has the PIC chip and an ethernet interface with a bootloader and firmware upload program. Works great.
Would you please repeat the correction on the gruntwareinc.com site? When I try the URL, I do not get an HTML page, but instead, I get a folder text listing.
You'd mentioned in the previous session that you'd go over some MCU training kits for those of us who are unfamiliar with C programming. Could you elaborate on this?
The troublesome part about using SPI that way is that each of the devices have to be polled in turn. So if you need instantaneous or time-sensitive response, you may need to go chip select.
DavidG_or, I agree, i think that i have to communicate to each device independently since i have to send different commands to each devices. Anyway I will try Tenacious Techhunter suggestion
XTEA (http://en.wikipedia.org/wiki/XTEA) is a good block cipher that can be implemented on a constrained resource device such as an 8 bit microcontroller.
For my lack of audio, the player does not start up. Tried refreshing the page, relogging in, etc. Does the flash audio start even if there is no stream? Or does it only start when it gets a stream?
With the differnet wireless protocols that use the same frequency (ZigBee, Fi, Bluetooth) at 2.4 GHz, do they all use the same antenna types, or are there differences from the different protocols?
What sort of features are typically offered with not-free packages (like IAR) that are not typically available from chip mfr freebies, like what's offered by Atmel? Or is it a situation where they all pretty much do the same thing, but more or less user-friendly?
Please start entering technical questions for Jon. We'll discuss them in the last 15 min of the audio portion of the show, then he'll come on here and live chat directly with you.
Good point there. We are troubleshooting a design that has the JTAg interface on the same pins as the ADC. Because we're using the ADC as part of teh design function, we can't use the JTAG while teh prototype is in its normal operating mode.
a clue to some of your audio problems may be this,
yesterday I was able to get audio at the beginning and everything is great. I am using IE8. but I am not able to view the slides. So I clicked a link off this page and wallay, no audio. when I came back to this page was not able to refresh the audio, so was left in the silence with others.
It would be helpful to have a test audio button so we could test before 2PM. My audio did not work yesterday but after some adjustments from IT, it is today.
The streaming audio player will appear on this web page when the show starts at 2pm eastern today. Note however that some companies block live audio streams. First thing to try though is to refresh your browser.
The streaming audio player will appear on this web page when the show starts at 2pm eastern today. Note however that some companies block live audio streams.
I went back yesterday and reviewed some of the audio but never checked to see if the post were included. There were a lot of good questions and it would be nice to review the questions and answers at a later time as it is a little hactic during the presentation.
The streaming audio player will appear on this web page when the show starts at 2pm eastern today. Note however that some companies block live audio streams.
I hope todays posts can separate discussion of the class content from the discussion of the mechanics of audio, time zones, browser choices, firewalls, and so on. Please?
Glad you mentioned Arduino yesterday Jon! I'm having to diy my entire MCU education and couldn't do it withiut the great resources of the Arduino community!
For your local starting time information, go to: http://www.timeanddate.com/worldclock/. The seminar starts at 2:00 PM (1400h) US Eastern Time, so compare your time to the time in New York City or Washington, DC and adjust accordingly.
Find a time-zone converter at: http://www.timeanddate.com/worldclock/converter.html. Set the time to 2:00 PM (1400h) in New York City to find the correct local time in your zone.
hello everyone, i m in uk, can i know what is the time the lecturer begin in uk times? can someone else help me? i have miss the first session due to time missunderstanding.
By experimenting with the photovoltaic reaction in solar cells, researchers at MIT have made a breakthrough in energy efficiency that significantly pushes the boundaries of current commercial cells on the market.
In a world that's going green, industrial operations have a problem: Their processes involve materials that are potentially toxic, flammable, corrosive, or reactive. If improperly managed, this can precipitate dangerous health and environmental consequences.
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.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 4
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.