Skip to content

Commit

Permalink
up
Browse files Browse the repository at this point in the history
  • Loading branch information
arnaldojr committed Oct 18, 2024
1 parent f433279 commit 3722db5
Show file tree
Hide file tree
Showing 14 changed files with 107 additions and 2 deletions.
Binary file added .DS_Store
Binary file not shown.
Binary file added content/.DS_Store
Binary file not shown.
Binary file added content/classes/.DS_Store
Binary file not shown.
Binary file added content/classes/projeto0/Imagem1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/classes/projeto0/Imagem2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/classes/projeto0/camada.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions content/classes/projeto0/enunciado.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Projeto 0

## Bem-vindo ao projeto zero!

Este é o primeiro projeto da disciplina Camada Física da Computação. O objetivo deste projeto é que você tenha um primeiro contato com o material prático que iremos utilizar durante o curso. A ideia é que você entenda a estrutura dos arquivos fornecidos, explore os códigos anexos e desenvolva uma visão inicial sobre como implementar e testar os conceitos que vamos estudar.

### O que você vai encontrar nos arquivos anexos?

Dentro dos arquivos anexos, você terá acesso a:

- Códigos de base: Estes são exemplos de implementação relacionados ao conteúdo da camada física. São códigos que servem como ponto de partida para os experimentos que faremos.

- **Software:**
- Python instalado no computador
- Biblioteca `pyserial` (instalar com `pip install pyserial`)
- Arquivos de código fornecidos (5 no total)

### Dicas para o sucesso:

- **Não se apresse!** Esse é o seu projeto zero, e a meta principal é entender. Não se preocupe em fazer tudo rapidamente. O importante é que você compreenda os conceitos que iremos aplicar no decorrer do curso.
- **Explore cada parte:** Muitas vezes, as soluções estão nos detalhes. Explore os códigos e a documentação de forma atenta.
- **Peça ajuda:** Se encontrar alguma dificuldade, não hesite em perguntar. Utilize os fóruns de discussão ou traga suas dúvidas para as aulas.
63 changes: 63 additions & 0 deletions content/classes/projeto0/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Transmissão e Recepção Serial UART

## Introdução à Comunicação Serial

A comunicação serial é uma forma de transmitir dados entre dispositivos eletrônicos de forma sequencial, enviando um bit por vez, ao longo de uma única linha de comunicação. Ao contrário da comunicação paralela, onde vários bits são enviados simultaneamente em várias linhas, a comunicação serial utiliza menos cabos, é mais simples e é frequentemente utilizada em dispositivos que precisam enviar informações a longas distâncias ou com recursos limitados.

## O Que é UART?

UART, ou **Universal Asynchronous Receiver-Transmitter**, é um protocolo de comunicação serial assíncrona amplamente utilizado para permitir a troca de dados entre um dispositivo (como um microcontrolador) e um periférico (como um computador). Esse protocolo é assíncrono porque não requer um sinal de clock comum para sincronizar os dispositivos comunicantes.

### Estrutura de Dados na Comunicação UART

A comunicação UART transmite os dados em "frames". Um frame é uma sequência de bits que inclui os dados a serem transmitidos e informações de controle, como bits de início, parada e, opcionalmente, paridade. A estrutura básica de um frame UART é a seguinte:

1. **Start Bit**: Um único bit que indica o início da transmissão de um frame. O start bit é sempre um '0' (nível baixo).
2. **Data Bits**: Entre 5 e 9 bits que representam os dados a serem transmitidos.
3. **Parity Bit (Opcional)**: Um bit adicional utilizado para verificar erros durante a transmissão.
4. **Stop Bit**: Um ou dois bits que indicam o final de um frame. O stop bit é sempre '1' (nível alto).

### Diagrama de um Frame UART:

| Start | Data Bits (5-9) | Paridade (Opcional) | Stop (1-2) |


## Termos Importantes

Aqui estão alguns termos que você precisa entender para compreender a comunicação UART:

1. **Transmissão Assíncrona**: É um tipo de comunicação onde o receptor e o transmissor não compartilham um sinal de clock comum. Em vez disso, o receptor sincroniza com o transmissor através dos bits de start e stop do frame de dados.

2. **Start Bit**: Sinaliza o início da transmissão. Normalmente, é um nível lógico baixo (0).

