Hardware Programming

Major: Hardware-software devices of information communication systems
Code of subject: 6.172.10.O.017
Credits: 4.00
Department: Theoretical Radio Engineering and Radio Measurement
Lecturer: Professor, Dr. Eng. Sc. Andriy Bondariev
Semester: 3 семестр
Mode of study: денна
Мета вивчення дисципліни: The subject of study in this course is hardware and software tools and their programming technologies. General information about the processes that occur during the functioning of software and hardware. The purpose of the course is to provide future specialists with knowledge and practical skills in the field of programming and software and hardware debugging.
Завдання: The study of the educational discipline of HP involves the formation and development of students' competencies: general: the ability to system thinking (КСO05), persistence in achieving the goal (КСO07), concern for the quality of the work performed (КСO08). professionals: the ability to use mathematical methods in the chosen profession (КЗН2).
Learning outcomes: As a result of studying the discipline, a specialist should know: 1) the main physical processes that occur during the functioning of software and hardware, the principles of building programmable systems on a chip; 2) properties and characteristics of modern controllers and means of their automated development; 3) nomenclature, properties and characteristics of modern peripheral devices; 4) features of controller programming, in particular, typical real-time algorithms and internal data representation; 5) typical algorithms for displaying information on segment, matrix and graphic displays; 6) typical methods and algorithms for organizing communication between controllers; 7) designation of hardware and software parts of hardware and software. A trained specialist should be able to: 1) estimate the amount of necessary hardware and software resources for designing the controller; 2) implement the tasks assigned to him with the help of programming and debugging software and hardware; 3) carry out the synthesis of the structural and functional scheme of the hardware part of the controller, as well as the assembly of the hardware part from typical elements of modern microprocessor sets; 4) develop programs that implement typical real-time algorithms, debug these programs and save them in the controller's memory; 5) to ensure the generation of complex signals and communication between controllers; 6) carry out testing and comprehensive debugging of software and hardware.
Required prior and related subjects: Previous: Informatics, basics of circle theory Next: Fundamentals of software and hardware design.
Summary of the subject: In the "Hardware Programming" discipline, students study the peculiarities of programming microcontrollers, in particular, the internal organization of data and the implementation of real-time algorithms. The capabilities of the PSoC 4 single-chip programmable system and the PSoC Creator integrated software and hardware development environment are also considered.
Опис: Topic 1. Physical and software principles of microcontroller operation. Subject, purpose and objectives of the course. Basic definitions. General information about embedded systems (Embedded). Opportunities. History of development, prospects. Modern well-known companies are manufacturers of controllers (STM, Microchip, Atmel, Cypress). Capabilities of modern controllers. Information bases for building controllers. Physical and technical foundations of building controllers. Microcomputer architecture. Technical implementation of the software principle of the controller. Topic 2. Basic elements of programming in the C language and object programming. Basic concepts of structure-oriented and program-oriented programming. АРИ - functions. Internal representation and features of data type conversion. Byte logical operations and masking. Peculiarities of using structured data types and pointers. Application of routines and functions. Specifics of control transfer and data transfer in functional programs. Topic 3. Hardware and software components of a programmable system on a PSoC 4 chip. PSoC 4 single-chip programmable system components, CY8CKIT-042 PSoC 4 Pioneer Kit components and peripherals. Use of ports and outputs (contacts) of single-chip programmable system PSoC 4. Pin/Port component. PSoC 4 DAC and ADC components. Real-time components are a clock generator (Clock), a timer (Timer) and an interrupt handler (ISR). Information display components (displays) and maintenance of serial interfaces. Topic 4. Features of programming for microcontrollers. Peculiarities of computing algorithms for programming controllers. Real-time algorithm programming. Tabular data management and execution sequence. Programming direct synthesis generators. Algorithms for implementing static and dynamic indication.
Assessment methods and criteria: Current monitoring of student learning results is carried out with the help of a virtual educational system developed at the TRR department, as well as in practical and laboratory classes by checking the performance of individual tasks. Semester control is carried out by checking individual written control papers completed according to the semester control schedule.
Критерії оцінювання результатів навчання: Current control – 30 points Final control – 70 points
Recommended books: 1 Стрепко І.Т., Тимченко О.В., Дурняк Б.В. Проектування систем керування на однокристальних мікро-ЕОМ. –К.: Фенікс, 1998. – 286 с. 2. PSoC 4200 Family Datasheet (38 pages) - www.cypress.com/file/138656 3. CY8CKIT-042 PSoC 4 Pioneer Kit Guide (110 pages) - www.cypress.com/file/46056 5. Warwick A. Smith C Programming for Embedded Microcontrollers ISBN: 978-0-905705-80-4 / 2008/ (319 p.) 6 David Seal ARM Architecture Reference Manual ISBN-10: 0201737191 ISBN-13: 978-0201737196/ - Addison-Wesley Professional. - 2001.- 2 edition 816 pages. 7. PSoC 4200 Family Datasheet (38 pages) - www.cypress.com/file/138656 8. CY8CKIT-042 PSoC 4 Pioneer Kit Guide (110 pages) - www.cypress.com/file/46056 9. PSoC Creator Quick Start Guide (8 pages) - www.cypress.com/file/44826 10. PSoC Creator User Guide (620 pages) - www.cypress.com/file/137441 11. Cypress MCU Portfolio (27 pages) - http://www.cypress.com/file/151476 12. PSoC® Programmable System-on-Chip (12 pages) - http://www.cypress.com/file/121931 13. Вимоги до оформлення звітів та порядок виконання лабораторних робіт з використанням однокристальної програмованої системи PsoC 4, інтегрованого середовища PSoC® Creator™ та налагоджувального комплекту Pioner Kit./ Методичні вказівки. – Львів: Видавництво Національного університету “Львівська політехніка”, 2017. – 25 с. 14. Бондарєв А. П. Програмування апаратних засобів: конспект лекцій / А. П. Бондарєв, І. В. Кулик, А. В. Мащак. – Львів: Видавництво "Львівська політехніка", 2017. – 76 c. 15. Бенч А.Я., Бондарєв А.П., Маньковський С.В. Проектування програмно-апаратних засобів. Конспект лекцій для студентів спеціальності “Телекомунікації та радіотехніка”. –Львів: Видавництво Національного університету “Львівська політехніка”, 2017. –70 с. 8. Інформаційні ресурси Електронна адреса дисципліни «Програмування апаратних засобів» у Віртуальній навчальній системі Львівської політехніки: http://vns.lpnu.ua/course/view.php?id=1195