Newest Viewed Downloaded

The dsPic33 and FLEX board Paolo Pagano RETIS Laboratory, Scuola Superiore Sant'Anna, Pisa, Italy p.pagano@sssup.itCorso di Sistemi in Tempo Reale Laurea in Ingegneria dell‘Automazione a.a. 2008-2009

The dsPic33 and FLEX board Paolo Pagano RETIS Laboratory, Scuola Superiore Sant'Anna, Pisa, Italy p.pagano@sssup.it

Corso di Sistemi in Tempo Reale Laurea in Ingegneria dell‘Automazione a.a. 2008-2009

Course Outline (1/2)

Second day (24th) FSM implementation in C (slides by prof. Di Natale) A case study Real Hardware demonstration

Outline

http://feanor.sssup.it/~pagano/personalWEB/courses.htm Introduction to the FLEX board A FSM instantiation on the FLEX Visit the web site:

FLEX

embedded boards idea: cheap, small, easy-to-use evaluation boards Typical applications: industrial sensing and control small robots wireless sensor networks demo boards for university labs

Flex

board layout

add-on boards

breadboard 1 - 2.54mm pattern 2 - 2.54mm alternate pattern (RJ45 / RS232 connectors) 3 - 1.27mm pattern (SMD components) 4 - 5.08mm pattern (clamps)

add-on boards

multibus 1 - Serial port 2 (RS232 / RS422 / RS485 / TP-UART) 2 - Serial port 1 (RS232 / RS422 / RS485) 3 - CAN port 1 4 - CAN port 2 5 - I2C port 6 - SPI port 7 - 10Mbit Ethernet 8 - RJ45 Ethernet

Our test device

It is an extended basic flex board; We connected the dsPic33 core to: Set of buttons (input); Set of leds (output); LCD display (status display). We have in mind to simulate an elevator controller: its implementation starts from FSM modeling; the model is validated by OTS tools (Uppaal); the code generation is done by hand.

How to program our device

MPLAB_C30 gld script Microchip ICD2

COFF file structure

http://delorie.com/djgpp/doc/coff/

Peripheral Mapping

MCU I/O

A port is a set of analog/digital enabled pins. A port can be configured to catch analog or digital inputs. Digital signals can have a duration (like those generated by pushing buttons) or can be “levels” (latch mode). of course finite signals must be caught while high.

How to configure ports

Configuring a port for INPUT: void initButtons (void) { TRISGbits.TRISG6 = 1; TRISGbits.TRISG7 = 1; TRISGbits.TRISG8 = 1; TRISGbits.TRISG9 = 1; } 4 Buttons 16 pels of the LCD dsPic has 7 ports defined in the included header: #include "p33FJ256MC710.h" Configuring a port for OUTPUT void initLeds (void) { TRISDbits.TRISD0 = 0; TRISDbits.TRISD1 = 0; TRISDbits.TRISD2 = 0; TRISDbits.TRISD3 = 0; TRISDbits.TRISD4 = 0; TRISDbits.TRISD5 = 0; TRISDbits.TRISD6 = 0; TRISDbits.TRISD7 = 0; TRISDbits.TRISD8 = 0; TRISDbits.TRISD9 = 0; TRISDbits.TRISD10 = 0; TRISDbits.TRISD11 = 0; TRISDbits.TRISD12 = 0; TRISDbits.TRISD13 = 0; TRISDbits.TRISD14 = 0; TRISDbits.TRISD15 = 0; }:

How to read/write ports

Reading INPUT: int getButton ( int j ){ switch (j){ case 0: return !PORTGbits.RG6; case 1: return !PORTGbits.RG7; case 2: return !PORTGbits.RG8; case 3: return !PORTGbits.RG9; } } Writing OUTPUT: void setLed ( int led, int on_off ){ switch (led){ case 0: LATDbits.LATD0 = on_off; break; case 1: LATDbits.LATD1 = on_off; break; case 2: LATDbits.LATD2 = on_off; break; case 3: LATDbits.LATD3 = on_off; break; } }

the end

Questions ?

HOWTO initialize and transit

init transition signal generation static enum State { IDLE, S0, S1, S2, S3 }; static enum Signal { ABSENT, GO_TO_S0, GO_TO_S1, GO_TO_S2, GO_TO_S3 }; void FSMInit(FSM *me){ me->state_ = IDLE; } void FSMTran_(FSM *me, unsigned int dest) { me->state_ = dest; } enum Signal FSMGetSignals(FSM *me){ if (b0) return GO_TO_S0; else if (b1) return GO_TO_S1; else if (b2) return GO_TO_S2; else if (b3) return GO_TO_S3; return ABSENT; }

Showing 1 - 17 of 17 items Details

Name: 
fsm_lecture2
Author: 
Marco Di Natale
Company: 
Scuola s. Anna
Description: 
The dsPic33 and FLEX board Paolo Pagano RETIS Laboratory, Scuola Superiore Sant'Anna, Pisa, Italy p.pagano@sssup.itCorso di Sistemi in Tempo Reale Laurea in Ingegneria dell‘Automazione a.a. 2008-2009
Tags: 
trisdbit | port | board | return | case | void | fsm | flex
Created: 
11/8/2002 4:45:24 PM
Slides: 
17
Views: 
3
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap