• Nenhum resultado encontrado

Equipes de Laboratório. Curso: esta equipe está ciente das considerações apresentadas no site do professor (menu Considerações)

N/A
N/A
Protected

Academic year: 2021

Share "Equipes de Laboratório. Curso: esta equipe está ciente das considerações apresentadas no site do professor (menu Considerações)"

Copied!
10
0
0

Texto

(1)

Equipes de Laboratório

Curso:__________________________________________

Nome: ______________________________ e-mail: Curso:

Nome: ______________________________ e-mail: Curso:

Nome: ______________________________ e-mail: Curso:

esta equipe está ciente das considerações apresentadas no site do professor (menu Considerações)

(2)

Laboratório de Sistemas Embarcados– versão 2014-2 Lab 0

Familiarização com o Ambiente de Desenvolvimento 1) Explanação do Professor sobre as aulas de laboratório

2) Formação de equipes

3) Cada equipe seleciona o ambiente de desenvolvimento que prefere usar: a. LPC1343 + IAR

b. LPC1343 + CodeRed c. LPC1768 + IAR

4) Conexão do kit conforme instruções de uso (transparências + regras na próxima página)

5) Uso do código exemplo visando familiarização com ambiente de desenvolvimento

6) Ao final deste experimento os membros da equipe devem saber:

a. conhecer a documentação disponível do hardware e do software em uso b. montar um projeto composto por diversos arquivos fonte (.c .h e .s) c. compilar e corrigir erros de compilação

d. configurar o linker

e. uso do debugger com simulador e com placa i. configuração da conexão

ii. descarregar o código

iii. execução controlada (passo-a-passo, breakpoint, ...) iv. execução do código C e do disassembly

v. inspeção de variáveis e memória

vi. inspeção e edição de registradores da CPU e de periféricos vii. pilha, terminal de I/O, ...

(3)

Procedimento de Uso dos Kits no Laboratório

1) Os kits LPC1343 Xpresso tem seus componentes expostos para que os usuários tenham acesso ao circuito. Desta forma devem ser manuseados com cuidado para evitar danos:

a. Não toque nos terminais, segure a placa pelas suas bordas b. Armazena sempre dentro do plástico anti-estático

c. Não coloque a placa sobre (ou próxima) a objetos metálicos e/ou condutores (moedas, canetas, clips, ...) para evitar curto circuitos d. utilize conectores apropriados para ter acesso aos sinais da placa

(é obrigação dos alunos trazer estes terminais para o laboratório assim como outros componentes eventualmente necessários)

2) Mantenha a sua banca limpa, guarde mochilas e materiais-não-em-uso ao invés de deixá-los sobre a bancada. Se a sua bancada estava desorganizada quando você chegou, bata uma foto e envie-a para o professor que irá encaminhá-la adequadamente. Mesmo neste caso, você deve deixar a bancada limpa e organizada ao final do experimento. Interrompa o experimento 5 min. antes do final da aula para ter tempo de organizar. Não atrase sua saída do lab para evitar transtornos às próximas aulas.

3) Utilize os cabos corretos e conectores corretos no kit: cabo USB prateado deve ser conectado ao JTAG (J-Link ou LPC-LINK), cabo USB preto deve ser conectado à alimentação (conector ao lado do bloco de terminais verde). Leia o manual da placa base antes de usar ! Se a sua turma de laboratório for a última do dia, guarde o kit de maneira organizada na caixa de papelão: cabos USB no fundo, plástico bolha, placa dentro do plástico anti-estático.

4) NUNCA SEPARE A PLACA MICROPROCESSADA DA PLACA BASE, para evitar danos aos conectores.

5) Verifique a configuração dos jumpers (contra a documentação do manual) para evitar gastar tempo de depuração. Use a configuração default e só faça alterações se for necessário.

(4)

Lab 1 - Assembly Cortex Programação Assembly:

Escreva em assembly uma função que implementa um filtro FIR (finite impulse response).

Esta função será chamada a partir de um programa em C.

Cada equipe deve desenvolver seus próprios casos de teste para esta função. A apresentação consiste em entregar ao professor um arquivo com o código assembly da rotina FIR (nomeie este arquivo como sNN_gMM.s – onde NN é o código da turma s11, s12, ... e MM é o número do grupo).

O código entregue será testado a partir de um programa de teste que filtra sinais senoidais digitalizados.

A assinatura da função é:

int fir(int s_in[], int size_i, int coef[], int size_coef, int out[]);

int s_in[] – vetor de amostras do sinal de entrada int size_i – número de amostras no vetor s_in int coef[] – vetor de coeficientes do filtro fir int size_coef – número de coeficientes do filtro int out[] – vetor com os resultados

- a função chamadora é responsável por reservar espaço de memória para o vetor out[]. O número de elementos deste vetor deve ser igual do vetor s_in. - a função fir retorna o número de elementos no vetor de resultados, tipicamente este valor é size_i – (size_coef – 1).

