×

Happy to Help!

This website doesn't store cookies. Enjoy the experience, without worrying about your data!

Great, thanks!

Category Archives: Others

  • 0

Bootloader Software Development Project for Seating Control Application

 

Customer:

An US based Tier-1 supplier of automotive and industrial thermal products.

Their pursuit of Innovation has helped to develop niche in domains like aviation, medical, home and office appliances.

 

Business Challenge:

  • Our customer’s team was working on a tight deadline. In the application development phase, the significance of bootloader solution was realized. Bootloader software was initially not a part of the software development roadmap.
  • Customer also realized that the in-house expertise did not offer skill-sets required for bootloader software development.
  • Development of bootloader software also required specialized skills and experience in Vector tools

 

Embitel Solution:

  • Our team of automotive software developers developed a Vector FNOS bootloader solution.
  • This bootloader software was designed using Vector Geny tool for the seating control application. This seating control system is designed to support Climate and Motor control features.
  • The Vector FNOS bootloader has been customized to adapt the seating control application
  • A gateway re-programming software was developed over SPI protocol for the non CAN network based microcontrollers on the ECU PCB
  • This gateway software acts as a bootloader for the microcontrollers which are not connected to vehicle CAN network.
  • The gateway helps the non CAN or SPI network depended controllers to communicate with the CAN based network which in turn communicates with the Vector FNOS bootloader.
  • Our team also developed a bootloader re-programming utility, which is a web-based application designed on UDS(LIN) protocol using CAPL and CANoe scripting.

 

Why Tier-I supplier partnered with Embitel for Vector FNOS Bootloader development?

  • The business requirement of the client was complex and needed and lot of understanding about their end application.
  • Reason being, the application was already in the development phase when the requirement for a compatible FNOS bootloader was brought to our desk.
  • Embitel’s embedded software team won the confidence of the customer during consulting workshops.
  • Customer also realized the value-addition of our 10+ years of domain expertise in automotive embedded software and experience in Vector tools

 

Embitel Impact:

  • Our expertise in embedded system software development helped our customer’s R&D activities to be more focused on application development.
  • Domain expertise of Embitel in Bootloader programming and vector tools such as CANoe and CAPL guaranteed the customer with quality delivery
  • Such business solutions resulted in effective cost efficiency and reduce the time-to-market for the customer.

 

Tools and Technologies:

  • Software Coding language : Embedded C
  • Tools used : Vector CANoe, Vector FNOS bootloader, Vector Geny Tool, FORD DET
  • Automotive Protocols : UDS (CAN/LIN)

  • 0

ISOBUS Software Stack Integration Project for Europe Based Tier-I Supplier

 

Customer:

An Italy based Tier-1 supplier, of weighing, batching and complex control systems.

Due to persistent R&D and top quality products, our customer has evolved as a trusted supplier of automation instruments to Industrial and Agriculture domains.

 

Business Challenge:

  • As a trusted supplier of agriculture automation products, our customer had decided to migrate a suite of products to ISO 11783 industry standard.
  • Since our customer lacked in-house expertise and skill-sets to migrate to ISO 11783 complaint ISOBUS software, they were on a look-out for an embedded software development partner.
  • Outsourcing of ISOBUS software development and integration was also preferred to help in-house R&D team to focus on core activities of product development.

 

Partnering with Embitel for ISOBUS stack integration:

  • Our Automotive embedded software development team has designed a pre-tested, ISO 11783 standard complaint and reusable ISOBUS software stack solution.
  • The customer has developed confidence on our platform independent ISOBUS solution which is designed as a layered architecture software stack.
  • Customer also realized the value-add of our 10+ years of automotive domain expertise.

 

