OMM Software Innovation Pvt Ltd.

"OMM" Reflection of absolute reality....

OMM Software Innovation Pvt Ltd

"OMM" Reflection of absolute reality....

OMM Software Innovation Pvt Ltd

"OMM" Reflection of absolute reality....

OMM Software Innovation Pvt Ltd

"OMM" Reflection of absolute reality....

OMM Software Innovation Pvt Ltd

"OMM" Reflection of absolute reality....

Sunday 22 December 2013

INTRODUCTION TO LOAD / STORE ARCHITECTURE OF ARM

INTRODUCTION TO  LOAD / STORE ARCHITECTURE OF ARM
*        The ARM is a Load / Store Architecture:
         Does not support memory to memory data processing operations.
         Must move data values into registers before using them.
*        This might sound inefficient, but in practice isn’t:
         Load data values from memory into registers.
         Process data in registers using a number of data processing instructions which are not slowed down by memory access.
         Store results from registers out to memory.
*        The ARM has three sets of instructions which interact with main memory. These are:
         Single register data transfer (LDR / STR).
         Block data transfer (LDM/STM).
         Single Data Swap (SWP).



INTRODUCTION TO THUMB STATE REGISTER

27 registers are present in the THUMB mode compared to 37 in ARM mode

Saturday 21 December 2013

INTRODUCTION TO CPU REGISTER

CPU Registers

The ARM CPU provides in user mode 16 general purpose registers (R0 - R15) and a Program Status Register (PSR). By software and hardware conventions, the following register have a special meaning:
  • R13 is used as stack pointer (SP) that holds the current stack address
  • R14 is used as link register (LR) that saves return address for the BL and BLX instruction,
  • R15 is used as program counter (PC) that points to the executed instruction.

The ARM CPU provides shadow registers which are selected on a Operation Mode switch. These shadow registers reduce interrupt latency. All CPU Register are shown in the following picture. 
SP: Stack pointer
LR: Link register
PC: Program counter
CPSR: Current Program Status Register.
SPSR: Saved Program Status Register.

LR (Link register): is used by the processor when there is a branch operation which occurs due to function call or due to some condition checking.
When the processor is executing and there is a need to branch to other location the return address (the address from where the execution is to be started, returning after completing the function execution). If there are multiple function calls then LR will store only the last address before jumping.

CPSR: Used to store the important back-up data whenever there is change of any mode.
E.g if the processor is executing user mode and there is a interrupt, before going to service the interrupt the all the data and the status registers and the current mode of operation information is stored in CPSR.
CPSR registers are present in all the 7 modes but are not usually shown.

SPSR: .Stores the copy of CPSR register in which ever mode the processor enters. All the 7 modes have SPSR registers and are shown in the mode registers
If the processor switches from USER mode to IRQ mode because of an IRQ, the CPSR value is updated in the user mode and the processor switches to IRQ mode. Before starting the IRQ code execution the value of CPSR is copied to SPSR of IRQ mode.
While executing IRQ mode and high priority interrupt occurs (FIQ) then the status of the IRQ mode is updated in its CPSR register and when the processor switches to FIQ mode the contents of CPSR in IRQ mode is copied to SPSR register in FIQ mode.

OPERATING MODES IN ARM

 OPERATING MODES in ARM

ARM supports 7 modes of operation.

• ARM core modes of operation:
User (usr): Normal program execution state
FIQ (fiq): Data transfer state (fast irq, DMA-type transfer)
IRQ (iqr): Used for general interrupt services
Supervisor (svc): Protected mode for operating system support
Abort mode (abt): Selected when data or instruction fetch is aborted
System (sys): Operating system ‘privilege’-mode for user
Undefined (und): Selected when undefined instruction is fetched


The ARM processor has several Operating Modes which are described in the table below. The User Mode has limited access to the hardware (non-privileged) whereas all other modes have full access (privileged) to the CPU resources. In an Embedded System, the Operating Modes are used to limit access of the user application to the interrupt system. On some systems there is an additional memory protection unit that limits access in the User Mode. The Mode Bits of the Program Status Register (PSR M[4:0]) contains the current Operating Mode. 

