Available online at www.sciencedirect.
com
                                         Procedia Computer Science 17 (2013) 222 – 228
                     Information Technology and Quantitative Management (ITQM2013)
               Design of the Data Acquisition System Based on STM32
                                                  Hui-fu Zhang1, Wei Kang1*
           1
            Department of Computer Science and Technology, Hunan University of Science and Technology, Xiangtan 411201, China
   Abstract
        Early detection of failures in machinery equipments is one of the most important concerns to industry. In order to
   monitor effective of rotating machinery, we development a micro-                     - system of signal acquisition system
   based on STM32 in this paper. we have given the whole design scheme of system and the multi-channel vibration signal in
   axis X, Y and Z of the rotary shaft can be acquired rapidly and display in real-time. Our system has the character of simple
   structure, low power consumption, miniaturization.
  ©
  © 2013  TheAuthors.
    2013 The   Authors.Published
                         Published
                                 byby  Elsevier
                                    Elsevier B.V.B.V. Open access under CC BY-NC-ND license.
  Selection and peer-review
  Selection and/or peer-reviewunder
                               underresponsibility  of the
                                     responsibility of the organizers
                                                           organizersofofthe
                                                                           the2013
                                                                               2013International
                                                                                     International Conference
                                                                                                 Conference    on Information
                                                                                                            on Computational
  Technology
  Science      and Quantitative Management
   Keywords: STM32; data acquisition; embedded system;            - ;
   1. Introduction
      The real-time acquisition of vibration in rotating machinery can effectively predict, assess and diagnose
   equipment operation state, the industry gets vibration data acquisition Rapidly and analysis in real-time can
   monitor the rotating machinery state and guarantee the safe running of the equipment. In order to prevent
   failure, reduce maintenance time, improve the economic efficiency, The purpose of fault diagnosis system can
   detect these devices through the vibration signal acquisition of rotating machinery, and process the data
   acquisition, then it will make timely judgment of running state of equipment .While the data acquisition module
   is the core part of the fault diagnosis system [1-4].The practical application in the industrial field, is the
   equipment operating parameters will be acquired to monitor equipment operating state. In traditional data
   acquisition systems, the data from acquisition card are generally send into the computer, and specific software
   will be developed for the data acquisition. The main contribution of this paper has designed the STM32
   platform with ARM technology, that has become a traditional mainstream technology in embedded systems,
   and the collecting data toward the direction of high real-time, multi-parameter, high-precision, while data
   storage become large capacity, more miniaturization and portable, and the development of multi-
   communication mode and long-distance for data transmission. So as to meet the actual acquisition system
   * Corresponding author. Tel.: 086-0731-15073230255.
   E-mail address: 
[email protected]1877-0509 © 2013 The Authors. Published by Elsevier B.V. Open access under CC BY-NC-ND license.
Selection and peer-review under responsibility of the organizers of the 2013 International Conference on Information Technology and Quantitative
Management
doi:10.1016/j.procs.2013.05.030
                          Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228                 223
multitasking requirements, this article has                                                      -    system of
signal acquisition system. Therefore, in order to meet the actual acquisition system multitask requirements, this
novelty of this article has designed a signal acquisition system in micro-                - based on STM32.
2. Architecture of data acquisition system
   Data acquisition as key technology for monitoring equipment, recently a lot of work has been done on it. An
embedded parallel data acquisition system based on FPGA is Optimized designed which will make it
reasonable to divide and allocate high-speed and low-speed A/D [5]. Instead, it has use a high-speed A/D
converter and Stratix II series of FPGA for data collection and processing, in which the main contribution is
used of the Compact Peripheral Component Interconnect, the system has the characters of modularization,
sturdiness and scalability [6].But remote control will be needed in Special Conditions, this paper introduce the
embedded operating system platform based on Windows CE and                 - to design a remote acquisition and
control system with the GPRS wireless technology [7-8].In order to achieve the data sharing of multi-user, it
has build the embedded dynamic website for data acquisition management and dissemination with the ARM9
and Linux operation system [9].A data collection terminal devices is designed based on ARM7 microprocessor
LPC2290 and embedded real-time                                  -    to solve the real-time acquisition of multi-
channel small signal and multi-channel transmission[10].On the other hands, two parallel DSP-based system
dedicated to the data acquisition on rotating machines, and the inner signal conditioner is used to adapt the
sensor output to the input range of the acquisition, and then signal post-processing by the design software,
while the most frequently structure is to use DAS and FPGA-based, and such programs are also dependent on
the DAS cost.
   In order to meet market requirements of low power consumption, low cost, and mobility, Fig.1 in this paper
