Você está na página 1de 12

UNIVERSIDADE ESTADUAL DE CAMPINAS

Luiz Augusto Richena de Lima


Guilherme de Freitas Lessio

Projeto prático

Campinas
26 de abril de 2018
Luiz Augusto Richena de Lima
Guilherme de Freitas Lessio

Projeto prático

Relatório apresentado ao curso de Engenharia


de Controle e Automação, da Universidade
Estadual de Campinas, na disciplina ES670 -
Projeto de Sistemas Embarcados.

UNIVERSIDADE ESTADUAL DE CAMPINAS

Campinas
26 de abril de 2018
Lista de ilustrações

Figura 1 – Requerimentos solicitados na parte I . . . . . . . . . . . . . . . . . . . 5


Figura 2 – Diagrama de blocos da parte I . . . . . . . . . . . . . . . . . . . . . . . 5
Figura 3 – Diagrama eletrônico do display de 7 segmentos . . . . . . . . . . . . . 6
Figura 4 – Diagrama eletrônico do LED 1 e Switch 1 . . . . . . . . . . . . . . . . 6
Figura 5 – Diagrama eletrônico do LED 2 e Switch 2 . . . . . . . . . . . . . . . . 7
Figura 6 – Diagrama eletrônico do LED 3 e Switch 3 . . . . . . . . . . . . . . . . 7
Figura 7 – Diagrama eletrônico do LED 4 e Switch 4 . . . . . . . . . . . . . . . . 7
Figura 8 – Requerimento solicitado na parte II . . . . . . . . . . . . . . . . . . . . 9
Figura 9 – Máquina de estados implementado na parte II . . . . . . . . . . . . . . 9
Figura 10 – Diagrama de blocos da parte II . . . . . . . . . . . . . . . . . . . . . . 10
Figura 11 – Diagrama de máquina de sequência da parte II . . . . . . . . . . . . . 10
Lista de tabelas

Tabela 1 – Matriz de rastreabilidade da parte I . . . . . . . . . . . . . . . . . . . 8


Tabela 2 – Matriz de rastreabilidade da parte II . . . . . . . . . . . . . . . . . . . 11
Sumário

1 LEDS, SWITCHES E DISPLAY DE 7 SEGMENTOS . . . . . . . . 5


1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Diagramas esquemáticos . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Matriz de rastreabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Códigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 PROTOCOLO DE COMUNICAÇÃO . . . . . . . . . . . . . . . . . . 9
2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Matriz de rastreabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Códigos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5

1 LEDs, Switches e Display de 7 segmentos

1.1 Objetivo

O objetivo da primeira parte do projeto prático é promover a familiarização


com a metodologia de desenvolvimento de projetos embarcados. Isto será feito com a
implementação de três requisitos: teclado, LEDs e display de sete segmentos.

1.2 Modelagem

Na parte I do projeto prático, foram solicitados três requisitos: teclado, led e


display de sete segmentos. Os detalhes de cada requisito podem ser conferidos na Figura 1.

Figura 1 – Requerimentos solicitados na parte I

O diagrama de bloco contendo a modelagem do projeto pratico - parte I pode ser


conferido na Figura 2.

Figura 2 – Diagrama de blocos da parte I


Capítulo 1. LEDs, Switches e Display de 7 segmentos 6

1.3 Diagramas esquemáticos

Os diagramas esquemáticos dos componentes que foram utilizados na primeira


parte do projeto são apresentados a seguir. A Figura 3 apresenta o diagrama do display de
7 segmentos, enquanto que as Figuras 4 a 5 apresentam os diagramas dos LEDs e switches.

Figura 3 – Diagrama eletrônico do display de 7 segmentos

Figura 4 – Diagrama eletrônico do LED 1 e Switch 1


Capítulo 1. LEDs, Switches e Display de 7 segmentos 7

Figura 5 – Diagrama eletrônico do LED 2 e Switch 2