INTRODUCTION TO ARM AND THUMB MODE

INTRODUCTION TO ARM & THUMB MODE :

ARM MODE: Always executed in the 32 bit data format, word-aligned ARM instructions. The ARM Instruction Set is selected after CPU reset or an interrupt. The data or the opcode are accessed as 32 bit data.
ARM mode is executed for all the modes available in 6 modes except USER mode.
The execution is always faster and is always seen in privileged mode.

Thumb mode: Always executed in User mode and is always executed by accessing the data and code in the 16 bit format and are half word-aligned. Always seen in unprivileged mode.
Execution is slower compared to ARM mode.

This is of great importance as the main feature of the Thumb, increasing the code density. Code density is much more efficient and is 65% more compared to ARM mode.
The registers in the THUMB mode differs slightly compared to ARM mode.

• Instruction word length shrunk to 16-bits
• Instructions follow their own syntax but each instruction has its native ARM instruction counterpart
• Due to shrinking some functionality is lost
• 19 different Thumb instruction formats


WHEN THE USER CODE IS COMPILED AND HEX FILE IS GENERATED ONE CAN OBSERVE THAT THE OPCODES GENERATED FOR “THUMB” AND FOR “ARM” ARE ENTIRELY DIFFERENT.

INTRODUCTION TO IAP

INTRODUCTION TO IAP( In Application Programming)

This is a unique programming technique and a feature provided by latest controllers where the user could program the controller when the application code is under execution.
This gives the user a flexibility to change the value of a variable when the program is executing, and the user can see that the program will take the new modified value from the variable register when-ever it access the variable in the program. There is no need to reset the program.


This needs a dedicated and a very costly hardware. Using this, the user can stop the program execution wherever he needs to check the value of the variable. i.e. the user can debug the program as he likes.

The IAP is not restricted to changing the variable in the program, but user can erase / program the complete flash while the application is running.


Both ISP and IAP needs boot loader software to be inside the controller.


INTRODUCTION TO ISP

INTRODUCTION TO ISP( In System Programming)

In a simple way, ISP can be defined as a programming concept where the controller is programmed without removing it from the board and without using any external programming device.
ISP needs an UART for programming the controller.


In older systems and 8 bit controllers the user had to carefully remove the controller from the target device and mount it on a separate device called “programmer”, use custom software for the programmer to copy the hex file to the flash of the controller.
In this kind of programming all the external peripheral devices will be non functional at the time of programming the controller.

After the programming is done the controller is reset so that it communicates with the external devices.

IMPORTANT FEATURE OF LPC-2129

Important features of LPC - 2129:

1.      Comes in 64 pin package with 46 GPIO port pins.
2.      16KB of On-chip Static RAM to store Code &/or Data.
3.      256KB of flash memory.
4.      External 8, 16, or 32 bit BUS.
5.      ARM supports 1½ port concept.
6.      On chip crystal oscillator 1 to 30MHz.
7.      60MHz max CPU clock available from programmable on chip PLL.
8.      Supports ISP& IAP via boot loader.
9.      Embedded ICE for real time debugging using break points and watch points.
10.  Embedded Trace Macro cell ( Support of JTAG interface to debug the program on the hardware level)
11.  2 CAN Controllers with Acceptance Filters.
12.  4 Channel 10 Bit ADC with conversion time of 2.44micro sec.
13.  Two, 32 Bit Timers (4 capture and 4 compare channels).
14.  PWM with 6 outputs.
15.  RTC
16.  1 Watch Dog Timer.
17.  Two UART’s.
18.  Two SPI Interface.
19.  Fast I2C at 400kbps.
20.  Two low power modes IDLE and Power-Down mode.
21.  CPU operating voltage +1.8V (1.65 to 1.95)
Peripherals operate at +3.3V (3.00 to 3.60)
I/O pins operate at +5V.
22.  Supports ARM and THUMB mode.
23.  Programming the flash memory can be done in the following ways.
1.      Using serial JTAG interface
2.      Using ISP & UART0.
3.      Using IAP.
24.  Supports 3 stage pipeline.
25.  By default this supports LITTLE ENDIAN, but can be configured as BIG ENDIAN.




