(303) 415-1112 Broomfield
(970) 541-4777   Loveland

March, 2019 - Vol 12, Issue 1
CEPD Broomfield and CEPD Loveland Offices
Join Our Mailing List!
In This Issue
PI Day
CEPD Openings
Linux or RTOS
Quick Links

PI Day 
Today is  π day, 314.  Click here to check out our presentation on the AGM, a fast algorithm to compute  π.
CEPD is Hiring 
We have Embedded Systems Engineer and Engineering Assistant positions open in Broomfield and Loveland. Email HR@CEPD.COM if you are interested.
IEEE High Plains Technical Meeting
  by Philip McCoy
Autonomous driving and other emerging applications of Artificial Intelligence demand increasing levels of computing performance in safety-critical systems.  Chip companies address this market by building System-on-Chip (SoC) designs around compute engines such as CPUs, DSPs, GPUs and application-specific accelerators, which are often sourced from third-party suppliers in the form of RTL-level synthesizable IP.  Designing a synthesizable CPU IP for functional safety (and obtaining certification to standards such as ISO 26262) presents some unique challenges.  This talk gives an overview of the MIPS I6500-F microprocessor design, its application to ADAS applications, and the ISO 26262 certification process.

Date March 21, 2019
Time 6:00-8:30pm
DeskChair workspace
201 East 4th Street
Loveland, Colorado
United States 80537

Please register as space is limited.
Website IEEE High Plains

Linux or RTOS?
     A real-time operating system (RTOS), or similarly, a general-purpose operating system (GPOS) with real-time extensions, has design attributes to improve the determinism for each of the application states required for operation. The GPOS system is typically the type of system you use every day to check email, watch videos, etc. 
     The RTOS systems may also be used every day, but it performs different services such as, deploying airbags or anti-lock brakes during a detected event. Those types of systems are time sensitive as one can imagine. They need to perform life-saving measures on time, every time. A system is said to be deterministic if it's possible to predict the timings of its computation precisely, and the computations are logically correct. There are two key aspects that make an RTOS "real-time"; the first is to make sure that the processor can accept an interrupt at any time or most of the time. There is almost no time where the operating system cannot accept an interrupt. Some applications need only an average response time, while others require that every deadline is met every time. The second key aspect to "real-time" is to ensure very low cycle time for the scheduler to schedule any deferred workload.
     So why not just use Linux? There are two basic time requirement genres called soft real-time and hard real-time computing. Soft real-time computing provides a guarantee of a specific level of CPU bandwidth in a specific unit of time. For example, an application that needs 10 milliseconds of CPU bandwidth and must have that requirement met within 100 milliseconds has a soft real-time requirement. This is often where a GPOS such as Linux is used. Hard real-time computing looks at the response time rather than at a bandwidth guarantee, when an application must respond to an event within a specific time. One example would include responding to a periodic interrupt where the worst-case response time must be less than the interrupt time. This ensures that no interrupt events are lost.
     There are methods of making Linux behave more like a RTOS. One such method is the preempt kernel approach, where the Linux kernel is modified to reduce the amount of time the kernel spends in non-preemptive sections of code. All interrupts are initially handled by the core and are passed to standard Linux only when there are no real-time tasks to run. However, when timing is critical and on the level of millisecond thread capability, a true RTOS will often provide you more deterministic results. If your embedded application requires split second timing, consider starting with one of the many non-Linux, open-source RTOS's found here
     Other Reference Links: WallsBarry & CrowleyKoolwal
If you would like help developing a new product or if your projects are understaffed, CEPD can help. Our staff draws on years of diverse product design experience to provide creative and timely solutions for your product needs. Some of our specialties include:
  • Technical Project Management
  • Embedded Systems Hardware and Software
  • Digital Signal Processing (DSP)
  • Data Acquisition
  • Wireless Sensor and Telemetry Systems (Zigbee, Cellular, VHF, Bluetooth, ANT+, etc.)
  • IOT
  • Control Systems
  • Programmable Logic: FPGA / PLD
  • Analog Circuit Design
  • Switching Power Supply Design
  • Battery Charging (all Chemistries)
  • PCB Design and Layout
  • Analysis, Test and Documentation
We provide cost effective and expedient design options for our clients, regardless of the project's complexity.  Our detailed proposals, accurate estimates and time schedules will help you manage each phase of the project. 
The Staff of CEPD, Inc.
© 2019, CEPD, Inc.

303 415-1112  Fax 720 306-4445   Loveland Office 970 541-4777

Colorado Electronic Product Design, Inc., 700 Burbank St, Broomfield, CO 80020