Figura 6 – Diagrama eletrônico do LED 3 e Switch 3

Figura 7 – Diagrama eletrônico do LED 4 e Switch 4


Capítulo 1. LEDs, Switches e Display de 7 segmentos 8

1.4 Matriz de rastreabilidade

A implementação associada a cada requisito pode ser verificada na matriz de


rastreabilidade apresentada na Tabela 1.

Tabela 1 – Matriz de rastreabilidade da parte I


ID do requisito Implementação
ledswi_hal.c
REQ1A – void ledswi_initLedSwitch(char cLedNum, char cSwitchNum)
– switch_status_type_e ledswi_getSwitchStatus(char cSwitchNum)
ledswi_hal.c
– void ledswi_initLedSwitch(char cLedNum, char cSwitchNum)
REQ1B
– void ledswi_setLed(char cLedNum);
– void ledswi_clearLed(char cLedNum);
sevenseg_hal.c
– void sevenseg_init(void)
REQ1C
– void sevenseg_clearValue (void)
– void sevenseg_setValue(char cDisplay, char cValue, char cDec)

1.5 Notas

O código main.c deve ser utilizado para verificar as funcionalidades dos requisitos
implementados. Para isso, basta definir o “DISPLAY_TEST” e o “LEDSWI_TEST” para
testar o display e os LEDs/Switches, respectivamente.

1.6 Códigos

O link do GitHub contendo os códigos do projeto pode ser verificado a seguir:


https://github.com/luizrichena/Sources
9

2 Protocolo de Comunicação

2.1 Objetivo

Progredir o modelo para que o mesmo seja capaz de receber comandos de alto
nível, interpretar comandos através de uma máquina de estados e permitir a atuação ou
transmissão de respostas.

2.2 Modelagem

Na parte II do projeto prático, foi solicitado a implementação de um requisito


relacionado ao protocolo de comunicação serial. Os detalhes do requisito podem ser
conferidos na Figura 8. A máquina de estados, o diagrama de blocos e o diagrama de
sequência podem ser conferidos nas Figuras 9, 10 e 11, respectivamente.

Figura 8 – Requerimento solicitado na parte II

Figura 9 – Máquina de estados implementado na parte II


Capítulo 2. Protocolo de Comunicação 10

Figura 10 – Diagrama de blocos da parte II

Figura 11 – Diagrama de máquina de sequência da parte II


Capítulo 2. Protocolo de Comunicação 11

2.3 Matriz de rastreabilidade

A implementação associada ao requisito pode ser verificada na matriz de rastreabi-


lidade apresentada na Tabela 2.

Tabela 2 – Matriz de rastreabilidade da parte II


ID do requisito Implementação
ledswi_hal.c
REQ1A – void ledswi_initLedSwitch(char cLedNum, char cSwitchNum)
– switch_status_type_e ledswi_getSwitchStatus(char cSwitchNum)
ledswi_hal.c
– void ledswi_initLedSwitch(char cLedNum, char cSwitchNum)
REQ1B
– void ledswi_setLed(char cLedNum)
– void ledswi_clearLed(char cLedNum)
sevenseg_hal.c
– void sevenseg_init(void)
REQ1C
– void sevenseg_clearValue (void)
– void sevenseg_setValue(char cDisplay, char cValue, char cDec)
cmdmachine_hal.c
– void ledCmd (int *iRxBuffer)
– void swiCmd (int *iRxBuffer)
– void buzzerCmd (int *iRxBuffer)
REQ2
– void interpretCmd(int *iRxBuffer)
serial_hal.c
– int receiveBuffer(void)
– void sendBuffer(int iValid)

2.4 Notas

O caractere “space” deve ser escrito ao final de cada comando para iniciar a
interpretação e execução da máquina de estados. Ex: "LS4 ".

2.5 Códigos

O link do GitHub contendo os códigos do projeto pode ser verificado a seguir:


https://github.com/luizrichena/Sources

Você também pode gostar