ProgBro Embedded

Embed Size (px)

Citation preview

  • 8/12/2019 ProgBro Embedded

    1/4

    BIOSCIENCE

    COURSES AND CERTIFICATE

    EmbeddedSystems

    ENGINEERING AND TECHNOLOGY

    KNOWLEDGE YOU PUT TO WO

    Gain Knowledge Tailored to Working Professionals in These Key Fields

    Hardware designsystem architecture, board design, FPGA, protocols and components

    Software developmentreal-time embedded programming, Linux-based systems, device programmin

    Firmware and network programming

    Digital signal processing (DSP and DV) and image processing

    Mobile device design and programming

    Program Summary

    Embedded Systems refer to a

    growing range of function-specific

    computers and communication

    systems, including smartphones,

    set-top boxes, networking equipment

    industrial controllers and military

    electronics. UCSC Extension Silicon

    Valley offers a comprehensive

    certificate program in Embedded

    Systems that will help new engineers

    gain experience in the field, and

    benefit practitioners who want to

    keep up with the changing technology

    Our rich curriculum will spur the

    growth of your career in the vast

    marketplace of embedded systems.

    Our courses are structured to multiple

    levels of professional expertise. Many

    courses offer students hands-on boarprojects to implement the theories

    learned in lectures.

    ucsc-extension.edu/engineerin

    Join us for aFREE Open House

    to learn more.

    Details inside

  • 8/12/2019 ProgBro Embedded

    2/4

    Curriculum

    *Choose one of four core courses Units CourseSystem Design

    *Embedded SystemsHardware Architectures, Introduction .......1.5......21319

    Mobile Device Hardware Overview...........1.5......30176

    IO Concepts and Protocols:PCI Express, Ethernet, and Fibre Channel . 3.0......22177

    IO Design Fundamentals ...........................3.0......30170Printed Circuit Board Design forSignal Integrity and EMC Compliance ......1.5......21943

    Jitter Essentials .........................................1.5......21321

    Comprehensive Signal and Power Integrityfor High-Speed Digital Systems.................3.0......22874

    Design Overview of High EfficiencySwitch-Mode Power Supply ......................3.0......23590

    Designing Xilinx CPLDs and FPGAs,Introduction ..............................................3.0........6346

    Designing with Xilinx FPGAs,Comprehensive .........................................3.0......22179

    Digital Design with FPGA .........................3.0......30207

    SystemVerilog for ASIC & FPGA Design ....3.0......20095

    Embedded Linux

    *Embedded Linux Design andProgramming ............................................3.0........3364

    Linux Device Drivers .................................3.0........2470

    Linux Device Drivers, Advanced ................3.0........1016

    Real-Time Systems

    Real-Time Embedded SystemsProgramming, Introduction .......................3.0........5381

    Embedded Systems I/O Programming-USB, R232, SPI, I2C and Analog ................3.0......30028

    Embedded Software

    *Embedded Firmware Essentials ................2.0........4357

    Embedded Boot Loaders: BIOS and UEFI .. 3.0......23092

    TCP/IP Network Programming on Linux ...3.0......30235

    USB Device Interface: Architecture,

    Protocols and Programming .....................3.0........2179Software Testing: Techniques, Toolsand Practices ...........................................3.0......20501

    Developing Applications foriPhone and iPad, Introduction ...................1.5......21938

    Developing Applications forAndroid Mobile Devices ............................2.0......21956

    C Programming for Beginners...................3.0........5208

    DSP and DV

    *Digital Signal Processing, Fundamentals ...2.0........5758

    DSP Applications in Audio, Imaging,and Communications Systems ..................3.0........0516

    Computer Vision and Image Processing....3.0........4926

    Digital Video Interfaces and Protocols ...... 3.0......30093

    Digital Video Compression and Codec ......3.0......19025

    Certificate Requirements

    To obtain the Certificate in Embedded Systems,you must successfully complete a total of 14 units,including one of the four core courses. Each corecourse is focused on one of three major specialties:Hardware Design, Embedded Software, and DigitalSignal Processing and Digital Video. Since the embed-ded field is diverse, only one core course is required inthe area of the students interest or specialization.

    Prerequisites

    Technical aptitude, a background in science andtechnology, an engineering degree, programmingexperience, or equivalent knowledge acquired throughtraining and experience in the field. Prospectivestudents are advised to review prerequisites thatapply to individual courses.

    Recommended Course Sequence

    Beginners should take the core courses first.After that, courses may be taken in any orderprovided the prerequisites are met.

    Note:Some courses may be listed in more than oneprogram, however, only one course may be sharedbetween two Engineering and Technology certificateprograms unless otherwise noted.

    Program Contact

    Engineering and Technology Department,(408) 861-3860 or [email protected]

    C Programming for BeginnersThis course is for individuals who want to learn Cprogramming language but have little or no programming background. The course begins with an overvieof programming and tools. It introduces functions,data types, input/output, strings, operators,precedence, and expressions. It also demonstratesthe use of control statements, arrays, and pointersfor problem solving. You will receive assignmentsto write non-trivial programs and learn to createmodular programs with efficiency and readability.

    Course 52

    Comprehensive Signal and Power Integritfor High-Speed Digital SystemsThis course covers signal and power integrity analysisof high-speed digital systems, and the modeling anddesign techniques used in high-speed links (in boardpackage, and connector). The instructor introduces IOmodeling including IBIS, behavioral, functional, andESD. Also explained are signaling techniques suchas differential, NRZ, pulse, and multi-level, as wellas simulation methods. You will learn the fundamentconcepts in equalization design. At the system level,topics include clocking schemes such as PLL, DLL andCDR; timing jitter analysis; and power analysis topics

    such as IR drop, AC noise, simultaneous switchingnoise and decoupling capacitor.

    Course 228

    Computer Vision and Image ProcessingComputer vision is widely used in the industrial,medical, document and security fields. This coursebegins with vision and image fundamentals, includinimage formation and display, digital camera andimage capture, the human visual system and visualperception. You will learn the basics of digital imageprocessing, including spatial and frequency domainfiltering techniques and compression. The coursecovers practical image analysis and inference method

    including feature detection, image segmentation,matching and stitching. There will also be a discussioof emerging technologies, applications, and trends.

    Course 49

    Design Overview of High EfficiencySwitch-Mode Power SupplyIn this course, youll gain a hands-on understanding ohigh efficiency analog and digital switch-mode powesupplies that can meet system needs and regulatoryrequirements. The course covers the concepts, opera-tions, and design considerations related to efficiency,

    Embedded System Certificate

    Copyright 2013 The Regents of the University of California. All rights reserved.

    Enrollment Information

    Visit ucsc-extension.edu/engineering forthe most up-to-date information about ourcourses and programs, including textbooks,instructors, schedules and locations.

    Enroll online at ucsc-extension.edu.

  • 8/12/2019 ProgBro Embedded

    3/4

    EMI, thermal and safety. The lectures will be supple-mented with hardware demonstrations and waveformobservations of power supply behaviors. The coursewill equip you with the modern integrated solutionsneeded to achieve high efficiency and high powerdensity, and includes the topics of digitally controlledpower supplies.

    Course 23590

    Designing with Xilinx FPGAs, ComprehensiveThis course covers how to use FPGA resources,manage constraints and debug methods for real

    world designs. Embedded design combining softprocessors with fabric is discussed at length, followedby high performance, low-power design and multipleclock domain techniques. Identifying bottlenecksand hot-spots is discussed along with the trade-offsof fabric versus code-based solutions. Advanceddebugging techniques are also covered. In-classdemonstrations occur weekly, and you will mustcomplete a hands-on design project using theXilinx Spartan 3A or 3AN Starter Kit.

    Course 22179

    Designing Xilinx CPLDs and FPGAs,Introduction

    This course is a practical introduction to programmablelogic design with Xilinx FPGAs and CPLDs. Using sev-eral examples and design techniques, you will be takenthrough a complete PLD design. Upon completion ofthe course, you will be able to complete a design withXilinx CPLDs and FPGAs, and understand the designand timing reports. The course will include two studentprojects. Topics include a logic design process review,design software, Xilinx CPLDs and FPGA architecture,design techniques and optimization, JTAG, poweroptimization and large design techniques.

    Course 6346

    Developing Applications

    for Android Mobile DevicesAndroid is an open source platform for smartphones,tablets and many other Internet-enabled mobiledevices. This course begins with an overview of theAndroid development platform. You will learn froma simple application that demonstrates how to buildapplications for the new platform. The course explainsthe platform architecture and basic mobile buildingblocks. You will complete programming assignmentsto learn how to program the platform with Java code,debug it, implement the UI, and use optional APIsand Google libraries to enrich the application.

    Course 21956

    Developing Applications for iPhone andiPad, IntroductionThis course provides an overview of using the iOSSDK to develop iPhone and iPad applications.It begins with discussion of Xcode and Objective-C.You will learn various iOS programming frameworks,user interface development, memory managementand program design. The App Store submissionprocess and guidelines are covered. Discussionsalso delve into special considerations for the iPad.Upon completing the course, you will have a solidunderstanding of the iOS SDK and know how to

    develop applications.Course 21938

    Digital Design with FPGAThis course provides the knowledge and hands-onexperience needed to design digital logic blocks inFPGA. The course introduces how to build designs inFPGA and covers specific designs of various digitalblocks. Starting from combinational logic, look-uptables, carry chains, and multiplexers, you willlearn to design arithmetic and comparator functionsusing FPGA and test them. The instructor thenexplains various sequential flops, fast counters andshift register look-up. The course also explores the

    embedded RAM, ROM and finite state machinedesigns using Xilinx architecture.

    Course 30207

    Digital Signal Processing, FundamentalsThis course introduces students to the basic concepts,fundamental theory and implementation of DSP tech-nology. Topics include digital signals, digital systems,Fourier transform, Z-transform, sampling, digitaliza-tion, transform analysis of LTI systems, structures fordiscrete-time systems, digital filter design, discreteFourier transform, Hilbert transform, and fast Fouriertransform algorithms. MATLAB will be introduced andused to demonstrate concepts and principles of DSP.

    The course features expert guidance and interactiveinstructions to help you understand the fundamentalsof DSP technologies and design considerations.MATLAB and Simulink Suite software are required.

    Course 5758

    Digital Video Interface and ProtocolsThis course covers the major DV protocols in usetoday, and the architecture and design considerationfor each one. The course begins with an overview ofthe basic video concepts and video system architecturein real applications. Several common interfacestandards will be covered in detail: DVI (Digital Visual

    Interface), HDMI (High-Definition Multimedia Interface)DisplayPort and USB video class. The discussionsaddress architectures, comparisons, operations, anddesign considerations. You will learn the importantfeatures of each interface. The course concludes witha discussion of emerging trends in digital video.

    Course 30093

    DSP Applications in Audio, Imaging,and Communications SystemsThis course introduces the basics of audio-speech,image processing and digital communication systems

    and encompasses theory, algorithms and practicaltechniques used in these three popular DSP applica-tions. You will learn C/C++, Assembly, or MATLABusing standard DSP libraries.

    Course 0516

    Embedded Boot Loaders: BIOS and UEFIIn this course, youll learn about Basic Input/OutputSystem (BIOS) and Unified Extensible FirmwareInterface (UEFI). The course starts with BIOS historyand architecture. You will learn BIOS deviceenumeration and configuration, BIOS interfacesincluding software interrupts, option ROM interface,and boot mechanism. Following an overview of UEFI

    history, architecture and services, youll learn theUEFI driver architecture and how to write UEFI driversand applications. The course concludes with UEFIdebugging methodologies, briefly addresses U-BOOTand includes some hands-on programming.

    Course 2309

    Embedded Firmware EssentialsThis course provides practical knowledge and trainingin firmware development. It begins with the RISCinstruction set (ARM and MIPS), pipelines, systemmemory hierarchy, and SSD interface. You will learnto configure the clock and program the interruptsand IOs. The course covers the firmware coding

    environment and practices. It also covers commonfirmware topics and techniques such as buttondebounce and LEDs, circular buffers, and debuggingwith JTAG and GDB. You will learn to program I2Cbus and power-on sequence. A board projectprovides hands-on experience.

    Course 435

    Embedded Linux Design and ProgrammingThis course covers the fundamentals of building andinstalling an embedded Linux operating system version2.6 on an ARM 9 processor platform, and provideshands-on experience for creating cross-platform

    Embedded Systems and VLSI Open HouseJoin us for a FREEOpen House to learn about two of our most popular certificate programs. The VLSI Engineering Certificate Program is for

    professionals working in the integrated circuit, ASIC, semiconductor, EDA, device and system industries in Silicon Valley. The Embedded Systems

    Certificate Program is for professionals working in the hardware and system design fields, with courses in system design, embedded programming,

    real-time systems, and DSP/DV. Ask presenters about new developments in both areas and how these courses can help you break into a new field

    or advance your career.

    Course 20544 and 22403

    For information and to register, visit ucsc-extension.edu/events.

    FREEEVENT

    Courses continue on reverse

  • 8/12/2019 ProgBro Embedded

    4/4

    environments using the GNU tools. Basic concepts fordesigning, testing, and customizing embedded Linuxwill be covered, including how the Linux scheduler isimplemented, and how to write Linux kernel modulesand remotely debug the embedded Linux applications.

    Course 3364

    Embedded Systems Hardware Architectures,IntroductionThis course covers the hardware components and

    interfaces in a typical embedded system. The coursebegins with an inside look at some typical embeddedsystems and the functional blocks within those systems.The course addresses design considerations andseveral approaches to system building. Also coveredare the various types of memory commonly used inembedded systems, basic concepts in microprocessors,microcontrollers and DSP, and an introduction to thetypical buses used at the system level.

    Course 21319

    Embedded Systems I/O Programming:USB, RS232, SPI, I2C and AnalogThis course examines common external IO architec-

    tures for embedded systems and provides hands-oninstruction in designing and developing IO sub-systems under real-time constraints. A variety of IOarchitectures are addressed, including USB, RS232,SPI, I2C, and Analog IO. Discussions cover physicalinterfaces, input/output protocols, and the design andimplementation of the IO subsystems that interactwith real-time applications. Issues of bandwidth,latency and real-time are also discussed. Youll gainpractical experience designing and coding embeddedsystems on an ARM microcontroller based SDK.

    Course 30028

    IO Concepts and Protocols: PCI Express,

    Ethernet, and Fibre ChannelThis course focuses on IO technologies and walksyou through the complexities of IO subsystems inmodern computers, and the networking and storagesubsystems to which they are attached. After anintroduction to the basic concepts of IO, the coursecovers PCI Express, Ethernet and Fibre Channel.Discussion will include operation and protocols andexploration of how these technologies work. You willfollow an applications IO request all the way fromthe system call to when the data actually makesit out of the wire.

    Course 22177

    IO Design FundamentalsThis course is an introduction to IO interfacing at chipand board levels. It covers the advantages and disad-vantages of TTL, CMOS, low-voltage CMOS, LVDS andoptical interfaces. The course emphasizes fundamentalconcepts such as transmission line analysis, slew rate,termination, etc. You will also learn basic IO logic, timinganalysis and package models. The course also coversbit error rate, bi-directional IO and decision feedbackfilters. Because most solutions are silicon-based, ESDconcepts and techniques will also be discussed.

    Course 30170

    Jitter EssentialsLearn the definitions of various types of jitter (includ-ing phase noise), understand which type of jitter isimportant to your application and why, plus learn howto propagate jitter through a system, create jitter bud-gets, measure and minimize jitter, and more. Emphasiswill be placed on developing a working knowledge ofjitter, such as establishing a common language, under-standing jitter beyond the definitions, gaining insightby making simplifying assumptions, and visualizing

    relationships between different types of jitter. Course 21321

    Linux Device DriversThis course covers the design and implementationof device drivers for the Linux operating system, andthe interfaces to the Linux kernel for writing them.Topics include compiling the kernel; building andrunning; character and block device driver concepts;PCI, I/O, and timer routines; hardware managementand interrupt handling; networking drivers; PROCfile system and IOCTL interface; and kernelmechanisms and advanced topics.

    Course 2470

    Linux Device Drivers, AdvancedThis course will enhance your understanding of theart of writing Linux device drivers. You will explorethe framework that can be used to develop acommercial grade driver. The course includes detaileddiscussion of the USB and PCI family (PCI-E, PCIe)subsystems, as well as Linux kernel services andfacilities. The course includes a board project, and codereview of real-world drivers. Additional discussionscover live debugging with Kprobes, profiling withOprofile, and a survey of industry trends includingvirtualized drivers, iSCSI and serial IO buses.

    Course 1016

    Mobile Device Hardware OverviewThis course gives an overview of typical mobile devicehardware, including architecture, components andsystem management considerations. The course beginswith an inside look at a typical mobile device such asan iPhone or iPad. It covers the functions of applica-tion processor, memory and system interconnects.You will learn the mobile-specific IO subsystem andcomponents which create the unique and attrac-tive features of mobile devices, including the varioussensors (GPS, accelerometer, Gyroscope), the touchdisplay, and the camera. Also covered are powermanagement and other mobile system considerations.

    Course 30176

    Printed Circuit Board Design forSignal Integrity and EMC ComplianceThis course presents simplified design techniquesfor the design and layout of printed circuit boardsto achieve both signal integrity and electromag-netic compatibility (EMC) for both experienced andentry-level engineers. Design and layout techniquesare introduced in a simple, step-by-step presentationthat allows plenty of opportunities to address specific

    questions. Emphasis is placed on real-life examplesthat demonstrate good layout practices that canbe incorporated immediately for high-performancedesigns and products.

    Course 219

    Real-time Embedded SystemsProgramming, IntroductionThis introductory course reviews embedded systemhardware, interfaces, and the requirements of real-tim

    operations. It discusses timing analysis and real-timeprogramming techniques and architectures, and covethe use of RTOS to effectively structure large programand design tasks and device drivers to meet real-timerequirements. You will learn common topics in real-time systems, such as interrupt handling, polling,using timers, and detecting and preventing deadlocksThere will also be discussions of multi-threading,cooperative vs. preemptive multi-tasking and inter-process communications.

    Course 53

    SystemVerilog for ASIC and FPGA DesigThis course prepares hardware engineers, ASIC and

    FPGA designers, and design-support staff to use thehigh-level syntax of SystemVerilog to design, debug, asynthesize digital logic for ASICs, FPGAs, and IP cores.You will learn SystemVerilogs basic building blocks anlanguage constructs, including synthesizable data typeand operators, structures and unions, 2-D arrays andloops, and the bus interface unit. In lab sessions, theywill write code and synthesize it into digital logic andbus fabric, using both ASIC and FPGA tools.

    Course 200

    TCP/IP Network Programming on LinuxThis course covers the fundamentals of designing anprogramming applications or devices on the TCP/IP

    based distributed computing systems under Linux. C/Linux based socket network programming will beused to implement applications based on the TCP/IP client/server architecture. You will learn to designnetwork applications and share data across hetero-geneous systems on the Internet. Additional topicsinclude effective programming for real-world networconditions, network performance, diagnostics anddebugging tools. You will learn to do projects for net-work applications such as the HTTP server, WiFi-basesensor clients and Web-based controller systems.

    Course 302

    USB Device InterfaceArchitecture,

    Protocols and ProgrammingThis course covers USB architecture, protocols andfeatures. Communication, control, and applicationlayer protocols for generic USB devices are covered.You will learn how to pick the optimal USB protocolsto meet performance and bandwidth requirements.The course introduces the basic USB programmingmodel, USB libraries and the higher level USB softwarequired to implement specific device functionality.The course emphasizes effective design and testtechniques and the use of USB debugging tools.The course focuses on the device side USB interface,and includes a class project based on a PIC USB kit.

    Course 21

    Not printed or mailed at state expense. 611795-1303-1634 (08/09/