Implementation of a Multi-channel UART
Controller Based on FIFO Technique and FPGA
Shouqian Yu Lili Yi Weihai Chen Zhaojin Wen
School of Automation Science and Electrical Engineering
Beijing University of Aeronautics & Astronautics
Beijing 100083, China
ysq@buaa.edu.cn buaa_lily@126.com whchenbuaa@126.com junwen1981@126.com
Abstract: To meet modern complex control systems
communication demands, the paper presents a multi-channel
UART controller based on FIFO(First In First Out) technique
and FPGA(Field Programmable Gate Array). The paper
presents design method of asynchronous FIFO and structure of
the controller. This controller is designed with FIFO circuit
block and UART (Universal Asynchronous Receiver Transmitter)
circuit block within FPGA to implement communication in
modern complex control systems quickly and effectively. Form
the communication sequence diagrams, it is easily to know that
this controller can be used to implement communication when
master equipment and slaver equipment are set at different
Baud Rate. It also can be used to reduce synchronization error
between sub-systems in a system with several sub-systems. The
controller is reconfigurable and scalable.
Keywords: FIFO, FPGA, UART
I INTRODUCTION
Today, owing to availability of state-of-the-art
microcontrollers and digital signal processors (DSPs),
complex control algorithms can be easily implemented to
attain the desired system performance. But in actual control
systems, it is difficult to attain the expected result for various
factors affect the control systems such as control algorithms
itself, capability of controllers, capability of implement
equipment and states of control circumstance [1]. Except
those factors, communication parameters of control systems
including Baud Rate, BER (Bit Error Rate) and
synchronization between sub-systems also engender great
effect. In order to improve precision of control system and
make good use of modern control algorithms, we should pay
much more attention on communication in control systems.
In several control systems, UART a kind of serial
communication circuit is used widely. A universal
asynchronous receive/transmit (UART) is an integrated
circuit which plays the most important role in serial
communication. It handles the conversion between serial and
parallel data. Serial communication reduces the distortion of
a signal, therefore makes data transfer between two systems
separated in great distance possible [2].
In some complex systems, communications between the
master controller and slaver controllers are implemented by
serial or parallel port. Parallel communication needs a lot of
multi-bit address bus and data bus and it is only convenient
for short distance transmission. Serial communication is
another way of communication used extensively because of
its simple structure and long transmission distance. But
sometimes a common serial port could not meet
requirements of complex systems with different Baud Rates
equipments even some special Baud Rate equipments. As
showing in figure 1, in a system, the PC’s Baud Rate is
115200bps and the Ep1 i.e. equipment 1’s Baud Rate is
57600bps, equipment 2’s Baud Rate is 19200bps, and other
equipments are set at 9600bps or other Baud Rates. It is
impossible to implement this multi-Baud Rate
communication system without a special Baud Rate
converter.
In a 6-DOF robot, there are 6 sub-controllers which are all
the same structure to be designed. The PC is used to
implement the control algorithm of the robot and send
control parameters to sub-controllers and sub-controllers are
used to collect feedback signals and send them to the PC.
The PC and sub-controllers communicate with each other on
a RS485 BUS NET. Each sub-controller has a unique
address number and the PC uses this number to identify each
sub-controller. When the PC wants to send data to node 6, it
has to access front 5 nodes, this engenders time delay and
makes performance of the robot’s each DOF not
synchronization. So it reduces the control algorithm’s
precision and brings difficulties in researching of the control
algorithm.
Fig.1. Multi-equipments communication diagram
PC
Ep2Ep1 Epn
……
57600 19200
9600
……
2633
1-4244-0737-0/07/$20.00
c
2007 IEEE
Authorized licensed use limited to: NANJING UNIVERSITY OF SCIENCE AND TECHNOLOGY. Downloaded on March 12, 2009 at 01:49 from IEEE Xplore. Restrictions apply.