| Meet the Challenge Head On – New Generation Test and Analysis Tools for 32-Bit Automotive Applications | |
2001-10-02 |
Today’s automobile industry is no longer exclusively dominated by the traditional notion of mobility. Customer demand for even greater levels of comfort and safety and also for the ability to smoothly communicate from a vehicle to the outside world has strongly influenced development in this area. Buzz phrases like X-by-Wire, navigation and infotainment are signs of how far the technology and customer expectation have advanced. Coupled together with tighter legislation on vehicle emissions, the net result is a need for increasingly sophisticated automotive electronics. The semiconductor industry has responded by providing faster and more highly integrated devices, allowing discrete hardware to be replaced by software of ever increasing complexity. This has of course created a corresponding need for the improvement of the development systems used to create, test and analyze automotive electronic products. Development systems are now required to provide faster, more efficient testing and analysis of complex software algorithms.
Test and analysis tools for today’s automobile industry are required to provide a fast and efficient analysis of immense amounts of data, preferably without influencing the performance of the system being tested. In addition to graphically and symbolically displaying the memory contents of the system under test, which is usually used to represent quantities such as temperature, pressure and revolutions per minute, additional options including the analysis of program flow and verification features like code coverage and performance analysis have become extremely important. In-circuit emulators used until recently were mostly expensive to buy and difficult to use. Recent improvements in these tools can be accredited not only to semiconductor manufacturers, who with their new on-chip debugging concepts heralded in a new era in development systems, but also to the tool manufacturers who were quick to follow in this path and quickly refocus their development efforts on the new technology. This has resulted in some modern development systems that are significantly more compact and far more configurable.
The Tanto System from Hitex Development Tools provides features that are particularly suited to meeting the real-time sensitive requirements of the automotive industry and they cover all stages of the development cycle.
Since functions previously implemented in the hardware of a process control system are now implemented in software, the amount of software used in such a system has risen dramatically. This in turn has created the need for a greater variety and number of debug and design tools to be used within a single development project. This is why Tanto provides several levels of modularity. Tanto is available as an entry-level solution (Base System), which due to its humble cost allows each developer participating in the project to be provided with his or her own test system. A small investment in a Tanto Base System could pay for itself in double since the system can easily be reconfigured for use with new microcontroller architectures.
Furthermore, adding trace functionality can enhance a base system. This would enable the user to monitor and analyze program flow in a chip-integrated core without influencing the performance of the target system.
As an example, consider the TriCore TC1775 microcontroller – a device very popular in the automobile industry. Its internal construction has made it ideal for engine control (i.e. powertrain) applications, although it is also suited to safety and infotainment applications. Developers often pay considerable attention to the Peripheral Control Processor (PCP) integrated within the TC1775. After the PCP is initialized by the main processor (i.e. the TriCore), it is assigned various tasks that are executed independently and in parallel to processing carried out by the TriCore.
In this application area, adherence to real-time behavior is crucial and a slight interruption, in particular from a single controller would cause the system to enter non-predictable states, which would then usually result in having to restart the application. Being able to analyze interaction between the PCP and TriCore processors is thus vitally important. To facilitate this, a special break mechanism has been implemented. During a halt request (asynchronous or from a pre-defined breakpoint), this feature allows execution to branch into a monitor program, enabling the background processing of interrupt routines to take place. This means that a request from the PCP can be further processed in the TriCore. This allows further processing of re-occurring events. These could for example be actions that are based on an external impulse to calculate or adjust the ignition timing of an engine. The PCP would filter out a particular impulse and then autonomously carry out a given action, and the TriCore would further process this information in real-time (e.g. after a buffer is filled with this data) before returning the re-calibrated data to the PCP. The example shows that an active exchange of data is necessary and the complete halting of a core would result in the other core being unable to continue processing. In the worst case, other tasks might be negatively influenced and the entire application could crash. However, when testing and analyzing software, it is always necessary for new functions to be put into operation step by step, and this is usually only possible when the rest of the application can be further run as normal. The feature of the monitor program described above provides the ideal solution to this problem. The monitor (debug task) is simply allocated a priority that allows the essential base functions (high priority interrupts) to continue running as normal, while a new function can be gradually put into operation.
Other features associated with the development and test of engine control systems are sometimes extremely important and usually essential, such as the targeted recording of specific trace data, triggering at the entry point of a function and event analysis. These features provide insight into what caused a function call and how a function achieves its intended objective. Targeted recording of this data usually allows the true cause of an error to be detected, without any violation of real-time behavior, thus excluding the possibility of a change in system performance right from the beginning. The fact that counters as well as various trigger levels can be used provides the user with further advantages in error detection and system verification. Other advantages are incurred by being able to analyze both TriCore code as well as PCP code ‘in trace’. After implementing new code for the PCP, it’s possible to compare run times as well as the response times to particular events (including external events), with those mentioned in the specification - a main advantage of the 'Tanto' analysis tool.
Furthermore other test and analysis features are also becoming increasingly important in the automotive area. Whenever a new functional module is implemented for a vehicle, it’s necessary to differentiate between modules that have the highest priority and may not fail under any circumstances (e.g. the brake function) and those where a failure presents no great danger (e.g. an air conditioning system). Until recently, vital functions such as steering and braking were exclusively mechanical, whereas in new vehicles, they are often replaced by electro-mechanical systems. These new systems have given rise to new features such as Intelligent Braking Performance. Here, the brake pedal is no longer the only transducer to provide input to the braking function, since intelligent electronics and sensors can directly influence braking performance. The system is able to promptly recognize an unusually fast depression of the brake pedal by the driver and that a hard braking action is to be performed (i.e. an action that is different to braking under normal conditions). These vital functions must be tested to every last possible detail since they may not fail under any circumstances. Present attempts to accommodate significantly fewer vital functions on the same controller require an essential separation of vital functions from less important functions. In this case, it’s necessary to perform separate debugging of functions from each category. The integration of extra configurable hardware together with an application specific task manager and selective trace settings enables the Tanto System to perform an appropriate analysis in this situation.
The ‘Tanto’ test and analysis tool is ideally suited to addressing the automobile requirements of today and tomorrow. In an environment of ever increasing complexity, Tanto provides the developer with an essential set of debug and analysis features, which greatly ease the task of development based on highly integrated microcontrollers.