- os quatro primeiros parâmetros da função fir devem ser passados pelos registradores R0, R1, R2 e R3 (respectivamente). O parâmetro out é passado pela pilha. A função chamadora, escrita em C, encarrega-se desta alocação. Ver ATPCS.

- nos compiladores ARM um inteiro ocupa 4 bytes (32 bits), portanto, posições consecutivas no vetor estão em endereços distantes de 4.

- considere que os valores de entrada são representações em ponto fixo com valor adequado para não gerar overflow na saída.

Metodologia Sugerida:

- estudo/revisão dos conceitos sobre sinais amostrados no tempo - diagrama em blocos de um filtro FIR e equações pertinentes - planejamento das estruturas de dados a serem utilizadas - definição do algoritmo a ser utilizado pela função fir (*) - alocação de variáveis a registradores e posições de memória - implementação da função fir em assembly

- planejamento da(s) rotinas de teste - implementação em C das rotinas de teste - teste e depuração da função fir

- apresentação ao professor dos resultados

(*) – o algoritmo deve ser apresentado utilizando a notação de Diagramas de Atividades de UML 2.x. Ver na próxima página alguns dos símbolos gráficos disponíveis.

(5)

x=0; j = j+1; j = j-1; ativa saída Y1 j == 3 [V] [F] f1 ação ou processamento ou chamada de rotina início do fluxo

teste: Verdadeiro ou Falso

seleção: colocar os valores possíveis nas diversas saídas

(6)

LAB 2

Periféricos Integrados

Objeto

Código em C/C++ de comunicação pela porta serial do LPC1343.

Objetivos de Aprendizado

- Programação de periféricos integrados: UART. Portanto, o código de acesso a UART e rotinas de tratamento de interrupção devem ser desenvolvidos pela equipe. Não usar funções de bibliotecaou código pronto.

- Utilização de bibliotecas de funções de acesso a periféricos: biblioteca do display OLED - Entender o funcionamento das interrupções e das funções CMSIS associadas

Descrição

Desenvolver os seguintes arquivos:

- uart.c e uart.h que implementam o driver de comunicação serial - main.c que implementa o programa de comunicação com PC.

O driver UART deve ter funções de inicialização/configuração da UART e respectivas interrupções, transmissão serial, recepção serial e status da comunicação.

O arquivo com o programa de comunicação deve ter um buffer circular para recepção de caracteres pela UART e outro buffer circular para envio de caracteres pela serial. A recepção e transmissão de caracteres deve obrigatoriamente funcionar por

interrupção.

Os arquivos uart.c e uart.h não podem fazer nenhum #include de nenhum outro arquivo, nem mesmo do arquivo com os endereços dos registradores da UART. A totalidade destes arquivos deve ser desenvolvida pela equipe.

O arquivo main.c pode fazer includes, mas fora isto, todo o código em main.c deve ser desenvolvido pela equipe.

Requisitos

- taxa de comunicação: 115kbps

- formato dos caracteres: 8N1 ( 8 bits/char, sem paridade, 1 stop bit) - buffer circular de recepção: 32 bytes

- buffer circular de transmissão: 64 bytes

- interrupção de recepção: no 8º caracter recebido e por time-out de caracter (tempo de aprox. 4 caracteres)

- interrupção de transmissão: as causas da interrupção de transmissão devem ser selecionadas pela equipe

- apresentar no display OLED os caracteres recebidos (função terminal).

- os caracteres transmitidos devem ser os caracteres recebidos convertidos (maiúsculas viram minúsculas e vice-versa).

(7)

Demonstração

O professor utilizará um programa de terminal serial denominado TeraTerm rodando num PC para transferir caracteres e arquivos e verificar a resposta.

Metodologia

- estudo/revisão dos conceitos sobre comunicação serial - estudo da UART

- estudo do mecanismo de interrupção no Cortex-M - estudo das bibliotecas para acesso ao display OLED - planejamento das estruturas de dados a serem utilizadas - definição das funções que compõem o driver UART

- definição dos algoritmos (do driver e do programa de comunicação) - implementação

- planejamento de testes - teste e depuração

(8)

Laboratório 3:

Dois documentos devem ser entregues impressos na data especificada no site. A nota de APS é a nota destes documentos.

Documento 1: “Documento de Especificação e Estudo da Plataforma” Documento 2: “Documento de Projeto”

(ver em nas próximas páginas o detalhamento do conteúdo destes documentos). Objetivo:

O objetivo é implementar um sistema de controle de um elevador.

A parte mecânica do simulador será simulada. Utilizar o simulador desenvolvido no projeto SimSE (ver link SimSE no site).