presents the design overall structure diagram of data acquisition system. Through SPI interface, the system gets
the data collection with three axis acceleration sensor into the STM32 controller of inner A/D conversion
module with 12-bit, this process is non-interfering parallel acquisition. Our system uses 240x400 LCD and
touch screen module real-time to display the collected data in real time.
                              SRAM                                                RS232
                            Lcd touch-
                              screen                                               USB
                              FLASH                 670)9(7
                                                                                  Ethernet
                                                      &RUWH[0
                              Reset
                              circuit
                                                                                    RTC
                                                                                   circuit
                              Power
                              circuit
                                                                                   JTAG
                               MMA7455L                   A/D
                                         Fig.1 Hardware Framework of System
2.1. STM32 micro-controller
  A 32 bit RISC STM32F103VET6, used as the processor in our system, compared with similar products, the
STM32F103VET6 work at 72MHZ, with characters of strong performance and low power consumption, real-
224                                 Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228
 time and low-cost. The processor includes: 512K FLASH, 64K SRAM, and it will communicate by using five
 serial ports which contain a CAN bus, a USB2.0 SLAVE mode and a Ethernet interface, what s more two
 RS232 ports are also included. The system in our paper extend the SST25VF016B serial memory through the
 SPI bus interface, that will regard as the temporary storage when collect large number of data, furthermore, we
 have the A/D converter with 12 bits resolution, and the fastest conversion up to 1us, with 3.6 V full-scale of the
 system. In addition to design of the system power supply circuit, the reset circuit, RTC circuit and GPIO port to
 assurance system needs and normal operation.
 2.2. Data acquisition
    The machine state is normal or not is mainly depended on the vibration signal. In this paper, to acquire the
 vibration data of rotating machinery rotor, we have used vibration acceleration transducers MMA7455L which
 could collect the data from axis x, y, and z of the company of Free-scale. The kind of vibration acceleration
 transducers has advantage of low cost and small size, high sensitivity and large dynamic range with small
 interference. MMA7455L is mainly consists of gravity sensing unit and signal conditioning circuit composition,
 and this sensor will amplify the tiny data before signal preprocessing.
    In data acquisition process of our system, the error of sampling stage is mainly caused by quantified, and
 the error is depended on the bits of the A/D converter ,when we regard the maximum voltage as V max , the
 AD converter bits is n, and the quantization Q = V max/2n, then, the quantization error is obeyed uniform
 distribution in [- q / 2, q / 2] [13].
                                    e            ep(e)de 0                                                        (1)
                            2
                                                   2               q2          1      q2
                            n               (e e) p(e)de                  e2     de                               (2)
                                                                   q    2
                                                                               q      12
                                                                               2
                            S       V max 2       V max 2          V max                                          (3)
                                                             12(         ) 12 x22 n
                            N         e2            q2               q2
                                                    12
                                         S
                                        ( )dB          6n 10.8                                                    (4)
                                         N
                                        2                                S
      While   e is average error,       n   is error variance , and        is SNR.
                                                                         N
    The designed STM32 could built at most three 12-bit parallel ADC in this paper , which theoretical index is
 72dB and the actual dynamic range is between 54 to 60dB while 2 or 3 bits is impacted by noise, the dynamic
 range of measurement can up to 1000 times with 60dB. For the vast majority of the vibration signal, the
 maximum sampling rate of 10kHZ can meet actual demand, and the higher frequency of collection is generally
 used in the 8-12 bits AD, therefore one of contribution of this work is to choose a built-in 12-bit A/D to meet
 the accuracy of vibration signal acquisition and lower cost in this experiment.
                           Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228                    225
2.3. Storage and display
    Real-time data acquisition is needed that we have designed the system with 64K * 12bit capacity on chip
SRAM. The process is that the three-axis acceleration transducers system is connected to the controller with the
SPI interface, it will start to collect data when acquisition request is received, then the data transmitted through
the DMA and stored in the SRAM chip until the data buffer is full, it sends a interrupt signal to CPU, and CPU
read all the channels data from FIFO, then will display the result in the LCD directly. Our system is capable of
rapid, real-time and efficient to collect the original data and visually displayed.
3. Software design
3.1. Transplantation of     C/OS-
   In order to ensure real-time and safety data collection requirements, in this system, a kind of RTOS whose
source code is open and small is proposed. It also can be easily to be cut down, repotted and solidified, and its
basic functions including task management and resource management, storage management and system
management. The RTOS embedded system could support 64 tasks, with at most 56 user tasks, and four tasks of
the highest and the lowest priorities will be retained in system. The          - assigns priorities of the tasks
according to their importance, the operation system executive the task from the priority sequence and each task
have independent priority. The operating system kernel is streamlined, and multi-tasking function is well
compared with others, it can be transplanted to processors that from 8-bit to 64-bit.The transplant in the system
are to modify the three file system structure: OS_CPU_C.H OS_CPU.C, OS_CPU_A.ASM. Main
transplantation procedure is as follows:
A. OS_CPU_C.H
   It has defined the data types, the length and growth direction of stack in the processor. Because different
microprocessors have                                    C/OS - II transplantation include a series of type definition
to ensure its portability, and the revised code as follows:
   typedef unsigned char BOOLEAN;
   typedef unsigned char INT8U;
   typedef signed char       INT8S;
   typedef unsigned short INT16U;
   typedef signed short INT16U;
   typedef unsigned int INT32U;
   typedef signed int        INT32S;
   typedef float             FP32;
   typedef double            FP64;
   typedef unsigned int OS_STK;
   typedef unsigned int OS_CPU_SR;
   Cortex-M3 processor defines the OS_ENTER_CRITICAL () and OS_EXIT_CRITICAL () as opening and
closing interrupt, and they must set to 32 bit of the stack OS_STK and CPU register length. In addition, that has
defined the stack pointer OS_STK_GROWTH stack growth direction from high address to lower address.
B. OS_CPU.C
   To modify the function OSTaskStkInit() according to the processor, the nine remaining user interface
functions and hook functions can be null without special requirements, they will produce code for these
functions only when the OS_CPU_HOOKS_EN is set to 1 in the file of OS_CFG.H. The stack initialization
function OSTaskStkInit () return to the new top of the stack pointer.
226                              Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228
      OS_CPU_A.ASM
    Most of the transplant work are completed in these documents, and modify the following functions.
    OsStartHighRdy() is used for running the most priority ready task, it will be responsible for stack pointer SP
 from the highest priority task of TCB control block, and restore the CPU, then the task process created by the
 user start to control the process.
    OSCtxSw () is for task switching, When the current task ready queue have a higher priority task, the CPU
 will start OSCtxSw () task switching to run the higher priority task and the current task stored in task stack.
    OSIntCtxSw () has the similar function with OSIntSw (), in order to ensure real-time performance of the
 system, it will run the higher priority task directly when the interrupt come, and will not store the current task.
    OSTickISR () is use to handle the clock interrupt, which needs interrupt to schedule its implementation
 when a higher priority task is waiting for the clock signal.
    OS_CPU_SR_Save () and OS_CPU_SR_Restore () is completed to switch interrupt while entering and
 leaving the critical code both functions implement by the critical protection function OS_ENTER_CRITICAL ()
 and OS_EXIT_CRITICAL ().
                                                       - can run on the processors.
 3.2. Software architecture
    Fig.2 shows the system software architecture, so as to display the data visualized,                 and         -
     is transplanted in the system, our system contains six tasks such data acquisition, data transmission, LCD
 display, touch screen driver, key-press                              interface. First of all, we should set the task
 priority and the task scheduling based on the priority. It needs complete the required driver design before the
 data acquisition, such as A/D driver, touch panel driver and system initialization, while the initializations
 include: hardware platform initialization, system clock initialization, interrupt source configuration, GPIO port
 configuration, serial port initialization and parameter configuration, and LCD initialization. The process is that
 the channel module sent sampling command to the AD channel, then to inform the receiver module it has been
 sent the sample start command, the receiver module is ready to receive and large data will store in the storage
 module, after the completion of the first sampling, channel module will send the complete command of
 sampling to the receiver module, the receiver sends an interrupt request to the storage module to stop the data
 storing, then the data will display on the LCD touch screen. The data acquisition process shown in Fig.3
                                                Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228                                                   227
                                                                                                                                                      System
                                                                                                                                                   Initialization
                                                                                                                                                Drive Initialization
                                                     Task scheduling of C/OS-II
                                                                                                                                                 Create Sampling
                                                                                                                                                      Task
                                                                                                                                                  Sampling Task
                                                                                                                                                     Time
                                                                                                                                                  Start Sampling
             Data                  Kiss-press   Touch screen                          C/GUI               Data
                                                                      Lcd display
          acquisition             management       drive                            interface         transmission
                                                                                                                                                     AD Start
                                                                                                                                                    DMA Start
                                                                                                                     Ethernet                       Sampling
Channel   Receiving     Storage                                                                                                                     Completed
                                                                                                USB      USAT
module     module       module
                                                                                                                                                   LCD Display
     Fig.2 Software Architecture of System                                                                                           Fig.3 Data Acquisition of Flow Chart
4. Experiments
   The experiment of the embedded system has been done and data acquisition comes from the acceleration of
MMA7455L, which is installed on the bench of rotating machine. The data acquisition have displayed as
shown in Fig.4 and Fig.5, the system can select three channels to collect the vibration signal from the three
directions of X, Y and Z-axis , and in this paper the sampling frequency is 5KHZ and we have collect the
vibration signal from normal state of unbalanced state at the same channel. The result shows that our system
can display real-time data acquisition and predict the preliminary diagnosis rapidly.
                                                                                                                                                                      
                                    Fig.4 Normal Data Acquisition                                                         Fig.5 Unbalance Data Acquisition
228                                    Hui-fu Zhang and Wei Kang / Procedia Computer Science 17 (2013) 222 – 228
 5. Conclusion
    This paper has designed an embedded signal acquisition system for real time according to the mechanical
 failure occurred with high frequency of in the rotating machines. The system is based on a low cost
 microcontroller, Vibration signals is picked by the three axis acceleration sensor which has the performance of
 low cost and high sensitivity, and the acquisition data from axis x, y, and z. We have designed the system
 hardware structure, and analyses the working principle of data acquisition module. The proposed system of
 C/OS- realize the data task management and scheduling, and it is compacted with structure and low cost,
 what's more the system collects the vibration signal and analysis in real-time of the rotating machines, and then
 quickly gives diagnostic results.
 Acknowledgements
    This work was supported by The National Natural Science Foundation of China (51175169); China Nation
 al Key Technology R&D Program(2012BAF02B01); Planned Science and Technology Project of Hunan Pr
 ovince(2009FJ4055);Scientific Research Fund of Hunan Provincial Education Department(10K023).
 References
 [1] Cheng, L., Yu, H., Research on intelligent maintenance unit of rotary machine, Computer Integrated Manufacturing Systems, vol. 10,
      Issue: 10, page 1196-1198, 2004.
 [2] Yu, C., Zhong, Ou., Zhen, D., Wei, F., .Design and Implementation of Monitoring and Management Platform in Embedded Fault
      Diagnosis System, Computer Engineering, vol. 34 , Issue: 8, page 264-266, 2008.
 [3]Bi, D., Gui, T., Jun, S., Dynam . Behavior of a High-speed Hybrid Gas Bearing-rotor System for a Rotating ramjet, Journal of Vibration
      and Shock, vol. 28, Issue: 9, page 79-80, 2009.
 [4] Hai, L., Jun, S., Research of Driver Based on Fault Diagnosis System Data Acquisition Module, Machine Tool& Hydraulics, vol. 38 ,
      Issue: 13, page 166-168, 2011.
 [5] Hao, W., Qin, W., Xiao, S., Optimized. Design of Embedded Parallel Data Acquisition System, Computer Engineering and Design, vol.
      32, Issue: 5, page 1622-1625, 2011.
 [6] Lei, S., Ming, N., Design and Implementation of High Speed Data Acquisition System Based on FPGA, Computer Engineering, vol. 37,
      Issue: 19, page 221-223, 2011.
 [7] Chao, T., Jun, Z., Ru, G., Design of remote data acquisition and control system based on Window CE, Microcomputer& Its
      Applications , vol. 30, Issue: 14, page 21-27, 2011.
 [8]Xiao, W., Bin, W., SMS controlled information collection system based on        /OS- , Computer Application, vol. 12, Issue: 31, page
      29-31, 2011.
 [9]Ting,Y., Zhong, C., Construction of Data Collection& Release in Embedded System, Computer Engineering, vol. 33, Issue: 19, page
      270-272, 2007.
 [10]Yong, W., Hao, Z., Peng,D., Design and Realization of Multi-function Data Acquisition System Based on ARM, Process Automation
      Instrumentation, vol. 32, Issue: 1, page: 13-16, 2010.
 [11] Betta, G., Liguori, C., Paolillo, A., A DSP-Based FFT Analyzer for the Fault Diagnosis of Rotating Machine Based on Vibration
      Analysis, IEEE Transaction on Instrumentation and Measurement, vol. 51, Issue: 6, 2002.
 [12] Contreras-Medina LM., Romero Troncoso RJ., Millan Almarez JR., FPGA Based Multiple-Channel Vibration Analyzer Embedded
      System for Industrial Application in Automatic Failure Detection, IEEE transactions on International and measurement, vol. 59, Issue:
      1, page 63-67, 2008.
 [13]Chon, W., Shuang, C., Design and implementation of signal detection system based on ARM for ship borne equipment, Computer
      Engineering and Design, vol. 32, Issue: 4, page: 1300-1301, 2011.
 [14]Miao, L., Tian, W., Hong, W., Real-time Analysis of Embedded CNC System Based on           /OS- , Computer Engineering, vol. 32,
      Issue: 22, page 222-223, 2006.