Embitel Solution:

  • ISOBUS software solution designed by our embedded developers is a ready-to-deploy stack.
  • Our automotive team integrated the ISOBUS protocol stack that is compatible with all 8-bit, 16-bit and 32 bit Microcontrollers. This ensured that ISOBUS solution is hardware platform agnostic
  • Our software developers integrated the following ISOBUS stack layers :
    • ISO11783-3 – Data link layer: To facilitate the data transmission among the different automotive control units over the CAN bus using various protocols such as BAM (Broadcast announce message, in case the data is greater than 8 byte).
    • ISO11783-5 – Network management layer: This layer is developed to support the address claim feature of the device network components. It stores the device specifications (manufacturer details).
    • ISO11783-7 – Implement Messages (Application Layer) : This layer of the ISOBUS software stacks enables the data communication of important parameters such as time, distance, navigation, ground speed etcetera.
    • ISO11783-12- Diagnostic Services: Defined PGNs specified in the ISO 11783 standard are used for fault or failure diagnostic purposes.
    • ISO11783-10- Task Controller: We have designed a dedicated task controller layer for controlling the tasks that the agriculture machinery is expected to perform.
    • ISO11783-13- File server: The transfer of multimedia files (generally larger in size) are managed by the file server layer.
    • ISO11783-6 – Virtual Terminal: This layer communicates with the User Interface (UI) designed to help control and manage various tasks.
  • We developed a CAN driver API to support Hardware Abstraction of data communication via the physical layer (CAN Bus). This ensures that the ISOBUS stack solution is independent of the hardware platform.
  • Hardware abstraction is significant as this allows customer to upgrade or replace hardware platform in future without replacing the software code
  • Our pre-tested ISOBUS stack solution is compatible with both non-RTOS and RTOS systems.

 
ISO BUS
 

Embitel Impact
:

  • Our pre-packed, pre-tested, reusable and ISO 11783 complaint ISOBUS solution met the quality expectations of our customer.
  • Due to quality stack integration, support and maintenance services, our customer was able to migrate their suite of agriculture automation products to ISO 11783 complaint ISOBUS software.
  • This helped our customer to reduce their time-to-market and cost involved in development.

 

Tools and Technologies:

  • PC Lint was used for static analysis of embedded C code to ensure that the embedded software code was  MISRA-C complaint.
  • Hardware platform : Freescale Microcontroller HC12S (over which ISOBUS software stack was ported)
  • Software IDE: code warrior
  • Simulator : Vector simulator
  • Automotive Protocols : CAN and ISOBUS
  • Software Coding language : Embedded C

 


  • 0

Integration of SAE J1939 stack with an Android Infotainment system | In-vehicle ECU communication

As a trusted embedded technology partner, we at Embitel Technologies have delivered an end-to-end automotive infotainment solution for a Tier-I Supplier.

Now under production, this system will be deployed for commercial vehicles.

 

Business Challenge:

The infotainment system is loaded with information and entertainment related multimedia features like virtual gauges, navigation maps, voice recognition, access to media files, app-store, phone call/message syncing using BT and more.

Hence this system needs to communicate with several ECUs to fetch various vehicle parameters.

Embitel’s infotainment software development team needed an off-the-shelf communication layer that can be configured easily. This would ensure reduced development time and add value to the bottomline of the project costs.

 

Embitel Solution: in-house designed reusable J1939 stack with provisions for faster configuration

The team decided to integrate the J1939 stack designed in-house to save time and costs. So our cross-functional expertise in Embedded and Automotive technology added value to our client’s product roadmap.

Following are the details of the solution:

  • Re-usable SAE J1939-compliant stack best suited for commercial vehicles was integrated with the Android OS
  • The ported J1939 stack consisted of J1939 Data Link and Transport Layer (J1939\21), Network Management layer (J1939/81) and Vehicle Application Layer(J1939/71)
  • 50 PGNs were easily configured only in the Application layer, rest of the stack was integrated as it is
  • SAE J1939 compliant Boot Loader was also ported to facilitate eprogramming of ECUs efficiently and securely via CAN network
  • All this ensured support for vehicle communication and reprogramming of ECUs
  • All the necessary device drivers were designed, developed and ported by Embitel
  • J1939 stack has been coded as per the MISRA (Motor Industry Software Reliability Association) -C guidelines to ensure code safety, security, portability and reliability for embedded Infotainment system and applications
  • J1939 stack also ensured Enhanced Portability for the entire system (Support for 8, 16 and 32 bit Embedded Controllers)
J1939-Stack
Embitel Impact:
  • Reduced development time and costs as the readily available and re-usable J1939 stack was integrated
  • Since PGN configuration was required to be done only at the Application Layer, it ensured added time advantage
  • Cross-functional teams with complementary skill-sets delivered a timely value-add to the overall cost and quality to the infotainment project

What is an Infotainment System?

    Infotainment in automobiles is the integrated system that delivers entertainment and information content.

    Typical tasks that can be performed with an in-vehicle infotainment system include managing and playing audio content, utilizing navigation for driving, delivering rear-seat entertainment such as movies, games, social networking, etc., listening to incoming and sending outgoing SMS text messages, making phone calls, and accessing Internet-enabled or smartphone-enabled content such as traffic conditions, sports scores and weather forecasts.

    Source – Webopedia


  • 0

ADAS – Forward Collision Warning System

