www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 模擬 > 模擬技術(shù)
[導(dǎo)讀]移位寄存器有不同的版本,可用于各種各樣的應(yīng)用程序。本文將向您介紹移位寄存器并說(shuō)明它們的工作原理。此外,它還將解釋如何將它們用于將多條并行數(shù)據(jù)線轉(zhuǎn)換為單個(gè)串行連接。

移位寄存器有不同的版本,可用于各種各樣的應(yīng)用程序。本文將向您介紹移位寄存器并說(shuō)明它們的工作原理。此外,它還將解釋如何將它們用于將多條并行數(shù)據(jù)線轉(zhuǎn)換為單個(gè)串行連接。

什么是移位寄存器?

移位寄存器是存儲(chǔ)單個(gè)數(shù)據(jù)字的同步器件,可以對(duì)這些位執(zhí)行邏輯移位操作。邏輯移位將字的每個(gè)位向左或向右移動(dòng)??崭裢ǔS昧闾畛洌?

上圖顯示了向左的邏輯移位。右移以類(lèi)似的方式工作。

移位寄存器由幾個(gè)單位鎖存器組成它們以串行菊花鏈方式連接,以便一個(gè)鎖存器的輸出連接到下一個(gè)輸入:

有些變速器允許您選擇這些位將被移動(dòng)。

移位寄存器的類(lèi)型

通常,有四種不同類(lèi)型的移位寄存器可用數(shù)據(jù)輸入和輸出設(shè)備的方式不同:

串行輸入,串行輸出

串行輸入,并行輸出

并行輸入,串行輸出

并行輸入,并行輸出

串行和并行類(lèi)型通常同步運(yùn)行,因此您需要時(shí)鐘信號(hào)處理數(shù)據(jù)。

支持串行和并行輸入的寄存器,如以及串行和并行輸出,被稱(chēng)為通用移位寄存器。

基本操作

我們假設(shè)我們有以下理論4位移位寄存器同時(shí)具有串行輸入和輸出以及并行輸出:

如您所見(jiàn),每個(gè)位從右側(cè)的串行輸入加載到移位寄存器的D鎖存器中。

第一個(gè)時(shí)鐘周期將其加載到鎖存器A中。然后鎖存器的輸出具有加載到寄存器中的值。 。下一個(gè)時(shí)鐘周期設(shè)置第二個(gè)鎖存器值并將一個(gè)新位加載到第一個(gè)鎖存器中,從而將位從右向左移位。這與所有寄存器同時(shí)發(fā)生。最后一個(gè)鎖存器輸出是移位寄存器的串行輸出。

因此,串行移位器可以用作緩沖器。上面的移位器也可用于將串行信號(hào)轉(zhuǎn)換為四條并行數(shù)據(jù)線。

與串行轉(zhuǎn)換并行

此技術(shù)可用于減少?gòu)牟⑿锌偩€讀取值所需的輸入數(shù)量。例如,您可以利用它將來(lái)自計(jì)算機(jī)鍵盤(pán)的信號(hào)轉(zhuǎn)換為USB控制器可以理解的單個(gè)串行信號(hào)。在本例中,我使用DIP開(kāi)關(guān)來(lái)模擬8位數(shù)據(jù)總線,并使用Arduino Uno上的單個(gè)GPIO引腳讀取8個(gè)值:

請(qǐng)注意,橙色和黃色總線實(shí)際上可能無(wú)法連接成一條線。我決定以這種方式代表他們以使圖像更容易理解:

Arduino控制移位寄存器,產(chǎn)生時(shí)鐘信號(hào),并讀取8位。然后輸出值:

結(jié)論

移位寄存器是一個(gè)由幾個(gè)D鎖存器組成的同步器件,它實(shí)現(xiàn)了數(shù)字電路中的邏輯移位功能。這些IC可用于各種應(yīng)用。然而,它們通常用于將串行數(shù)據(jù)線轉(zhuǎn)換為并行總線,反之亦然。使用它們時(shí),您必須記住,有不同類(lèi)型可用于不同目的。

移位寄存器(左移、右移、雙向)的Verilog實(shí)現(xiàn)

移位寄存器的功能和電路形式較多,按移位方向分有左移、右移、和雙向移位寄存器;按接收數(shù)據(jù)方式分為串行輸入和并行輸入;按輸出方向分為串行輸出和并行輸出。