FEATURES OF ARM7 TDMI-S

FEATURES OF ARM7 TDMI-S


1.      It is a general purpose 32 bit controller.
2.  Follows Von- Neumann Architecture i.e program and data memory are in the same area of memory.
3.      Supports 3 stage of pipelining.
4.      Supports Load and Store Architecture.
5.      By default it is Little Endian memory organization.
6.      Supports AMBA bus architecture.

LPC 21XX series of microcontroller are based on ARM 7 TDMI – S architecture.

LPC stands for Low Power Consumption, because for the reason it have different voltages for operation and not like other controllers where the entire controller ( CPU + peripherals of controller operate at +5V Vcc).


KNOWING THE NOMENCLATURE OF ARM FAMILY

KNOWING THE NOMENCLATURE OF ARM FAMILY


n      ARM-XYZ  TDMI  EJF- S
X -  series of ARM processor
Y -  Support of CACHE MEMORY
Z – Support of Memory management and Memory protection Unit.

T – Thumb architecture Support of 16 bit instruction.
D – Debugger support
M – Fast Multiplier
I – Embedded ICE - In Circuit Emulator

E – Embedded Trace Macro-cell.
J – Jazelle Instruction set / Java byte code, support to java programs
F – Floating point co-processor


S – Synthesizable version means the ARM is a set of software instruction engine that can be compiled on a suitable compiler.

BASICS OF TIMERBASICS OF TIMER

BASICS OF TIMER

Basically it is used to generate the delay.

Timer Reg.is used to count clock_pulse.

Timer reg.is of 2-types:

Timer 0 & Timer 1 and both is of 16-bit wide.
Both timer 0 & 1 uses the same register.

Register used:
TMOD & TCON(Both are 8-bit / bit addressable)




Wednesday 18 December 2013

DEFINE INTERRUPT

DEFINE INTERRUPT
Asynchronous  interrupt, which diverts the attention of the CPU. called interrupt.

If CPU have only one work, then C.P.U. will give the deterministic delay but it can't possible because C.P.U. has a lot of work like it controls the entire unit of C.P.U.

BASICS OF JAVA

BASICS OF JAVA
Java was introduced by Sun Microsystems in 1995 and instantly created a new sense of the interactive possibilities of the web.Originally it was called Oak.It was mainly developed for the development of software for consumer electronic devices.Both of the major web browsers include a Java virtual machine(JVM). Almost all major operating system developers (IBM, Microsoft and others) have added Java complier as part of their product offerings. It is a platform independent language. It is the first programming language that is not tied to any particular hardware or operating systems. Programs developed in  Java can be executed anywhere on any system.

Java is a true object-oriented language. it was designed to have the "look and feel" of the C++ language, but it is simpler to use than C++ and enforces a completely object-oriented view of programming. Java can be used to create complete application that may run on a single computer or be distributed among servers and clients in a network. Java is generally regraded as the most strategic language in which to develop applications for the Web.

Tuesday 17 December 2013

INTRODUCTION OF BLUETOOTH

