Design and Development of ARM based Embedded system Laboratory Aruna. Kommu and Raghavendra Rao. Kanchi VLSI and Embedded System Laboratory Department of Physics, Sri Krishnadevaraya University. Anantapur, 515003, Andhra Pradesh, India * [email protected] Abstract— In this paper we present a platform consisting of a series of laboratory exercises using ARM microcontrollerLPC2148 (ARM&TDMI). The open hardware system in the present scenario gives an opportunity to perform the experiments even at home. Stress is given to the simple representation in terms of block diagrams instead of the use of high level tools (C or Assembly). The system described supports the transfer of developed program code from Laptop to the Microcontroller, and evaluation of its execution on rapid prototyping hardware. Further it allows the students to add new exercises to the already existing list. They can also enhance their skills by developing software which is suitable for hardware interfacing and data acquisition in the laboratory. The series of experiments described in the present paper will be a point of take off to start a journey on working in the area of embedded system. It gives an opportunity to think individually and to develop the creativity towards the fast growth of technology about an embedded system. Suggestions are given in the design so that incorrect wiring and testing will be avoided. on which a series of experiments can be performed that gives a hands –on experience and bringing in a take home concept. Further, the series of experiments described in this paper can be introduced as a part of curriculum for the senior graduate students. A.ARM7TDMI ARM (Advanced RISC Machine) architecture is the 32 bit RISC instruction set architecture which is most widely used in a number of embedded systems. ARM is a leading intellectual property provider of high performance, low cast, and power efficient RISC processor microcontroller . ARM processor has some characteristics that made them suitable for low power application such as intelligent voltage management and cache micro architecture. The most prominent future that makes ARM differ from other microcontrollers is : Interrupt system cache controller design voltage management Instruction set. I. INTRODUCTION ARM CPU has a von Newman architecture and it uses two In the present scenario, topics like: Application Specific buses i.e. AHB (advanced high performance bus) and VPB Integrated Circuit (ASIC), System- on Chip (SOC) have (VLSI peripheral bus) which increases the speed of execution replaced Computer Architecture, Organization and design in  compared to other commonly used microcontroller such as the field of Computer Engineering. This shift has called for the INTEL 8051 and the Microchip PIC family. ARM family want of knowledge on Embedded System to be a pre-requisite. provide wide range of performance from 100 MIPS to 1000 Majority of universities in India offers courses on MIPS. This increase in performance leads to two important microcontrollers like PIC, ATMEL, MOTOROLA, INTEL etc. factors and advances in a new process technology. Few universities in India have taught ARM microcontroller in New pipeline mechanism. their curriculum. There are several papers dealing with Implementation of Harvard bus architecture in ARM9 development of laboratory experiments using different family platforms and different microcontrollers [1, 2]. Paper An efficient and optimized processor design is an art. This is dealing with development of laboratory exercises using ARM- because the instruction set should cater the need of the based microcontroller are very less. On the other hand there is programmer in an efficient way. i.e. keeping the future a vast development of technology with high performance implementation also plays pivotal role in the processor microcontroller like ARM and on software side the operating design .This is because it has to bridge the gap between HLL system Windows 8 can run on ARM microcontroller has been construct and machine language. Thus the compiler design developed.ARM microcontroller is dominant in the mobile which in turn depends on the type of instruction set. The and auto mobile electronics market and is one of the industry whole ARM family has the same instruction set of 32 bit leading standard microcontroller. This is compatible with all ARM instruction set and 16 bit thumb instruction set .The four major platform operating systems Symbian os, Palm os, thumb instruction set was introduced in the fourth version of Linux os and windows CE. Keeping the above facts in view the ARM architecture in order to achieve the high code point, we thought that it is worthwhile to describe a platform density for embedded applications. Keywords— ARM7TDMI, LPC2148, On-chip Peripherals, Realtime Interfacing, Hands –on experiences. NXPs ARM mini kit was purchased from NSK electronics which cost about 30$ . Mini ARM kit consists of LPC2148 ARM7TDMI as its core and two types of memory, Flash memory of 512kb with In system program and In Application programming, static RAM of 40kb . LPC2148 CPU has a simple programmer model and it has sixteen 32 bit general registers and two special registers named as current program status register (CPSR), saved program status register (SPSR). It has a vectored interrupt controller, two 10 bit ADCs with 14 channels, one DAC.USB full speed device controller, two UARTS one with full modem interface, two 32 bit timers, watch dog timer, PWM unit, REAL time clock with optional battery backup and 45 general purpose i/o pins, CPU clocks up to 60MHz on chip crystal oscillator and on chip PLL. There is open source KEIL software that provides a best development tool and technical support . It also offers numerous ways from the technical support that one needs to complete embedded projects. KEIL supports simulation using the target systems and a debugger interface. Micro vision includes traditional features like simple and complex breakpoints, watch windows and execution controls as well as sophisticated features like trace capture, execution profiler, code coverage and logic analyser. Features such as free development tools and compilers plus the ability to integrate a low cost in circuit debugger in to the ARM CPU module made the ARM an excellent choice for the new advances that have been made in new process technologies. ARM CPUs accounts for approximatly75% of all embedded 32-bit RISC CPU making it the worlds largest selling 32-bit architecture. This allows the students to learn popular microcontroller architecture in their gradual level which is widely used in the electronics industry. When the ARM CPUs are designed ARM7TDMI from ARMv5 was the most popular device used in Apple iPod and Newton PDA. TheARM7 microcontroller also provides a wide range of internal peripherals. All these features have made the ARM7 an ideal choice for lab experimental kit for the beginners in to ARM microcontroller. Some of the embedded control application typically requires a processor with cache and memory protection to utilize the real time operating systems. The vast majority of users need security and desktop/web productivity applications. For that purpose ARM has developed a vertical expansion of CPUs to match the user requirements and provides a unique, configurable amount of cache. Recent development includes a new pipeline mechanism and implementation of Harvard architecture in ARM9 family, DSP and java extensions to some of the new architecture enables rich applications to benefit from the high performance and low power consumption intrinsic to ARM processor cores. BY considering the above all facts ARM architecture is compatible, flexible and encompass the full range of embedded requirements, we have chosen to popularise ARM microcontroller by developing a series of experiments useful for graduate level laboratory. The following sections give an account of experiments performed in the laboratory. II. EXPERIMENTAL DESCRIPTION In our department embedded laboratory consisted of a series of experiments using PIC, Atmel and Intel microcontrollers. For the reason that ARM microcontrollers have become very popular in mobile technology, automobile and electronic industry, it is felt to introduce ARM based training in hardware and software for the first time in the curriculum. In this direction, a series of experiments useful to both undergraduates and graduate laboratories of engineering and science have been designed and developed. One of the advantages of the described experiments is that they can be implemented even for take-home labs since the hardware components are inexpensive. The experiments are provided with the relevant documentation. Brief description of these experiments is given in the following. Fig 1 shows the mini ARM kit connected to laptop. Fig1: The mini ARM kit connected to the laptop and program uploading window A. LOGIC CONTROLLER The first experiment is to get acquainted with the programming of a port of the Lpc2148 as input/output. This needs the careful study of the I/O pins and selection of their function. The logic controller experiment comprises of interfacing LEDs with output port and connecting a pushbutton(s) to an input port. Output port: LEDs are connected to PORT of LPC2148 and software is developed to switch alternate LEDs on and off, and different variants of this exercise. Input port: A single push-button (PB) is connected to one of the pins of port 0 and that bit which PB is connected is programmed as input port and software is developed to display the number of times the push button is pressed on LCD (interfacing LCD with LPC2148) is explained in exercise B B. INTERFACING LCD This experiment gives the hardware and software description to interfacing LCD (16charactersx2line) with an output port. In fact, the LCD can be interfaced in two modes: 8-bit mode and 4-bit economic mode. In the present experiment the second technique is explained since this presents a mode of optimal utilization of I/O port pins. Following fig 2 shows the LCD module interfaced with ARM CPU. the amount of power applied to the motor. This can be varied by the technique: pulse width modulation. LPC 2148 provides a multiplexed pin as PWM output. Hardware is developed in the form of a power amplifier with H-bridge that provides an opportunity to rotate the motor clock-wise and anti clock-wise directions. Software for obtaining variable duty cycle and hence motor to rotate at different speeds is realized. F. INTERFACING RELAYS AND SOLENOIDS Interfacing of relays and solenoids with the output ports of lpc2148 throws light on control applications such as temperature control, flow control etc. These relays solenoids are interfaced via buffer/power amplifier stage. Software controls the on/off time in a programmed way. G. ANALOG VOLTAGE MEASUREMENT USING ON-CHIP ANALOG-TO-DIGITAL CONVERTER (ADC): Lpc2148 is fabricated with a 10 bit on chip ADC. It can be used in single ended/differential mode of operations. In the present exit intensity measurement is carried out by interfacing a photodiode with the analog input of ADC. LED intensity is varied by an automated potentiometer driven by a potentiometer. The acquired data is plotted by the computer using origin package. H. GENERATION OF ANALOG VOLTAGE USING ONCHIP DIGITAL-TO-ANALOG CONVERTER (DAC): Fig 2: LCD module interfaced with ARM CPU C. INTERFACING MODULE SEVEN-SEGMENT DISPLAY A 4-digit LCD display module is interfaced with LPC 2148. The display is driven by to ULN 2003 (Darlington Pair IC) and multiplexed display concept is implemented by software. This ensures low power consumption by the LED display module. The outcome of the experiment is: To understand the concept of multiplexed display. D. INTERFACING STEPPER MOTOR A stepper motor collected from a junked 51/4 floppy drive is used. This experiment demonstrates the use of stepper motor for different applications by rotating to motor of different angles and different speeds. The stepper motor is driven by an output via power driven IC ULN 2003.This experiment paves path for applications of stepper motor rotation for different applications. E. INTERFACING DC MOTOR A DC motor unlike stepper motor rotates continuously on the application of power to it. The speed of rotation depends on The on chip DAC of LPC2148 can be used for various applications such as waveform generation, displaying alphanumeric and graphics, generating different values of analog output voltages etc .In the present work different analog output voltages are measured by giving different digital inputs at the appropriate digital pins that are selected using the pin functions corresponding to DAC I. REAL TIME CLOCK The on chip RTC is useful in serial applications such as to count the happening of events, ultra low power design to support battery powered systems. In the present experiment software is developed to display Date, month, year and time on the LCD which is interfaced in the experiment B. The experimental arrangement using LPC2148 is shown in fig 3. J.UNIVERSALASYNCHRONOUSRECEIVER/ TRANSMITTER (UART): LPC2148 has two on chip UARTs. One of these UARTs is used. Software is developed to send characters to laptop under HyperTerminal. This experiment gives an insight in to the serial interface protocol-RS232, Baud rate selection etc. REFERENCES          Fig: 3 Displaying real time clock on LCD module H. SERIAL PERIPHERAL INTERFACE (SPI): The on chip SPI of lpc2148 uses MOSI, MISO, SCLK, and SSEL. Pin functions are selected to interface a 12-bit ADC (MCP3204), which supports SPI protocol. The digital output equivalent to analog input voltage is displayed on LCD screen. As shown in fig 4. Figure 4 Interfacing MCP3204 (ADC) with ARM Module under SPI Protocol III. CONCLUSION A series of experiments were designed using ARM platform. They can be incorporated in the engineering and science discipline. The low cast and fully open structure of the ARM is considered to make it a good embedded platform, especially in the higher education curriculum. With this basic and fundamental knowledge of experimental lab using ARM, students can learn the real engineering challenges by experiencing hardware design, hardware prototyping and sensor connectivity in addition being able to control various signals in a single programming environment. It also allows the students to improve their programming knowledge by engaging them in real experiments. Using this approach it also provides a fast learning process since it gives the opportunity to work with the experimental modules whenever needed. Yao Li “Teaching Embedded Systems using a modular Approach Microcontrller Training Kit”, World Transactions on Engineering and Technology Education. Vol.6, No.1, PP-135-138, 2007. Feisel. L and Rosa A “The role of the Laboratory in undergraduate Engineering Education’ Journal of Engineering Education . 94,121,005. Oliver J.P and Haim. F “Lab at Home Hardware Kits for a Digital Design Lab” IEEE Tranactions on Education 52, PP46, 2009. Andrew N Sloss “ARM Systems Developers Guide: Design and Optimising System software, Morgan Kaffman Publishers, An Import of Elsevier, 2005. Stew Furbur “ ARM System –on-chip Architecture, Pearson Education, 2005. LPC2148 User Manual NXP Semiconductors-UM10139 http://www.nskelectronics.com http://www.keil.com K. Raghavendra Rao and G. Nagamani “Design and Development of Hardware and software to Test the Potentiometer Linearity Using PC’s Printer port, World Academy of Science Engineering and Technology Vol.64, PP121-127, 2010.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project