Top Banner

of 16

10.1.1.26.1332

Apr 07, 2018

Download

Documents

Ahmed Saleh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/4/2019 10.1.1.26.1332

    1/16

    1

    Structure and Design of

    Building Automation Systems

    Bernd Schrmann

    University of Kaiserslautern

    D-67653 Kaiserslautern, Germany

    e-mail: [email protected]

    Abstract

    Building automation comprises the control and management of the whole building installation

    which is heating, air conditioning, light, security equipment, etc. The overall goal is to reduce

    resource consumption, to increase safety and security, as well as to increase the comfort of the

    people. To reach this goal we need a comprehensive, large distributed control software that

    makes use of the whole equipment.

    This paper consists of three parts: We first give a short overview of the application domain

    building automation to give an impression of the requirements on the control software. We

    then describe the environment in which the control software is embedded. In large buildings

    this is a huge distributed environment consisting of hierarchical busses which connect plentyof sensors, actuators, and small processors. Finally, we present our approach of Hard-

    ware/Software-Codesign of building automation systems. The functionality of the building con-

    trol system has to be partitioned onto a large set of distributed processors which interact via a

    suitable communication system. The design of the embedded control systems has further to

    ensure constraints like maximum reaction times, fault tolerance, and low costs.

    1. Introduction

    The complexity of the installation of buildings is growing rapidly. This can be seen for small

    private houses as well as for large office buildings, plants, and airports. This increasing invest-

    ment in building installation is due to the effort to reduce the consumption of energy and other

    resources as well as for increasing safety, security and the comfort of the people in the build-

    ing.

    Modern microelectronics and microprocessor technology enable intelligent control of all

    functions like heating, air conditioning, security systems, and much more. While today most of

  • 8/4/2019 10.1.1.26.1332

    2/16

    2

    these aspects are controlled individually, in future the partial control systems have to be inte-

    grated for further improvement. Even the assignment of service people may be optimized by

    specialized programs. Modern building automation systems perform complex control loops as

    well as comprehensive supervision, visualization, and optimization functions. The reduction of

    resource consumption and the reduction of staff salary due to increased productivity justify the

    cost of the building installation (hardware and software).

    The Intelligent Building

    In case of completely automated buildings we often use the term Intelligent Building. This

    means that the knowledge and the function for usage, maintenance, and security of buildings

    are represented in computer programs. The microprocessors, on which these programs are run-

    ning, are connected among themselves but also with the sensors and actuators by suitable data

    buses.

    We can see many functions of a building which are suitable for automation. A longer but not

    complete list of such function contains: heat regulation, air conditioning, climate control, light

    control, elevators, access control, security system, fire alarm, power supply, water supply, TV

    and other media, garbage disposal, telephone, and also employee management. The task of

    building automation is the efficient, flexible, and fault-tolerant control of the whole building

    containing all those functions.

    Today, most of the automation functions have their own controllers and often their own data

    networks, too. Building automation is separated in many islands. Only higher supervision

    instances may have knowledge of the state of the whole building. However, this knowledge isgenerally not exploited for optimizing the control system. The knowledge is used for the build-

    ing management level, only. This management level performs central tasks like supervision of

    all automation functions which means visualization of the state of the building, statistics, and

    eventually energy management and other global optimizations.

    The partitioning of building automation into local control functions and a central building

    management leads to a hierarchical automation architecture. The separate implementation of

    the various automation functions as island solutions has historical reasons. Before the automa-

    tion age, each function has been considered by a different industry section. Later, those compa-nies considered process automation for their own function, only, without considering the other

    functions of a building. Only today, we find first experts for integrating the automation of dif-

    ferent functions.

    On the other hand, the island approach also has some advantages. A very important aspect of

    building automation is fault tolerance. As long as each function and the higher management

    level are separated, a malfunction in one component has no effect on other building automation

    functions. Even if the overall management function fails the different control functions may

    still perform their task stand-alone. This kind of fault tolerance must be met by future building

  • 8/4/2019 10.1.1.26.1332

    3/16

    3

    automation architectures.

    Our vision of building automation is a virtually central but physically decentralized, distrib-

    uted architecture. We have one logical control system that combines all sensors and actuators

    of the complete installation in a single large, optimized, and intelligent control loop. A com-

    plex control algorithm optimizes all automation functions together to improve the solution of

    the overall goal stated above: resource reduction and security/comfort increase. The central

    control system is then implemented as a distributed program on a variety of microprocessors

    and intelligent sensors/actuators which are connected by a large homogeneous data network.

    There should be no physical separation between the building control level and the building

    management level which requires new fault tolerance approaches.

    The remaining part of this paper is structured as follows. In section 2 we describe the most

    important part of the building automation hardware, the communication network. We show the

    move from dedicated wiring to central bus structures. The description of our hierarchical fieldbus approach will complete that section. In the following section 3 we then move to the design

    aspects of building automation. Here we describe our idea of designing and implementing the

    central control algorithm on the distributed hardware infrastructure. At the end of the paper, in

    section 4, we shortly talk about open questions and necessary future works.

    2. Communication Systems in Building Automation

    First building automation systems (not only) consisted of separated functions. Sensors, actu-ators, and controllers of such building automation functions have generally been connected by

    point-to-point wiring. This kind of wiring was acceptable as long as only few devices had to be

    connected over short distances. With increasing automation, however, this wiring structure

    became unacceptable. Connecting sensors, actuators, and controllers in building automation

    required bus-based data communication. As it was the case for other automation fields like

    automotive, avionics, and process automation, there was (and is) need for specialized field

    buses which are adapted to the application field. Some aspects one has to consider for selecting

    (or defining) a suitable bus system are

    timing constraints: throughput and reaction time

    Both are moderate for building automation. Field bus systems generally try to guaran-

    tee short reaction times by allowing small data packets only: about 10 bytes compared

    to 1000 bytes with Ethernet for example.

    fault tolerance

    As stated above, fault tolerance is very important in building automation. On the other

    hand, a good system design may define suitable default values and solutions for indi-

    vidual actuators or local subsystems so that individual control function can still work

    even if the overall system fails. If this is the case, fault tolerance is not so important for

  • 8/4/2019 10.1.1.26.1332

    4/16

    4

    the communication system.

    electromagnetic shielding

    This is not so much a problem for building automation as for process automation or

    automotive with powerful motors which may interfere with the data communication

    system.

    number of bus members

    This may become a high value for large buildings.

    cost

    There is demand for inexpensive wires and bus connectors in building automation.

    bus protocol

    The bus protocol should be simple to be implementable on inexpensive bus interfaces.

    Recently, industry established three major field bus systems in the area of building automa-

    tion: EIB which is a standard that dominates the European market, LON a very popular de-

    facto standard in the U.S., and CAN which originally has been developed for the automotive

    area but which becomes more and more popular in the process automation and building auto-

    mation, too. All three bus systems will be described shortly in the following subsection.

    2.1 EIB, LON, CAN

    In Germany, the most frequently installed installation bus, especially in private and office

    buildings, is EIB, the European Installation Bus. An EIB network has a hierarchical structure

    that generally adapts to the hierarchical structure of the building consisting of rooms/offices,

    floors, wings, and so on. An EIB network is divided into several areas which again are divided

    in one or more lines. Nodes, i.e. bus members which may be sensors, actors, controllers, or a

    combination of them, may not only be connected to the lines at lowest hierarchy level but also

    to the backbone wires (figure 1). The bus lines at the different hierarchy levels are connected

    by couplers which cut the subnets electrically and logically. Similarly to routers the couplers

    interpret the addresses of data packets for reducing the net load. Routing in an EIB network is

    area

    main line

    coupler

    coupler

    line

    node Figure 1 EIB network

  • 8/4/2019 10.1.1.26.1332

    5/16

    5

    relatively simple because all nodes only have physical addresses which are also organized hier-

    archically. The address of each node describes its position in the network. The address consists

    of the area number, the line number within the area, and the node number within the line. This

    is similar to the internet addressing with IP addresses containing domain, subnet, and node

    fields. Nodes are assigned to one ore more groups. Signals are sent to all members of a group.

    A maximum sized EIB network consists of 15 areas. Each area has 12 lines each of which

    may connect 64 nodes at most. In total, the network can connect up to 11,500 nodes while the

    distance between any two nodes must not extend 700 m. The cable is a relatively inexpensive

    shielded twisted pair (SDP). Maximum throughput is 9,600 bit/s which is barely sufficient for

    todays control level where controllers, sensors, and actuators communicate with few data

    only. For future applications which combine the various functions and the management level

    of building automation, this small throughput may become the drawback of EIB.

    LON (Local Operating Network) has been developed by Echolon, and therefore it is nointernational standard. Nevertheless, it is the direct competitor of EIB in the U.S. Its primary

    application field is also building automation and it has the same hierarchical structure as EIB:

    network nodes are connected to subnetworks which again are connected to an area. At most

    approximately 32,000 nodes are partitioned into 255 subnets of 127 nodes each. So, the topol-

    ogy is similar to EIB. Also, the hierarchical routing and the structure of the node addresses are

    similar. Similar to EIB, different nodes in one subnet can be assigned to a logical group with a

    special address. A node may belong to up to 15 groups.

    Differences can be found at the electrical level. LON supports Twisted Pair with standard-

    ized RS-485 interface as well optical fiber for higher data rates. The data rates further depend

    on the size of the network. Using STP wires the rates vary between approx. 50 kbit/s if the

    communication length is up about 1.5 km and 1.25 Mbit/s for shorter nets up to 300 m.

    In contrast to EIB, LON does not support the physical communication layer only. LON also

    provides network variables at OSI levels 6 and 7. These are global variables (e.g. temperature

    values) provided to all application programs in the whole network. The values of these varia-

    bles will be updated automatically (and transparently for the application program) by the com-

    munication system.

    The third field bus in our list is CAN (Controller Area Network). CAN has been developed

    for coupling complex controllers and has firstly been used extensively in the automotive area.

    Later-on the application field extended to household appliances, medical equipment, and more

    general process automation. However, it may also be used as an installation bus in building

    automation but until today, in industry, CAN did not yet exceed production lines. Nevertheless,

    a big advantage of CAN are the inexpensive bus controllers due to the large numbers of sold

    controllers in the various application fields.

    The physical layer of CAN is similar to LON. CAN also uses STP and symmetrical RS-485

    interface. The differential voltage levels improve the tolerance against electromagnetic inter-

  • 8/4/2019 10.1.1.26.1332

    6/16

    6

    ferences. The data rates are slightly lower than for LON. CAN allows the transmission of up to

    10 kbit/s over 1 km and 1 Mbit/s over 40 m. A much more important aspect for the bus specifi-

    cation was fault tolerance due to the intended application field(s) with high electromagnetic

    interferences. This is not as important for building automation but was a major reason for

    CANs success in process automation.

    The problem of using CAN in building automation is the fact that CAN is a simple bus only.

    CAN does not define hierarchical networks as it is the case for EIB and LON. Although we

    currently find more and more couplers for connecting CAN buses to larger networks routing in

    CAN networks is much more complicated than in EIB or LON networks. These couplers, pro-

    vided by some companies, are small microprocessors with two CAN interfaces. The absence

    of hierarchical addresses (CAN defines an 11 bit or 29 bit uniform address space. Addresses of

    bus nodes are assigned logically but do not describe the positions of the nodes in the network)

    requires more or less large translation tables in the bus couplers. These tables are necessary toreduce the bus load by splitting network segment not only physically but also logically. A pro-

    totype implementation of such a coupler that has been developed in our group will be

    described below.

    In the following subsection 2.2 we describe how we build a hierarchical network based on

    CAN buses. Our reason for choosing CAN for building automation are the inexpensive and

    very well supported bus controllers. This allows us to implement intelligent sensors and actua-

    tors with bus interface easily.

    2.2 Hierarchical CAN Bus SystemsOriginally, CAN was specified as a single bus system with an 11 bit uniform address space.

    This is sufficient for automation in automotive but not for larger process automation systems or

    building automation. In a recent extension, CAN 2.0B has been specified with 29 bit identifiers

    whose values represent priority values but not topological addresses.

    Due to physical restrictions we need a hierarchical network in building automation as it is

    the case for EIB or LON (see above). In larger buildings, bus length may easily become several

    hundred meters. For achieving high data rates (which will be necessary for implementing pow-

    erful control of more than one function) and reducing the bus load (many messages must beexchanged inside a room, a floor, or a wing only) it is desirable to split the network in smaller

    subnets. A simple configuration with two hierarchy levels is shown in figure 2. Here, we have

    several subnets which are connected by a (high-speed) backbone.

    Generally, all sensors and actuators are connected to the buses at lower/lowest hierarchy

    level. The backbone only connects the subnets. Controllers may also be attached to the back-

    bone. The backbone may therefore be implemented by two technologies. One possibility is to

    use a field bus, in our case CAN, as backbone, too. Then, we have to extend the flat address

    space to a hierarchical one at the application level (as we stated above, CAN itself does not

  • 8/4/2019 10.1.1.26.1332

    7/16

    7

    support hierarchical addresses at the lower communication levels). Alternatively, we can use

    simple LAN technology for the backbone. There already exist CAN-LAN gateways as well as

    LAN controllers for nearly all microprocessor systems on the market. At a glance, simple LAN

    technology, e.g. Ethernet, would be the best choice for the backbone since it can be used for

    general data communication, too.

    We agree that LAN technology is suitable for bridging large distances, e.g. between two

    wings, because separated wings of buildings can be controlled individually and communica-

    tion is necessary at the management level, only. On the other hand, if we already need a hierar-

    chical solution within a floor or other smaller area, then a field bus as backbone is more

    suitable. In this case direct communication between sensors and actuators of different subnets

    may be necessary. LAN technology would then prevent real-time communication (more pre-

    cisely fast reaction times) and other advantages of field bus technology. In addition, communi-

    cation from one CAN bus segment into another over a LAN makes addressing and routing

    more complex. The CAN identifier of the target node has firstly to be converted into a LAN

    address by the CAN-to-LAN gateway for routing into the target subnetwork and secondly to be

    encoded within the data section of the LAN data packet to be available for addressing within

    the target subnet.

    In our group we therefore decided to implement a prototype building automation environ-

    ment based on a hierarchical CAN network. Within the scope of a master thesis we developed

    a CAN bridge shown in figure 3 (if we define hierarchical addresses as we have seen with EIB

    or LON then bridges are sufficient for data routing). The heart of the bridge is a simple 8 bit

    microprocessor with one internal CAN interface. A second CAN interface has been attached to

    network controller

    high-speed backbone

    room/flloorA

    room/floorB

    floor/wing

    subnetA

    1

    subnetB

    2

    subnetB

    1

    CAN

    controller /bridge, router

    CAN

    Figure 2 Hierarchical

    CAN network

  • 8/4/2019 10.1.1.26.1332

    8/16

    8

    the microprocessor bus as an I/O device. The specification of the bridge was to connect a

    1 Mbit/s high-speed backbone (attached to the internal CAN controller) with a slower 125

    kbit/s subnet (attached to the external CAN controller). The router is able to forward a message

    from the subnet into the backbone (and vice versa) within approx. 50 ms. Since the microproc-

    essor is not very powerful it was necessary that the CAN controllers already perform part of

    the address filtering in hardware. This is possible by masking the CAN controllers with special

    address masks which reduce the address space a lot. Multicast can then be done in a limited

    way only.

    In the subnets we also use simple and inexpensive CAN controllers with 125kbit/s interface

    and 4 bit free address space only. These controllers, called SLIOs (Serial Linked I/O), deter-

    mined the subnet specification for the bridge. The limited address space restricts us to 16

    SLIOs in one subnet. On the other hand, we want to use more than 16 SLIOs in several sub-

    nets. We therefore implemented an address conversion function into the bridge that converts a

    global 16 bit/29 bit identifier of a SLIO into its physical 4 bit identifier that has to be unique in

    its subnet only.

    In the case that CAN controllers are too expensive (and too powerful) for a single sen-

    sor/actuator we decided to use simple Dallas sensor circuits which communicate via a primi-

    tive Dallas 1-wire bus. Using those circuits we replace the CAN bus at lowest hierarchy level

    by the Dallas 1-wire bus. For this case we exchange the external CAN controller of the bridge

    80C592

    CAN Contr. 1

    W

    RRD

    PSEN

    A

    LE

    GAL

    CAN

    EPROM

    RAM

    Contr. 2CAN-

    Transc.

    CAN-Transc.

    DIP

    CS1 CS4

    Port 4

    Port 5

    databus

    addressbusA0A15

    CAN backbone

    CAN subnet

    Status LEDs

    Single Chip CPU

    Figure 3 CAN bridge based on an 8 bit

    8051 microprocessor.

  • 8/4/2019 10.1.1.26.1332

    9/16

    9

    by a 1-wire busmaster. We implemented this controller by a Xilinx FPGA. Details of this 1-

    wire busmaster are beyond the scope of this paper.

    Since we now know the structure of our building automation hardware infrastructure based

    on a hierarchical CAN network we now show how the application system can be implemented.

    3. HW/SW Codesign of Building Automation Systems

    Figure 4 shows an overview of our approach of embedded system design. It shows all steps

    from problem description up to the final product integration in a rough diagram. Iterations in

    the design process which are typical for such a complex task are neglected to make the process

    easily understandable. However, iterations and backtracking may take place at all steps of the

    system development process.

    The upper part of the diagram shows the requirement analysis and the system design phases.Using the problem description document, the architectural description of the building under

    design, and general information about building automation we perform requirement analysis

    and we set up the object structure of the complete control system. The output will be, in our

    case, SDL diagrams describing the design specification which are input for the following

    HW/SW codesign phase. These SDL diagrams describe hierarchical systems of interacting

    independent processes. They should provide maximum possible parallelism which may partly

    problem description

    requirement analysis& object structure&SDL diagrams

    HW/SW codesign

    design specification

    implementation spec.

    code generation

    code (SW)

    building architecture

    building automation

    simulator generation

    prototype generation

    prototype generation

    HW synthesissynthesis of OS and

    communication system

    (distributed) HW system software

    prototype

    simulator

    (partitioning)

    integration and test

    prototyping

    HW/SW codesign

    Figure 4 Design process of a building automation system.

    knowledge

  • 8/4/2019 10.1.1.26.1332

    10/16

    10

    be sequentialized later-on during the codesign phase. We use this approach because it is much

    more easy to sequentialize parallel processes than to search for inherent parallelism in sequen-

    tial behaviors.

    A first step of HW/SW codesign is a very important partitioning step. In this step we gener-

    ate the implementation specification which contains the specification for the hardware selec-

    tion or hardware generation task as well as the specification of the control software which

    finally has to run on that hardware. The SDL processes will be partitioned with respect to the

    specified hardware. If we decide to use specialized operating and communication systems

    which are adapted to the considered control system, that system software has to be described in

    the implementation specification, too. After generating the hardware, software, and system

    software concurrently, the final step will be the system integration and its test.

    Many additional constraints have to be met during the whole design process. If we check

    those constraints after completing the integration phase of the complete control system, exten-sive backtracking steps will be the result. However, backtracking and design iterations are

    time-consuming and therefore expensive.

    In our approach we try to validate the intermediate result after each design step by prototyp-

    ing to avoid extensive backtracking steps. This prototyping can be done by making all models

    and design documents executable. Using a building simulator and partly the actual hardware

    infrastructure of the control system the design documents are then validated as far as it is pos-

    sible for the current design state. In the optimal case this iterative refinement approach reduces

    the necessary design iterations and backtracking steps to a minimum.

    In this paper, we dont want to describe this prototyping approach in more detail. This is the

    topic of the contribution Modeling Embedded Digital Controllers. We restrict ourselves to

    the lower part of figure 4 for the rest of this paper. In the following, the HW/SW codesign

    phase will be further described.

    Shift in Design Methodology

    During the almost 30 years of design automation we witnessed three different design meth-

    odologies, especially for the hardware design. In temporal order these methodologies are gen-

    erally called capture&simulate, describe&synthesize, and specify-explore-refine. The capture&simulate approach starts with an informal requirement specification

    from which designers first set up a rough block diagram of the circuit, i.e. of the prod-

    uct to be developed. Each of the functional blocks will then be implemented by a net-

    list by using graphical schematic entry tools. All design decisions have to be done

    manually by the designer. After completing the circuit by hand, the circuit will then

    be simulated and verified with respect to functionality and timing behavior. This

    approach is feasible for small circuits, e.g. circuits at gate level.

    The currently mostly used approach is describe&synthesize. The specification and

  • 8/4/2019 10.1.1.26.1332

    11/16

    11

    with that the functionality of the circuit is described by a hardware description lan-

    guage (HDL) like e.g. VHDL. The circuit will then automatically be generated by

    CAD tools, more exactly by logic or high-level synthesis tools. Circuit synthesis is

    state of the art at RT level and pretty well examined at processor level.

    While system design has been done manually until today, research is now looking for

    computer aid at system level. Due to the huge design space we have to examine during

    HW/SW codesign, there has been no describe&synthesize approach at this high

    level until today. The overall design decisions of the current specify-explore-refine

    approach are done manually while CAD tools are mostly used for individual explora-

    tion steps. Intermediate steps may be done by the two former approaches cap-

    ture&simulate and describe&synthesize.

    The Specify-Explore-Refine Approach

    In the specify-explore-refine approach at the system level the designer first chooses a tech-

    nology, he allocates some components which have to be part of the final system and then he

    specifies all requirements the final system shall fulfill. In addition, the designer specifies all

    further constraints. After that, the exploration step takes place. The designer generates design

    alternatives and simulates or validates each design alternative with respect to the requirement

    specification and the additional constraints. When he/she decides for one of the design alterna-

    tives the specification will be refined by adding structural information.

    With that, the specify-explore-refine approach can be supported by a CAD system that is

    somehow similar to a blackboard system. As shown in figure 5 all design data like requirementanalysis data, specification data, and structural information are stored in a central uniform data

    representation, i.e. an abstract HW/SW model. All CAD tools like synthesis, analysis, simula-

    tion, etc. are placed around that central data repository. A sample list with several such CAD

    tools is shown in the upper part of figure 5. Most important at system level are good analysis

    and simulation tools.

    An example of how complex the design space can be is shown in the lower part of figure 5.

    The diagram shows some design solutions of an embedded controller for controlling the vol-

    ume measurement in the medical area by using supersonic waves [6]. The designer could useone of three available chip sets, all with different performance and cost values. Furthermore,

    the designer could allocate one or more chips from one chip set and he/she could add a stand-

    ard processor for implementing those parts of the controller in software which are not time

    critical. The diagram in figure 5 contains three curves representing the three different chip sets.

    The dot in the top-left corner represents pure software solution (i.e. using a standard processor

    only) which is the most inexpensive and the slowest solution. In the bottom-right corner we

    find the most expensive but fastest solution. All other points in the diagram describe compro-

    mises in term of cost or in term of speed. In general, we do not find a solution in the lower-left

  • 8/4/2019 10.1.1.26.1332

    12/16

    12

    corner which is the fastest but also the cheapest possible solution.

    Note that the diagram in figure 5 already contains 15 different solutions which have to beevaluated although the diagram considers two aspects of the design space only. The diagram

    considers the most important parameters which are speed and cost. However, there may be

    much more constraints which must also be met. Several of those constraints are shown in the

    lower-right part of figure 5. Besides speed and cost it may be important that the solution is fault

    tolerant (which is important for our application field building automation), that the power con-

    sumption is low if we design portable devices, or the recyclability has to be considered due to

    constraints by law.

    The specify-explore-refine approach is used for nearly all system designs. Besides the

    example shown above, [14] and [15] describe two real designs from GMD (engine control in

    automotive and video manipulation in multimedia) and [13] describes the design of a portable

    computer as interactive blueprints used by technicians. In all cases the CAD support concen-

    trates on a good data management, interactive representation of design decisions and - what is

    most important - comprehensive design validation, simulation, and profiling. The same holds

    for nearly all commercial design systems. The HW/SW partitioning step which is a centrals

    aspect of HW/SW codesign has mostly to be done manually. Literature therefore often speaks

    of HW/SW cosimulation instead of codesign.

    However, real codesign systems, which we mostly find in the research community (e.g.

    1200

    1000

    800

    600

    400

    2000 20 40 60 80 100 120

    pure SW solution ( processor)

    runtime [ms]

    cost [$]

    performance analysis

    reliability analysis

    verification

    synthesis

    simulation

    other analysis

    identification ofbottleneck

    generation ofdesign alternatives

    analysis ofdesign alternatives

    further constraints:

    reliability, fault tolerance

    real time, power consumption

    size/weight, memory restrictions

    upgradability, durability

    user-friendly, recycability

    short design time

    ...

    uniform data representation

    (abstr. HW/SW model)

    Figure 5 Specify - Explore - Refine approach.

  • 8/4/2019 10.1.1.26.1332

    13/16

    13

    [2], [3], [4]) and which perform the partitioning step automatically, support the specify-

    explore-refine cycle, too. These systems support design processes which are similar to the

    process shown in figure 6. All data including the system specification and all constraints are

    stored in an internal representation. HW/SW partitioning is based on these data. After imple-

    menting hardware and software concurrently and integrating all hardware and software com-

    ponents to achieve the overall system, an extensive analysis and simulation phase results in

    (new) profile data of the system which are used for feedback and design iterations based on

    improved partitioning steps.

    A hot topic and very important research topic that is currently evolving in embedded system

    design is the compilation task. As we described above, system level design means generating

    many different solutions which have to be tested. The designer generally has many different

    hardware environments as basis for the same software. He/she therefore needs a compiler with

    one frontend but a generic backend which can be adapted to the different (generated) hardwarestructures. These compilers are called retargetable compilers [12]. The input of such retarg-

    etable compilers is not only the source code (as it is for general compilers) but also a descrip-

    tion or model of the instruction set and/or structure of the hardware platform.

    The PLAYOUT Prototype Design System

    Figure 7 gives an overview of the PLAYOUT design system, the prototype system devel-

    library

    interaction with

    the designer

    mostly Cbut also SDL, Esterel,

    prototyping,

    co-simulation

    Statecharts, ...

    feedback: analysis results ofthe former design step

    specification constraints

    system integration

    partitioning

    HLS /compiler

    analysis /

    simulationprocessorselection

    internalrepresentation

    HWe.g. VHDL

    SWe.g. C progr. profile

    Figure 6 General codesign approach.

  • 8/4/2019 10.1.1.26.1332

    14/16

    14

    oped in our group. It has originally been developed for the design of VLSI ASICs. Since its

    overall structure is similar to that described in figure 5 it can easily be extended to HW/SW

    codesign at system level. The kernel of our PLAYOUT system also is a central design database

    and a tightly attached design management component. By interacting with the database the

    design manager keeps track of the current design state, the possible design alternatives, and it

    is responsible for managing the individual design steps. Design decisions themselves have to

    be done by the designer. The PLAYOUT kernel only supports the designer by a convenient

    interactive user interface and various analysis tools.

    Attached to the PLAYOUT kernel we can see several design tools in figure 7. All tools com-

    municate with the database via an own exchange format which is easily extendable for new

    design tasks (as it is necessary for extending PLAYOUT from hardware level to system level).

    All design tools in figure 7 which are emphasized by the gray background have been taken

    over from our hardware design system. They are still necessary when extending the design

    space from processor level to HW/SW system level. Those tools are structural circuit design

    tools like module generators and schematic entry, a repartitioner, and physical design tools like

    chip planning, cell synthesis, and so on. Some tools have been implemented in our group while

    other tools or systems have been developed elsewhere and integrated in PLAYOUT, only (e.g.

    MIMOLA from University of Dortmund, TimberWolf from University of Washington).

    Additional tools which we need for HW/SW codesign at system level are indicated above

    the gray rectangle in figure 7. Those tools comprise the list of all system modeling tools (e.g.

    Schematic Entry Schematic Entry

    Schematic Entry

    Schematic Entry

    Schematic EntrySchematic Entry

    Schematic Entry

    Schematic Entry

    PLAYBASEprototype

    schematic entry

    repartitioning

    area

    chip planning

    cell synthesis

    chip synthesis

    MIMOLA(ext. syutem)TimberWolf(ext. system)formatcnvrt

    formatcnvrt

    estimationDESIMA

    ...

    ...

    design database

    Schematic EntrySDT(ext. system)

    formatcnvrt

    Schematic EntryCC

    analysis

    analysis

    . . .

    . . . . . . . .

    ...

    ..

    .

    designmanagement

    Schematic Entrypartitioning

    Figure 7 PLAYOUT design environment.

  • 8/4/2019 10.1.1.26.1332

    15/16

    15

    the SDT or Statemate system modeling environments), software development tools like com-

    pilers, debuggers, and simulators, as well as HW/SW partitioning tools.

    With this architecture, PLAYOUT supports the specify-explore-refine approach in an

    ideal manner. Many different tools support the designer within the specification, exploration,

    and refinement phases while analysis tools, simulators but also the PLAYOUT kernel (data-

    base and design manager) help the designer in finding and making design decisions.

    4. Open Questions and Future Work

    Embedded system design, independently of whether in building automation or other process

    automation areas, has already been done in academia and industry for quite some time. Never-

    theless the design still is a kind of artwork that needs experienced designers. Design automa-

    tion and CAD support are still in the beginning.More extensively examined are pure software and pure hardware design. In these areas we

    find many tools like compilers and synthesis. At the system level HW/SW codesign generally

    follows the specify-explore-refine approach. Only few academic institutes try to perform

    HW/SW partitioning automatically. The basic hardware architecture used by those institutes

    consist of a standard processor and a synthesized coprocessor which exchange data over a

    common bus and shared memory. But this architecture cannot be used for the distributed envi-

    ronment of building automation.

    Building automation is based on an environment consisting of sensors, actuators, and sev-eral (small) controller which are wide-spread over the whole building. Due to cost restrictions,

    off-the-shelf hardware should be used as far as possible. Retargetable compilers may be advan-

    tageous to be flexible during selection of appropriate controllers for the different tasks.

    Due to these hardware restrictions (many inexpensive and distributed components) HW/SW

    codesign for building automation goes beyond current HW/SW design systems like Cosyma

    [4] and Polis [2]. Hardware synthesis will be necessary and profitable only if we need new

    intelligent sensors and actuators. In those cases we can think about implementing part of the

    control functionality in these intelligent field devices. In all other cases, partitioning at system

    level can be reduced to partitioning the control functions among the various existing control-

    lers.

    Although HW/SW codesign for highly distributed systems is a new research topic we are

    optimistic to achieve good results (which may be applicable in praxis) due to our restriction to

    a very specific applications field: building automation.

  • 8/4/2019 10.1.1.26.1332

    16/16

    16

    5. References

    [1] R. Airiau, J.-M. Berg, V. Olive, Circuit Synthesis with VHDL, Kluwer, 1994[2] F. Balarin, M. Chiodo, A. Jurecska, H. Hsieh, A. L. Lavagno, C. Passerone, A. Sangio-

    vanni-Vincentelli, E. Sentovich, K. Suzuki, B. Tabbara, Hardware-Software Co-Design

    of Embedded Systems: The Polis Approach, Kluwer, 1997[3] G. de Micheli, Hardware/Software Codesign, Kluwer, 1996[4] R. Ernst, J. Henkel, T. Benner, W. Ye, U. Holtmann, D. Herrmann, M. Trawny, The

    COSYMA Environment for Hardware/Software Cosynthesis of Small Embedded Sys-tems, Microprocessors and MicrosystemsVol. 20, No. 3, 1996

    [5] D.D. Gajski, N. Dutt, A. Wu, S. Lin, High-Level Synthesis: Introduction to Chip andSystem Design, Kluwer, 1992

    [6] D.D. Gajski, F. Vahid, S. Narayan, J. Gong, Specification and Design of Embedded Sys-tems, Prentice Hall, 1994

    [7] D. Harel, M. Politi, Modeling Reactive Systems with Statecharts: The StatemateApproach, i-Logix Inc., 1996

    [8] IEEE Design & Test of Computers, special issue Hardware-Software Codesign, Sep-tember 1993

    [9] IEEE Micro, special issue Hardware-Software Codesign, August 1994[10] S. Kumar, J.H. Aylor, B.W. Johnson, W.A. Wolf, The Codesign of Embedded Systems,

    Kluwer Academic Publishers, 1996[11] W. Lawrenz, CAN system engineering: from theory to practical applications,

    Springer-Verlag, 1997[12] P. Marwedel, G. Goossens (ed), Code Generation for Embedded Processors, Kluwer

    Academic Publishers, 1995[13] A. Smailagic, D.P. Siewiorek, A Case Study in Embedded-System Design: The VuMan

    2 Wearable Computer, IEEE Design & Test of Computers, Sept. 1993[14] M. Theiinger, P. Plger, H. Veit, u.a. Untersuchung zum Codesign einer Dieseleinsp-

    ritzregelung mit CASTLE, GMD-Studien Nr. 306, Dezember 1996, in German[15] J. Wilberg, R. Camposano, VLIW Processor Codesign for Video Processing, Journal

    Design Automation for Embedded Systems, Nr. 2, 1997]