An Embedded Systems Implementation Technique based on Multiple Finite State Machine Modeling using Microcontroller Interrupts

마이크로컨트롤러 인터럽트를 사용한 임베디드시스템의 다중 상태기계 모델링 기반 구현 기법

  • 이상설 (원광대학교 전기.정보통신공학부)
  • Received : 2012.09.10
  • Accepted : 2012.11.12
  • Published : 2013.01.31


This paper presents a technique to implement embedded systems using interrupts of the one-chip microcontroller with many peripherals based on a multiple finite state machines model. The multiple finite state machine model utilizes the structure of FSMD used for hardware design and the features of flow control by interrupts. The main finite state machine corresponds to the main program and the sub-state machines corresponds to the interrupt subroutines. Therefore, interrupts from the peripherals can be processed immediately in the sub-state machines. The request and reply variables are used to interface between the finite state machines. Additional operating system is not necessary for the context switching between the main state machine and the sub-state machine, because the flow-control caused by interrupt can be replaced with the switching. An embedded system modeled on multiple finite state machine with ASM charts can be easily implemented by the conversion of ASM charts into C-language programs. This implementation technique can be easily adopted to the hardware oriented embedded systems because of the detail description of the model and the fast response to the interrupt events in the sub-state machine.


  1. G.N.T. Huong, Y. Na, and S.W. Kim, "Applying Frame Layout to Hardware Design in FPGA for Seamless Support of Cross Calls in CPU- FPGA Coupling Architecture," Microprocessors and Microsystems, Vol. 35, Issue 5, pp. 462-472, 2011.
  2. Atmel Cooperation, 8-bit AVR Microcontroller with 128K Bytes In-System Programmable Flash, Datasheet, 2007.
  3. W. Gong, M. Qu, X. Wu, and P. Ma, "The Verification of Structure Identification Algorithm and Error Detection Strategies for Structured Flowchart," International Conference on Future Computer Supported Education, pp. 880-887, 2012.
  4. K. Charntaweekhun and S. Wangsiripitak, "Visual Programming using Flowchart," Int. Symp. on Digital Object Identifier, pp. 1062-1065, 2006.
  5. 배정호, 채흥석, "계약 기반 정형 명세로부터 이해도 높은 상태 기계 자동 구축 기법," 정보과학회 논문지(소프트웨어 및 응용), 제39권, 제9호, pp. 734-749, 2012.
  6. 정소영, 노혜민, 유철중, "SysML 상태 기계 다이어그램 기반 테스트 케이스 생성 기법," 한국정보기술학회 논문지, 제9권, 제3호, pp. 31-39, 2011.
  7. 김기훈, 최현택, 이종무, "유한 상태 기계를 이용한 자율 무인 기뢰 처리기의 다중센서 융합기반 수중 유도 항법시스템 설계," 전자공학회 논문지, 제47권 SC편, 제 6 호, pp. 373- 382, 2010.
  8. J. Cecilio, P. Furtado, "A State-Machine Model for Reliability Eliciting over Wireless Sensor and Actuator Networks," Procedia Computer Science, Vol. 10, pp. 422-431, 2012.
  9. 전태건, 김창수, "임베디드 시스템에서 실시간 성과 결함허용을 보장하는 스케줄러 설계," 멀티미디어학회논문지 제14권 제1호, pp. 76-84, 2011.
  10. M.H. Samadzadeh and L.E. Garalnabi, "Hardware/Software Cost Analysis of Interrupt Processing Strategies," IEEE Micro, Vol. 21, Issue. 3, pp. 69-76, 2001.
  11. D.D. Gajski, N.D. Dutt, A.C.. Wu, and S.Y. Lin, High-Level Synthesis: Introduction to Chip and System Design, Kluwer, Boston, 1992.
  12. C. Karfa, D. Sarkar, and C. Jandal, "Verification of Datapath and Controller Generation Phase in High-Level Synthesis of Digital Circuits," IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, Vol. 29, No. 3, pp. 479-492, 2010.
  13. 이상설, 마이크로컨트롤러 AVR ATmega 128, 한빛미디어, 서울, 2011.
  14. D.D. Givone, Digital Principles and Design, McGraw-Hil, New York, 2002.

Cited by

  1. A Detection Algorithm for Pulse Repetition Interval Sequence of Radar Signals based on Finite State Machine vol.53, pp.7, 2016,
  2. Automatic Frequency Conversion Algorithm for Vehicle Radio vol.9, pp.8, 2014,