There often exist scenarios where flexible traffic signal sequences are required for the coordination of traffic through the intersection of a busy street and a lightly used side street. In such situations, the sequences can be controlled using different timers and a traffic detection signal from the side street. These requirements can be met through conventional methods e.g. using building blocks from discrete electronic components or microcontrollers. However, the concept of integrated circuits (IC) provides an attractive alternative considering its design flexibility, low cost, development time, and convenience.
Many regions and countries are progressing to more complicated grids that can accommodate a greater number of variables to control traffic lights. However, many traffic lights still utilize fixed time control, such as electro-mechanical signal controllers. The purpose of this application note is to show how one can use a GreenPAK's Asynchronous State Machine (ASM) to develop a simplified traffic signal controller to replace a fixed-time controller. This traffic signal regulates traffic passing through the intersection of a busy main street and a lightly used side street. The controller would control the sequence of two traffic signals, which are installed at the main and side street. A sensor signal, detecting the presence of side street traffic, is fed to the controller that, in conjunction with two timers, would control the sequence of the traffic signals. A finite state machine (FSM) scheme is developed that ensures the requirements of the traffic signals sequence are met. The controller logic is implemented using a GreenPAK™ SLG46537 programmable mixed-signal ASIC.
Figure 1: Timing Requirements of The Traffic Control System
Consider a traffic scenario with the timing requirements of traffic signals from the main and side street, as shown in Figure 1. The system has six states, and will move from one state to the other depending upon certain predefined conditions. These conditions are based on three timers; a long timer TL =25 s, a short timer TS = 4 s and a transitory timer Tt = 1 s. Additionally, the digital input from side traffic detection sensor is required. A thorough description of each of the six system states and the state transition control signals is given below:
In the first state, the main signal is green while the side signal is red. The system will stay in this state until the long timer (TL = 25 s) expires or as long as there is no vehicle on the side street. If a vehicle is present on the side street after the expiration of the long timer, the system will undergo a state change moving to the second state.
In the second state, the main signal turns yellow while the side signal remains red for the duration of the short timer (TS = 4 s). After 4 seconds the system moves into the third state.
In the third state, the main signal changes to red and the side signal remains red for the duration of transitory timer (Tt =1 s). After 1 second, the system moves to the fourth state.
During the fourth state the main signal is red while the side signal turns to green. The system will stay in this state until the expiry of long timer (TL = 25 s) and there are some vehicles present on the side street. As soon as the long timer expires, or there is no vehicle on the side street, the system will transition into the fifth state.
During the fifth state the main signal is red while the side signal is yellow for the duration of the short timer (TS = 4 s). After 4 seconds the system will move into the sixth state.
In the sixth and the last state of the system, both the main and side signals are red for the period of the transitory timer (Tt =1 s). After that, the system goes back to the first state and starts over again.
The third and sixth states provide a buffer state where both (main and side) signals stay red for a brief period of time during changeover. State 3 and 6 are similar and may seem redundant, however this allows the implementation of the proposed scheme to be simple.
A complete block diagram of the system is shown in Figure 2. This figure illustrates the overall structure, function of the system, and lists all the required inputs and outputs.
The proposed traffic signal controller has been built around the finite state machine (FSM) concept. The timing requirements described above are translated into a six state FSM as depicted in Figure 3.
Figure 2. System Block Diagram
Figure 3. Finite State Machine for The System
The state-change variables shown above are:
Vs – A vehicle is present on the side street
TL – The 25 s timer (long timer) is on
TS – The 4 s timer (short timer) is on
Tt – The 1 s timer (transitory timer) is on
The Dialog GreenPAK IC SLG46537 has been chosen for the implementation of the FSM. This highly versatile device allows a wide variety of mixed-signal functions to be designed within a very small, low power single integrated circuit. Furthermore, the IC contains an ASM macrocell designed to allow the user to create state machines having up to 8 states. The user has the flexibility to define the number of states, the state transitions, and the input signals that will cause transitions from one state to another state.
Implementation using GreenPAK
The FSM developed for the operation of the traffic controller is implemented using SLG46537 GreenPAK. In the GreenPak Designer the scheme is implemented as shown in Figure 4.
Figure 4. Implementation in GreenPAK Designer
PIN3 and PIN4 are configured as digital input pins; PIN3 is connected to the side street vehicle sensor input and PIN4 is used for system reset. PINs 5, 6, 7, 14, 15 and 16 are configured as output pins. PINs 5, 6 and 7 are passed to the side signal’s red, yellow and green light drivers respectively. PINs 14, 15 and 16 are passed to the main signal’s green, yellow and red-light drivers respectively. This completes the I/O configuration of the scheme.
At the heart of the schematic lies the ASM block. The inputs of the ASM block, which regulate state changes, are obtained from combinatorial logic using three counter/delay blocks (TS, TL and TT) and the input from the side vehicle sensor. The combinatorial logic is further qualified using the state information fed back to LUTs. State information of first, second, fourth and fifth states is obtained using combinations of B0 and B1 outputs of the ASM block. The combinations of B0 and B1 corresponding to the first, second, fourth and fifth states are (B0 = 0, B1 = 0), (B0 = 1, B1 = 0), (B0 = 1, B1 = 1) and (B0 = 0, B1 = 1) respectively. The states information of the 3rd and 6th states is obtained directly applying the AND operator to the main red and side red signals. Feeding these states information to the combinatorial logic ensures that only the relevant timers are triggered. Other outputs of the ASM block are assigned to the main traffic lights (main red, main yellow, and main green) and side traffic lights (side red, side yellow, and side green).
Figure 5 The Configuration of The ASM Block
The configuration of the ASM block is shown in Figure 5 and Figure 6. The states shown in Figure 5, correspond to the defined first, second, third, fourth, fifth and sixth states shown in Figure 3. The output RAM configuration of the ASM block is shown in Figure 6.
Figure 6: The Output RAM Configuration of The ASM Block
The timers TL, TS and TT are implemented using the counter/delay blocks CNT1/DLY1, CNT2/DLY2 and CNT3/DLY3 respectively. All these three blocks are configured in delay mode with rising edge detection.
As shown in Figure 3, the first and fourth states trigger TL, the second and fifth states trigger TS, and the third and sixth states trigger TT using combinatorial logic. As the delay timers are triggered, their outputs remain 0 until the configured delay completes its duration. In this way the TL’, TS’ and TT’ signals are directly obtained from the outputs of CNT1/DLY1, CNT2/DLY2 and CNT3/DLY3 blocks. TS’ is directly fed to the second and fifth states transition input while TT’ is passed to the third and sixth states transition inputs. TL, on the other hand, is passed to combinatorial logic blocks (LUTs) giving the signals TL’ Vs and TL’+ VS’ which are fed to the transition inputs of the first and 4th states respectively. This completes the implementation of the FSM using the GreenPAK designer.
For testing purposes, the design is emulated on the GreenPAK Universal Development Board using the SLG46537. The traffic lights signals (equated to digital output pins 5, 6, 7, 14, 15 and 16) are used to activate the LEDs that are already available on the GreenPAK Development Board to visually observe the behavior of the FSM.
In order to fully investigate the dynamic behavior of the developed scheme, we used an Arduino UNO board to interface with the SLG46537. The Arduino board provides the vehicle detection sensor input and system reset signals to the scheme while it gets the traffic light signals from the system. The Arduino board is used as a multi-channel logic analyzer to record and graphically show the temporal functioning of the system. Two scenarios that capture the general behavior of the system are developed and tested.
Figure 7 shows the first scenario of the scheme when some vehicles are always present on the side street. When the reset signal is asserted the system starts in the first state with only main green and side red signals on and all the other signals turned off. Since side vehicle are always present the next transition into the second state follows 25 seconds later turning on the main yellow and side red signals. Four seconds later the ASM enters the third state where the main red and side red signals remain on for 1 second. The system then enters the fourth state with main red and side green signals turned on. Since the side vehicles are always present, the next transition takes place 25 seconds later moving the ASM to the fifth state. The transition from fifth to sixth state occurs 4 seconds later as TS expires. The system stays in the sixth state for the duration of 1 second before the ASM re-enters the first state.
Figure 7: Behavior of The System When Side Vehicles are Always Present
Figure 8 shows the behavior of the scheme in the second scenario, when a few side vehicles are present at the traffic signal. The behavior of the system is found to be functioning as designed. The system starts in the first state with only main green and side red signals on and all the other signals to be off 25 seconds later the next transition follows since there is a side vehicle present. The main yellow and side red signals are turned on in the second state. After 4 seconds, the ASM enters the third state with main red and side red signals turned on. The system stays in the third state for 1 second and then moves to the fourth state keeping main red and side green on. As soon as the vehicle sensor input goes low (when all the side vehicles have passed), the system enters the fifth state where main red and side yellow are on. After staying in the fifth state for four seconds the system moves to the sixth state turning both main and side signals red. These signals remain red for 1 second before the ASM re-enters the first state.
Figure 8: Behavior of The System When Few Side Vehicles are Present
Actual scenarios would be based on a combination of these two described scenarios which are found to be working correctly.
In this app note a traffic controller that can manage traffic passing through the intersection of a busy main street and a lightly used side street was implemented using a Dialog GreenPAK SLG46537. The scheme is based on an ASM that ensures the traffic signals sequence requirements are met. The behavior of the design was verified by several LEDs and an Arduino UNO microcontroller. The results verified that the design objectives were met. The key advantage of using the Dialog product is to obviate the need of discrete electronic components and microcontroller to build the same system.
The existing design can be extended by adding an input signal from a push button for passage of pedestrian looking to cross the busy street. The signal can be passed to an OR gate along with signal from the side vehicle input sensor to trigger the first state change. However, to ensure safety of the pedestrian now there is an additional requirement of some minimum time to be spent in the fourth state. This can easily be accomplished using another timer block. The green and red signals on the side street traffic signal can now also be fed to the side pedestrian signals on the side street.