Low Pin Count, or LPC, was introduced by Intel in 1998 as an interface to connect low-bandwidth devices to the CPU. It had replaced its Industry Standard Architecture (ISA) counterpart improving the data rate transfer from 8 MHz up to 33 MHz. LPC transfers data using a 4-bit bus and features an architecture using a minimum of seven signals, reducing the numbers of pins required on peripheral chips and the amount of traffic on the motherboard.
Jean-Pierre Sainfeld is a technical consultant and the founder and owner of First Link Consulting Services. The technical services include the integration of hardware and software. In this article, Jean-Pierre describes one of his interesting projects and why he chose the Aardvark I2C/SPI Host Adapter to debug, tune, and validate a complex embedded system.
The Data Center Software is Total Phase’s free bus monitoring software that allows users to interface with Total Phase protocol analyzers supporting I2C, SPI, USB, CAN, and eSPI protocols. These analyzers include the Beagle I2C/SPI Protocol Analyzer, the line of Beagle USB Protocol Analyzers, the USB Power Delivery Analyzer, the Komodo CAN Duo Interface, and the Promira Serial Platform with the eSPI Analysis Application.
Out test results show a repeated error while programming M95128-R EEPROMs. The EEPROMs are located on separate panels. To program these SPI devices, we use relays and the Cheetah SPI Host Adapter. We are using LabVIEW to control the relays, which select the cables to connect to the CS, MOSI, MISO, and CLK of the desired panel. Here is a diagram of our setup:
I am trying to use the Aardvark I2C/SPI Host Adapter and Python API to emulate an I2C slave sensor that conditionally changes its response values depending on what the master device writes to it. When modifying the aai2c_slave.py code, I get a message with "error: non-I2C asynchronous message is pending". What does this mean and what might be the cause of this? Do I need to disable and enable the slave every time I set a new slave response? Is there a clock stretching function for the Aardvark adapter configured as a slave device?