Mudanças entre as edições de "STE-EngTel (página)"
Linha 174: | Linha 174: | ||
{{collapse bottom}} | {{collapse bottom}} | ||
+ | |||
+ | |||
+ | |||
+ | #define BAUD 19200 | ||
+ | #define MYUBRR F_CPU/16/BAUD-1 | ||
+ | |||
+ | void usart_init( uint16_t ubrr = MYUBRR) { | ||
+ | // Set baud rate | ||
+ | UBRR0 = ubrr; | ||
+ | // Enable receiver and transmitter | ||
+ | UCSR0B = (1<<RXEN0)|(1<<TXEN0); | ||
+ | // Set frame format: 8data, 1stop bit | ||
+ | UCSR0C = (1<<UMSEL00)|(3<<UCSZ00); | ||
+ | } |
Edição das 14h52min de 24 de fevereiro de 2017
Sistemas Embarcados
- Professor: Arliones Hoeller
- Encontros: quartas e sextas às 13:30 no Laboratório de Informática.
- Lista de discussão.
Grades
Student | HW1 | HW2 | HW3 | HW4 | Final |
---|
Lab Experiments
The experiments in this course are based on the project Embedded Systems Experiments for the Telecommunication Engineering Undergraduate Program. See this page for the Experimental Setup. We will use the Arduino Uno board as hardware platform, and will be developing software in C/C++ using the GNU compiler with the avrlibc. We have plenty of Arduinos for use in the classroom, but if you can afford, you are encouraged to buy one for yourself to work on the extra-class assignments. They are available for less than R$50. check MercadoLivre.
Arduino's microcontroller is Atmel's ATMega328P. Download its manual here.
Adafruit Protoshield Datasheet [1]
Syllabus
Unit 01 - Get In: Hands on Microcontroller Software |
---|
Unit 01 - Get In: Hands on Microcontroller SoftwareIntroduction to Embedded Systems
Embedded Systems Development: Design PrinciplesGeneral Porpuse Input Output and External InterruptsSerial Communication
Input/Output Buffers
Analog-to-Digital Conversion
Digital-to-Analog Conversion
|
Unit 02 - Get Right: Introduction to Real-Time Systems |
---|
Unit 02 - Get Right: Introduction to Real-Time SystemsMultitasking
Real-Time Scheduling
|
Unit 03 - Get Out: Networked Embedded Systems |
---|
Unit 03 - Get Out: Networked Embedded SystemsEmbedded Networks and Multiprocessors
Embedded Networks Seminar
|
Unit 04 - Get Done: Embedded System Design |
---|
Unit 04 - Get Done: Embedded System Design |
Homework
Homework 01: Mandrake Voltage Detector - 31/10/2016 |
---|
The gerenal design of this project was carried out with the students during class. To complete the assignment, each student will use an Arduino UNO platform and deliver:
|
Homework 02: Static Program Analysis - 13/11/2016 |
---|
In this experiment, in doubles, students will perform an static analysis to specify time and power consumption profile of the Mandrake VD application (homework 1). To complete the assignment, each student must:
|
Homework 03: Real-Time Operating System - 05/12/2016 |
---|
In groups, each using different boards:
Each group must, initialy, generate a Yocto Linux Image with the following characteristics:
A few references to help you to get through:
|
Homework 04: Embedded RT Linux Application - 18/12/2016 |
---|
Deliver a report and source code of your RT application running on Linux with preempt_rt. The application can be either any application defined by your team (in agreement with the lecturer), or a evaluation of Linux performance in your board. If you choose to evaluate Linux performance, you can use the CyclicTest tool in both preempt_rt and ordinary Linux kernels and report a comparison. There is a paper bellow showing an example of performance comparisson among RT and non-RT versions of Linux, using the CyclicTest tool. Documents:
|
- define BAUD 19200
- define MYUBRR F_CPU/16/BAUD-1
void usart_init( uint16_t ubrr = MYUBRR) {
// Set baud rate
UBRR0 = ubrr;
// Enable receiver and transmitter
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
// Set frame format: 8data, 1stop bit UCSR0C = (1<<UMSEL00)|(3<<UCSZ00);
}