ABSTRACT

This chapter presents external input/output device interfacing and programming techniques. It explains system construction methods for interfacing LEDs and multisegment displays (MSDs), buzzer controls, LCDs, GLCDs, dip switches and matrix keypads, dual tone multi-frequency (DTMF) encoders, infrared (IR) sensors, proximity sensors, pyrometric sensors, metal detectors, light-dependent resisters (LDR), cup anemometers (wind speed measurement) and so on. The main objective of this chapter is to introduce the concepts of interfacing simple input and output peripheral devices with the FPGA for some real-world applications. Designing a digital system to make use of LEDs and MSDs for displaying on-off status and moving characters/symbols is presented, with necessary circuits, digital architecture and design examples. Methods of generating a low-frequency control pulse and using it to control a buzzer are explained. Different modes (4-bit and 8-bit) of interfacing with LCDs, their pin details and a description of the LCD commands are tabulated and explained, with circuit diagrams. The significance of GLCD and its programming techniques are presented, with different design examples. Various methods of feeding digital input into the FPGA using DIP switches, bidirectional port switches and matrix keypad switches are described, with the necessary circuit diagrams and examples. Some simple sensor interfacing with the FPGA is also presented, with appropriate circuits and design examples.