12.07.2015 Views

Embedded Systems - UCSC Extension Silicon Valley

Embedded Systems - UCSC Extension Silicon Valley

Embedded Systems - UCSC Extension Silicon Valley

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

BIOSCIENCE ENGINEERING AND TECHNOLOGY<strong>Embedded</strong><strong>Systems</strong>KNOWLEDGE YOU PUT TO WORKCOURSES AND CERTIFICATEProgram Summary<strong>Embedded</strong> systems refer to a growingrange of function-specific computersand communication systems, includingcell phones, consumer electronics,networking equipment, industrialcontrollers and military electronics.<strong>UCSC</strong> <strong>Extension</strong> <strong>Silicon</strong> <strong>Valley</strong> offers acomprehensive certificate program in<strong>Embedded</strong> <strong>Systems</strong> that will help newengineers gain experience in the field,and benefit practitioners who wantto keep up with the changing technology.Our rich curriculum will spurthe growth of your career in the vastmarketplace of embedded systems.Join us for a FREE Open Houseto learn more.Details inside…Gain Knowledge Applicable to Multiple FieldsInstruction is geared to working professionals in a wide variety of fields, including:• Hardware design—system architecture, board design, FPGA, and SoC• Software development—real-time embedded programming, Linux-based systems,digital signal processing (DSP and DV) and image processing• Mobile device design and programming• Interface protocols and designucsc-extension.edu/engineering