A interligação física entre o simulador (software rodando no PC) e a placa Cortex se dá via porta serial, no caso, um COM virtual sobre USB. Utilizar o mesmo set-up do experimento 2.

O simulador reage a comandos enviados pela porta serial e informa o status do elevador também pela porta serial. A documentação desta comunicação está com o arquivo do simulador.

O controle do elevador deve ser um programa concorrente utilizando o CMSIS-RTOS. Pelo menos 3 tarefas devem ser implementadas e deve-se fazer uso do driver de comunicação serial desenvolvido no experimento 2, esse driver deve funcionar por interrupção tanto na transmissão como na recepção de bytes. O código deste driver deve ser totalmente desenvolvido pela equipe e não pode incluir código de terceiros.

O objetivo do controlador é enviar os comandos adequados para que o elevador atenda de forma eficiente aos pedidos de serviço do usuário, ou seja, as solicitações realizadas ao pressionar os botões.

O documento de projeto deve incluir um diagrama que apresente a estrutura da solução planejada. Este diagrama deve seguir a notação apresentada pelo professor em aula. Deve apresentar também diagramas de estado e diagramas de sequência.

Apresente no documento de projeto o planejamento do uso das memórias (Flash e RAM) disponíveis. Lembre-se que o LPC1343 possui um quantidade limitada de memória e seu uso deve ser muito bem planejado.

A especificação do elevador deve incluir requisitos de segurança e requisitos de desempenho.

(9)

Documento de Especificação e Estudo da Plataforma Parte I – Especificação do Produto

1) Introdução

breve descrição do produto a ser desenvolvido e seu contexto de uso Produto = controlador de elevador

2) Objeto

um parágrafo que resume a função do produto (para que ele serve) 3) Domínio do Problema

Descrever a(s) área(s) de conhecimento relacionadas ao projeto em questão. Que características são importantes. Vocabulário (jargão) e conceitos da área.

4) Contexto

apresentar um diagrama em blocos (sem detalhar o interior do produto) mostrando quem (pessoas/equipamentos) interagem com este produto. Descrever textualmente o

diagrama em blocos. 5) Interfaces

Descrever aspectos físicos (elétricos, mecânicos, ...) de cada interface, bem como aspectos lógicos (interpretação dos sinais, protocolos de comunicação).

6) Especificação funcional

aqui “função” significa: para que o equipamento serve, o que ele é capaz de fazer. Apresentar uma relação de requisitos do produto. Cada requisito deve ser específico a uma funcionalidade. Incluir os requisitos referentes a interface homem-máquina, i.e. o sistema de menus.

A especificação funcional deve ser a parte mais extensa deste documento (tipicamente 30% e deve, entre outros, detalhar as regras de operação)

7) Especificação não-funcional

neste projeto, limitar a especificação não-funcional apenas aos aspectos de desempenho

Parte II – Estudo da Plataforma

Para cada um dos periféricos relevantes do processador/placa base neste projeto apresentar:

- descrição do funcionamento

- planejamento de configuração (que modo de operação usar, qual a ordem de acesso aos registradores durante a inicialização, ...)

obs: sugere-se que cada parte deste documento (Parte I e Parte II) tenha de 8 a 15 páginas impressas.

(10)

Documento de Projeto 1) Arquitetura Funcional do Sistema

Neste contexto = sistema se refere ao produto em desenvolvimento

Apresentar um diagrama em blocos funcional. Cada bloco é uma função do sistema sem importar por hora se é HW ou SW.

2) Arquitetura Física do Sistema

Identificação das partes que compõem o sistema e seus relacionamentos. Vamos chamar estas partes de componentes do sistema: envolvendo componentes de HW e

componentes de SW.

cada bloco representa uma implementação em HW ou em SW. E.g. periféricos, tarefas, ISR, ...

3) Projeto dos componentes

Planejar a implementação de cada componente, fazer referências ao estudo da plataforma (documento anterior).

Referências

Documentos relacionados

2. Assim, e competindo aos Serviços de Fiscalização no âmbito de análise interna ou externa o controlo da matéria colectável, determinada com base em declaração

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

a) Realizar entrevistas com duas empresas importadoras, sendo uma de equipamentos médico-hospitalares, para identificação de requisitos para desenvolvimento de um protótipo de

No primeiro dia das atividades, com o intuito de explorar a ideia de Frações através do evento da Copa do Mundo foram feitas as seguintes perguntas aos alunos:?.  O que é a

Considerando a importância dos tratores agrícolas e características dos seus rodados pneumáticos em desenvolver força de tração e flutuação no solo, o presente trabalho

A simple experimental arrangement consisting of a mechanical system of colliding balls and an electrical circuit containing a crystal oscillator and an electronic counter is used

Como pontos fortes, destacam-se a existência de iniciativas já em- preendidas em torno da aprovação de um Código de classificação e uma Ta- bela de temporalidade e destinação