Adapting partially programmable ASSPs to vehicle design needs
By Geert Van Herzeele, AMI Semiconductor, Courtesy of Automotive DesignLine
Jun 24 2005 (13:27 PM)
URL: http://www.embedded.com/showArticle.jhtml?articleID=164903228
A fixed design application specific standard product (ASSP) rarely meets the customer's specifications exactly and does not allow use across multiple platforms that may have slightly differing requirements—such as different models of a specific automobile. In addition, fixed application specific integrated circuit (ASIC) designs can leave module designers with minimal flexibility and limited room for maneuver from very early on in their overall project due to the long chip design layout and manufacturing lead times.
By providing an element of part programmability—a portion of the chip design that can be tailored to the specific needs of the application—engineers can obtain an ASIC or ASSP that exactly meets their needs. There are also other major benefits such as the portability of the design between different application platforms with different parameters. Furthermore, the ability to commit to a basic chip design early on knowing that a portion of it is not "cast in silicon" and remains user definable up to and even beyond the end of the development process is a major plus.
Living with non-programmability
Until recently most chips had no programmability, this meant that if their parameters needed to be updated, corrected, or if there was a need for a change in functionality, then a part or total redesign would have to be undertaken. Redesigns are expensive and time consuming and stand out as even more of an issue if they have to be undertaken just to achieve a minor but necessary change or correction to an ASIC or ASSP's overall performance.
In the automotive market, Tier One and Tier Two suppliers often supply their modules to a number of different vehicle platforms for the same car manufacturer. Also, for each platform or vehicle model there may be different equipment and specification levels, these can create slightly different demands on the supplier's module and therefore the ICs inside. In a scenario where chips without part programmability are used this can result in each vehicle platform and specification level within that platform needing a unique IC with unique tooling and a unique development, evaluation, and test schedule.
Aside from the economy of scale benefits on which the module maker is missing out on by not being able to bundle all the volumes together, this is a high risk, inflexible approach. The life of a vehicle model may be as little as two years before the car maker decides to carry out a facelift to "freshen" the design in order to sustain sales. Such a facelift may also include changes in equipment and functionality that may necessitate changes to ICs within control modules. This eventuality could result in the full chip design process having to be embarked upon again with its associated high cost and long lead-time.
Value-added software
By using part programmable devices electronic module designers can differentiate their products and target several application platforms using the same basic part programmable ASIC or ASSP. This is done by adding value in software or in a set of parameters that influences the behavior or functionality of the product. Typical examples are products used to provide control of stepper motors and DC motors in applications such as automotive headlamp leveling, climate control, door locking, and window lifting (see figure below). Part programmability can also be used in sensor interface applications that include pressure, position, level, and intelligent battery sensors.
Block diagram of the AMIS-30621 LIN micro-stepping motor driver incorporating one-time programmabilityView a Full-Size Image In terms of the development cycle, part-programmable ASICs and ASSPs can significantly simplify the module designer's job. With the non-programmable approach, having to commit at a relatively early stage to the complete make-up of the chip for a specific application often represents a significant gamble. Being "pushed" to commit to a final design earlier than they would ideally want can, in some cases, result in problems further into the product development program that may not only prove expensive but because of the long lead-times jeopardize the timing of the OEM's product to market.
There are several formats by which part programmability can be realized, the method chosen depends on the degree of flexibility and customer added value required:
One-time programmability (OTP): This type of memory, as the name suggests, can be programmed only once. The approach is usually selected in applications that require one of a number of specific functions. The first of these is the calibration of the ASIC/ASSP and external sensor parameters such as offset, gain, full input range, and temperature coefficients. The second is mode or application selection, this can be the communication protocol (analog, digital, pulse width modulation, LIN, etc) or I/O definition (inputs or outputs, analog or digital) or mode of operation (stepper motor or DC motor). The final function for which OTP may be appropriate is parameter setting which could refer to the specification, such as for stepper motor parameters such as peak current, hold current, micro-stepping fraction, configurable speeds, and acceleration and deceleration. EEPROM: Electrically erasable, programmable, read-only memory can be used in place of OTP when it is anticipated that data may need to be updated more than once or when there is a requirement to store larger amounts of information. It can also be used for storing a limited amount of micro-code.
EEPROM is often used to accommodate dynamic calibration—where there is a self-calibration cycle or updates to calibration during maintenance. An example of this is parameter tracking which is used to overcome unwanted effects such as ageing whereby sensor parameters change slowly over time and need to be re-calibrated. This can be carried out during maintenance by reprogramming the memory containing the offset value of the sensor. Other parameters that can be tracked include battery charge and condition and the storing of operating condition at power off. EEPROM is also useful for storing detected error conditions and for holding dynamic addresses such as LIN auto addressing—the few bytes of identifier that is assigned when plugging an application onto the bus.
FLASH: This type of memory is suited to larger amounts of data or micro-code storage and like EEPROM can be reprogrammed several times. It is most often used for embedded micro-controller ASICs providing full flexibility.
How and when to program
There is a high degree of flexibility regarding when programming can take place, it can usually be carried out at a time that best suits the customer, their end customer, and the specific project. The options for the timing and place for programming are generally during the chip maker's final production test, at the Tier 1 or Tier 2 module maker's premises, or at the OEM.
Programming can be implemented via dedicated interface pins, in a special program mode or in normal mode via special commands , such as during maintenance of the car, via the LIN bus. Typical timing and phases of ASIC/ASSP design and where part programmability can be implemented are show below.
Geert Van Herzeele is system architect manager for Integrated Mixed-Signal Products at AMI Semiconductor
Copyright 2005 © CMP Media LLC