Embedded Fire Alarm System Design
Project in Nutshell: Commissioned by a European security market leader, we designed an embedded fire alarm system with advanced security features to improve the safety of facilities and personnel. This was a complex engineering challenge with software development and the design of a modular hardware platform with 7 boards. The ready-made system was powered by components and technologies from our partners: STMicroelectronics, NXP, and Qt Group.
Client & Challenge
One of the leaders in the European security systems market turned to us to design hardware and develop software for a fire alarm system. The project involved the design of circuit boards without an enclosure. All PCBs were planned to be installed inside telecommunication cabinets.
1. Our Interaction with Client
The communication between our client and the Promwad team during the project involved working together with regular bi-weekly meetings. It was a long-term project as the hardware design and software development involved the creation of seven boards based on the STM32 family of microcontrollers and the NXP iMX6 series of applications processors.
2. Concept Development
Our engineering team proposed a modular approach for the system design.
The devices communicate via RS-485 lines, using a communication protocol developed by our engineers. The system status is displayed on the touchscreen connected to one of the system’s modules.
The list of developed printed circuit boards and their functional purpose are shown in table:
2. Hardware Design & Software Development
We developed hardware and software for seven boards. Hardware is based on the microcontrollers STM32F1 series by STMicroelectronics and IMX6 processors by NXP. Software is developed using Qt Creator.
Figure 1. Module boards #1 and #2 for the fire alarm monitoring system
Module #1 digitises input states and transmits them via RS-485. Module #2 changes the status of outputs by command.
Modules' #1 and #2 hardware is based on the simplest STM32F1 series microcontrollers. The modules' 24VDC input power supply is converted to a board operating voltage via DC/DC converters. The power supply is also galvanically isolated.
Modules #1 and #2 implement the Slave protocol, so the device responds to requests from the Master protocol and transmits/sets the status of external contacts. The Slave protocol is implemented via RS-485 via UART in direct memory access mode. Other system modules similarly implement Master and Slave protocols.
Figure 2. Module board #3 for the fire alarm monitoring system
Module #3 performs line impedance measurement (connected speakers), measuring resistance range from 10 Ohms to 1kOhm, +-5% accuracy. Also, it controls the input and output switching relay.
We based module #3 hardware on the STM32F4 series microcontrollers. The modules' 24VDC input power supply is converted to the operating voltage of the board by using DC/DC converters. The control lines are switched by a relay unit, which also communicates with the system via RS-485. With ADC and DAC in direct memory access mode, it measures the impedance of the line to which the load is connected by generating a 20kHz sine wave.
Figure 3. Module board #4 for the fire alarm monitoring system
Module #4 plays audio messages from a microSD card on command. Its hardware is based on the simplest STM32F1 series microcontrollers by STMicroelectronics. The modules' input 24VDC power supply is converted to the operating voltage of the board by using DC/DC converters. An external DAC chip performs audio signal conversion from digital to analogue.
Module #4 has the following key functions:
- Implements SD card connection via SDIO in direct memory access mode.
- Provides file system operation using the FatFS driver library.
- Plays "*.wav" and "*.mp3" files by transmitting PCM data to an external DAC chip connected via I2S in direct memory access mode, depending on received commands via the RS-485 line.
- Encodes/decodes "*.mp3" files using the Helix driver library.
Figure 4. Module #5 and a processor module board for the fire alarm monitoring system
Module #5 receives four audio streams over IP, plays them back over analogue communication lines, digitizes input, and transmits them over IP. It also plays back messages from microSD cards.
Module #5 hardware is based on the IMX6 series ultralight processor module. The module's input power supply is 24VDC. The board also has a codec for converting digital signals into audio (4 symmetrical input and 4 symmetrical output channels).
A transformer is installed on module board #5 for connection to an IP network, while the rest of the Ethernet physics is implemented on the processor module board. A microSD memory card can be connected to module board #5 to enable playback of the recorded audio data.
The processor module performs the processing of the keypad button presses and displays information.
Depending on the commands received through the IP network or RS485 line, the module can perform the following functions:
- Convert selected IP-audio stream to selected analogue audio output.
- Broadcast the selected audio file on SD to the selected audio analogue production.
- Organize an audio file queue.
- Convert IP commands into 485 subsystem commands and vice versa.
Figure 5. Module board #6 for the fire alarm monitoring system
Module #6 displays and enters information into the system via a keypad. From a hardware point of view, it consists of a PCB with connectors and passive components for connecting the keyboard, display and modules #5 or module #7 for data exchange.
Figure 6. Module board #7 for the fire alarm monitoring system
Module #7 controls data flow (construction of system algorithms, RS-485 flow switching). Its hardware is based on the IMX6 series ultralight processor module by NXP. The modules' input power supply is 24VDC.
Module #7 is used to network upstream and downstream stages. It has one RS485 line operating in Master mode and 8 RS485 lines operating in Slave mode.
Module #7 software also includes the following:
- DHCP client;
- SSH server;
- HTTP server;
- secure firmware upgrade scripts.
The client received a fire alarm system with advanced security features for industrial use. The project involved the hardware design and software development for 7 circuit boards without an enclosure. All PCBs were installed inside telecommunication cabinets.
Here are the main advantages of the fire alarm system developed for our client:
- The most available components on the market are used.
- The same processor module is used for several modules.
- Use of modern CAD for hardware design.
- The RS-485 communication protocol supported a high degree of network splitting.
- Printed circuit boards are designed without enclosure to be placed on mounting plates.
- QtQuick1 libraries were used to develop graphics primitives on Qt Creator because the processor did not support graphics acceleration.