Programmable Logic - Software Tools
Continuing Education Center 1/16/2015 419 comments How do the software tools translate your design into the configuration bit streams needed to configure your programmable device? This class will provide an introduction to many of the key parts of the common tool flows and an understanding of how they interact with the hardware infrastructure described in the previous classes.
Programmable Logic - Adding Processors
Continuing Education Center 1/15/2015 524 comments An even higher level of specialized logic that is being added to many high-capacity programmable logic devices are complete MCU subsystems. These ‘hardened’ blocks have processors, memory and peripherals- all the elements needed for a complete processing subsystem and the programmable logic can be used for many custom features.
Programmable Logic - Specialized Functions
Continuing Education Center 1/14/2015 544 comments The general purpose nature of programmable logic switches and logic elements are very flexible, but inefficient for implementing common high-level building blocks for most digital sub-systems. Most programmable logic devices add some fixed function elements to avoid these inefficiencies and this class will describe the most common ones.
Programmable Logic - Switches and Logic
Continuing Education Center 1/13/2015 609 comments Once the underlying configuration technology is understood, it is important to understand how the logic elements and their associated switches are implemented. This class will give some examples showing how logic elements and switches can be used to create a general purpose programmable fabric used in most modern devices.
An Introduction to Programmable Logic
Continuing Education Center 1/12/2015 821 comments Programmable logic starts first with the technology used to implement the configurable logic that makes up a programmable logic device. This class will review the primary technology used to implement the configurable elements common to all programmable logic devices.
December 16 – Day 2: Web Application Security: Injection
Continuing Education Center 12/16/2014 330 comments Probably the best known and among the most dangerous of exploits, injection vulnerabilities can result in information disclosure, tampering, denial of service, and elevation of privilege. This session will mostly focus on SQL injection but will address others forms of injection including NOSQL database injection and OS command injection.
December 5 – Day 5: Software Architecture of a UAV
Continuing Education Center 12/5/2014 449 comments This session will summarize and review everything that was discussed in previous sessions by examining the software architecture of a UAV. These fascinating flying systems have a lot going on and wouldn’t be scalable and reusable if it weren’t for the proper design and selection of the right software architecture.
December 4 – Day 4: From Architecture to Implementation
Continuing Education Center 12/4/2014 462 comments Getting the right architecture is important but putting that architecture into practice is just as critical. This session will walk through how to take an architecture and move it into the design and implementation phases. Tips and tricks will be provided on how to make the transition with the result being an elegant and robust software system.
December 3 – Day 3: Understanding Embedded Software Architectures
Continuing Education Center 12/3/2014 492 comments This session will explore real-world considerations when designing an embedded software architecture. Real world examples will be given and comparisons made between different architecture types that solve a problem but may or may not be the correct architecture of choice. Examples include polling, interrupts and event driven systems.
December 2 – Day 2: Software Architecture using UML
Continuing Education Center 12/2/2014 573 comments A number of techniques have been developed over the years to assist engineers in designing an architecture that meets their system requirements. One tool that has been extremely popular is the use of UML. This session will explore the use of UML to design an embedded software architecture. The UML toolset will be explored such as the use of sequence diagrams, state machines, state charts and more!
December 1 – Day 1: Introduction to Embedded Software Architecture
Continuing Education Center 12/1/2014 624 comments This session will introduce what an embedded software architecture is and what it is not. It will provide an overview of some basic software architectures used in real-time embedded software development. Attendees will walk away with the knowledge of why designing a software architecture up front is critical to successfully develop a product in addition to the basic steps to go about identifying the architecture that should be used.
November 21 – Day 5: Analog Design for the Digital World: Design and Test
Continuing Education Center 11/21/2014 490 comments For our final day we will wrap up by looking at the challenges of designing as well as testing analog circuits, particularly in mixed signal design. We will look at analog design and simulation tools including SPICE (around since the mid-70’s!), test methods including probe loading considerations and other topics.
November 20 – Day 4: Analog Design for the Digital World: A/D and D/A
Continuing Education Center 11/20/2014 499 comments As much as we want to keep our analog and digital circuits separated, we still need them to talk to one another. In this class, we will look at the different types of analog to digital (A/D or ADC) and digital to analog (D/A or DAC) converters and some of the tradeoffs as well as design criteria.
November 14 – Day 5: An Example Implementation in Detail
Continuing Education Center 11/14/2014 292 comments This class will pull together information from all the previous classes and illustrate the described techniques using a detailed example design. Several techniques outlined in the previous classes will be used to protect the example design from tampering, reverse engineering, copying and from network-based attacks on security keys and boot blocks, which are two of the most common and most aggressive forms of remote attacks.
November 13 – Day 4: Protecting Your System in the Field
Continuing Education Center 11/13/2014 342 comments Once your hardware is deployed it’s a target, either directly by “invasive” probing of the actual board or via network based attacks. Protecting your hardware from these threats requires additional levels of protection and more complex algorithms and techniques. Luckily manufacturers provide simplifying features and capabilities that can be used to protect field deployed systems.
November 12 – Day 3: Secure Devices - An Overview
Continuing Education Center 11/12/2014 367 comments This class will review several of the current devices that include security capabilities that can be used to protect your design from hacking and theft. Some MCUs, FPGAs and CPUs now include key security features that can be used to protect your design. Additionally, specialized peripherals, memories and accelerators are also available for adding protection. Examples of all of these devices will be described.
November 11 – Day 2: How do you Implement Secure Hardware?
Continuing Education Center 11/11/2014 340 comments This class will cover the key techniques used by modern devices to protect design IP from the most common threats. Starting with simple approaches to tamper protection, and then moving on to protection from copying and cloning, this class will begin to introduce key devices and features needed to successfully protect your design.
November 10 – Day 1: Stealing and Hacking Your Design is Easier than You Think
Continuing Education Center 11/10/2014 307 comments This class will review key concepts from the December 2013 class and lay the groundwork for describing the implementation details you need to be able to select, program and design with devices you can use to protect your valuable IP. Protection from reverse engineering, copying, cloning, hacking and tampering will be the focus of the course.
November 5 – Day 3: Advanced User Interface Technologies: Streaming Signal Interfaces
Continuing Education Center 11/5/2014 361 comments Real time acquisition and processing of data opens the door to usable speech technology as well as camera based 3-D gesture detection. Speech can be speaker dependent (as in security applications), or speaker independent as in general command interfacing. 3-D gestures can direct operations, especially in the next generation of wearable computers.
November 3 – Day 1: Introduction to Advanced User Interface Technologies
Continuing Education Center 11/3/2014 356 comments Join this discussion on modern electronic input interfaces in analog and digital realms, including digital open state conditioning (pull-ups and pull-downs), matrix and multiplexing, scanning technologies, linear joystick, mouse, and an overview of touch. We will also touch on modern high volume display and indicator technologies.
October 22 – Day 3: Embedded TCP/IP Concepts
Continuing Education Center 10/22/2014 511 comments Today’s lecture will cover basic TCP/IP concepts. We will also examine some common protocols that are used on LANs and the Internet. The TCP/IP concepts presented will be supported by actual Wireshark protocol analyzer captures.
October 20 - Day 1: Design & Build a 32-bit Embedded Web Server
Continuing Education Center 10/20/2014 656 comments Dive in by designing and scratch-building a 32-bit microcontroller-based web server. This Ethernet-based web server uses the LAN8720 PHY IC in the physical layer design. Along the way, we will put together just enough supporting firmware to bring our web server online.
September 11 - Day 4: IPv.6: Traffic & Routing
Continuing Education Center 9/11/2014 411 comments With the elimination of the old concept of sub-nets and new routing protocols, IPv.6 provides more powerful routing capabilities, allowing more true end-to-end communications between any two nodes on the network. We will look at the new routing schemes, compare these to more familiar IPv.4 methods, and look at how the two can be made to work together through the lengthy transition.
September 10 - Day 3: Addressing in IPv.6
Continuing Education Center 9/10/2014 422 comments One of the primary reasons for IPv.6 is to answer the need for more addressing capability. Along with the new capabilities of the 2128 or approximately 3.4×1038 addresses, there are new methods for assigning addresses, assigning broadcast or multicast messages, and re-defining the previous concept of sub-nets. We will look at these new standards and how they compare to the methods under IPv.4.
August 22 - Day 5: An Internet of Things Weather Station Example
Continuing Education Center 8/22/2014 623 comments Sensor networks and moving data through the internet and web are becoming absolutely critical with concepts such as the Internet of Things on the near horizon. Each of the previous sessions have covered critical building blocks to create a system using a single-board computer. This session pulls it all together by providing an example weather station that interfaces to sensors such as humidity and temperature. The data is streamed through the Internet and accessible via a website.
August 21 - Day 4: Controlling Raspberry Pi Peripherals With Python
Continuing Education Center 8/21/2014 660 comments Writing software can be fun, but when the software controls hardware and starts interfacing with the external world is when things really get going! The Raspberry Pi has a number of common interfaces that can be used to communicate with the external world and this session will cover how to use Python to access each of those interfaces. By the end of this session attendees will be ready to connect just about anything!
August 20 - Day 3: An Overview of the Raspberry Pi (& Single-Board Computers)
Continuing Education Center 8/20/2014 689 comments This session will dig into the details of single-board computers and how they are revolutionizing how we do things. The famous Raspberry Pi hardware will be discussed in addition to how to set up the hardware for experiments in future sessions. This will include a look at available operating systems, tools, and expansion boards that can be used to quickly get a prototype system up and running.
August 19 - Day 2: Python Fundamentals
Continuing Education Center 8/19/2014 633 comments This session will present basic concepts on how to design embedded software using Python. Concepts such as lists, dictionaries, string, and file system manipulations are a few examples of what will be covered. How to develop object-oriented code and even how to import C code will also be presented. Example scripts will be provided so that attendees can follow along and take the language for a spin.
August 18 - Day 1: Introduction to Python
Continuing Education Center 8/18/2014 774 comments This session will introduce the Python programming language. It will provide an overview of where to get it, how to install it, and why an embedded engineer should learn Python. Since most embedded engineers are familiar with C, an in-depth comparison between language syntax will be covered to help attendees quickly leap into this powerful language.
There is currently much discussion around the term "platform," which may be preceded by the adjectives "mobile," "wearable," "medical," "healthcare," etc. However, regardless of the platform being discussed, they usually have one key aspect in common: They tend to be wireless. So, why is this one aspect so fairly universal? The answer is convenience.
Everyone has a MEMS story. For most of us it’s probably the airbag that saved our lives or the life of a loved one. Perhaps it’s the tire pressure sensor that alerted us about deflation before we were stranded alone on a dark muddy road.
Bioimimicry is not merely a helpful design tool -- it also encourages designers to think not only about how to solve design problems by imitating nature, but how to make the products, materials, and systems they design more ecologically sound and nature-friendly.
Focus on Fundamentals consists of 45-minute on-line classes that cover a host of technologies. You learn without leaving the comfort of your desk. All classes are taught by subject-matter experts and all are archived. So if you can't attend live, attend at your convenience.