如果將若干個(gè)觸發(fā)器級(jí)聯(lián)成如下圖所示電路,則構(gòu)成基本的移位寄存器。圖中是一個(gè)4位移位寄存器,串行二進(jìn)制數(shù)據(jù)從輸入端Dsi輸入,左邊觸發(fā)器的輸出作為右鄰觸發(fā)器的數(shù)據(jù)輸入。若將串行數(shù)碼D3D2D1D0從高位(D3)至低位(D0)按時(shí)鐘脈沖間隔依次送到Dsi端,經(jīng)過(guò)第一個(gè)時(shí)鐘脈沖后,Q0=D3。由于跟隨D3后面的是D2,因此經(jīng)過(guò)第二個(gè)時(shí)鐘脈沖后,觸發(fā)器FF0的狀態(tài)移入觸發(fā)器FF1而FF0轉(zhuǎn)變?yōu)樾碌臓顟B(tài),即Q1=D3,Q0=D2。以此類(lèi)推,輸入數(shù)碼依次由左側(cè)觸發(fā)器移到右側(cè)觸發(fā)器。經(jīng)過(guò)4個(gè)時(shí)鐘脈沖后,4個(gè)觸發(fā)器的輸出狀態(tài)Q3Q2Q1Q0與輸入數(shù)碼D3D2D1D0相對(duì)應(yīng)。這樣,就將串行輸人數(shù)據(jù)轉(zhuǎn)換為并行輸出數(shù)據(jù)Dpo。

一般來(lái)說(shuō),N位移位寄存器要由N個(gè)觸發(fā)器構(gòu)成,需要N·Tcp來(lái)完成串行到并行的數(shù)據(jù)轉(zhuǎn)換,同樣也需要N?Tcp來(lái)實(shí)現(xiàn)并行到串行的數(shù)據(jù)輸出。這里,Tcp為時(shí)鐘周期。從上述操作可以看出,移位寄存器只能用脈沖邊沿敏感的觸發(fā)器,而不能用電平敏感的鎖存器來(lái)構(gòu)成,因?yàn)樵跁r(shí)鐘脈沖高電平期間,鎖存器輸出跟隨輸入變化的特性將使移位操作失去控制。顯然,移位寄存器屬于同步時(shí)序電路。

1.基本移位

首先說(shuō)明“由于國(guó)家標(biāo)準(zhǔn)規(guī)定,邏輯圖中最低有效位(LSB)到最高有效位(MSB)的電路排列順序應(yīng)從上到下,從左到右。因此定義移位寄存器中的數(shù)據(jù)從低位觸發(fā)器移向高位為右移,反之則為左移。這一點(diǎn)與通常計(jì)算機(jī)程序中規(guī)定相反,后者從自然二進(jìn)制數(shù)的排列考慮,將數(shù)據(jù)移向高位定義為左移,反之為右移。”此內(nèi)容摘自《電子技術(shù)基礎(chǔ)-數(shù)字部分》康華光主編教材。

module shifter( din, clk, rst, dout,done);

input din, clk, rst;

output [7:0] dout;

output reg done; //完成移位

reg [7:0] dout;

reg [3:0] cnt;

always @(posedge clk)

begin

if(rst) //清零

dout <= 8’b0;

else if(cnt<=4’d7)

begin

dout<=dout>>1; //左移

dout[7]<=din;

/*dout <= dout<<1;

dout[0] <= din; */ //右移

end

else

dout<=dout;

end

always@(posedge clk)

begin

if(rst)

begin

cnt<=4'd0;

done<=1'b0;

end