<strong>Embedded</strong> System CertificateCertificate RequirementsTo obtain the Certificate in <strong>Embedded</strong> <strong>Systems</strong>,you must successfully complete a total of 14 units,including one of the three core courses. Each corecourse is focused on one of three major specialties:Hardware Design, <strong>Embedded</strong> Software, and DigitalSignal Processing and Digital Video. Since the embeddedfield is diverse, only one core course is required inthe area of the student’s interest or specialization.PrerequisitesTechnical 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 SequenceBeginners 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 ContactEngineering and Technology Department,(408) 861-3860 or e-mailextensionprogram@ucsc.eduEnrollment InformationVisit 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.Curriculum*Choose one of three core courses Units CourseSystem Design*<strong>Embedded</strong> <strong>Systems</strong>Hardware Architectures, Introduction........1.5.......21319IO Concepts and Protocols:PCI Express, Ethernet, and Fibre Channel..3.0.......22177Printed Circuit Board Design forSignal Integrity and EMC Compliance.......1.5.......21943Jitter Essentials..........................................1.5.......21321Comprehensive Signal and Power Integrityfor High-Speed Digital <strong>Systems</strong>.................3.0.......22874Design Overview of High EfficiencySwitch-Mode Power Supply.......................3.0.......23590Data Acquisition System DesignImplementation.........................................3.0.......22873Designing Xilinx CPLDs and FPGAs,Introduction...............................................3.0.........6346Designing with Xilinx FPGAs,Comprehensive..........................................3.0.......22179SystemVerilog for ASIC & FPGA Design.....3.0.......20095<strong>Embedded</strong> Linux*<strong>Embedded</strong> Linux Design andProgramming.............................................3.0.........3364Linux Device Drivers..................................3.0.........2470Linux Device Drivers, Advanced.................3.0.........1016Real-Time <strong>Systems</strong>Real-Time <strong>Embedded</strong> <strong>Systems</strong>Programming, Introduction........................3.0.........5381Real-Time <strong>Embedded</strong> <strong>Systems</strong> I/OProgramming-Ethernet, USB, SPIand Serial Devices......................................3.0.......30028<strong>Embedded</strong> SoftwareThe Internet of Things: Connecting viaBluetooth, WiFi and ZigBee........................3.0.......23093<strong>Embedded</strong> Boot Loaders: BIOS and UEFI...3.0.......23092USB Device Interface: Architecture,Protocols and Programming......................3.0.........2179Software Testing: Techniques, Toolsand Practices ............................................3.0.......20501Developing Applications foriPhone, iPad and iPod Touch, Introduction.1.5.......21938Developing Applications forAndroid Mobile Devices.............................3.0.......21956C Programming for Beginners...................3.0.........5208DSP and DV*Digital Signal Processing, Fundamentals....2.0.........5758DSP Applications in Audio, Imaging,and Communications <strong>Systems</strong>...................3.0.........0516Computer Vision and Image Processing.....3.0.........4926Digital Video Interfaces and Protocols.......3.0.......30093Digital Video Compression and Codec.......3.0.......19025Emerging TechnologiesClean Technology: Smart Grid,Energy Storage, and Green Building..........3.0.......22749C Programming for BeginnersThis course is for individuals who want to learn Cprogramming language but have little or no programmingbackground. The course begins with an overviewof 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 5208Clean Technology: Smart Grid, EnergyStorage, and Green BuildingThis course covers the fundamentals, trends, andchallenges inherent to smart grid, energy storage,and green building technologies. Smart grid topicsinclude smart meters, sensors and appliances onthe user side, as well as distributed generation (DG),microgrids, and distributed resources (DER) usedin managing the new energy sources. The courseaddresses the challenge of energy storage with a reviewof current and future technologies including lithiumion batteries and nano technology applications. Greenbuilding addresses the LEED (Leadership in Energyand Environmental Design) standards for sustainableconstruction and the latest LED (Light Emitting Diode)and integrated photovoltaic applications.Course 22749Comprehensive Signal and Power Integrityfor High-Speed Digital <strong>Systems</strong>This course covers signal and power integrity analysisof high-speed digital systems, and the modeling anddesign techniques used in high-speed links (in board,package, 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. Students will learn thefundamental concepts in equalization design. At thesystem level, topics include clocking schemes such asPLL, DLL and CDR; timing jitter analysis; and poweranalysis topics such as IR drop, AC noise, simultaneousswitching noise and decoupling capacitor.Course 22874Copyright © 2012 The Regents of the University of California. All rights reserved.


<strong>Embedded</strong> <strong>Systems</strong> and VLSI Open HouseJoin us for a FREE program overview to learn about two of our most popular certificate programs. The VLSI Engineering Certificate Program is forprofessionals working in the integrated circuit, ASIC, semiconductor, EDA, device and system industries in <strong>Silicon</strong> <strong>Valley</strong>. The <strong>Embedded</strong> <strong>Systems</strong>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 fieldor advance your career.Course 20544 and 22403For information and to register, visit ucsc-extension.edu/events.FREE EVENTComputer Vision and Image ProcessingComputer vision is widely used in the industrial,medical, document and security fields. This coursebegins with vision and image fundamentals, includingimage 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 methods,including feature detection, image segmentation,matching and stitching. There will also be a discussionof emerging technologies, applications, and trends.Course 4926Data Acquisition System Designand ImplementationThis course covers the Data Acquisition <strong>Systems</strong> (DAS)architecture and components: sensor (or transducer),signal conditioner, analog to digital conversion (ADC),microcontroller (or DSP), memory, communicationchannels. Various types of sensors (transducers) areanalyzed for accuracy and linearity. Sampling anddigitizing will be addressed, including practical typesof ADC. The hands-on portion of the course introducesthe design of an embedded microcontroller-basedDAS. Students will learn to install tools, set up adevelopment environment, program, simulate anddebug. The course concludes with a review ofcommercial data acquisition systems.Course 22873Design Overview of High EfficiencySwitch-Mode Power SupplyIn this course, you’ll gain a hands-on understanding ofhigh efficiency analog and digital switch-mode powersupplies that can meet system needs and regulatoryrequirements. The course covers the concepts, operations,and design considerations related to efficiency,EMI, thermal and safety. The lectures will be supplementedwith 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 23590Designing with Xilinx FPGAs, ComprehensiveThis course delves into using FPGA resources,managing constraints and debugging methods forreal world designs. <strong>Embedded</strong> design combining softprocessors with fabric is discussed at length, followedby high performance, low-power design and multipleclock domain techniques. Identifying bottlenecks andhot-spots is discussed along with the trade-offs offabric versus code-based solutions. Advanceddebugging techniques are also covered. In-classdemonstrations occur weekly, and students mustcomplete a hands-on design project using the XilinxSpartan 3A or 3AN Starter Kit.Course 22179Designing Xilinx CPLDs and FPGAs,IntroductionThis course is a practical introduction to programmablelogic design with Xilinx FPGAs and CPLDs. Studentsare taken through and complete a PLD design. Topicsinclude a logic design process review, design software,Xilinx CPLD and FPGA architecture, design techniquesand optimizing, JTAG, power optimization and largedesign techniques.Course 6346Developing Applicationsfor Android Mobile DevicesAndroid is an open source mobile platform supportedby Google and OHA. This course begins with anoverview of the Android development platform.An example will be used to demonstrate how to buildapplications for the platform. The course explains indetail the platform architecture, the basic mobilebuilding blocks, how to program it with Java code,debugging, implementing the UI, and using the optionalAPIs and Google libraries to enrich the application.Students learn through programming assignments.Course 21956Developing Applications for iPhone, iPadand iPod Touch, IntroductionThis course provides an overview of using the iOS SDKto develop iPhone, iPad, and iPod Touch applications.It begins with discussion of Xcode and Objective-C.Students learn various iOS programming frameworks,user interface development, memory managementand program design. The App Store submissionprocess and guidelines are covered. Discussions alsodelve into special considerations for the iPad and iPodTouch. Upon completing the course, students have asolid understanding of the iOS SDK and the ability todo application development.Course 21938Digital Signal Processing, FundamentalsThis course introduces students to the basic concepts,fundamental theory and implementation of DSPtechnology. Topics include digital signals, digitalsystems, Fourier transform, Z-transform, sampling,digitalization, transform analysis of LTI systems,structures for discrete-time systems, digital filterdesign, discrete Fourier transform, Hilbert transform,fast Fourier transform algorithms and MATLAB.*Course 5758Digital Video Compression and CodecThis introductory course covers the fundamentalsof digital video and audio, compression techniques,including H.264/ MPEG-4, and the basics of videoencoder/decoder design. Topics include the developmentof functional design as well as the input/output requirements for an encoder in yourapplication domain.Course 19025Digital Video SystemInterface 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 VisualInterface), 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 30093DSP Applications in Audio, Imaging,and Communications <strong>Systems</strong>This course introduces the basics of audio-speech,image processing and digital communication systemsand encompasses theory, algorithms and practicaltechniques used in these three popular DSP applications.Students learn C/C++, Assembly, or MATLABusing standard DSP libraries.Course 0516Courses continue on reverse…


