五軸雕刻機(jī)機(jī)電結(jié)構(gòu)設(shè)計(jì)②—結(jié)構(gòu)設(shè)計(jì)【含CAD圖紙+三維SW+文檔】
五軸雕刻機(jī)機(jī)電結(jié)構(gòu)設(shè)計(jì)②—結(jié)構(gòu)設(shè)計(jì)【含CAD圖紙+三維SW+文檔】,含CAD圖紙+三維SW+文檔,雕刻,機(jī)電,電機(jī),結(jié)構(gòu)設(shè)計(jì),cad,圖紙,三維,sw,文檔
Proceedings ofthe 2009 IEEE International Conference on Mechatronics and Automation August 9 - 12, Changchun, China Design ofSoftware Architecture for NC Engraving Machine Based on Embedded Linux Junqi Zhao Institute ofAstronautics andAeronautics University ofElectronic Science and Technology ofChina Chengdu, Sichuan Province 610054, China zhao-junqi@ Abstract - Embedded system has already been applied widely in industry control and many other fields. As the size and complexity of embedded application system increasing, the embedded software system is becoming more and more complexity. It is especially important to design suitable embedded software architecture for a special control object. At the same time, various functional and non-functional requirements of NC (numerical control) engraving are demanded continually. At present, most of the software architectures for NC engraving machine are without operating system support and not be able to meet those requirements. Although a few engraving control system with commercial operating system support, it is expensive and not good for enterprise developing software with independent intellectual property rights. In order to solve the above problems, the new software architecture for NC engraving machine was designed based on embedded Linux and DARTS method in this paper. The system data flow was analyzed by data flow diagram, and then the system was divided into various tasks by the H Gomma principle. Furthermore, the software architecture was put forward. The inter-task synchronization and communication was also analyzed. Finally, the real time analysis was made. By using this software architecture, the software system become simple and clear, and different control component based on different time granularities can be integrated seamlessly. Through practical application, it was proven that various requirements of NC engraving system can be realized with low cost. The flexibility and adaptability of the system are also improved greatly. Index Terms - ARM. Embedded Linux. Engraving. FPGA. Software Architecture. 1. INTRODUCTION As the size and complexity of embedded software system increasing, the importance of software architecture goes beyond the algorithms and data structures of the computation. Designing and specifying the overall system structure emerges as a new kind of problem [1]. A good architecture can help ensure that a system will satisfy key requirements in such areas as performance, reliability, portability, scalability, and interoperability. A bad architecture can be disastrous. Architecture design is high-level design for overall system from the system point of view. Different experts will define software architecture on their own. After all, it is a tool to solve practical problems in various domains and contexts, thus various architectural models or definitions have been released. Although various definitions are somewhat different, we can Hui Li and Longfei Peng Institute ofAstronautics andAeronautics University ofElectronic Science and Technology ofChina Chengdu, Sichuan Province 610054, China kelly.li@ see a large degree of commonality at the core of all of them witch is the notion that the architecture of a system describes its gross structure. This structure illuminates the top level design decisions, including things such as how the system is composed ofinteracting parts, where are the main pathways of interaction, what are the key properties of the parts. The key step of architecture design is to divide system into some manageable subsystems and design interfaces between the subsystems. Software architecture design should not only consider how to meet the system's functional and performance requirements, but also the non-function, such as reliability, scalability, portability and availability. There is not a unified approach for software architecture, especially in the embedded system. Embedded Linux is referred to tailor standard Linux through the miniaturization treatment and can be stored on non-volatile storage or microcontroller which capacity is only a few hundred KB or a few MB. It is a special Linux operating system that is applied to special embedded system [2]. Linux has emerged as a mature, high-performance, stable and reliable alternative to traditional proprietary embedded operating system [3]. Linux not only possesses the adaptability, flexibility, and stability but also possesses strong network functions. Moreover Linux is a sort of free software with open source codes [4]. At present, most of the software architectures for NC engraving machine are without operating system support and not be able to meet various requirements. Those architectures have a simple structure, but the software development cycle is long, the development cost is expensive, the software quality is not guaranteed as well as the portability and scalability is poor. Although a few with commercial embedded operating system such as Windows CE in NC engraving system, the cost of production is high due to expensive royalties. So, it is not good for enterprise developing software with independent intellectual property rights. But if an embedded Linux operating system with open source is used, cost of production can be reduced because no licensing fee is needed and the cross development tool chain is also free. In addition, there are many other advantages such as reduced development time because of open source device drivers and reusable applications, convenient development environment configuration using module function, file system management and easy resolution of a problem from open source communities and so on [5]. On the basis of above, enterprises 978-1-4244-2693-5/09/$25.00 ?2009 IEEE 2894can develop NC software with independent intellectual property rights and other various requirements can also be satisfied. Embedded Linux has recently become a current research focus in embedded system. II. MODEL OF HARDWARE Model is the abstraction of reality which can make clear description ofthe reality. In order to get the engraving control system model, the main hardware parts of the system are abstracted as shown in Fig. I. Fig. ) Model ofhardware The hardware of the NC engraving controller is provided with the architecture ofARM and FPGA (Field Programmable Gate Array). The master control chip of the controller adopts 32-bit RISC (Reduced Instruction Set Computer) ARM microprocessor chip S3C2440 of Samsung Company which based on ARM920T structure. It has high work efficiency up to 400MHz and many kinds of general interfaces, such as integrated UART for serial port, integrated USB, CEMERA, LCD, VGA and Ethernet controllers etc. Furthermore, it provides on chip memory manage unit (MMU) which is used to realize virtual memory management, so as Linux can be easily ported to ARM. The Cyclone FPGA EPlC6 of Altera Company was adopted as the slave chip to lighten the burden of the master control chip. NAND Flash memory is used for non-volatile program and data storage. Main memory is synchronous dynamic random-access memory (SDRAM) and might contain anywhere from a few megabytes to hundreds of megabytes depending on the application. The main processing flow ofthe system is described as follow: keying information of control panel is sent to ARM through serial port. ARM then process and send the corresponding control data to FPGA or display panel. FPGA is mainly doing front-end processing work of sensor and control information [6]. The signals sent by FPGA are transformed and isolated by the adapter panel, and then are sent to the driver which will drive the stepping motor of the engraving machine so as to control the cutting tool path. To realize the functions of homing of engraving and tool changing, the sensor signal of engraving machine will be feed back to FPGA through adapter panel. Information is displayed on display panel which is LCD or VGA. In all, the controller built on embedded technology can reduce the system hardware scale, facilitate application 2895 development, cut down the cost and enhance the system's reliability and real-time performance. III. TASK PARTITION Data flow diagram (DFD) is an important design aid tool in system development, which allows the developer of a system to graphically show the flow of data in the system. DFD describe and analyze system more precisely than any other artifact, specifically in modeling of real time embedded system [7]. The ultimate data flow diagram of the engraving machine system is shown as Fig. 2. A task represents the execution ofa sequential program or a sequential component in a concurrent program. Each task deals with one sequential thread of execution; hence no concurrency is allowed within a task. However, overall system concurrency is obtained by having multiple tasks that execute in parallel. The system decomposition by DFD has already been preliminarily analyzed. The dataflow of the system is clearly revealed, thus functions of the system and dataflow between them can be able to recognize conveniently. The next step is how to identify the concurrent tasks in the system by applying the task structuring criteria and the DFD. Here, the DARTS (Design Approach for Real Time System) method was used to decompose the system into smaller and more manageable units with well defined interfaces between them. Its central theme is to address the key aspects of structuring the system into concurrent tasks and define the interfaces between them. DARTS uses a set of task structuring criteria, which be called H Gomma principles for identifying the concurrent tasks in the system as well as a set of guidelines for defining the communication and synchronization interfaces between various tasks. ,.. - - - - - - - - -.. I I I I Fig. 2 The DFD ofengraving machine The task structuring criteria are a set ofheuristics derived from experience that obtained in the design of concurrent
收藏