Memory trends
The standard microcontroller memory types which have become established
in automotive systems are ROM, EPROM and Flash EEPROM for program
store, RAM for stack and scratch-pad memory, and byte erasable EEPROM
for storage of calibration and security data. As Flash EEPROM is
becoming more cost effective, it will ultimately replace ROM as the
favored memory solution.
Automobile manufacturers often wish to revise software in the field.
Unless there is a method of reprogramming the memory array remotely,
typically this problem requires the sealed ECU to be removed and
replaced. This is a time-consuming and expensive process for the
Automobile manufacturer, not to mention a greater inconvenience to the
owner. Flash EEPROM provides the technology, which allows such field
revisions.
This system can be used for software upgrades as well as software
revisions. It is now becoming more common for ECU suppliers to build
generic platforms, which may have slightly different features,
implemented in software. For example, some automobiles automatically
adjust the side view mirrors (which turn to point to the rear wheels)
when the vehicle is placed in reverse gear. This feature is implemented
in software and feasibly could be offered as a 'software upgrade' in
the after-sales market.
Memory sizes for most automotive applications will continue to grow,
leaving the CPU on the microcontroller occupying a relatively small
portion of the chip. Figure 5 illustrates a die photograph of the
M68HC912DG128, for use in automotive applications. The relative sizes
of the memory modules and other microcontroller functions can be seen
clearly on the photograph.
The memory system in future automotive microcontrollers may be enhanced in certain cases to allow simplified memory verification. In a safety critical system, it may be desirable to check that memory contents are stable and have not been corrupted during the course of operation. There are several techniques that can be implemented to validate memory contents, each having its own merits and problems. The most straightforward way is to implement a parity bit on the entire memory array. Whenever a byte is written to memory, a parity generator adds an extra bit and whenever a byte is read from memory a parity checker will ensure that a parity error has not occurred. Another scheme, which has been widely discussed, is the use of a Linear Feedback Shift Register to perform signature analysis on blocks of memory.
0 comments:
Post a Comment