else if(cnt==4'd7)

begin

cnt<=4'd0;

done<=1'b1;

end

else begin

cnt<=cnt+1'b1;

done<=1'b0;

end

end

endmodule

2.雙向移位

雙向移位實(shí)現(xiàn)數(shù)據(jù)保持、右移、左移、并行置數(shù)、并行輸出。

module two_way(

input clk,

input rst,

input s0,s1, //選擇輸入端口

input din1,din2, //串行數(shù)據(jù)輸入

input [3:0] d, //并行數(shù)據(jù)輸入

output reg [3:0] q //輸出端口

);

always@(posedge clk or negedge rst)

begin

if(!rst)

q<=4'd0;

else begin

case({s1,s0})

2'b00: q<=q; //輸出保持不變

2'b01: q<={q[2:0],din1}; //右移

2'b10: q<={din2,q[3:1]}; //左移

2'b11: q<=d; //并行置數(shù)

endcase

end

end

endmodule

在數(shù)字電路中,移位寄存器(Shift Register)是時(shí)鐘的脈沖(上升沿)觸發(fā)之下工作的一種以觸發(fā)器為基礎(chǔ)的電路器件,在每個(gè)時(shí)鐘上升沿的觸發(fā)之下,數(shù)據(jù)會(huì)依次向左或右移動(dòng)一個(gè)比特(Bit),最后在輸出端進(jìn)行輸出,這里,數(shù)據(jù)可以以并行或者以串行的方式輸入到該移位寄存器的電路器件中。

移位寄存器也是類(lèi)似一種存儲(chǔ)器,可以存儲(chǔ)數(shù)據(jù),而存在里邊的數(shù)據(jù)可以從低位向高位移動(dòng)或從高位向低位移動(dòng)。例如一個(gè)4位的移位寄存器,存在其中的數(shù)據(jù)為“1100”,如果向左(即高位MSB)移動(dòng)一次,就變成“100X”,原來(lái)的最高位的“1”移出,最低位的“X”可以是新移入的數(shù)據(jù),也可以是0(我們本次設(shè)計(jì)用的是隨機(jī)數(shù)據(jù),即隨機(jī)輸入“0”或者是“1”)。

就是因?yàn)橐莆患拇嫫髦械臄?shù)據(jù)可以在移位脈沖作用下依次逐位右移或者依次逐位左移,而數(shù)據(jù)既可以并行輸入、并行輸出、串行輸入以及串行輸出,也可以并行輸入、串行輸出、串行輸入以及并行輸出,因此,正是因?yàn)橐莆患拇嫫魅绱遂`活,才使得它用途廣泛,可以應(yīng)用于許許多多的數(shù)字電路設(shè)計(jì)模塊之中,從而實(shí)現(xiàn)多種多樣的功能。

那么,現(xiàn)在先來(lái)我們的代碼,下面是主程序和測(cè)試程序(TestBench):

當(dāng)時(shí)鐘信號(hào)上升沿到來(lái)的時(shí)候(前提是復(fù)位信號(hào)無(wú)效的時(shí)候),輸出的8位數(shù)據(jù)先移位后輸出,低位賦值一個(gè)隨機(jī)數(shù),依次移位。

clk:時(shí)鐘信號(hào)

rst_n:復(fù)位信號(hào),在這里也稱(chēng)為置零信號(hào),它使得輸出數(shù)據(jù)為零,后綴“_n”表示低電平的時(shí)候有效;

data_out:數(shù)據(jù)輸出,這里為8位數(shù)據(jù)輸出,然后先是數(shù)據(jù)進(jìn)行移位,從低位讓高位移動(dòng),比如仿真中的“11110110”(f6),在下一個(gè)時(shí)鐘觸發(fā)信號(hào)到來(lái)之后,就進(jìn)行左移,由原先的“11110110”往左移一位,變?yōu)椤?110110X”,然后X隨機(jī)帶入,這里代入的是“1”,所以下一個(gè)輸出為“11101101”(ed),依次類(lèi)推。

該程序?qū)崿F(xiàn)的移位寄存器功能一目了然。

對(duì)于移位寄存器,這里我們比較常見(jiàn)的芯片有74194芯片(考試也最??嫉?,它是一種四位雙向移位存器。我們根據(jù)移位方向,常把它分成左移寄存器、右移寄存器和雙向移位寄存器三種。根據(jù)移位數(shù)據(jù)的輸入和輸出方式,又可將它分為串行輸入-串行輸出、串行輸入-并行輸出、并行輸入-串行輸出和并行輸入-并行輸出四種電路結(jié)構(gòu)。大家如果感興趣的話可以去百度搜索這款移位寄存器的芯片手冊(cè)閱讀一下,對(duì)于自己的學(xué)習(xí)還是非常有幫助的!

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶(hù)體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(chē)(EV)作為新能源汽車(chē)的重要代表,正逐漸成為全球汽車(chē)產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車(chē)的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車(chē)的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車(chē) 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車(chē)場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周?chē)娮釉O(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