Business case brief:

Model development for FCW system

  • Design using Simulink environment
  • Time to contact (TTC) method to trigger forward collision warning
  • Followed MAAB guidelines for modeling
Business case details:
  • Code generation
  • Verification & validation
  • Standard QA practices to ensure quality of deliverables
  • Standard Testing practices including Unit testing, Functional testing, System testing etc
  • The tool Reactis to do the unit testing and open-loop MIL testing of the controller
Tool chain:
  • SIMULINK and STATEFLOW
  • Reactis

  • 0

TEST VECTOR WRAPPER FOR LTE-PHY TEST BED

 

Requirement: 

Design, Develop and implement a strategy to load, test & analyze the test vectors to and from the Signal-Chain of an LTE-PHY framework.

  1. PC/MCH Diagnostic application – To drive the test vectors onto the signal chain [SC]
  2. Test Vector Player [TVP] – To configure, store, read back the TVP MEMORY SEGMENT and provide the test packets to signal chain over its streaming ports.
  3. Test Vector Recorder [TVR] – To Configure, Monitor and Log the streaming ports and play back when requested by the MCH.
  4. Flexibility to configure the TAP points of the SC for Monitoring & Playback.
  5. PN9 Sequence Generator & Detector for Test pattern Injection & Detection

System Overview: Test Vectors for UL & DL of signal chain are generated using MATLAB and formatted accordingly for debugging. These Test Vectors are loaded into the on-board DDR2 Memory using an MCH/Host Application over a 32-Bit cluster bus Interface.

Test vector player & Recorder functions along with the UL/DL signal chain modules are implemented in FPGA.

TVP role is to load the Memory Segment with the Test data sent from the MCH application over cluster bus, read the Memory segment and construct packets for Signal Chain over the Avalon Streaming ports.

The test Vector Recorder taps the SC ports configured and stores the diagnostic data into the TVR Memory segment after which, it does a play-back operation to flush the data out to the MCH Logging & plotting application.


Cluster bus Interface:  MCH/Host Application configures, controls and monitors the test vector player and recorder [TVPR] over a 32-Bit Cluster Bus interface.


Avalon interface: Altera’s proprietary bus standard used. 32-Bit Avalon MM Master and Slave configuration used for connecting the various components using SOPC builder. Avalon Streaming Source & Sink ports implemented.


Test Vector Player & Recorder:TVP provides option to configure the TVP memory segment size from as little as 4 bytes to 128 MB. It uses the High Speed DDR2 SDRAM Memory controller to write the Test data into the On-Board Memory.

It implements the Address and command decoding functions for status & control. Implements glue logic to construct SC packets of different sizes over Avalon streaming ports. Handles different data widths and uses synchronizers to handle multiple clock domains.

In short, it performs Load-Store-Read back the test data to and from Test vector player memory segment and Constructs the packets for Signal chain UL/DL modules.

User has option to configure the memory usage of TVR for diagnostic data logging and play back functions.

 

Implementation:
  1. TVPR Implemented in Altera- Startix II GX device
  2. Coded using VHDL
  3. TVP & TVR Configuration using command messaging
  4. High Speed DDR2 Memory controller to store the test vectors & Diagnostic data into on-board DDR2 Memory.
  5. Option to configure Packet size.
  6. Firmware for GX-AMC card in a u-TCA Chassis environment.
  7. 32-Bit Cluster Bus I/F Logic to communicate with MCH Diagnostic application.
  8. 1 GB On-Board memory to store test vectors and record the diagnostic data.
  9. 32-Bit Avalon–Bus Interface

 

Testing and Validation:
  1. Test scripts for automation
  2. Standard Testing practices including Unit testing, Integration & System testing etc
  3. System testing done on the LTE-PHY test bed hardware.
  4. Test Application for configuring, loading the test vectors , constellation plots & data analysis

Tools: 

Quartus II, Signal Tap Logic Analyzer, Model Sim, Bittware Diagnostic Tool-Diag21K, MATLAB, Visual Studio, MS Office (Documentation), MKS Integrity Client (Version Control).

 

Our Offerings:
  1. Complete Digital design solutions using FPGAs & CPLDs from Xilinx, Altera, Lattice and Actel.
  2. Rapid prototyping with IP cores
  3. SOPC Builder & NIOS Processor Environment
  4. Verification & Validation
  5. Test bench Automation Using Scripting [Tcl/Perl]

  • 0

Porting Embedded Software

 

