Industrial Loudspeaker System Design
Client
A European provider of industrial communication and safety systems for manufacturing enterprises.
Â
Challenge
To develop embedded software for serverless telephony devices that will be used for loud-speaking industrial communication at manufacturing plants and shop floors.
Â
Solution
1. Hardware Design
The ready-made industrial speaker system consists of several devices:
- A unit with a replaceable microphone and a built-in keypad with an indication and dialing field installed in the control rooms.
- A UPV device with a built-in microphone and a built-in keypad installed on the shop floors.
- An interface board.
During the hardware design process, we employed the following components:
- STM32F777IIT6 microcontroller in LQFP-176 package by STM;
- 2 SRAM 256K x 16 chips of IS61LV25616AL type, connected to 32-bit data bus, with byte-by-by-byte access by ISSI;
- TLV320AIC3254-Q1 PCM audio codec/decode on SAI interface by Texas Instruments;
- Ethernet PHY controller DP83848IVV over MII interface by Texas Instruments;
- SN65HVD232D CAN transceiver by Texas Instruments;
- separate Ethernet transformer type HX1188NLT;
- STM32F103R8T6 microcontroller in LQFP-64 package;
- CAN transceiver SN65HVD232D.
Â
2. Software Development
We've developed embedded software for the keypad and backlight control module, a module for data exchange, and test modules for checking the performance of individual nodes.
To configure the core and peripherals of the STM32F103R8T6 microcontroller, we used the STM32CubeMX environment in conjunction with the library HAL from ST. That reduced the configuration time of the core clocking system, MPU, peripherals and driver development for external peripherals.
To implement multitasking and control data exchange processes between software modules, we used FreeRTOS in conjunction with the CMSIS-RTOS API. We have developed a separate software module to interrogate the keys of the built-in keyboard and control the key backlight.
We also developed and implemented the following components:
- the CAN bus driver to exchange data between the system boards; a software module based on the LwIP library to exchange data between the system boards;
- JSON communication to exchange data when establishing a connection.
Tools we used within the project:
- Language: C++.
- Development environment: Qt Creator, qbs builder.
- Debugging tools: OpenOCD, ITM module built into the ARM kernel.
Â
Business Value
Our client received an industrial loudspeaker system for operational communications in harsh and dangerous environments, where reliability, durability, convenience and ease of operation are vital. The equipment can be integrated with communication and security systems of other manufacturers.