EC18713� EMBEDDED SYSTEMS LABORATORY, EC18713

ARULPECE 16 views 39 slides Oct 18, 2024
Slide 1
Slide 1 of 39
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39

About This Presentation

EC18713� EMBEDDED SYSTEMS LABORATORY


Slide Content

EC18713 EMBEDDED SYSTEMS LABORATORY

LIST OF EXPERIMENTS LIST OF EXERCISES USING uKeil / IAR WORK BENCH /ARM C COMPILER Study of ARM evaluation system. 2. Interfacing ADC and DAC. 3. Interfacing LED and PWM. 4. Interfacing real time clock and serial port. 5. Interfacing keyboard and LCD. 6. Interfacing of servo motor and DC motor. 7. Interfacing stepper motor and temperature sensor. 8. Implementing zigbee protocol with ARM. LIST OF EXERCISES USING RASPBERRY PI 3 Study of Raspberry-Pi and OS installation 2. Simple web interface for Raspberry-Pi to control the connected LEDs remotely through the interface. 3. Implementation of client and server application on Raspberry-Pi.

ARM • Advanced Risc Machines (formerly Acorn Risc Machines) •Originally conceived by Acorn Computers for business oriented computing in 1985

Design Objectives Common Architecture – Fixed instruction length – Load/Store model – Pipelined architecture Reduced Cost Power Efficiency Well Rounded Performance

Rise of Popularity • Designer Flexibility – Power Efficiency – Performance – Robust debugging tools • Uncommon business model • Manufacturing Flexibility

Low Level Implementation • ARM 64‐bit Instruction Set (AArch64) – 32-bit instructions – 32 - 128-bit registers – Supports 32 or 64-bit arguments • Jazelle Instruction Set – 8‐bit instructions – Uses Javabyte code execution

Low Level Implementation • ARM Instruction Set – 32‐bit instructions – Support load‐store architecture – Execution uses a 3‐address format – Example : ADDS r0,r1,#1

Low Level Implementation • Thumb Instruction Set – 16‐bit instructions, support load‐store architecture, – Unconditional execution (branch instructions), – Uses a 2‐address format – Example : ADD r1,#1

ARM Product Series • “Classic” ARM: ARM7, ARM9, ARM11 – Cheap, low power solutions – Cheaper, lower performance than Cortex Series – Lower‐End devices, or devices that require simple controllers

ARM Product Series • Cortex Embedded Processors – Cortex M Series • Low gate count • Low power consumption • Designed as microcontrollers – Cortex R Series • Higher Performance • Designed for Real‐Time Applications

ARM Product Series • Cortex Application Processor (A Series) – Emphasis on performance and power efficiency – Most Profitable Platform, fastest growing platform – Three Main Varieties: • A5, A8, A9

IAR Embedded Workbench provides an integrated development environment (IDE) that allows to develop and manage complete application projects for embedded systems. The environment comprises tools for compiling, linking, and debugging and they have comprehensive and specific target support. (i.e.same user interface - regardless of any type of microcontroller) Software's used in the LAB

OVERVIEW Software's used in the LAB

THE IDE The IDE is the framework where all tools needed to build your application are integrated: a C/C++ compiler, an assembler, a linker, library tools, an editor, a project manager, and the Debugger. In addition to these tools, you can invoke external tools to the tool chain. The tool chain that comes with your product package is adapted for a certain microcontroller. However, the IDE can simultaneously manage multiple tool chains for various microcontrollers. This means that if you have IAR Embedded Workbench installed for several microcontrollers, you can choose which microcontroller to develop for in the IDE. Software's used in the LAB

2. FLASH MAGIC NXP Semiconductors produce a range of Microcontrollers that feature both on- chip Flash Memory and the ability to be reprogrammed using In-System Programming(ISP) technology. Flash Magic is Windows software that allows easy access to all the ISP features provided by the devices. Software's used in the LAB

3. Win X talk Win X talk software is windows software that allows send and receives the data from serial port. COM port configuration is variable. Softwares used in the LAB

Introduction to 8086 (continued.....) STM32F407VG

Introduction to 8086 (continued.....)

Introduction to 8086 (continued.....)

Introduction to 8086 (continued.....)

Introduction to 8086 (continued.....) LED SECTION

KEYPAD SECTION

LCD DISPLAYS

Registers's used for initialization

GPIO-MODER

GPIO-MODER

Introduction to 8086 (continued.....) GPIO-TYPER

GPIO port pull-up/pull-down register (GPIOx_PUPDR) The GPIOx_PUPDR registers configures the internal pull-ups and pull-down resistors on each I/O pin. The internal pull-up/down resistors can be configured on GPIO pins set as input or output (though I'd imagine they'd be more popular on input pins). The Pullup/down resistors have a typical value of 40KOhms but can range from 30-50Kohms .

Introduction to 8086 (continued.....) GPIO-PUPDR

GPIO-PUPDR

GPIO port output speed register (GPIOx_OSPEEDR) 32-bit register where each set of two bits represent the speed of a single output pin. For example bits 0 and 1  of the OSPEEDR register associated with port C (GPIOC_OSPEEDR), represent the speed setting of the output pin PC0 and bits 26 and 27 of the same register represent the speed setting of the output pin PC13. These two bits can be set to: 'x0': 2MHz Low speed '01':10MHz Medium speed '11': 50MHz High speed

Introduction to 8086 (continued.....) GPIO-SPEEDER

16-bit read-only register. Each bit represents the input value on a corresponding pin. Reading a '0' in bit 8 of this GPIOC _IDR register indicates that the voltage on PC8 is 0V (GND). reading a '1' in bit 8 of this GPIOC _IDR register indicates that the voltage on PC8 is 3.3V (VDD) GPIO port input data register (GPIOx _IDR)

GPIO-Input data register

GPIO port output data register (GPIOx_ODR) 16-bit read/write register. Each bit represents the output value on a corresponding pin. Writing a '0' in bit 8 of this GPIOC _ODR register indicates that the voltage on PC8 is driven by the micro to 0V (GND). writing a '1' in bit 8 of this GPIOC _ODR register indicates that the voltage on PC8 is driven by the micro to 3.3V (VDD).

GPIO-Output data register

#include "stm32f4xx.h" /* delay function */ void delay(long int a) { long int b,c; for(b=0;b<a;b++) for(c=0;c<a;c++); } void LED_init() { RCC->AHB1ENR = 1 <<3; //enable the clock to port D GPIOD->MODER = 0x55555555; //select all pins as output mod GPIOD->OTYPER = 0x00000000; //push-pull type GPIOD->OSPEEDR= 0xAAAAAAAA; //50MHz speed GPIOD->PUPDR = 0x00000000; //no pull-up no pull down } /*main function starts here */ void main() { LED_init(); //LED initialization while(1) { GPIOD->ODR =0x00000A00; //leds turns ON delay(3000); //delay GPIOD->ODR =0x00000000; //leds turns OFF delay(3000); //delay }}