Introduction of Bluetooth
Bluetooth is a low-power,short-distance radio technology, originally developed as a cable replacement to connect devices such as mobile phone handsets,headsets and portable computers. Bluetooth uses frequency spectrum in the range of  2400 MHz to 2483.5 MHz. Bluetooth allows both time critical data communication like voice and audio,as well as high speed,time insensitive packet data communication. Data rate via Bluetooth connection can be up 723.2 kbps. Each Bluetooth device has a unique-48-bit IEEE MAC address known as the Bluetooth device address (BD-ADDR) that is used to identify a Bluetooth device. This address cannot be easily changed by the end-user.Because Bluetooth is designed for low-powered portable applications, the radio power must be minimized.
           Files can be transferred between two Bluetooth devices using OBEX (Object Exchange) file transfer. OBEX is binary protocol designed to allow a variety of devices to exchange data simply and spontaneously. Briefly, OBEX defines a session protocol that is used to send request from a client to a server. The server replies with responses.When one Bluetooth device wants to download files from another Bluetooth  device, it first searches if the other device is in range. On success, a Bluetooth connection will be set up between two devices.After the connection is set up, the file can be transferred from source to destination by using OBEX protocol if in both devices OBEX is implemented. The Bluetooth radio is the lowest of  Bluetooth communication.
           Bluetooth devices are divided into three power classes; the only difference between them is the transmission power levels used. Table 1.1 summarizes their differences among the power classes of Bluetooth. Almost all Bluetooth-enabled cell phones,headsets,laptops,and other consumer-level Bluetooth devices are class 2 devices. There are many class 1 USB devices for sale to consumers. It is the higher class that determines the properties. If a class 1 USB device communicates with a class 2 Bluetooth cell phone, the cell phone limits the range Bluetooth radio. Class 3 Bluetooth device are rare, as their limited range heavily restricts their usefulness.



Saturday 14 December 2013

BASICS OF ZIGBEE AND BLUETOOTH

BASICS OF ZIGBEE AND BLUETOOTH

ZIGBEE:

The name ZIGBEE is said to come from the domestic honeybee,which uses a zigbee type of dance to communicate important information to other hive member.
ZIGBEE technology is a low data rate, low power consumption, low-cost, wireless networking protocol targeted towards automation and remote control applications.




BLUETOOTH:

Bluetooth aims at connectivity of mobile devices in close. It uses higher data rates,higher power consumption on large packet-device.
In Bluetooth, the network range is small and its longer join time is detrimental(3-sec).
Bluetooth has a network range of 1 to 10 meters and has a protocol stack size of 250 kilo-byte and its batteries are rechargeable.


BASICS OF INTER-INTEGRATED CIRCUITS(I2C)

BASICS OF INTER-INTEGRATED CIRCUITS(I2C)

Perior to I2C, chip-to-chip communications used many pins in a parallel interface.Many of these pins were used for inter-chip addressing, selection, control and data transfers. In a parallel interface,
8-data bits are typically transferred from a sender IC to a receiver IC in a single operation.

While

I2C performs chip-to-chip communications using only two wires in a serial interfaces allowing IC's to communicates with fewer pins. Two wires in the I2C bus carry addressing, selection, control, and data one bit at a time.
The Data(SDA) wires carries the data, while the clock(SCL) wire synchronizes the sender and receiver during the transfer.




 

INTRODUCTION OF UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER(UART)

INTRODUCTION OF UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER(UART)

-- It is a piece of computer n/w,that translate data between parallel & serial forms.
-- UARTS are commonly used in conjuction with communication standards such as RS-232,
    RS-422,RS-485.
-- A UART is usually an individuals integrated circuit used for serial communication over a 
    computer or peripheral device serial port.UART is commonly included in microcontroller.
-- UART is a Asyncronous & it is full duplex.
  


BASICS OF INTERPRETER AND COMPILER

BASICS OF INTERPRETER AND COMPILER

There are two general methods by which a program can be executed:
(a) Compiler
(b) Interpreter

Compiler:
-- A Compiler reads the entire program & converts it into object code,which is a translation
   of the programs source code into a form that the computer can execute directly.
-- Object code is also referred to as binary code or machine code.Once the program is compiled,
    aline of source code is no longer meaningful in the execution of your program.

Interpreter:
-- An Interpreter reads the source code of your program one line at a time,performing the specific
    instructions contained in that line.
-- In languages such as java, a program's source code is first converted into an intermediary form
    that is then interpreted.

MOST EXPENSIVE MOBILE PHONE COST Rs.10 CRORES

MOST EXPENSIVE MOBILE PHONE COST Rs.10 CRORES