<strong>Embedded</strong> Boot Loaders: BIOS and UEFIIn this course, you’ll learn about BIOS (Basic Input/Output System) and UEFI (Unified Extensible FirmwareInterface). The course starts with BIOS history andarchitecture. The course covers BIOS device enumerationand configuration, BIOS interfaces includingsoftware interrupts, option ROM interface, and bootmechanism. Following an overview of UEFI history,architecture and services, you’ll learn the UEFI driverarchitecture and how to write UEFI drivers andapplications. The course concludes with UEFI debuggingmethodologies and briefly addresses U-BOOT,and includes some hands-on programming.Course 23092*<strong>Embedded</strong> Linux Design and ProgrammingThis course covers designing, testing, and customizingembedded Linux 2.6 on an ARM 9 processor platform.Topics include how the scheduler is implemented,writing for kernel modules and remotely debuggingthe embedded applications.Course 3364<strong>Embedded</strong> <strong>Systems</strong> Hardware Architectures,IntroductionThis course covers the hardware components andinterfaces 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 21319The Internet of Things: Connectingvia Bluetooth, WiFi and ZigBeeThis course expands your working knowledge ofkey wireless technologies to include the design andimplementation of embedded systems based on thesetechnologies. The course will compare bandwidth, costand power tradeoffs between Bluetooth, Wi-Fi andZigBee. You will evaluate the architecture, protocol,programming API and debugging demands of eachtechnology, all of which are essential to implementingnetwork software. The course covers topics such asInternet gateways and cloud-based management ofInternet-based devices, with an emphasis on systemdesign, rapid prototyping, and effective use ofdevelopment and debugging tools.Course 23093IO Concepts and Protocols: PCI Express,Ethernet, and Fibre ChannelThis course focuses on IO technologies and walksstudents through the complexities of IO subsystems inmodern computers, and the networking and storagesubsystems to which they are attached. Topics includebasic concepts of IO; PCI Express, Ethernet and FibreChannel; operation and protocols; and an explorationof how these technologies work.Course 22177Jitter EssentialsLearn the definitions of various types of jitter(including phase noise), understand which type of jitteris important to your application and why, and learnhow to propagate jitter through a system, create jitterbudgets, measure and minimize jitter, and more.Course 21321Linux Device DriversThis course covers the design and implementation ofdevice drivers for the Linux operating system, and theinterfaces to the Linux kernel for writing them. Topicsinclude compiling the kernel; building and running;character and block device driver concepts; PCI, I/O,and timer routines; hardware management and interrupthan dling; networking drivers; PROC file systemand IOCTL interface; and kernel mechanisms andadvanced topics.Course 2470Linux Device Drivers, AdvancedThis course will enhance your understanding of the artof writing Linux device drivers. Students explore theframework that can be used to develop a commercialgrade driver. The course includes detailed discussionof the USB and PCI family (PCI-E, PCIe) subsystems,as well as Linux kernel services and facilities. Thecourse includes a board project, and code review ofreal-world drivers. Additional discussions cover livedebugging with Kprobes, profiling with Oprofile, anda survey of industry trends including virtualized drivers,iSCSI and serial IO buses.Course 1016Printed Circuit Board Design forSignal Integrity and EMC ComplianceThis course for both experienced and entry level engineerspresents simplified hands-on techniques for thedesign and layout of printed circuit boards to achieveboth signal integrity and electromagnetic compatibility(EMC). Instructional emphasis is placed on real-lifeexamples that demon strate good layout practices thatcan be incorporated immediately for high-technologydesigns and products.Course 21943Real-time <strong>Embedded</strong> <strong>Systems</strong> I/OProgramming—Ethernet, USB, SPIand Serial DevicesThis course examines common external IO architecturesfor embedded systems and provides hands-oninstruction in designing and developing IO subsystemsunder real-time constraints. A variety of IOarchitectures are addressed, including Ethernet, WiFi,SPI, USB, I2C, and UART (RS232). Discussions coverphysical interfaces, input/output protocols, and thedesign and implementation of the IO subsystemsthat interact with real-time applications. Issues ofbandwidth, latency and real-time are also discussed.You’ll gain practical experience designing and codingembedded systems on a PIC microcontroller based SDK.Course 30028Real-time <strong>Embedded</strong> <strong>Systems</strong>Programming, IntroductionThis introductory course begins with a review ofembedded system hardware, including a discussionof system requirements for real-time systems. Itfollows up with real-time programming techniquesand architectures. The course covers the use ofreal-time operating systems (RTOS) to effectivelystructure large programs as well as designing devicedrivers to meet real-time hardware requirements.There will also be discussion of multi-threading,cooperative vs. preemptive multi-tasking and interprocesscommunications. Students will gain hands-onexperience with a programming project on a board.Course 5381Software Testing:Techniques, Tools and PracticesThis course covers the fundamentals of softwaretesting with an emphasis on test techniques, testtools, and testing practices. For the various phases ofsoftware development, the course introduces testingstrategies, or test levels. Open source and commerciallyavailable tools will be used to demonstrate conceptssuch as test generation and test coverage. Studentsgain hands-on testing and analysis experience withsample code using state-of-the-art software analysisand testing tools.Course 20501SystemVerilog for ASIC and FPGA DesignThis course prepares hardware engineers, ASIC andFPGA designers, and design-support staff to use thehigh-level syntax of SystemVerilog to design, debug, andsynthesize digital logic for ASICs, FPGAs, and IP cores.Students will learn SystemVerilog’s basic building blocksand language constructs, including synthesizable datatypes and operators, structures and unions, 2-D arraysand loops, and the bus interface unit. In lab sessions,they will write code and synthesize it into digital logicand bus fabric, using both ASIC and FPGA tools.Course 20095USB Device Interface—Architecture,Protocols and ProgrammingThis course covers USB architecture, protocols and features.Communication, control, and application layerprotocols for generic USB devices are covered. You willlearn how to pick the optimal USB protocols to meetperformance and bandwidth requirements. The courseintroduces the basic USB programming model, USBlibraries and the higher level USB software requiredto implement specific device functionality. The courseemphasizes effective design and test techniques andthe use of USB debugging tools. The course focuseson the device side USB interface, and includes a classproject based on a PIC USB kit.Course 2179Not printed or mailed at state expense. 611796-1204-1223 (08/23/12)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!