ABSTRACT Now a days nothing is possible digital technology. For that memory i.e. capable of data in the form of 1s and 0s i.e. logic low and logic high . A synchronous sequential circuit has great roll in storing and moving the data of n-bit, either serially or in parallel, in flip flops. Flip flops are called basic memory elements.
Registers have many application in microprocessors and micro controllers .these are basically four types, viz. SIPO, SISO, PISO and PIPO. A universal shift register is that which can do the job of all these four shift registers.
i
TABLE OF CONTENTS ABSTRACT....................................................................................................................i Now a days nothing is possible digital technology. For that memory i.e. capable of data in the form of 1s and 0s i.e. logic low and logic high . A synchronous sequential circuit has great roll in storing and moving the data of n-bit, either serially or in parallel, in flip flops. Flip flops are called basic memory elements............................................................i TABLE OF CONTENTS...............................................................................................ii LIST OF FIGURES......................................................................................................iii 1. INTRODUCTION......................................................................................................4 2. SERIAL-IN/SERIAL-OUT SHIFT REGISTER.......................................................7 3. PARALLEL-IN, SERIAL-OUT SHIFT REGISTER..............................................11 4. SERIAL-IN, PARALLEL-OUT SHIFT REGISTER..............................................13 5. PARALLEL-IN, PARALLEL-OUT, UNIVERSAL SHIFT REGISTER...............15 6. VHDL PROGRAM..................................................................................................20 7. APPLICATIONS.....................................................................................................23 REFERENCES.............................................................................................................25
ii
LIST OF FIGURES Figure 1.1. Universal shift register.................................................................................5 Figure 1.2 A Universal Shift Register Implementation..................................................5 Figure 1.3 In-Out Shift Register with 4 Stages .............................................................6 Figure 2.1 Data Present at Clock Time is Transferred from D to Q..............................7 Figure 2.2 Output of QC or QW....................................................................................7 Figure 2.3 1 Data Present tH before Clock Time at D Transferred to Q.......................8 Fgure 2.4 Data presentation befre and after the clock....................................................8 Figure 2.5 In-Out Shift Register using type “D” Storage Elements ..............................9 Figure 2.6 In-Out Shift Register using type “JK” Storage Elements.............................9 Figure 2.7 Waveform ..................................................................................................10 Figure 3.1 Paralle-in, Serial-out Shift Register with 4-Stages ....................................11 Figure 3.2 Paralle-in, Serial-out Shift Register showing Parallel Load Path...............11 Figure 3.3 Paralle-in, Serial-out Shift Register Load / Shift Waveforms ...................12 Figure 4.1 Serial-in, Parallel-out Shift Register with 4-Stages ...................................13 Figure 4.2 Serial-in, Parallel-out Shift Register Details ..............................................14 Figure 4.3 Serial-in, Parallel-out Shift Register Waveforms.......................................14 Figure 5.1 Parallel-in, Parallel-out Shift Register with 4-Stages ................................15 Figure 5.2 Parallel-in, Parallel-out Shift Register with tri-state Output.......................16 Figure 5.3 Parallel-in, Parallel-out Shift Register .......................................................16 Figure 5.4 Shift Right...................................................................................................16 Figure 5.5 Shift Left.....................................................................................................17 Figure 5.6 Shift Left/Right, Right Action....................................................................18 Figure 5.7 Shift Left/Right Register, Left Action........................................................18 Figure 5.8 Shift Left/Right Load..................................................................................19 Figure 7.1 Alarm with Remote Keypad.......................................................................23 Figure 7.2 Alarm with Remote Kaypad and Display...................................................23
iii
UNIVERSAL SHIFT REGISTER
1. INTRODUCTION Shift registers, like counters, are a form of sequential logic. Sequential logic, unlike combinational logic is not only affected by the present inputs, but also, by the prior history. In other words, sequential logic remembers past events. Shift registers produce a discrete delay of a digital signal or waveform. A waveform synchronized to a clock, a repeating square wave, is delayed by "n" discrete clock times, where "n" is the number of shift register stages. Thus, a four stage shift register delays "data in" by four clocks to "data out". The stages in a shift register are delay stages, typically type "D" Flip-Flops or type "JK" Flip-flops. Formerly, very long (several hundred stages) shift registers served as digital memory. This obsolete application is reminiscent of the acoustic mercury delay lines used as early computer memory. Serial data transmission, over a distance of meters to kilometers, uses shift registers to convert parallel data to serial form. Serial data communications replaces many slow parallel data wires with a single serial high speed circuit. Serial data over shorter distances of tens of centimeters, uses shift registers to get data into and out of microprocessors. Numerous peripherals, including analog to digital converters, digital to analog converters, display drivers, and memory, use shift registers to reduce the amount of wiring in circuit boards. Some specialized counter circuits actually use shift registers to generate repeating waveforms. Longer shift registers, with the help of feedback generate patterns so long that they look like random noise, pseudo-noise. Basic shift registers are classified by structure according to the following types: •
Serial-in/serial-out
•
Parallel-in/serial-out
•
Serial-in/parallel-out
•
parallel-in/parallel-out
UNIVERSAL SHIFT REGISTER: A shift register that can perform with any combination of serial and parallel inputs and outputs(i.e . Serial-in/serial-out, Parallel-in/serial-out, Serialin/parallel-out, parallel-in/parallel-out). A universal shift register often a bi-directional as well. 4
UNIVERSAL SHIFT REGISTER
Figure 1.1. Universal shift register
Figure 1.2 A Universal Shift Register Implementation
5
UNIVERSAL SHIFT REGISTER
Figure 1.3 In-Out Shift Register with 4 Stages
6
UNIVERSAL SHIFT REGISTER
2. SERIAL-IN/SERIAL-OUT SHIFT REGISTER Serial-in, serial-out shift registers delay data by one clock time for each stage. They will store a bit of data for each register. A serial-in, serial-out shift register may be one to 64 bits in length, longer if registers or packages are cascaded. Below is a single stage shift register receiving data which is not synchronized to the register clock. The "data in" at the D pin of the type D FF (Flip-Flop) does not change levels when the clock changes for low to high. We may want to synchronize the data to a system wide clock in a circuit board to improve the reliability of a digital logic circuit.
Figure 2.1 Data Present at Clock Time is Transferred from D to Q
The obvious point (as compared to the figure below) illustrated above is that whatever "data in" is present at the D pin of a type D FF is transfered from D to output Q at clock time. Since our example shift register uses positive edge sensitive storage elements, the output Q follows the D input when the clock transitions from low to high as shown by the up arrows on the diagram above. There is no doubt what logic level is present at clock time because the data is stable well before and after the clock edge. This is seldom the case in multi-stage shift registers. But, this was an easy example to start with. We are only concerned with the positive, low to high, clock edge. The falling edge can be ignored. It is very easy to see Q follow D at clock time above. Compare this to the diagram below where the "data in" appears to change with the positive clock edge.
Figure 2.2 Output of QC or QW
7
UNIVERSAL SHIFT REGISTER
Since "data in" appears to changes at clock time t1 above, what does the type D FF see at clock time? The short over simplified answer is that it sees the data that was present at D prior to the clock. That is what is transfered to Q at clock time t1. The correct waveform is QC. At t1 Q goes to a zero if it is not already zero. The D register does not see a one until time t2, at which time Q goes high.
Figure 2.3 1 Data Present tH before Clock Time at D Transferred to Q
Since data, above, present at D is clocked to Q at clock time, and Q cannot change until the next clock time, the D FF delays data by one clock period, provided that the data is already synchronized to the clock. The QA waveform is the same as "data in" with a one clock period delay. A more detailed look at what the input of the type D Flip-Flop sees at clock time follows. Refer to the figure below. Since "data in" appears to changes at clock time (above), we need further information to determine what the D FF sees. If the "data in" is from another shift register stage, another same type D FF, we can draw some conclusions based on data sheet information. Manufacturers of digital logic make available information about their parts in data sheets, formerly only available in a collection called a data book. Data books are still available; though, the manufacturer's web site is the modern source.
Fgure 2.4 Data presentation befre and after the clock
8
UNIVERSAL SHIFT REGISTER
tS is the setup time, the time data must be present before clock time. In this case data must be present at D 100ns prior to the clock. Furthermore, the data must be held for hold time tH=60ns after clock time. These two conditions must be met to reliably clock data from D to Q of the Flip-Flop. There is no problem meeting the setup time of 60ns as the data at D has been there for the whole previous clock period if it comes from another shift register stage. For example, at a clock frequency of 1 Mhz, the clock period is 1000 µs, plenty of time. Data will actually be present for 1000µs prior to the clock, which is much greater than the minimum required t S of 60ns. The hold time tH=60ns is met because D connected to Q of another stage cannot change any faster than the propagation delay of the previous stage tP=200ns. Hold time is met as long as the propagation delay of the previous D FF is greater than the hold time. Data at D driven by another stage Q will not change any faster than 200ns for the CD4006b. To summarize, output Q follows input D at nearly clock time if Flip-Flops are cascaded into a multi-stage shift register.
Figure 2.5 In-Out Shift Register using type “D” Storage Elements
Three type D Flip-Flops are cascaded Q to D and the clocks paralleled to form a three stage shift register above.
Figure 2.6 In-Out Shift Register using type “JK” Storage Elements
9
UNIVERSAL SHIFT REGISTER
Type JK FFs cascaded Q to J, Q' to K with clocks in parallel to yield an alternate form of the shift register above. A serial-in/serial-out shift register has a clock input, a data input, and a data output from the last stage. In general, the other stage outputs are not available Otherwise, it would be a serialin, parallel-out shift register. The waveforms below are applicable to either one of the preceding two versions of the serialin, serial-out shift register. The three pairs of arrows show that a three stage shift register temporarily stores 3-bits of data and delays it by three clock periods from input to output.
Figure 2.7 Waveform
At clock time t1 a "data in" of 0 is clocked from D to Q of all three stages. In particular, D of stage A sees a logic 0, which is clocked to QA where it remains until time t2. At clock time t2 a "data in" of 1 is clocked from D to QA. At stages B and C, a 0, fed from preceding stages is clocked to QB and QC. At clock time t3 a "data in" of 0 is clocked from D to QA. QA goes low and stays low for the remaining clocks due to "data in" being 0. QB goes high at t3 due to a 1 from the previous stage. QC is still low after t3 due to a low from the previous stage. QC finally goes high at clock t4 due to the high fed to D from the previous stage QB. All earlier stages have 0s shifted into them. And, after the next clock pulse at t5, all logic 1s will have been shifted out, replaced by 0s.
10
UNIVERSAL SHIFT REGISTER
3. PARALLEL-IN, SERIAL-OUT SHIFT REGISTER Parallel-in/ serial-out shift registers do everything that the previous serial-in/ serial-out shift registers do plus input data to all stages simultaneously. The parallel-in/ serial-out shift register stores data, shifts it on a clock by clock basis, and delays it by the number of stages times the clock period. In addition, parallel-in/ serial-out really means that we can load data in parallel into all stages before any shifting ever begins. This is a way to convert data from a parallel format to a serial format. By parallel format we mean that the data bits are present simultaneously on individual wires, one for each data bit as shown below. By serial format we mean that the data bits are presented sequentially in time on a single wire or circuit as in the case of the ”data out” on the block diagram below.
Figure 3.1 Paralle-in, Serial-out Shift Register with 4-Stages
Below we take a close look at the internal details of a 3-stage parallel-in/ serial-out shift register. A stage consists of a type D Flip-Flop for storage, and an AND-OR selector to determine whether data will load in parallel, or shift stored data to the right. In general, these elements will be replicated for the number of stages required. We show three stages due to space limitations. Four, eight or sixteen bits is normal for real parts.
Figure 3.2 Paralle-in, Serial-out Shift Register showing Parallel Load Path
Above we show the parallel load path when SHIFT/LD’ is logic low. The upper NAND gates serving DA DB DC are enabled, passing data to the D inputs of type D Flip-Flops QA QB DC respectively. At the next positive going clock edge, the data will be clocked from D to Q of the three FFs. Three bits of data will load into QA QB DC at the same time. The type of parallel load just described, where the data loads on a clock pulse is known as synchronous load because the loading of data is synchronized to the clock. This needs to be differentiated from asynchronous load where loading is controlled by the preset and clear pins of the Flip11
UNIVERSAL SHIFT REGISTER
Flops which does not require the clock. Only one of these load methods is used within an individual device, the synchronous load being more common in newer devices. The shift path is shown above when SHIFT/LD’ is logic high. The lower AND gates of the pairs feeding the OR gate are enabled giving us a shift register connection of SI to DA , QA to DB , QB to DC , QC to SO. Clock pulses will cause data to be right shifted out to SO on successive pulses. The waveforms below show both parallel loading of three bits of data and serial shifting of this data. Parallel data at DA DB DC is converted to serial data at SO.
Figure 3.3 Paralle-in, Serial-out Shift Register Load / Shift Waveforms
As an example we present 101 to the parallel inputs DAA DBB DCC. Next, the SHIFT/LD’ goes low enabling loading of data as opposed to shifting of data. It needs to be low a short time before and after the clock pulse due to setup and hold requirements. It is considerably wider than it has to be. Though, with synchronous logic it is convenient to make it wide. We could have made the active low SHIFT/LD’ almost two clocks wide, low almost a clock before t1 and back high just before t3. The important factor is that it needs to be low around clock time t1 to enable parallel loading of the data by the clock. Note that at t1 the data 101 at DA DB DC is clocked from D to Q of the Flip-Flops as shown at QA QB QC at time t1. This is the parallel loading of the data synchronous with the clock. Now that the data is loaded, we may shift it provided that SHIFT/LD’ is high to enable shifting, which it is prior to t2. At t2 the data 0 at QC is shifted out of SO which is the same as the QC waveform. It is either shifted into another integrated circuit, or lost if there is nothing connected to SO. The data at QB, a 0 is shifted to QC. The 1 at QA is shifted into QB. With ”data in” a 0, QA becomes 0. After t2, QA QB QC = 010. After t3, QA QB QC = 001. This 1, which was originally present at QA after t1, is now present at SO and QC. The last data bit is shifted out to an external integrated circuit if it exists. After t4 all data from the parallel load is gone. At clock t5 we show the shifting in of a data 1 present on the SI, serial input. Why provide SI and SO pins on a shift register? These connections allow us to cascade shift register stages to provide large shifters than available in a single IC (Integrated Circuit) package. They also allow serial connections to and from other ICs like microprocessors. 12
UNIVERSAL SHIFT REGISTER
4. SERIAL-IN, PARALLEL-OUT SHIFT REGISTER A serial-in/parallel-out shift register is similar to the serial-in/ serial-out shift register in that it shifts data into internal storage elements and shifts data out at the serial-out, data-out, pin. It is different in that it makes all the internal stages available as outputs. Therefore, a serialin/parallel-out shift register converts data from serial format to parallel format. If four data bits are shifted in by four clock pulses via a single wire at data-in, below, the data becomes available simultaneously on the four Outputs QA to QD after the fourth clock pulse.
Figure 4.1 Serial-in, Parallel-out Shift Register with 4-Stages
The practical application of the serial-in/parallel-out shift register is to convert data from serial format on a single wire to parallel format on multiple wires. Perhaps, we will illuminate four LEDs (Light Emitting Diodes) with the four outputs (QA QB QC QD ). The details of the serial-in/parallel-out shift register are fairly simple. It looks like a serial-in/ serial-out shift register with taps added to each stage output. Serial data shifts in at SI (Serial Input). After a number of clocks equal to the number of stages, the first data bit in appears at SO (QD) in the above figure. In general, there is no SO pin. The last stage (Q D above) serves as SO and is cascaded to the next package if it exists.
13
UNIVERSAL SHIFT REGISTER
Figure 4.2 Serial-in, Parallel-out Shift Register Details
If a serial-in/parallel-out shift register is so similar to a serial-in/ serial-out shift register, why do manufacturers bother to offer both types? Why not just offer the serial-in/parallel-out shift register? They actually only offer the serial-in/parallel-out shift register, as long as it has no more than 8-bits. Note that serial-in/ serial-out shift registers come in gigger than 8-bit lengths of 18 to to 64-bits. It is not practical to offer a 64-bit serial-in/parallel-out shift register requiring that many output pins. See waveforms below for above shift register.
Figure 4.3 Serial-in, Parallel-out Shift Register Waveforms
The shift register has been cleared prior to any data by CLR', an active low signal, which clears all type D Flip-Flops within the shift register. Note the serial data 1011 pattern presented at the SI input. This data is synchronized with the clock CLK. This would be the case if it is being shifted in from something like another shift register, for example, a parallelin/ serial-out shift register (not shown here). On the first clock at t1, the data 1 at SI is shifted from D to Q of the first shift register stage. After t2 this first data bit is at QB. After t3 it is at QC. After t4 it is at QD. Four clock pulses have shifted the first data bit all the way to the last stage QD. The second data bit a 0 is at QC after the 4th clock. The third data bit a 1 is at QB. The fourth data bit another 1 is at QA. Thus, the serial data input pattern 1011 is contained in (QD QC QB QA). It is nowavailable on the four outputs. It will available on the four outputs from just after clock t4 to just before t5. This parallel data must be used or stored between these two times, or it will be lost due to shifting out the Q D stage on following clocks t5 to t8 as shown above.
14
UNIVERSAL SHIFT REGISTER
5. PARALLEL-IN, PARALLEL-OUT, UNIVERSAL SHIFT REGISTER The purpose of the parallel-in/ parallel-out shift register is to take in parallel data, shift it, then output it as shown below. A universal shift register is a do-everything device in addition to the parallel-in/ parallel-out function.
Figure 5.1 Parallel-in, Parallel-out Shift Register with 4-Stages
Above we apply four bit of data to a parallel-in/ parallel-out shift register at DA DB DC DD. The mode control, which may be multiple inputs, controls parallel loading vs shifting. The mode control may also control the direction of shifting in some real devices. The data will be shifted one bit position for each clock pulse. The shifted data is available at the outputs QA QB QC QD . The "data in" and "data out" are provided for cascading of multiple stages. Though, above, we can only cascade data for right shifting. We could accommodate cascading of left-shift data by adding a pair of left pointing signals, "data in" and "data out", above. The internal details of a right shifting parallel-in/ parallel-out shift register are shown below. The tri-state buffers are not strictly necessary to the parallel-in/ parallel-out shift register, but are part of the real-world device shown below. The 74LS395 so closely matches our concept of a hypothetical right shifting parallel-in/ parallel-out shift register that we use an overly simplified version of the data sheet details above. LD/SH' controls the AND-OR multiplexer at the data input to the FF's. If LD/SH'=1, the upper four AND gates are enabled allowing application of parallel inputs DA DB DC DD to the four FF data inputs. Note the inverter bubble at the clock input of the four FFs. This indicates that the 74LS395 clocks data on the negative going clock, which is the high to low transition. The four bits of data will be clocked in parallel from DA DB DC DD to QA QB QC QD at the next negative going clock. In
15
UNIVERSAL SHIFT REGISTER
this "real part", OC' must be low if the data needs to be available at the actual output pins as opposed to only on the internal FFs.
Figure 5.2 Parallel-in, Parallel-out Shift Register with tri-state Output
The previously loaded data may be shifted right by one bit position if LD/SH'=0 for the succeeding negative going clock edges. Four clocks would shift the data entirely out of our 4bit shift register. The data would be lost unless our device was cascaded from QD' to SER of another device.
Figure 5.3 Parallel-in, Parallel-out Shift Register
Above, a data pattern is presented to inputs DA DB DC DD. The pattern is loaded to QA QB QC QD . Then it is shifted one bit to the right. The incoming data is indicated by X, meaning the we do no know what it is. If the input (SER) were grounded, for example, we would know what data (0) was shifted in. Also shown, is right shifting by two positions, requiring two clocks.
Figure 5.4 Shift Right
16
UNIVERSAL SHIFT REGISTER
The above figure serves as a reference for the hardware involved in right shifting of data. It is too simple to even bother with this figure, except for comparison to more complex figures to follow.
Right shifting of data is provided above for reference to the previous right shifter.
Figure 5.5 Shift Left
If we need to shift left, the FFs need to be rewired. Compare to the previous right shifter. Also, SI and SO have been reversed. SI shifts to QC. QC shifts to QB. QB shifts to QA. QA leaves on the SO connection, where it could cascade to another shifter SI. This left shift sequence is backwards from the right shift sequence.
Above we shift the same data pattern left by one bit. There is one problem with the "shift left" figure above. There is no market for it. Nobody manufactures a shift-left part. A "real device" which shifts one direction can be wired externally to shift the other direction. Or, should we say there is no left or right in the context of a device which shifts in only one direction. However, there is a market for a device which will shift left or right on command by a control line. Of course, left and right are valid in that context.
17
UNIVERSAL SHIFT REGISTER
Figure 5.6 Shift Left/Right, Right Action
What we have above is a hypothetical shift register capable of shifting either direction under the control of L'/R. It is setup with L'/R=1 to shift the normal direction, right. L'/R=1 enables the multiplexer AND gates labeled R. This allows data to follow the path illustrated by the arrows, when a clock is applied. The connection path is the same as the"too simple" "shift right" figure above. Data shifts in at SR, to QA, to QB, to QC, where it leaves at SR cascade. This pin could drive SR of another device to the right. What if we change L'/R to L'/R=0?
Figure 5.7 Shift Left/Right Register, Left Action
With L'/R=0, the multiplexer AND gates labeled L are enabled, yielding a path, shown by the arrows, the same as the above "shift left" figure. Data shifts in at SL, to QC, to QB, to QA, where it leaves at SL cascade. This pin could drive SL of another device to the left.
18
UNIVERSAL SHIFT REGISTER
The prime virtue of the above two figures illustrating the "shift left/ right register" is simplicity. The operation of the left right control L'/R=0 is easy to follow. A commercial part needs the parallel data loading implied by the section title. This appears in the figure below. Now that we can shift both left and right via L'/R, let us add SH/LD', shift/ load, and the AND gates labeled "load" to provide for parallel loading of data from inputs DA DB DC. When SH/LD'=0, AND gates R and L are disabled, AND gates "load" are enabled to pass data DA DB DC to the FF data inputs. the next clock CLK will clock the data to QA QB QC. As long as the same data is present it will be re-loaded on succeeding clocks. However, data present for only one clock will be lost from the outputs when it is no longer present on the data inputs. One solution is to load the data on one clock, then proceed to shift on the next four clocks. This problem is remedied in the 74ALS299 by the addition of another AND gate to the multiplexer.
Figure 5.8 Shift Left/Right Load
If SH/LD' is changed to SH/LD'=1, the AND gates labeled "load" are disabled, allowing the left/ right control L'/R to set the direction of shift on the L or R AND gates. Shifting is as in the previous figures. The only thing needed to produce a viable integrated device is to add the fourth AND gate to the multiplexer as alluded for the 74ALS299. This is shown in the next section for that part.
19
UNIVERSAL SHIFT REGISTER
6. VHDL PROGRAM UNIVERSAL
SHIFT
REGISTER
USING
ARRAY
CONCATENATION METHOD library IEEE; use IEEE.std_logic_1164.all; entity universalshift is port ( cntrl: in STD_LOGIC_VECTOR (1 downto 0); data: inout STD_LOGIC_VECTOR (3 downto 0); clk:in std_logic; ip: in STD_LOGIC; pip:in std_logic_vector(3 downto 0); op: out STD_LOGIC ); end universalshift; --}} End of automatically maintained section architecture universalshift of universalshift is begin process
(clk)
begin if(clk' event and clk='1' ) then if(cntrl(1)='0' and cntrl(0)='0') then op<=data(3); data(3)<=data(2); data(2)<=data(1); data(1)<=data(0); data(0)<=ip; end if; if(cntrl(1)='0' and cntrl(0)='1') then op<=data(0); data(0)<=data(1); data(1)<=data(2); 20
SLICING
AND
UNIVERSAL SHIFT REGISTER
data(2)<=data(3); data(3)<=ip; end if; if(cntrl(1)='1' and cntrl(0)='0') then data(0)<=pip(0); data(1)<=pip(1); data(2)<=pip(2); data(3)<=pip(3); end if; end if; end process; -- <<enter your statements here>> end universalshift; UNIVERSAL SHIFT REGISTER USING SHIFTING OPERATORS: SLL, SRL. library ieee; use ieee.std_logic_1164.all; use ieee.numeric_bit.all; entity univ_shiftreg2 is port(clk,il,ir :in bit; s :in bit_vector(1 downto 0); i : in bit_vector(3 downto 0); q : out bit_vector(3 downto 0)); end univ_shiftreg2; architecture beh2 of univ_shiftreg2 is signal qtmp: bit_vector(5 downto 0); begin process(clk) begin if (clk = '1' and clk'event) then case s is when "00" => qtmp <= qtmp; when "01" => 21
UNIVERSAL SHIFT REGISTER
qtmp <=il&i&ir; when "10" => qtmp <= (il&qtmp(4 downto 1)&ir) sll 1; when "11" => qtmp<= (il&qtmp(4 downto 1)&ir) srl 1 ; when others => null; end case; end if; end process; q<=qtmp(4 downto 1); end beh2;
22
UNIVERSAL SHIFT REGISTER
7. APPLICATIONS 1.
An application of a parallel-in/ serial-out shift register is to read data into a microprocessor.
Figure 7.1 Alarm with Remote Keypad
The Alarm above is controlled by a remote keypad. The alarm box supplies +5V and ground to the remote keypad to power it. The alarm reads the remote keypad every few tens of milliseconds by sending shift clocks to the keypad which returns serial data showing the status of the keys via a parallel-in/ serial-out shift register. Thus, we read nine key switches with four wires. How many wires would be required if we had to run a circuit for each of the nine keys? 2.
A real-world application of the serial-in/ parallel-out shift register is to output data from a microprocessor to a remote panel indicator. Or, another remote output device which accepts serial format data.
Figure 7.2 Alarm with Remote Kaypad and Display
The figure ”Alarm with remote key pad” is repeated here from the parallel-in/ serial-out section with the addition of the remote display. Thus, we can display, for example, the status of the alarm loops connected to the main alarm box. If the Alarm detects an open window, it can send serial data to the remote display to let us know. Both the keypad and the display
23
UNIVERSAL SHIFT REGISTER
would likely be contained within the same remote enclosure, separate from the main alarm box. However, we will only look at the display panel in this section. 3.
Serial to parallel converter
4.
Parallel to serial converter
5.
Ring counter
6.
Jhonson counter etc.
24
UNIVERSAL SHIFT REGISTER
REFERENCES [1]
http://www.datasheetcatalog.com/
[2]
http://www.st.com/
[3]
http://www.ti.com/
25