Goldvish Le million is officially the most expensive mobile phone in the world.
This has been placed in Guinesss Books of Records.
Its feature consists of a blinding 120 carats worth of VVS-1 grade diamond.
Its costs $1.6 million dollars.
It is rumored that 3 Russians in whole world own of these.

Friday 13 December 2013

BASICS OF ANALOG TO DIGITAL CONVERTER

BASICS OF ANALOG TO DIGITAL CONVERTER

In lot of embedded systems, microcontrollers needs to take analog inputs.Most of the sensors and transducers such as temperature,humidity,pressure are analog.
For interfacing these sensors to the microcontroller,we requires to convert the analog output of these sensors to digital,so that the controller can read it.
One of the most commonly used ADC is ADC0808.ADC 0808 is a successive apporximation type with 8-channels.i.e it can directly access 8 single ended analog signals.

VECHILE STATUS CONTROL IN MODERN TIME

VECHILE STATUS CONTROL

In day to days life ,we forgot to check the status of our vechile and we move outside and if vechile is stopped down than we understand what fault occurs in vechile.
So to over come this problem,what we do is that,we used to find the status of the component like,brake,accelator,light,speed,location of the vechile etc..by using Global Positioning of Satellite system,GSM & CAN.


INTRODUCTION OF CONTROLLER AREA NETWORK

INTRODUCTION OF CONTROLLER AREA NETWORK

CAN is Invented by Robert Bosch Gmbh in 1980.
--CAN(Controller Area N/W) is a serial communication protocol,which efficiently supports distributed real   time controls with a very high level of security.
--IT is basically for automotive,to reduce the complexcity of wire.
--In Automative electronics,connected using CAN with bit-rates up to 1Mbps.
--The Intension of this specification is to achieve compatibility between any two  CAN implementations.
--It is a Asynchronous serial bus.
--Here node addressing is absence.
(a) Message Identifier specifies contents & priority.
(b) Lowest message identifier has highest priority.
(c) Multi-master/Broadcasting concept.
(d) Sophisiticated error detection & handling system,
(e) Industrial & Automotive applications.

Thursday 12 December 2013

WIRELESS SENSOR NETWORK BASED STREET LIGHT MANAGEMENT SYSTEM FOR ENERGY CONSERVATION (ALSO INCLUDES CENTRALISED MONITORING SYSTEM).

WIRELESS SENSOR NETWORK BASED STREET LIGHT MANAGE

This project includes centralized monitoring system where in we can monitor each and every units i.e., street lights which can be monitored by the unit called the server. here street lights can be managed wirelessly using the technology called zigbee.The information of each and every unit can be obtained to the server by GPRS or GSM technoligies.Automated intelligent adaptive street lighting at each pole optimizes lighting levels while saving energy.

BUS STOP FOR BLIND USING RFID TECHNOLOGY

This project is based on RFID where in we are collecting the bus information and through voice the blind persons which are standing in front of bus stop the bus information like bus no, its source and destination can be said to the blind persons. Initially the particular RID tags are tagged to the bus door and if the bus comes and stands to other particular position where the reader is placed in the stop, the information will get to the blind through voice.

"A composite personal health monitor solution bridges the gaps between patients and doctors."

"Heart disease and stroke count up to 25% of all death in the world."
"Every 33 seconds, a person dies of heart disease in the U.S."
"90% of the death can be prevented if timely medical actions can be taken."
Human health is an increasingly popular public concern. People spend tons of money on it because once get sick or dead, anything else becomes meaningless. Unfortunately, people always find that it is too late to receive serious medical care when things are already noninvertible. Lots of patients can be cured if early actions can be taken. However, the access to the medical equipment is inconvenient and expensive. Among the most important indexes of the human health, heart rate and body temperature are the most vital ones and they have the advantage of easy access. In addition, unlike the X-ray, the measurement of heart rate and temperature is extremely easy conduct and does no harm to human health itself.
In the current market, there are some personal medical devices which patients can use to do some basic measurement themselves. However, on one hand, since patients generally have little medical background, they have a hard time interpreting the medical measurement into meaningful diagnosis. On the other hand, delivering the raw medical measurement data to the doctors is time-costing and troublesome. Time can never be wasted when emergencies happen, it is critical if information can be shared on large scale coverage within a short of time. Most of the products in the market have these major drawbacks with limitation in flexibility and portability.

