Microcontroller - 8051, 8052, OpCodes, Analog Interface.
Showing posts with label Learning-Embedded-Systems. Show all posts
Showing posts with label Learning-Embedded-Systems. Show all posts

Sunday, April 20, 2014

A Tutorial on Binary Numbers

Computers understand numbers and logic, as most are digital computers. The Binary Hexadecimal System is the way the numbers or logical commands are instructed to the computer. All input devices or sensors must finally talk this language to the CPU, and all outputs and actuators must be able to understand this numbers to do their job.

A bimetallic thermostat is like a simple mechanical computer. Where the bimetal response is the sensor input, the contacts are the output to actuator and the bimetal thermal behavior is of the nature of intelligence. Similarly we have opamps which can be real-time complex analog computers. And the Living Being are like biologicals robot which have all the things - a control systems, computers, sensors and actuators, even probably a wireless network. :-)

Binary Numbers
  • Bit is 0 or 1 ... one digit ... 0 could be 0 volts and 1 five volts.
  • Nibble is four bits, 4 digits, like 0010 , in hex a nibble is 0 to F.
  • Byte is eight bits, 8 digits, like 1100 0010 , in hex 00 to FF.
  • BCD binary coded decimal is binary code for numbers 0 to 9.
  • Learn more by reading asciicat here. Download and use.
Computer Science and of computer programming, while emphasizing the development and analysis of common data structures and algorithms.

CS152, Fundamentals of Computer Science II, and Programming Languages.

A Tutorial on Binary Numbers

Samuel A. Rebelsky
  • Basic Concepts Behind the Binary System
  • Binary Addition
  • Binary Multiplication
  • Binary Division
  • Conversion from Decimal to Binary
  • Negation in the Binary System
A Tutorial on Binary Numbers

Friday, May 18, 2012

Raspberry Pi - ARM with Linux Nano Computer

Raspberry Pi is a Miniature Computer that can Interface with a Display Device like TV and a keyboard.

Raspberry Pi - ARM with Linux Nano Computer

Learning Programming with DIY Computing

We now also have a tiny ARM SoC mini computer called Raspberry PI which helps you know how a computer works. Browse the Internet on your TV or learn coding in many programming languages.

(These ARM based devices power many of the small portable electronics we see today.)

Model A has been redesigned to have 256Mb RAM, one USB port and no Ethernet (network connection). Model B has 256Mb RAM, 2 USB port and an Ethernet port.

The SoC is a Broadcom BCM2835. This contains an ARM1176JZFS, with floating point, running at 700Mhz, and a Videocore 4 GPU. Overall real world performance is something like a 300MHz Pentium 2, only with much, much swankier graphics.

There is composite and HDMI out on the board, so you can hook it up to an old analogue TV, to a digital TV or to a DVI monitor. No VGA support.

Raspberry Pi for Open Education Week at Oxford University

Raspberry Pi for Open Education Week at Oxford University

Wednesday, March 14, 2012

Digital and Embedded Systems Design

An Embedded Microcontroller or DSP system is made of Chips, Circuits and Firmware. The digital voltage levels, speed, bus width, fan out, power consumption are some factors that a designer has to keep in mind. As portable and wireless gadgets are becoming more popular, RF, Ethernet and Energy Efficient Design aspects should be studied. Power electronics and Analog Circuits knowledge is used around the system, all this is integrated to make an instrument, equipment or gadget.

Digital and Embedded Systems Design
  • 80C51 ports can sink more current but source very less, hence use a 10k pull up at all the ports or outputs.
  • Firmware must be developed in increments, tested in increments, backed up in increments, must be modular (include) reuse.
  • Tristate output, High Impedance and Floating all mean the same when it comes to IC Inputs-Outputs. It means the pin is insulated from rest of circuit in the IC. That means it will not influence the node or bus it is connected to. A DMM terminals are floating means that the hand held plastic DMM has no electrical conductive link to earth or ground.
  • You can use hyper terminal to upload code to single board computers 80C51 like in BINARY or ASCII. Hyper Terminal, .
  • ASICs are for large volume production, or for products which have a long product life cycle.
  • Low volume production use FPGA or CPLD, or even flash based microcontrollers, so that all your inventory can be reused and recycled.
  • Cell phones or a LAN card ASIC is ideal as volumes are good in cell phones and for LAN cards the technology is matured. For either FPGA or ASIC's you get IP Modules or Code Libraries for many functions and applications.
  • Whatever the method keep design flexible and modular for reuse and to save cost. remember the hardware is difficult to alter, software can be altered even at customer site, flash has made this possible
  • In the future chips may be both analog and digital programmable with flash.
  • Some FPGA, CPLD, ASIC links, WinCUPL, Design and Reuse, fpga4fun.
  • Unused CMOS inputs should have a pull up or pull down resistor, it should not float, or it oscillates.
  • Have a decoupling capacitor 104 that is 0.1uF or 100nF across the supply of every IC very near the IC supply pins.
  • A watchdog timer should be used in every microcomputer circuit like 8051 so that the system resets on hanging.
  • The reset on a microcomputer should be applied till the supply to it is stabilized, this will enable a clean start.
  • Analog ground (opamps), digital ground (CMOS) and power ground (relays and LED) should be separate, (linked at root)
  • Pull up or pull down resistors in TTL can be 10K and in CMOS 100K and in battery operated systems 1M.
  • CMOS gates and Opamps have a output drive capability of ~ 10-20mA, so when you drive a load say an LED use a series resistor to limit the current to 5mA to 10mA.
  • When the number of digital chips you use in a project goes above 20 or 30 then it is better to use PLD or CPLD types from Altera, Xilinx or Lattice etc.
  • Try to use same family ICs in a circuit, like only LS or only HCT, if you mix up then you have to do a design review.
  • In a industrial environment many motors, DC drives and AC drives will be running, this will produce EMI, RFI, kickback spikes which cause microcontroller based equipment to hang. Use a watchdog timer for uC.
  • More EMI immunity by using opto couplers for all input and outputs, 4-20mA current signals for input and output and an isolated wide range SMPS.