
DEPEND 2011 : The Fourth International Conference on Dependability A Dependable Microcontroller-based Embedded System Amir Rajabzadeh Mahdi Vosoughifar Department of Compute Engineering Department of Computer Engineering Razi University Islamic Azad University Arak Branch Kermanshah, Iran Arak, Iran [email protected] [email protected] Abstract—This paper presents a method to make a dependable 4) Microcontrollers: they have 8-bit, 16 bit or 32-bit microcontroller-based system for detecting any violation from processor core with memory, I/O, and peripherals on a chip. the program flow caused by transient faults. The method is Microcontrollers have been estimated to be about 80% of the based on a duplication and comparison technique and employs processors shipped. a “synchronous interrupt” in both microcontrollers to monitor Embedded systems are widely used in industrial control and compare the program counters (PCs) of the systems [2]. Industrial control systems usually have fairly microcontrollers. This is done by adding an interrupt service low computational requirements and low memory capacity. routine in both microcontrollers and without any modification This is within the domain of 8-bit and 16-bit of the application programs. The method has been microcontrollers. Small 8-bit CPUs still dominate the experimentally evaluated using AVR ATMega-32 market, representing about 70% of overall processor microcontrollers. The results show that error detection coverage of the method is 100% based on the fault models. The shipments [1]. error detection latency varies about 1184 cycles (74 sec) to These embedded systems are usually involved with some 128147 cycles (8 msec) and the execution time overhead of the aspects of dependability issues and system failures can method varies between 0.5% and 50% for different PC severely damage human life or equipments. In these systems, exchange interrupt frequencies. The hardware and software dependability is an important concern and error detection overheads are about 100% and less than 0.5% respectively. mechanism has a key role in designing the system. On the other hand, as the number of transistors per chip continues to Keywords- dependable system; control flow checking method; grow, the error rate per chip is expected to increase [3], the concurrent error detection; microcontroller-based system; fault occurrence rates are increasing by approximately 8% embedded system. per chip [4]. These trends show that to ensure correct operation of embedded systems, they must employ I. INTRODUCTION dependability methods against transient faults. This paper actually presents a concurrent error detection We are used to hearing about extended computer method for embedded systems based on microcontrollers. applications and explosive growth in the computation ability The proposed method employs the synchronous external of processors. Based on usage patterns, processor cores can burst interrupt in duplication microcontrollers and compares be divided into four categories [1]: the run time program counters of the microcontrollers in a 1) Computational micros: they are 32-bit or 64-bit service routine. The method has been experimentally general-purpose processors, and typically deployed as the evaluated on an AVR microcontroller-based system. The central processing unit of mainframes, workstations, and results show that error detection coverage of the method is personal computers. Most commercial off-the-shelf RISC 100% based on the fault models. The error detection latency and CISC processors fall into this category. This group has varies about 1184 cycles (74 sec) to 128147 cycles (8 accounted for less than 2% of the volume of processors msec) and execution time overhead of the method varies shipped. between 0.5% and 50% for different PC exchange interrupt 2) Embedded general-purpose micros: they are frequencies. The hardware and software overheads are about general-purpose processors, usually 32-bit processors, 100% and less than 0.5% respectively. designed for embedded systems. These are often scaled- The next section depicts the related work. Section 3 down versions of existing computational micros. Embedded discusses the error models in this experiment. Section 4 general-purpose micros constituted about 8% of total describes the proposed method. Section 5 gives method volumes of processors shipped. evaluation and argues over a system under test. The results 3) Digital signal processors: they are specific-purpose are presented in section 6, and finally, section 7 summarizes processors with the ability to execute arithmetic operations and concludes the paper discussion. efficiently. This group accounted for about 10% of the volume of processors shipped. Copyright (c) IARIA, 2011. ISBN: 978-1-61208-149-6 24 DEPEND 2011 : The Fourth International Conference on Dependability II. RELATED WORK faults. Concurrent error detection mechanisms in COTS- This section describes how embedded systems based on based systems have been classified as follow: microprocessor or microcontroller have been equipped to Structural-based mechanisms detect transient faults. Behavioral-based mechanisms To design a dependable embedded system at least two Structural-based mechanisms are based upon hardware options are available: replication. For COTS-based systems, hardware replications Using Application-Specific-IC (ASIC) processors: can be applied at chip-level, such as master/checker [12] such as ERC32 processor [5], LEON-FT processor mechanism, and system-level. [6] and THOR processor [7] with internal error Behavioral-based mechanisms extract an abstraction detection mechanisms. from the application program, memory access etc., usually Using Commercial Off-The-Shelf (COTS) performed during “compile time”, and checking the processors: such as Intel Pentium family, PowerPC abstraction during runtime. It has been indicated that more and ARM processors, or AVR and PIC than 70% of all transient faults lead to deviation from the microcontrollers. program’s normal instruction execution flow, i.e., Control Designing an embedded system with fault tolerant ASIC Flow Errors (CFE) [13]. Control Flow Checking (CFC) processor is a useful way of making a dependable system. techniques (i.e., techniques to detect CFEs) have been known Fault tolerant ASIC processors have many facilities for as an effective concurrent error detection method [14]. Most tolerating faults and have a high percentage of error of the CFC techniques are using signature monitoring detection coverage. technique. In this technique, at setup time, the program is Concurrent error detection or fault masking mechanisms decomposed into basic blocks of instructions and a signature in ASIC processors are often applied at VLSI, transistor, gate is derived from each basic block and saved somewhere, or RTL levels. Chip-level and behavioral-based mechanisms during runtime the signatures based on the basic blocks will may be used as well. ERC32 is a 32-bit processor [5] and it be regenerated and compared with the saved one. CFC is compatible with SPARC V7 ISA. The processor has been techniques can be implemented by pure software such as designed for embedded space flight applications. The CFCSS [15] and feature specific CFC [16], pure hardware hardening techniques in the VLSI level (layout hardening) such as watchdog direct processing (W-D-P) [17] and have been applied to reach the radiation tolerance. All CFCET[9], or hybrid (combined hardware-software) such as registers in integer and floating unit have been provided with TTA[18] and CIC[19]. parity bits (gate level). Program flow control has been The workload program in CFCSS [15] is divided into implemented using embedded signature monitoring basic blocks. The blocks in the program are assigned (behavioral-based mechanism) and master/checker different arbitrary signatures, which are embedded into the mechanism at chip-level is supported by the processor. program during compile time. A run-time signature is LEON-FT is a 32-bit processor [6] and it is compatible with generated using XOR function and compared with the SPARC V8 ISA. Internal cache memory and register file in embedded signatures when instructions are executed. the processor has been provided with error-detection in form Feature specific CFC [16] is a pure software control flow of parity bits. Flip-flops are implemented using triple checking technique. In this technique, the program is modular redundancy (TMR) and master/checker mechanism decomposed into basic blocks of instructions and partition at chip-level is supported by the processor as well. blocks between them. A signature is derived from each block Although fault tolerant ASIC processors present a good (i.e., basic block and partition block) at the compile time, way of designing a dependable system, nevertheless, the use which is the number of instructions in the block. At runtime, of commercial off-the-shelf (COTS) processors are the technique uses performance monitoring in modern COTS phenomenally popular, because it decreases the cost processors and employs their internal counters to regenerate significantly. the signatures (i.e., instructions executed in each block) and COTS processors have a low or moderate percentage of compares them with saved ones. error detection coverage, but short time-to-market [8], Usually, the big problem of software-based CFC is the availability in the market [8], trust in products [9], low weakness of detecting an error in program crash or CPU development, test
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-