At embitel, we have extensive experience in embedded software posting to various flavors controller architectures and platforms. We offer complete software stack porting and last mile services for software porting requirements.

 

Objectives of Porting

A porting project has one for combination of following objective:

  • Migration of software stack to a different processor architecture
  • Migration of software stack to a different operating system
  • Migration of software to a different technology platform

 

Requirements for Porting

To begin with any porting project, we would normally require all the available documentation and source code. For example:

  • Original design document, interface documents, test specifications
  • Details of tool chain used for source system
  • Details of tool chain of target system if already identified

In case the current system under port does not have sufficient documentation, we would start the porting activity with preparation of code flow diagram, interface diagram and hardware and software integration documents.

 

3P Framework for Porting

We follow 3P strategy (three phases) with distinct objective at every phase:

1.    Feasibility analysis phase
2.    Implementation phase
3.    Testing and validation phase

The objective in feasibility analysis phase is to bring out all dependencies and detailed statement of work. This phase also helps in verifying suitability of target system for software stack under port.

The objective in Implementation phase is to progress as per outlines tasks in statement of work. The involved detailed design study, source code walk through, tracing portable and not portable code, looking for performance optimization issues, HW and SW integration requirement, communication channel requirements, and operating system and hardware abstraction layers and re-writing of non-portable code.

The Testing and validation phase starts in parallel to porting phase and ends after the porting phase. During this period, the test strategy is decided. All test plans, test data, test code are written in this phase. The basic objective of testing are to ensure that software functionality of the system is not after porting to new target system and also to ensure performance requirements.

 

Feasibility Analysis Phase

We do a feasibility study to ensure porting objective and features of existing system.

The feasibility phase includes following decision point:

    • Understanding the source system

This includes studying the original design documentation or user documentation to know about the s/w functionality and behavior in details. If the supporting documents are not available, knowledge transfer from customer is expected.

    • Deciding Target Development Tools

Deciding upon the suitable target development tools can be a critical step for simplifying the task of porting. These are finalized with mutual discussions with customer.

    • Deciding About Porting Strategies

Porting strategy includes identification of portable and non-portable code. Non-portable architectural differences include moving among 8-, 16-, and 32-bit architectures; support for different controllers and peripherals etc

    • Testing strategy

Before starting the port, we determine what test cases and procedures are in place or need to be developed. Possibility to apply the test vectors and measure the results on both the source and the destination systems for comparison are also ensured.
 

Implementation Phase

The implementation strategy varies based on the porting objective. The strategy followed here is “A step at a time” that is to get the basic main framework of the software stack, with bare minimum functionalities, on the target platform, at the earliest.

A typical work-flow for migration to new processor architecture is,

  • Get the OS up and running on the target hardware.
  • Port the Hardware and operating system abstraction layer
  • Port all required component driver, protocol stacks etc
  • Port the application software module by module
  • After a functional port is ready, optimize the software modules
  • Do a system validation against predefined system vectors
  • Complete the process by updating relevant documentation

 

Testing and Validation Phase

We perform standard Quality assurance practices to ensure quality of deliverables.

Our Testing Strategy Includes:

  • Automated testing – Code coverage, memory leak detection, performance profiling and UML tracing
  • Unit testing – Module level testing to validate individual units of code
  • Functional testing – Validation against functional requirements
  • System testing – Verification of total software system for all of its functional, quality attribute and operational requirements

  • 0

eCall – Emergency Call System

eCall is a project intended to bring rapid assistance to motorists involved in a collision anywhere in the European Union. In case of a crash, an eCall-equipped car automatically calls the nearest emergency centre.

Even if no passenger is able to speak, e.g. due to injuries, a ‘Minimum Set of Data’ is sent, which includes the exact location of the crash site. Shortly after the accident, emergency services therefore know that there has been an accident, and where exactly.

Embitel, along with a silicon vendor, has created an evaluation platform to demonstrate eCall functionality. The chipset offered by the silicon vendor, which combines GPS and ARM core is used to create the proof of concept system.

System Overview:

  • eCall is an emergency call either generated  manually by vehicle occupants or automatically via activation of in-vehicle sensors when an accident occurs.
  • When activated, the in-vehicle eCall system establishes a 112-voice connection directly with the relevant PSAP (Public Safety Answering Point).
  • A minimum set of data (MSD) – including key information about the accident such as time, location and vehicle description – is sent to the PSAP operator
  • Embedded solution with in-built network access device(NAD)
  • SIM support
  • Backup power supply
  • Proof of concept in partnership with a Bangalore based silicon manufacturer