|Download this article in .PDF format
This file type includes high-resolution graphics and schematics when applicable.
Human-machine interfaces (HMIs) have evolved considerably in the past decade, driven by many technical innovations. For industrial applications such as process control, factory equipment monitoring, and many others, innovations in HMIs have enabled these systems to expand beyond simple monitoring functions and become information and control portals of many industrial systems.
Modern HMI systems often incorporate rich displays, multiple data-input methods, LED-based indicators, non-volatile and volatile local storage, and a host of communication interfaces. Given the multitude of functionality that can be added to modern HMI systems, modularity and connectivity between the various functions and the main processing unit has become an important design control point for optimizing how HMI systems are designed for different applications (Fig. 1).
One of the most critical functions served by an industrial system’s HMI unit is providing predefined status feedback in the form of LED indicators, as well accepting user inputs such as key presses. Supporting multiple LED indicators and function buttons in an HMI implementation can quickly exhaust available general-purpose input/output (GPIO) resources of the supporting microcontroller or processor used in the HMI implementation.
I2C I/O Expanders
One solution that’s become popular is the inter-integrated circuit input/output (I2C I/O) expander. I2C I/O expanders allow system designers to increase the number of GPIO lines available on the system processor by simply connecting an I2C expander device to the I2C bus port commonly found on most microcontrollers and processors. I2C I/O expander devices are available in a wide array of I/O count options, enabling an HMI system designer to incorporate the optimal amount of additional I/O needed to implement the appropriate number of LEDs and buttons for the HMI unit (Fig. 2).
2. I2C IO expansion is used to control multiple GPIO-based interfaces.
In addition to providing the extra I/Os needed for a HMI implementation, I/O expanders also let system designers select microcontrollers and processors with the optimal amount of interface resources, rather than having the number of I/Os dictate the scale of the controller resources. By selecting the correct combination of microcontroller and I/O expansion, a designer can often reduce system cost as well as system power dissipation while creating a more scalable design.
Handling I2C Bus Overload
HMI designers are implementing more modular design approaches to enable multiple variations of a core HMI design, so that they can address differing market requirements in terms of functionality and price points. One challenge associated with the modular design approach concerns differing amounts of capacitive loading that must be supported on the system’s I2C control bus.
Capacitive loading will vary depending on how the core HMI unit is provisioned for a given market. For example, a feature-rich HMI unit will have more devices connected to the I2C control bus compared to an HMI unit with fewer features.
Overloading an I2C bus can lead to signal-integrity issues, resulting in a system malfunctioning. To overcome the problem of overloaded I2C control buses, designers are turning to I2C signal buffers or I2C signal extenders. Thus, the I2C bus will be able to handle loading conditions that exceed the I2C maximum standard of 400 pF (Fig. 3).
A good rule of thumb is to start considering an I2C buffer or extender device when the loading on the I2C bus starts to exceed the 200- to 300-pF range. I2C buffers are available in a wide variety of package and voltage options. In addition, many I2C buffers have level translation capabilities built-in to support any potential voltage-domain differences between the I2C master and peripheral devices. HMI systems designers that desire scalable HMIs with longer lifecycles should consider making provisions in their design for an I2C buffer or extender device as a way to future-proof their design’s control bus.
SD Card Support
Another key feature being integrated into modern HMI units is secure digital (SD) memory-card support. With SD memory-card support, HMI users can download a large amount of system data, such as data logs, as well as upload critical firmware updates and perform system diagnostics on the HMI unit.
However, one key implementation issue confronts designers when implementing SD card support: Reconciliation of the different voltage domains between the SDIO (SD card data and control lines) interface and the lower voltage I/O of the system microcontroller. When the SDIO and the microcontroller I/O voltage levels aren’t compatible, designers often turn to integrated level-shifter solutions to help reconcile between the differing voltage levels of the two interfaces (Fig. 4).
Integrated level shifters provide a more robust solution versus discrete component-based level-shifting. This is especially true for SDIO types of interfaces involving multiple higher frequency data lines that need to have consistent performance specifications, such as propagation delay over temperature.
When using discrete level-shifter solutions, transistors and resistors for SDIO are likely to encounter larger performance variability over temperature. This makes them a less than optimal choice for SDIO implementations targeted at industrial environments. Moreover, discrete -component-based level-shifter implementations can only operate at specific target voltages, while integrated level-shifter solutions give designers much more flexibility by supporting a range of input and output voltages.
Such voltage flexibility is especially useful when core components of a design need to be changed. Design changes often mean that discrete level-shifter designs must be re-engineered, which usually isn’t the case with integrated solutions.
Other sections within an HMI system, such as audio codecs and LCD segment displays, also often require integrated level-shifting solutions. An array of integrated level-shifter solutions are available today, including application-specific solutions optimized for SD card, audio codec, memory, and display implementations.
As modern industrial HMI systems evolve to support more functionality and a higher level of interactivity with users, system designers are likely to leverage solutions such as I2C IO expansion, I2C buffering, and integrated level shifters within their implementations. These solutions enable designers to add new functionality to their HMI designs while meeting power, cost, and development time constraints faced by all designers. Ultimately, by using the appropriate system connectivity solutions, HMI designers will be able to realize robust and competitive implementations for their industrial applications.