A tantárgyleírás hatályossága
| Subject name (Hungarian, English) |
Digitális technika 2
Digital Design 2
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIIIAA05 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 6 | ||||||||||||
| Subject coordinator |
DR. Rácz György
position: adjunktus
contact:
racz.gyorgy@vik.bme.hu
|
||||||||||||
| Responsible department |
Irányítástechnika és Informatika Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | https://www.iit.bme.hu/targyak/BMEVIIIAA06 | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
Lectures
(one lecture every week):
Week 1: Quick
review of combinational and sequential networks, binary arithmetic, binary
multiplication. Separation of control and datapaths.
Week 2: Organization
of a general purpose control unit: the ALU, Program counter, instruction
decoder, register file, instruction memory, data memory. Case study: designing a
simple number sequencing CPU (3 instructions)
Week 3: Three
state signals, time multiplexing of data wires. Busses and bus systems
(control, data and address busses). Extending the memory interface. Separate
I/O and memory busses.
Week 4: Simple
memory types (RAM, ROM, FLASH). Memory interfacing to an actual bus system (as
an example the Microchip PIC24F family’s EPMP bus is used).
Week 5: Introduction
of an actual commercial microcontroller: CPU core and instruction set, power
requirements, reset and clocking. (as an example, the Microchip PIC24F core is
used, the actual device used in labs will be the PIC24JF256GA705)
Week 6: Introduction
to he programming model of the PIC24: Registers, instruction encoding, address
modes. Arithmetic and logical instructions, condition flags, conditional jumps.
Week 7: Indirect
addressing and stack. Pointers, subroutines, parameter passing to subroutines.
(Mainly in assembly, with some references to C)
Week 8: Interrupt
handling, context save and restore. Nested interrupts, interrupt priorities.
Implementing a simple software based delay, and its problems.
Week 9: Introduction
to common microcontroller peripherals through the example of a timer, and common
timer based peripherals (input capture, output compare, PWM).
Week 10: Communication
related peripherals (UART, SPI).
Week 11: Organization
and handling of simple communication buffers, an example for setup and
interrupt based usage of the PIC24F’s buffered UART.
Week 12: Introduction
to bus arbitration and DMA. Overview of the PIC24F’s DMA capabilities.
Week 13: Specialties
of modern memory types: NVRAM, FRAM, MRAM, DRAM, DDRAM, NAND and NOR FLASH.
Week 14: Quick overview of programmable logical devices: PAL, GAL, CPLD, FPGA, the PIC24F’s CLC peripheral.
Practices (one practice every two weeks):
1: Logic
levels and logic level conversion, open collector buffers. Implementing simple
logical functions usint only open collector outputs.
2: Simple
design tasks based on arithmetic, comparators, multiplexers and counters.
3: Memory
interfacing to a bus system.
4: Basic
assembly programming: formula evaluation, simple loops, counting problem.
5: Basic
assembly programming: subroutines, functions, lookup tables, data conversion.
6: IO
handling, button debouncing, writing a simple embedded control program in
assembly.
7: Practicing
common exam problems
Labs (3
times 3 hour lab practices in total):
1: Hands-on
practice in a microcontroller development environment (MPLAB X). Trace and
debug functions. Debugging and tracing a simple C and assembly program.
2: IO port
handling, edge detection, output pulse generation. Filling an external shift
register using bit-banged IO (a shift register based LED display is used on the
dev board).
3: Complex
microcontroller based program, using IO ports, timers and SPI peripheral.
(implementing a stopwatch)
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
Tanulástámogató anyagok
Online források
Recommended preliminary knowledge for completing the subject
General rules
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
Not provided.
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Curriculum placement
No curriculum placements recorded for this subject version.