內(nèi)容簡(jiǎn)介
本案例主要通過兩個(gè)基礎(chǔ)的鎖存器(Latch)和觸發(fā)器(Flip-Flop)來闡述下兩者之間的區(qū)別,從時(shí)序圖和源代碼可以了解。
鎖存器
鎖存器是電平觸發(fā)的存儲(chǔ)單元,數(shù)據(jù)存儲(chǔ)的動(dòng)作取決于輸入時(shí)鐘(或者使能)信號(hào)的電平值。簡(jiǎn)單而言,鎖存器的輸入有數(shù)據(jù)信號(hào)和使能信號(hào),當(dāng)處于使能狀態(tài)時(shí),輸出隨著輸入變化而變化,當(dāng)不處于使能狀態(tài)時(shí),輸入信號(hào)怎么變化都不會(huì)影響輸出。
觸發(fā)器
觸發(fā)器是對(duì)脈沖邊沿敏感的器件,它的變化只會(huì)在時(shí)鐘的上升沿或者下降沿到來的瞬間改變。
通過簡(jiǎn)單的鎖存器時(shí)序和觸發(fā)器時(shí)序來感受下有什么區(qū)別吧
1
鎖存器時(shí)序圖
**鎖存器LTCH—— **輸入:L , D ,RST 輸出:Q
LTCH信號(hào)解讀
只有L為高電平,輸出Q才會(huì)跟隨輸入D并進(jìn)行鎖存,t1到t3之間,輸入D信號(hào)雖然發(fā)生變化,輸出Q并未隨之改變,鎖存上一次D的信號(hào);當(dāng)復(fù)位RST為高電平,Q輸出低電平,由于RST在t4為高電平后下降沿變?yōu)榈碗娖?,而在t5時(shí)L為高電平對(duì)輸出Q產(chǎn)生作用,輸出Q變?yōu)楦唠娖健?/strong>
2
觸發(fā)器時(shí)序圖
**觸發(fā)器FF_RSE—— **輸入:CR , SR ,RST 輸出:Q
FF_RSE信號(hào)解讀
SR上升沿時(shí),置位輸出Q;CR上升沿時(shí),復(fù)位輸出Q;當(dāng)復(fù)位RST為高電平,輸出Q為低電平,由于RST在t4為高電平,雖然SR在t5后為高電平但對(duì)輸出Q不產(chǎn)生作用,RST變?yōu)榈碗娖胶?,SR已不是上升沿,仍舊對(duì)輸出Q不產(chǎn)生作用。
源代碼
鎖存器LTCH代碼:
FUNCTION_BLOCK "LTCH"
TITLE = 'LTCH'
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
D : Bool;
L : Bool;
RST : Bool;
END_VAR
VAR_OUTPUT
Q : Bool;
END_VAR
BEGIN
IF #RST THEN
#Q := FALSE;
ELSIF #L THEN
#Q := #D;
END_IF;
END_FUNCTION_BLOCK
觸發(fā)器FF_RSE源代碼:
FUNCTION_BLOCK "FF_RSE"
TITLE = 'FF_RSE'
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
CS : Bool;
CR : Bool;
RST : Bool;
END_VAR
VAR_OUTPUT
Q : Bool;
END_VAR
VAR
es : Bool;
er : Bool;
END_VAR
BEGIN
IF #RST THEN
#Q := FALSE;
ELSIF #CR AND NOT #er THEN
#Q := FALSE;
ELSIF #CS AND NOT #es THEN
#Q := TRUE;
END_IF;
#es := #CS;
#er := #CR;
END_FUNCTION_BLOCK
-
數(shù)據(jù)存儲(chǔ)
+關(guān)注
關(guān)注
5文章
970瀏覽量
50894 -
鎖存器
+關(guān)注
關(guān)注
8文章
906瀏覽量
41495 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61131 -
RST
+關(guān)注
關(guān)注
0文章
31瀏覽量
7394
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論