Embedded System Design
PIC Microcontroller Application (Firmware) Development
Description:
PIC microcontroller is a family of Harvard architecture microcontrollers made by Microchip Technology. A PIC microcontroller is a processor with built in memory and RAM and you can use it to control your projects (or build projects around it). So it saves you building a circuit that has separate external RAM, ROM and peripheral chips.
Pre-reqisition:
Basic programming knowledge and electrical circuit theory
Content:
- Introduction of PIC microprocessor, the programming environment, project set up and program debugging;
- The principle and realization of static and dynamic display of LED;
- The principle of keypad for PIC microprocessor;
- How to work on the matrix keyboard.
- Use PIC microcontroller to control relay.
- Work with DS18B20 digital temperature sensor;
- How to set timer in PIC microcontroller;
- The analog-to-digital conversion in PIC microcontroller;
- The SPI communication port in PIC microcontroller;
- The application of IIC communication port;
- The application of PIC parallel port;

Fundamentals of CPLD/FPGA System Design with VHDL Language
Description:
This course is targeted for those who begin to learn complex programmable logic device (CPLD). The course is based on VHDL language. Students will learn how to use VHDL library, how to build entities and architectures and how to debug after completing a program. This course combines both theoretical lecture and hand-on practices on study board (based on Altera EPM240T100C5 chip).
Duration:
30 hours
Pre-request:
Digital electronics design and programming knowledge.
Outlines:
- Concept of CPLD and FPGA, basic structure of VHDL.
- Familiar with Moore State Machine and usage of RTL viewer.
- VHDL design process of a counter and how to write program to the study board.
- A design example on dual in-line package (DIP) switch and dynamic LED display.
- Detecting of keying and display control.
- Eliminating jitter of keys
- A design example of traffic light and how to control timing.
- A design example of dynamic display and how to control dot matrix display.
- How to use ADC0804 to collect voltage information and convert to digital data.
- Sine wave generation, theory of Direct Digital Synthesizer (DDS)
Embedded System Design Based on ARM7/9 Proccessor
Description:
Increase your understanding of how system-on-chip (SoC) and microprocessors are designed and used in embedded systems development. Participants will learn about the 16/32-bit embedded RISC processor ARM architecture and discover its wide applicability in embedded applications. Concepts and methodologies employed in designing a system-on-chip (SoC) based around a microprocessor core are thoroughly discussed. Practical hands-on lab exercises based on the ARM instruction set are used to reinforce the concepts learned. Architectural Support for high-level languages, systems development, operating systems, and survey of ARM processor cores are discussed.
Pre-reqisition:
C programming knowledge and electrical circuit theory
Content:
Part 1: Introduction to embedded system
Hardware platform
Software platform
Use virtual machine (VMWARE)
Linux operating system
Part 2: Program Testing
Use of testing board
ADS application environment
Analysis on booting code
S3C444BOX I/O interface and interrupt
S3C444BOX I/O interface
Interrupt
Use AD to collect temperature, audio and read/write NAND flash
Use AD to collect temperature
Audio principle
NAND Flash
USB D12 sub-system
USB protocol introduction
Concept of position machine
Part 3: uC/OS-II
Introduction to uC/OS-II
Some code analysis
Create Instance
Use uC/OS-II to collect temperature.
Part 4: Tutorial on Embedded uclinux
u-boot migration and analysis;
operations in uclinux
File directory in uclinux
Booting code analysis
Driver program design
Driver program design project

