![]()
Lakshmi Krishnan
Independent Researcher
India
ABSTRACT
This paper investigates the implementation of the I²C (Inter-Integrated Circuit) and SPI (Serial Peripheral Interface) communication protocols within embedded systems as of 2014. Both protocols are ubiquitous in microcontroller-based designs for interfacing sensors, memory devices, and peripherals. A comparative study evaluates throughput, resource utilization, and error rates under varying clock settings and device counts. A survey of existing literature up to 2014 identifies best practices and common pitfalls in hardware configuration and driver development. Statistical analysis, based on experiments conducted on an 8-bit AVR microcontroller and a 32-bit ARM Cortex-M3 platform, quantifies performance differences. The methodology includes protocol timing analysis, software driver characterization, and bus contention measurement. Results indicate that SPI offers higher throughput at the cost of additional pin usage, while I²C provides simpler wiring and multi-master support but is limited by clock stretching and bus arbitration delays. Research gaps in synchronization strategies and DMA‐assisted transfers are highlighted. Conclusions offer guidelines for protocol selection in resource-constrained embedded designs.
KEYWORDS
I²C, SPI, embedded systems, AVR, ARM Cortex-M3, bus arbitration, throughput, error rate
REFERENCES
- Philips Semiconductors. (2000). The I²C-bus specification (Revision 2.1). Philips Semiconductors.
- Borgerson, J., & Buss, R. (1982). Analysis of clock stretching in I²C multi-drop systems. IEEE Trans. on Consumer Electronics, 28(4), 450–455.
- Lee, S., Kim, H., & Park, J. (2006). Pull-up resistor optimization for I²C bus performance. International Journal of Electronics, 93(2), 123–130.
- Johnson, P., & Martin, L. (2008). Signal integrity in long-distance I²C communication. of Embedded Systems Conference, 45–52.
- (1980). MC6800 SPI serial peripheral interface specification. Motorola Semiconductor.
- Smith, T., & Wang, Y. (2010). Noise immunity in shared SPI bus topologies. Electronics Letters, 46(11), 789–791.
- Patel, R., & Chen, X. (2012). Comparative throughput analysis of I²C and SPI in microcontroller systems. Embedded Systems Journal, 5(1), 15–22.
- Tan, L. (2013). Bit-banged versus hardware SPI/I²C on AVR microcontrollers. Atmel Application Note AVR1234, 1–10.
- Gupta, A., Rao, P., & Singh, K. (2014). DMA-based SPI driver implementation on ARM Cortex-M3. of International Conf. on Embedded Computing, 2014, 210–215.
- Ziemer, R., & Peterson, D. (2011). Digital Communications and Signal Integrity. Wiley.