3. **Stop Bit**: Indica o fim de uma transmissão. É um nível lógico alto (1) e pode haver um ou dois bits de stop.

4. **TX, RX, GND**: TX é o pino de transmissão, RX é o pino de recepção, e GND é o aterramento comum entre os dispositivos.

5. **Baud Rate**: A taxa de bits por segundo (bps) transmitidos na comunicação UART. Exemplo: 9600 bps significa que 9600 bits são transmitidos a cada segundo.

6. **Bit Rate**: Refere-se à quantidade de dados (bits) transmitidos ou recebidos por unidade de tempo.

7. **Buffer**: Área de memória usada temporariamente para armazenar os dados durante a comunicação.

8. **Frame**: A estrutura completa de dados transmitidos, composta por bits de início, dados, paridade e parada.

9. **Bit de Paridade**: Bit opcional usado para detecção de erros. Pode ser par ou ímpar.

10. **CRC (Cyclic Redundancy Check)**: Um método de verificação de erros mais robusto do que a paridade simples, utilizado para garantir a integridade dos dados.

## O Que é Loopback?

O conceito de **loopback** envolve conectar o pino de transmissão (TX) ao pino de recepção (RX) para criar um ciclo fechado de comunicação. Nesse projeto, o loopback é feito para que tudo o que o seu computador enviar ao Arduino seja imediatamente devolvido, espelhando a transmissão de dados. Isso é útil para testar a comunicação sem um segundo dispositivo.


## Leituras Recomendadas

Para se aprofundar na transmissão serial UART, consulte os seguintes links:

- [UART em FreeBSD](https://docs.freebsd.org/pt-br/articles/serial-uart/)
- [Transmissão Serial UART](http://www1.rc.unesp.br/igce/demac/alex/disciplinas/MicroII/EMA864315-Serial.pdf)
- [Transmissão e Recepção Assíncrona](https://www2.pcs.usp.br/~labdig/pdffiles_2012/tx_e_rx_as.pdf)
- [UART Basics](https://ece353.engr.wisc.edu/serial-interfaces/uart-basics/)


Binary file added content/classes/projeto1/Imagem1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/classes/projeto1/Imagem2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/classes/projeto1/camada.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions content/contributions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
## Sobre o curso

Esta disciplina explora os fundamentos teóricos e práticos da camada física em sistemas computacionais e redes de comunicação. Aborda os princípios de transmissão de dados, tipos de sinais, meios de transmissão, técnicas de modulação e codificação, além dos padrões e protocolos associados à camada física.

## Objetivos:

- Compreender os conceitos básicos de transmissão de sinais em sistemas digitais.
- Identificar e analisar os diferentes meios de transmissão e suas características.
- Estudar as técnicas de modulação e codificação utilizadas na comunicação de dados.
- Familiarizar-se com os padrões e protocolos relacionados à camada física.
- Aplicar conhecimentos em atividades práticas e laboratoriais em grupo.
Binary file added content/img/dinamica_aula.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 11 additions & 2 deletions content/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ O curso é estruturado em 9 projetos:

A cada projeto, os alunos participarão de:

- Aulas expositivas;
- Atividades práticas guiadas para o desenvolvimento do projeto.
![dinamica](./img/dinamica_aula.png)

### Avaliações

Expand All @@ -44,7 +43,17 @@ Aprovação média ponderada maior ou igual a 5.

## Principais conteúdos abordados:

### Sobre o curso

Esta disciplina explora os fundamentos teóricos e práticos da camada física em sistemas computacionais e redes de comunicação. Aborda os princípios de transmissão de dados, tipos de sinais, meios de transmissão, técnicas de modulação e codificação, além dos padrões e protocolos associados à camada física.

### Objetivos:

- Compreender os conceitos básicos de transmissão de sinais em sistemas digitais.
- Identificar e analisar os diferentes meios de transmissão e suas características.
- Estudar as técnicas de modulação e codificação utilizadas na comunicação de dados.
- Familiarizar-se com os padrões e protocolos relacionados à camada física.
- Aplicar conhecimentos em atividades práticas e laboratoriais em grupo.

## Repositório

Expand Down

0 comments on commit 3722db5

Please sign in to comment.