Explain serial communication protocols such as UART, SPI, and I2C, including their timing diagrams, advantages, and limitations.