Path: EDN Asia >> Design Centre >> Automotive >> Basics of automotive instrument cluster architectures (Part 1)
Automotive Share print

Basics of automotive instrument cluster architectures (Part 1)

08 Dec 2014  | Deepak Mahajan, Vikas Agarwal, Arjun Pal Chowdhury

Share this page with your friends

In the graphics sub-system, the application running will call different APIs to access the graphics hardware through programming calls to the operating system. When the application requests an image to be rendered on the display, the API calls the OS, which in turn invokes the GPU driver to communicate with GPU hardware to draw the image to be shown on the display. From the perspective of the application processor, it accumulates and sets up graphics commands that are dispatched to the GPU for processing and display rendering. It does this by means of writing the commands to volatile memory (typically DRAM) where the GPU can subsequently fetch the commands. For example in-case of digital display of needles (let's say speedometer, fuel indicator, etc.), it will get the information from a real-time processor regarding the corresponding activity and instruct the GPU to rotate the needle at a certain angle. It will control all of the APIs for creating the needle rotation graphics. It instructs the GPU to rotate image, colouring the image, zooming the image, etc.

The MPE associated with it can also be used as JPEG decoder (or limited MPEG decoder) to display images through the display controller. For example, in an advanced speech and navigation system, the navigation unit can send images/frames through Ethernet to display to a cluster RGB display unit. Those JPEG images need to be decompressed and decoded by the MPE and then displayed through a display controller onto an LCD/TFT display. Similarly for audio applications, MP3 data can be sent through Ethernet to cluster devices and software can convert the MP3 format to a PCM format with the help of MPE to play it through speakers using I2S protocol to support in-car entertainment.

Graphics processing unit
A graphics-processing unit (GPU) is a specialised module designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display via a display controller. GPUs are very efficient at manipulating computer graphics and their highly parallel structure makes them more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel. They have much deeper pipelines compared to traditional CPUs along with significantly faster and more advanced memory interfaces to shift around a lot more data than CPUs. It helps in offloading the main core by handling geometry and pixel processing, allowing resolution independent HMI.

In mid-end cluster solutions, the high performance GPU can be a 2D vector and raster graphics accelerator designed for hardware acceleration of vector graphics, which can be displayed using a display controller. The GPU can be accessed through its specific drivers. It can also provide scalability with high-quality rendering, including anti-aliasing, to different screen sizes without multiple bitmaps.

A GPU supports graphics application programming interfaces (APIs) that provide user controls for optimising the acceleration capabilities available with the GPU. It is preferable to support a hardware platform and operating system (OS) independent software APIs standard rather than a proprietary API standard for enhanced vector graphics. One such standard is OpenVG 1.1 API standard for vector graphics acceleration. OpenVG is a royalty-free, cross-platform API managed by a member-funded consortium. It provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and Scalable Vector Graphics (SVG). It is used for acceleration of high-quality vector graphics for user interfaces and text on small screen devices.

Core API features of OpenVG include Coordinate systems and transformations (image drawing uses a 3x3 perspective transformation matrix); Viewport clipping, scissoring and alpha masking; Paths; Images; Image filters; Paint (gradient and pattern); Blending; Dithering. The VGU Utility Library provides Higher-level geometric primitives, Image warping.

Typical use cases in the instrument cluster are where a GPU will accelerate the needle rotation and display controller renders the rest of the scene, for infotainment where it can be used for User Interface (UI) acceleration, for native rendering of true-type fonts with Anti-Aliasing, additional graphics acceleration for dual display systems, etc.

Display controller
This is the main graphics display controller of the device. It is designed to drive displays using direct blit graphics and video with RGB data. It generates all of the necessary signals required to drive the displays with up to 24bit RGB data bus, Pixel Clock, Data Enable, Horizontal-Sync, and Vertical-Sync. There can be as many as two independent controllers in a high-end cluster solution for driving two different displays simultaneously. two is not the limit.

The specified internal memory of the device allows the controller to easily handle complex graphics contents (pictures, icons, languages, fonts) with a very low memory footprint. It can also be used for creating simple animation without any help of dedicated graphics processor, for e.g., image sequence animation (to display a rotating car), list scroll, object fade in/out, fly in/out, dynamic reveal/hide, etc.

Graphics are managed through planes blending using the merging of multiple programmable layers (objects) to optimise use of internal memory buffers. Since the CPU need only to manage the configuration of the layers, it is possible to create animations with low CPU overhead and minimal RAM footprint.

 First Page Previous Page 1 • 2 • 3 • 4 Next Page Last Page

Want to more of this to be delivered to you for FREE?

Subscribe to EDN Asia alerts and receive the latest design ideas and product news in your inbox.

Got to make sure you're not a robot. Please enter the code displayed on the right.

Time to activate your subscription - it's easy!

We have sent an activate request to your registerd e-email. Simply click on the link to activate your subscription.

We're doing this to protect your privacy and ensure you successfully receive your e-mail alerts.

Add New Comment
Visitor (To avoid code verification, simply login or register with us. It is fast and free!)
*Verify code:
Tech Impact

Regional Roundup
Control this smart glass with the blink of an eye
K-Glass 2 detects users' eye movements to point the cursor to recognise computer icons or objects in the Internet, and uses winks for commands. The researchers call this interface the "i-Mouse."

GlobalFoundries extends grants to Singapore students
ARM, Tencent Games team up to improve mobile gaming

News | Products | Design Features | Regional Roundup | Tech Impact