Professional Documents
Culture Documents
1.COMPANY INDUSTRIAL PROFILE WELCOME TO DIGITECH SOLUTIONS 1.1 Vision Refining, redefining and realizing the potential of technological environment of the nation, to serve as a catalyst in societal advancement 1.2 Mission
Department of Electronics & Communication, LNCT INDORE
Delivering quality and tailored solutions through optimal amalgamation of skills and technology. 1.3 Brief introduction When Solutions and Information Services Pvt.Ltd. came into existence in 2005, our vision was to build a company that would be a single source for all technical solutions from conceptualization to development. Today Digitec continues to exceed that vision. We provide todays business with most advanced technical solutions with our award winning team of engineers. We create the industrys most innovative technology solutions under the leadership of our R&D department. In addition, we offer state of art embedded solutions, PCB designing and fabrication, reliable and technically advanced equipments, spare parts, maintenance services and consultancies services to businesses, industries and educational institutions. Digitec is today a leading electronic equipment manufacturer and consulting organization with branch office in Indore and several proposed offices dispersed throughout MP. Since its inception Digitec has proved itself in very vertical it has committed itself in. To be precise Digitec is not just an organization but a revolution. A revolution that shall redefine your lives, a revolution that welcomes change, respects innovations and inspire creativity. Digitec as a part of its corporate social responsibility promotes R&D in academic institution & also offering skill development training programs to engineering & management students to make them industry ready & solve the issue of employability.
3. DETAIL OF TRAINING
In training at Embedded Systems emphasis was given on the latest technologies and the basic fundamentals of communication which are required to cope up with the diverted needs of communication and study about the present day services provided by Embedded Systems. We were given thorough instructions and knowledge about almost all the aspects of Networking. The officers also made us familiar with the various equipments being used. The training deal with
Examples of Embedded Systems Embedded systems span all aspects of modern life and there are many examples of their use. Telecommunications systems employ numerous embedded systems from telephone switches for the network to mobile phones at the end-user. Consumer electronics include personal digital assistants (PDAs), mp3 players, mobile phones, videogame consoles, digital cameras, DVD players, GPS receivers, and printers. Many household appliances, such as microwave ovens, washing machines and dishwashers, are including embedded systems to provide flexibility, efficiency and features. Transportation systems from flight to automobiles increasingly use embedded systems. New airplanes contain advanced avionics such as inertial guidance systems and GPS receivers that also have considerable safety requirements. Characteristics Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also have real-time performance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs.
1.
Embedded systems are not always standalone devices. Many embedded systems consist of small, computerized parts within a larger device that serves a more general purpose. For example, the Gibson Robot Guitar features an embedded system for tuning the strings, but the overall purpose of the Robot Guitar is, of course, to play music.[2] Similarly, an embedded system in an automobile provides a specific function as a subsystem of the car itself.
2.
3. The program instructions written for embedded systems are referred to as firmware, and are stored in read-only memory or Flash memory chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard and/or screen. Simple systems Simple embedded devices use buttons, LEDs, and small character- or digit-only displays, often with a simple menu system. Complex systems A full graphical screen, with touch sensing or screen-edge buttons provides flexibility while minimizing space used: the meaning of the buttons can change with the screen, and selection involves the natural behavior of pointing at what's desired. Specific reliability issues may include: The system cannot safely be shut down for repair, or it is too inaccessible to repair. Examples include space systems, undersea cables, navigational beacons, borehole systems, and automobiles.
1.
The system must be kept running for safety reasons. "Limp modes" are less tolerable. Often backups are selected by an operator. Examples include aircraft navigation, reactor control systems, safety-critical chemical factory controls, train signals, engines on single-engine aircraft.
2.
The system will lose large amounts of money when shut down: Telephone switches, factory controls, bridge and elevator controls, funds transfer and market making, automated sales and service.
3.
Pins 1-8: Port 1 Each of these pins can be configured as an input or an output. Pin 9: RS A logic one on this pin disables the microcontroller and clears the contents of most registers. In other words, the positive voltage on this pin resets the microcontroller. By applying logic zero to this pin, the program starts execution from the beginning. Pins10-17: Port 3 Similar to port 1, each of these pins can serve as general input or output.
Department of Electronics & Communication, LNCT INDORE
Besides, all of them have alternative functions: Pin 10: RXD Serial asynchronous communication input or Serial synchronous communication output. Pin 11: TXD Serial asynchronous communication output or Serial synchronous communication clock output. Pin 12: INT0 Interrupt 0 input. Pin 13: INT1 Interrupt 1 input. Pin 14: T0 Counter 0 clock input. Pin 15: T1 Counter 1 clock input. Pin 16: WR Write to external (additional) RAM. Pin 17: RD Read from external RAM. Pin 18, 19: X2, X1 Internal oscillator input and output. A quartz crystal which specifies operating frequency is usually connected to these pins. Instead of it, miniature ceramics resonators can also be used for frequency stability. Later versions of microcontrollers operate at a frequency of 0 Hz up to over 50 Hz. Pin 20: GND Ground. Pin 21-28: Port 2 If there is no intention to use external memory then these port pins are configured as general inputs/outputs. In case external memory is used, the higher address byte, i.e. addresses A8-A15 will appear on this port. Even though memory with capacity of 64Kb is not used, which means that not all eight port bits are used for its addressing, the rest of them are not available as inputs/outputs. Pin 29: PSEN If external ROM is used for storing program then a logic zero (0) appears on it every time the microcontroller reads a byte from memory. Pin 30: ALE Prior to reading from external memory, the microcontroller puts the lower address byte (A0-A7) on P0 and activates the ALE output. After receiving signal from the ALE pin, the external register (usually 74HCT373 or 74HCT375 add-on chip) memorizes the state of P0 and uses it as a memory chip address. Immediately after that, the ALU pin is returned its previous logic state and P0 is now used as a Data Bus. As seen, port data multiplexing is performed by means of only one additional (and cheap) integrated circuit. In other words, this port is used for both data and address transmission. Pin 31: EA By applying logic zero to this pin, P2 and P3 are used for data and address transmission with no regard to whether there is internal memory or not. It means that even there is a program written to the microcontroller, it will not be executed. Instead, the program written to external ROM will be executed. By applying logic one to the EA pin, the microcontroller will use both memories, first internal then external (if exists).
Department of Electronics & Communication, LNCT INDORE
Pin 32-39: Port 0 Similar to P2, if external memory is not used, these pins can be used as general inputs/outputs. Otherwise, P0 is configured as address output (A0-A7) when the ALE pin is driven high (1) or as data output (Data Bus) when the ALE pin is driven low (0). Pin 40: VCC +5V power supply.
Figure 3.1.1 Address bus-For a device (memory or I/O) to be recognized by the CPU, it must beassigned an address. The address assigned to a given device must be unique. The CPU puts the address on the address bus, and the decoding circuitry finds the device. Data bus-The CPU either gets data from the deviceor sends data to it. Control bus-Provides read or write signals to the device to indicate if the CPU is asking for information or sending it information.
10
The 8051 microcontroller has a total of 256 bytes of RAM in which 128 is visible or user accessible and extra 128 is for special function registers. The user accessible RAM is used for temporary data storage. The user accessible RAM is from the address range 00 to 7Fh. From the user accessible RAM, 32 bytes of RAM is used for registers and rest for Stack operations. The 32 Bytes of RAM is divided into four register Banks i.e. Bank0, Bank 1, Bank 2, Bank3. Each of these banks have 8 Registers i.e. R0 to R7 each. RAM locations from 0 to 7 are set aside for bank 0 of R0 R7 where R0 is RAM location 0, Rl is RAM location 1, and R2 is location 2, and so on, until memory location 7, which belongs to R7 of bank 0. The second bank of registers R0 R7 starts at RAM location 08 and goes to location 0FH. The third bank of R0 R7 starts at memory location 10H and goes to location 17H. Finally, RAM locations 18H to 1FH are set aside for the fourth bank of R0 R7.
Figure 3.1.2 Generally for normal operations, Register bank Bank0 is set by default. But we can switch to other banks by using PSW Commands.
Figure 3.1.3 3.1.3 SFRs (Special Function Register) - These Registers are in extra 128 bytes of the memory. This part of memory is not user accessible and these registers are used for special purposes. These registers range from 80h to FFh. There are a total of only 21 SFRs in this range and all other addresses from 80h to FFh are invalid and there use can cause errors and not valuable results. Some of the SFRs are TCON, SBUF, ACC, B, SCON, TMOD SP, P0, PSW, TL0, and TL1. These all the registers have some specific function that has to be performed after they are
Department of Electronics & Communication, LNCT INDORE
11
programmed. (i) Byte Addressable SFR with byte address SP Stack printer 81H DPTR Data pointer 2 bytes DPL Low byte 82H DPH High byte 83H TMOD Timer mode control 89H TH0 Timer 0 Higher order bytes 8CH TL0 Timer 0 Low order bytes 8AH TH1 Timer 1 High bytes = 80H TL1 Timer 1 Low order byte = 86H SBUF Serial data buffer = 99H PCON Power control 87H. 3.1.4 DPTR - Data Pointer in 8051 16 bit register; it is divided into two parts DPH and DPL. DPH for Higher order 8 bits, DPL for lower order 8 bits. DPTR, DPH, DPL these all are SFRs in 8051.
12
The upper higher bits are TH0 and TH1 and the lower bits are TL0 AND TL1 The TMOD and TCON are two control registers for the two timers.
Figure 7.9
Gate
C/T
M0
M1
GATE
C/T
M0
MI
Timer 1
Figure 7.10
Timer 0
GATE: To start and stop the timer GATE=1 _HW control: is enabled only while INTx pin is 1and TRx control pin (in TCON) is set. GATE=0 _SW control (used frequently) C/T: Timer or counter selection C/T = 0 _Timer (input from internal system clock) the crystal (1/12) is used to trigger the timer. C/T = 1 _Counter (input from Tx input pin) M1 and M0: Mode selection for timer and counter
Department of Electronics & Communication, LNCT INDORE
13
Mode M1 M0 0 0 0 13-bit timer/counter mode 101 16-bit timer/counter mode 210 8-bit auto reload timer/counter mode 31 1 split timer/counter mode (ii) TCON Register MSB LSB
TF1
TIMER 1
TF0
TR1
TR0
IE1
IE0
TIMER1
IT1
IT0
TIMER0
TF1: Timer 1 overflows flag TF1=1: Timer/counter 1 overflows. TF1=0: processor vectors to the interrupt services. TR1: Timer 1 run control bit TR1=1: turn Timer 1 ON TR1=0: turn Timer 1 OFF IE1: External interrupt 1 edge flag IE1=1: external interrupt is detected. IE1=0: when interrupt is processed. IT1: Interrupt 1 type control bit IT1=1: falling edge. IT1=0: low level triggered external interrupt. Gate=0, SETB TR1 _Run Timer 1 SETB TR0 _Run Timer 0 Gate=0, CLR TR1 _OFF Timer 1 CLR TR0 _OFF Timer 0
Timer Mode 0
Timer Mode 2
Mode 2: 8-bit auto reload Timer/counter mode (00 ~ FFH). In auto reload, TH is loaded with the initial count and a copy of it is given to TL. This reloading leaves TH unchanged still holding a copy of original values. This mode has many applications, including setting the baud rate in serial communication. Mode 2 Programming 8 bit - 00 ~FFH TH copy to TL
Department of Electronics & Communication, LNCT INDORE
14
Start SETB TR0, or TR1 TL increased FFH (OV monitoring) TH reloads to TL.
3.2.2 Counters
Counter is used to count input pulses. C/T=0: As Time, using 8051s crystal as the source ofthe frequency. C/T=1: As counter, a pulse outside of the 8051 that increments the TH and TL register. When the C/T=1, the counter counts up as pulses are fed from Pins P3.4 (for counter 0) or P3.5 (for counter 1).
An Arduino is an opensource microcontroller development board. In plain English, you can use the Arduino to read sensors and control things like motors and lights. This allows you to upload programs to this board which can then interact with things in the real world. With this, you can make devices which respond and react to the world at large. For instance, you can read a humidity sensor connected to a potted plant and turn on an automatic watering system if it gets too dry. Or, you can make a stand-alone chat server which is plugged into your internet router. Or, you can have it tweet every time your cat passes through a pet door. Or, you can have it start a
Department of Electronics & Communication, LNCT INDORE
15
pot of coffee when your alarm goes off in the morning. Basically, if there is something that is in any way controlled by electricity, the Arduino can interface with it in some manner. And even if it is not controlled by electricity, you can probably still use things which are (like motors and electromagnets), to interface with it. The possibilities of the Arduino are almost limitless. As such, there is no way that one single tutorial can cover everything you might ever need to know. That said, I've done my best to give a basic overview of the fundamental skills and knowledge that you need to get your Arduino up and running. If nothing more, this should function as a springboard into further experimentation and learning. Arduino is a single-board microcontroller to make using electronics in multidisciplinary projects more accessible. The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit Atmel ARM. The software consists of a standard programming language compiler and a boot loader that executes on the microcontroller. Arduino boards can be purchased pre-assembled or as do-it-yourself kits. Hardware design information is available for those who would like to assemble an Arduino by hand. It was estimated in mid-2011 that over 300,000 official Arduinos had been commercially produced. Pin Description Of Arduino
Arduino programs are written in C or C++. The Arduino IDE comes with a software library called "Wiring" from the original Wiring project, which makes many common input/output operations much easier. Users only need define two functions to make a
Department of Electronics & Communication, LNCT INDORE
16
a function run once at the start of a program that can initialize settings loop(): a function called repeatedly until the board powers off
A typical first program for a microcontroller simply blinks an LED on and off. In the Arduino environment, the user might write a program like this
#define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // Enable pin 13 for digital output } void loop () { digitalWrite (LED_PIN, HIGH); // Turn on the LED delay (1000); // Wait one second (1000 milliseconds) digitalWrite (LED_PIN, LOW); // Turn off the LED delay (1000); // Wait one second } It is a feature of most Arduino boards that they have an LED and load resistor connected between pin 13 and ground; a convenient feature for many simple tests. [9] The previous code would not be seen by a standard C++ compiler as a valid program, so when the user clicks the "Upload to I/O board" button in the IDE, a copy of the code is written to a temporary file with an extra include header at the top and a very simple main() function at the bottom, to make it a valid C++ program. The Arduino IDE uses the GNU toolchain and AVR Libc to compile programs, and uses avrdude to upload programs to the board. As the Arduino platform uses Atmel microcontrollers, Atmel's development environment, AVR Studio or the newer Atmel Studio, may also be used to develop software for the Arduino.
Department of Electronics & Communication, LNCT INDORE
17
18
3.6.1 Introduction
This exercise covers the use of Eagle (Easily Applicable Graphical Layout Editor) PCB design software to design an electronic schematic and lay out a printed circuit board (PCB). Eagle is a PCB design software package consisting of a schematics editor, a PCB editor and an auto router module. The software comes with an extensive library of components, but a library editor is also available to design new parts or modify existing ones. Eagle is made by Cad Soft (http://cadsoft.de), and is available in three versions. The light-version is limited to one sheet of schematics and half euro-card format (80x100 mm), but can be used under the terms of the freeware licence for non-commercial use. This software can be downloaded from CadSofts homepage, for Windows or Linux. We are investigating the possibilities of getting one or more licenses for the professional version,which does not have these limitations.
19
modify-tool and select what you want to modify (style, size, layer etc.), then you click on the component you want to modify. The command line interface (CLI) can be used
to make this task easier. If you want to modify the value of say 10 capacitors to 100nF, you could use the change-tool and select value. Now, each time you click a component, a dialog will pop up asking for the new value, which you will have to type in. If you instead enter the command value 100nF in the CLI (the input-box just above the main drawing canvas), you can simply click on the components whose value you wish to change. When adding components, you will notice a small black cross on each device. This is the origin or handle of the device, and is used to manipulate the device with varoius tools. So whenever you are using a tool, Eagle will apply the tool to the entity whose origin is closest to the mouse cursor. If two or more entities are very close to eachother, Eagle will highlight one and ask if this is the one you want to modify. Click left button to accept or right button to cycle to the next entity. When you use the smash-tool, the name and value-texts will be
Department of Electronics & Communication, LNCT INDORE
20
detached from the device and get their own origin, allowing them to be moved individually.
21
To add the holes, we need to go back to the schematic editor. This is because of Eagles forward and back annotation, which aparently is not too good at back-annotating new components. Go back to the schematic editor and add 4 mounting holes (add mount-pad-round3.0). The placement in the schematic is not important. You will se that the mounting holes appear in the board editor right away. You should move them to appropriate places on the board. It is a good idea to align the mounting holes on some nice metric positions. Switch the grid to millimeters while placing the mounting holes. You probably want to change it back afterwards, since the 100mil grid is the standard distance between component pins.
22
23
Layout design should come inner side. Means layout and copper side should stick to each other. B Now ON electrical press (iron press). Step7. Now start press of copper PCB from bottom layer. Step8. This process has done till same layout should start print on back side of paper. Step9. This process takes time around 15 minutes for new user and it can also finished in 5 minutes. Step10. After come same PCB track on back side of paper keep this PCB in to water till it become could. This process will make soft paper. Step11. Remove paper layer smoothly using our finger till can get layout of PCB. Reminds PCB should have only track on PCB in this process some extra paper also remains in between tracks of PCB so we need to remove them using blunt equipment you can use also screw driver. If we do not remove remaining paper between track it would case shorting in circuit. Here shorting means unnecessary connection. Step12. After getting fine track on PCB. Take 2,3 spoon fecl3 solution in a plastic try. Step13. Take a glass of hot water in try. Keep take care it makes fast bubbles for few seconds that comes out that so make distance from solution. Step14. Put this PCB in to the solution and shake try slowly for some time also observe some part of copper is start remove from PCB. Shake solution till copper remove from PCB. copper will only remain in track of PCB. Step15. Take out PCB from solution using tong and washed it using water then take sand paper and rub on this PCB till capper track show you properly. Step16. Now do drill on pad size using drill machine. Step17. Insert component on right place of circuit and do soldering properly.
24
CHAPTER-3 CONCLUSION
CONCLUSION
Embedded systems = A computer which is integrated into another system, the embedded system. Embedded systems are part of a bigger system. Embedded system programming is programming with resource constraints. An Embedded system is based on specifications. Specific requirements are defined and based on these requirements an embedded system is developed. In short an embedded system works for a predefined task. On the whole a hardware chip programmed for a dedicated task results in an embedded system. As integrated circuits get continuously cheaper, more capable and power efficient, complexity of chip designs are constantly growing. This is illustrated by new design approaches such as multicore technologies. As there is no foreseeable end to this development of embedded system, higher abstractions for the design process to be invented.
25