Fingerprint based ignition and door lock

Motor vehicle keys have sometimes been inconviencing basically based on the following facts: -The keys can easilly be locked in the vehicle or misplaced,leading to the unattractive alternative of breaking the door in the former case or re modifying the ignition system in the latter case. -The vehicle can also be easily driven away by someone who manages to get access to the keys The fingerprint based ignition thefore provides a wonderful sollution to the above inconviniences. In the project a fingerprint scanner is supposed to used,preferably connected to a computer system via a usb.Integration should be done with a c++ program and connected to a mdel vehicle.


Water purification plant control system

You are working as a design engineer at a company that specializes in water treatment plants. You have been given the task to develop the control system software for the 1st stage dosing system of a water purification plant for a manufacturing company. Dirty water, as result of the manufacturing processes, is pumped into a settling tank to allow impurities to settle. To promote the settling process a flocculant must be added to the water in the Mixing Tank before the water enters the Settling Tank. The amount of flocculant required is directly proportional to the amount of impurities in the water. The amount of solids in the water can be measured using a LDR sensor, the amount of impurities reducing the amount of light passing through the water. There are 4 solenoid valves that control the amount of flocculant that is added to the dirty water in the Mixing Tank. The amount of valves to be opened depends on how clear the water is. If the water is clear, all valves would be closed and as the amount of impurities in the water increases so more valves will be opened. The control system must use a PIC16F88 microcontroller and the development work must be done using the Matrix Multimedia development board.

Walking Stick with Heart Attack Detection

INTRODUCTION:

The ECG circuitry unit on the wrist captures abnormal heart beat signal from the patient. The micro controller on the stick runs a heart attack algorithm. Warning is given out to the person about his heart condition. The Bluetooth emergency calling system calls for medical help at the moment of heart attack.

ITS BLOCK DIAGRAM







AT89C52


User
Mobile
LCD

Power
Supply


Bluetooth module

Heart beat sensor






AT89C52


User
Mobile
LCD

Power
Supply


Bluetooth module

Heart beat sensor

Wednesday 11 December 2013

Some Basic Facts of ARM

                         ........................................Some basic facts of ARM........................................

n  ARM was founded by formerly known as ACORN RISC Machine founded by ACORN COMPUTERS LTD in 1983-85, later named as Advanced Risc Machine in 1990.
n  ARM is basically a general purpose 32 bit processor.
n  ARM is incorporated with the 32 bit controllers manufactured by Philips with the banner name LPC series controllers.
n  ARM family started with the series number from ARM 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13.
n  The series till ARM 6 were basically 16 bit microcontrollers.
n  ARM 7 was the first 32 bit controller given by ARM.

The even number of series was reserved for the company’s R&D purpose and the odd version was released to the market for commercial purpose. ARM 10 is the only even series that was released to the market

Basic Introduction of CISC & RISC for Embedded Engineers

Sr.No

1
CISC

Founded in 1970’s
RISC

Founded in late 1980’s
2
Needed more number of clock cycles
Designed to work with less or limited number of clock cycles. Usually 1 clock.
3
These had slow memories coupled to processor built using many simple IC’s.
Could be coupled with faster memories
4
The processor was controlled by microcode ROM’s, which were faster than processor.
The processor itself was faster and interfacing other interface did not much affect the overall speed.
5
Code can execute X86 machines code
Code cannot execute code for X86
6
Older CISC did not support pipeline
Supports pipelining
7
Variable Instruction length
Fixed instruction length.
8
Allows value in memory to be used as operands for data processing
Can work only if data is in registers and not in memory directly.(LOAD & STORE )
9
Have very good code density
Have very poor code density.
10
Hardware complexity is less
Hardware complexity is more.