Hardware Platforms - Infineon/pas-co2-sensor GitHub Wiki
Supported Sensors | Supported MCU Platforms |
---|---|
PAS CO2 Sensor S2Go | Verified MCU Boards |
PAS CO2 Sensor Stand-alone | |
Other MCU Platforms |
More information about the PAS CO2 Sensor Shield2Go
- Getting Started. Check this Arduino getting started tutorial using this Shield2Go.
- Quick Start Guide S2Go (Coming soon)(Arduino)
More information about the PAS CO2 Miniboard
- Getting Started. Check this Arduino getting started tutorial using this Miniboard.
- Product page
The library has been designed to support a complete software control of the sensor hardware interfaces.
The essential UART, I2C, PWM and Interrupt interfaces are commonly directly connected (with the proper hardware interface circuitry) to the microcontroller. The rest of the configuration and power pins will usually be fixed by the hardware system design.
In this library, the possibility to control these interfaces by software from the controller is provided. The hardware must be configured conveniently between sensor and controller if the software control of such interfaces is required.
In order to enable/disable the 12V emitter or/and the 3.3V logic circuit power supplies, an electrically equivalent circuit to the switched option (1) of the diagram below needs to be implemented.
PSEL decides the serial protocol to be enabled in the sensor: I2C or UART. For I2C, the pin must to be pulled to ground. If UART is desired, PSEL needs to be connected to VDD.
In order to be able to control it by software, the following circuit configurations are suggested.
A pull-up will by default configure the sensor serial interface to UART if no software control instance is provided in the library. While a pull-down resistor will by default set the serial interface to I2C.
During the sensor initialization, the software will automatically set the appropriate value of PSEL depending on the higher level API serial interface selection.
Please, be aware that the TX and SDA are the same pin in the PAS CO2 sensor module. The I2C requires pull-ups in the SDA and SCL lines to work. While the UART lines usually do not require it. It should still be fully functional with that pull-up resistor, and that will allow the serial interface to be selectable via software. But keep into considerations the limitations of the serial physical interfaces of your hardware and MCU ports capabilities and configuration options.
One remark which is important here is that selection of serial interface (through PSEL) is configured and fixed during the sensor power-up (or power-on reset). Therefore, the PSEL voltage level needs to be set to its desired value before VDD3.3 is enabled.
Consequently, if no VDD3.3 software controllable instance is available to the library, the sensor logic will be typically powered up when the main hardware system is powered up. If no other mechanism to avoid this is implemented, the sensor software initialization on the microcontroller will occur after the sensor is powered up. And the PSEL value defining the sensor configuration will have been already taken from that available during the sensor power-up event.
Thus, in the absence of VDD3.3 software controllable implementation, PSEL is actually not software controllable by the library (even if the PSEL GPIO interface is provided).
The developer must be aware of the imposed hardware configuration, and therefore use from the library the adequate interfaces. For example, if PSEL is hardwired to GND, any attempt of using the UART communication between sensor and controller will be futile, and end up in an interface error.
PWM_EN enables or disables the PWM output of the sensor. In order to be able to control it by software, the following circuit configurations are suggested:
A pull-up will by default disable the PWM output if no software control instance is provided in the library. While a pull-down resistor will by default enable the PWM output.
In principle, this output type will be used in the absence of a serial interface. Nevertheless, the sensor and the core library supports keeping both interfaces enabled. For the core library API, the getCO2() function will always opt for serial retrieval of the CO2 concentration value if the serial interface is available.
The library examples have been built and successfully executed on the following hardware platforms:
MCU Platforms |
---|
XMC 2Go |
XMC4700 Relax Kit for 5V Shields |
Shield2Go Adapter for Uno Boards
The Shield2Go form factor is designed to be stacked directly into the XMC 2Go microcontroller board. The MyIoT Adapter Shield can be used to attach the Shield2Go with any Arduino UNO hardware compatible boards.
Check the Quick Start Guide for the complete information and pinout diagram of the MyIoT adapter.
The library is developed for easy portability to any general purpose microcontroller platforms. The supported software frameworks already allow the usage of multiple microcontroller evaluation boards.
If still not supported, please check the Porting Guide to integrate the library in your custom software framework and hardware platform.