Tuesday, November 27, 2007

Switch debouncing

Switches can do some really odd things. Most engineers learn this dirty little secret soon after connecting a switch or a relay to a digital system. Switches don't make and break cleanly on the time scales of digital systems. Instead, a typical switch makes multiple transitions during the tens of milliseconds required to open or close, due to effects that include age, operating inertia, mechanical design, and the microscopic condition of the switch-contact surfaces. Commonly called "switch bounce," this behavior is an inescapable fact of life.

- application note 287
:Switch Bounce and Other Dirty Little Secrets,Maxim semiconductors

some resources--

Monday, November 26, 2007

Sunday, November 25, 2007

a round up of microcontroller interfacing techniques

Micro-controllers are useful to the extent that they communicate with other devices, such as sensors, motors, switches, keypads, displays, memory and even other micro-controllers.Many interface methods have been developed over the years to solve the complex problem of balancing circuit design criteria such as features, cost, size, weight, power consumption,reliability, availability, manufacturability.

The following document is a summary of some of these interfacing techniques
http://www.bipom.com/applications/micro_interfacing.pdf

Sorting algorithm animation

Sorting algorithms:
We all know that Quicksort is one of the fastest algorithms for sorting. It's not often, however, that we get a chance to see exactly how fast Quicksort really is. The following link will lead you to applets chart the progress of several common sorting algorithms namely Bubblesort , Insertionsort , Quicksort and Select sort

sorting algorithm animation

wiki wiki ??

Wiki Wiki is a reduplication of wiki, a Hawaiian-language word for fast. The word "wiki" (/wiːkiː wiːkiː/) is a shorter form of wiki wiki. WikiWikiWeb was the first site to be called a wiki., Ward Cunningham started developing WikiWikiWeb in 1994, and installed it on Internet domain c2.com on March 25, 1995. It was named by Cunningham, who remembered a Honolulu International Airport counter employee telling him to take the so-called "Wiki Wiki" Chance RT-52 shuttle bus line that runs between the airport's terminals. According to Cunningham, "I chose wiki-wiki as an alliterative substitute for 'quick' and thereby avoided naming this stuff quick-web."

http://en.wikipedia.org/wiki/Wiki

I2C Bus

Almost 20 years ago the I2C bus was designed by Philips to allow easy communication between c omponents which reside on the same circuit board. Philips Semiconductors migrated to NXP in 2006.

The name I2C translates into "Inter IC". The original communication speed was defined with a maximum of 100 kbit per second and many applications don't require faster transmissions. For those that do there is a 400 kbit and - since 1998 - a high speed 3.4 Mbit option available.

Meanwhile I2C is not only used on single boards, but also to connect components which are linked via cable. Simplicity and flexibility are key characteristics that make this bus especially attractive for consumer and automotive electronics.

to know more about I2C Bus---

http://i2c-bus.org/

http://www.esacademy.com/faq/i2c/

The I2C-Bus and how to use it is a well-known document from Philips discussing the use of this bus in applications.

Wiki article on I2C bus

Reed Relays

As a relay is a switch controlled by an electromagnet, so a reed relay is one or more reed switches controlled by an electromagnet. The contacts are of magnetic material; thus the electromagnet acts directly on them rather than requiring an armature to move them. Sealed in a long, narrow glass tube, the contacts are protected from corrosion, thus are ordinarily plated with silver rather than precious metals. The most common reed relays of the late 1930s through the 80s had two reed switches inserted into holes in the bobbin. Since the moving parts are small, reed relays are capable of faster switching than most others.

Reed Switches (wiki)

Reed Relay Applications

Sunday, November 18, 2007

some interesting motor applications

A document discussing some interesting applications of various types of motors

http://www.compumotor.com/catalog/cataloga/A72-A96.pdf

stepper motor basics

A stepper motor is a brushless, synchronous electric motor that can divide a full rotation into a large number of steps, for example, 200 steps. When commutated electronically, the motor's position can be controlled precisely, without any feedback mechanism (see open loop control)

Some web resources on Stepper Motors:

Stepper motor Basics
Control of Stepping Motors - A Tutorial
A Wiki article on Stepper motors
Nice Animation of a stepping Motor : A German webpage.Please use the slider labelled as continuous to vary speed and run the animation.The stepping modes can also be changed.The type of winding can be selected from the top left corner of the animation

the microsoft way.............

"Microsoft programs are generally bug-free. If you visit the Microsoft hotline, you'll literally have to wait weeks if not months until someone calls in with a bug in one of our programs. 99.99% of calls turn out to be user mistakes. I know not a single less irrelevant reason for an update than bugfixes. The reasons for updates are to present more new features."
-- Bill Gates on code stability, from Focus Magazine

DAC 0808 datasheet

http://www.national.com/mpf/DA/DAC0808.html

ADC 0804 datasheet

http://www.national.com/mpf/DC/ADC0804.html

Sunday, November 11, 2007

Understanding DC Electrical Characteristics of Microcontrollers

For the inexperienced designer, understanding the electrical characteristics presented in an integrated circuit data sheet can be confusing. If misinterpreted, a new design could prove disastrous. This tutorial is intended to demystify the steady state characteristics of the Maxim microcontroller product family.(but surely relevant for any microcontroller data sheet)
http://www.maxim-ic.com/appnotes.cfm/an_pk/1087

Friday, November 09, 2007

is 8051 a RISC or a CISC processor?

8051 is a CISC () processor

"CISC (complex Instruction Set Computer), with all the possible adressing modes on the instructions"

although the actual number of instructions is quite small!

So, taking the words at face-value, it is quite "simple" relative to something "complex" like a Pentium;
It is also quite "simple" relative to something like the ARM - which is RISC!

"CISC" and "RISC" have to do with design philosophy rather than raw counts of numbers of instructions...

see the following discussion forum for more
http://www.keil.com/forum/docs/thread11113.asp

C v/s Assembly

What are the merits and demerits of using C over assembly language for microcontroller programming,just see this discussion
http://www.keil.com/forum/docs/thread11112.asp#msg53554

Wednesday, November 07, 2007

Sunday, November 04, 2007

Keil C compiler online manual

http://www.keil.com/support/man/docs/c51

von Neumann architecture and Harvard architecture

The von Neumann architecture is a computer design model that uses a processing unit and a single separate storage structure to hold both instructions and data. It is named after mathematician and early computer scientist John von Neumann. Such a computer implements a universal Turing machine, and the common "referential model" of specifying sequential architectures, in contrast with parallel architectures. The term "stored-program computer" is generally used to mean a computer of this design, although as modern computers are usually of this type, the term has fallen into disuse.

http://en.wikipedia.org/wiki/Von_Neumann_architecture

Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape (24 bits wide) and data in electro-mechanical counters (23 digits wide). These early machines had limited data storage, entirely contained within the data processing unit, and provided no access to the instruction storage as data, making loading and modifying programs an entirely offline process.

http://en.wikipedia.org/wiki/Harvard_architecture


The following link also provides some insight into the topic especially wrt ARM cores
http://www.arm.com/support/faqip/3738.html

8051 interfacing basics

some websites on 8051 interfacing:
www.freewebs.com/maheshwankhede/index.html
www.edsim51.com/8051Notes/interfacing.html