You are on page 1of 6

‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫ﺣﻞ ﻣﺜﺎل از ﮐﺎرﺑﺮد ‪ flip-flop‬ﻫﺎ‪:‬‬

‫ﻣﺜﺎل‪switch debouncer :‬‬

‫ﻣﻄﺎﺑﻖ ﺷﮑﻞ ‪ ، 1‬ﯾﮏ ﮐﻠﯿﺪ )‪ (switch‬دارﯾﻢ ﮐﻪ ﺑﺮاي ﻗﻄﻊ و وﺻﻞ ﻣﺪار ﺑﻪ ﮐﺎر رود‪ .‬ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ ﮐﻠﯿﺪ‬
‫را ﺑﻪ ﺻﻮرت دﺳﺘﯽ روي ‪ 0‬ﯾﺎ ‪ 5‬وﻟﺖ ﻗﺮار ﻣﯽ دﻫﯿﻢ‪ .‬اﮔﺮ در اﺑﺘﺪا ﮐﻠﯿﺪ روي ‪ 0‬وﻟﺖ ﺑﺎﺷﺪ‪ ،‬ﺳﭙﺲ آن را روي‬
‫‪ 5‬وﻟﺖ ﻗﺮار دﻫﯿﻢ‪ ،‬اﻧﺘﻈﺎر دارﯾﻢ ﮐﻪ ‪ ،Vout‬ﻣﺸﺎﺑﻪ ﺷﮑﻞ ‪ ،2‬از ‪ 0‬ﺑﻪ ‪ 5‬ﺗﻐﯿﯿﺮ ﮐﻨﺪ‪ .‬اﻣﺎ در واﻗﻊ‪ ،‬ﭼﻮن ﺳﻮﯾﯿﭻ‬
‫ﻣﮑﺎﻧﯿﮑﯽ اﺳﺖ‪ ،‬در ﺣﯿﻦ وﺻﻞ ﮐﺮدن ﮐﻠﯿﺪ‪ ،‬ﮐﻠﯿﺪ ﺑﯿﻦ دو ﭘﺎﯾﻪ ‪ 0‬و ‪ 5‬وﻟﺖ ﻣﻘﺪاري ﻧﻮﺳﺎن ﻣﯽ ﮐﻨﺪ ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ‬
‫ﮐﺎﻣﻼ ﺑﻪ ‪ 5‬وﻟﺖ وﺻﻞ ﻣﯽ ﺷﻮد )ﺷﮑﻞ ‪ .( 3‬ﺑﻪ اﯾﻦ اﻋﻮﺟﺎج ﻫﺎ در وﻟﺘﺎژ ﺧﺮوﺟﯽ‪ contact bounce ،‬ﮔﻔﺘﻪ‬
‫ﻣﯽ ﺷﻮد‪ .‬اﯾﻦ ﻧﻮﺳﺎﻧﺎت ﻣﯽ ﺗﻮاﻧﻨﺪ ﺣﺪود ‪ 10‬ﺗﺎ ‪ 100‬ﺑﺎر در ﯾﮏ ﻣﯿﻠﯽ ﺛﺎﻧﯿﻪ )‪ (10-100 per ms‬اﺗﻔﺎق ﺑﯿﻔﺘﻨﺪ‪،‬‬
‫ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ ﮐﻪ در ﻣﺪت زﻣﺎن ﮐﻮﺗﺎﻫﯽ‪ ،‬ﻣﺪار ﻣﯽ ﺗﻮاﻧﺪ ﺑﺎرﻫﺎ ﻗﻄﻊ و وﺻﻞ ﺷﻮد‪ .‬اﮔﺮ ﻣﺪار ﺑﺴﯿﺎر ﺣﺴﺎس ﺑﺎﺷﺪ‪،‬‬
‫ﻣﻤﮑﻦ اﺳﺖ در اﺛﺮ ﻗﻄﻊ و وﺻﻞ ﺷﺪن ﺑﺎ ﻓﺮﮐﺎﻧﺲ ﺑﺎﻻ دﭼﺎر ﻣﺸﮑﻞ ﺷﻮد‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ﺑﺎﯾﺪ اﯾﻦ ﻧﻮﺳﺎﻧﺎت را ﺣﺬف‬
‫ﮐﻨﯿﻢ‪.‬‬

‫ﺷﮑﻞ ‪2‬‬

‫ﺷﮑﻞ ‪3‬‬
‫ﺷﮑﻞ ‪1‬‬

‫‪ .‬ﺑﻪ ﺣﺬف اﯾﻦ ﻧﻮﺳﺎﻧﺎت‪ switch debouncing ،‬ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد‪ .‬ﺑﺮاي از ﺑﯿﻦ ﺑﺮدن اﯾﻦ ﻧﻮﺳﺎﻧﺎت‪ ،‬ﻣﯽ ﺗﻮاﻧﯿﻢ‬
‫از ‪ flip-flop‬ﻫﺎ اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢ ﺑﺮاي ﺳﺎﺧﺖ ‪ switch debouncer‬از ﯾﮏ ‪ SR flip-flop‬از ﻧﻮع ‪NAND‬‬
‫اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﯿﻢ و اﺗﺼﺎﻻت ﺑﻪ ﭘﺎﯾﻪ ﻫﺎي ‪ flip-flop‬را ﻣﻄﺎﺑﻖ ﺷﮑﻞ ‪ 4‬ﻗﺮار ﻣﯽ دﻫﯿﻢ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ‪ 1‬ﮐﻪ‬
‫ﺟﺪول ﻣﺸﺨﺼﻪ اﯾﻦ ‪ flip-flop‬اﺳﺖ‪ ،‬ﻧﺤﻮه ﮐﺎر اﯾﻦ ‪ debouncer‬را ﺗﻮﺿﯿﺢ ﻣﯽ دﻫﯿﻢ‪.‬‬

‫‪1‬‬
‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫‪S‬‬ ‫‪R‬‬
‫‪0‬‬ ‫‪0‬‬ ‫ﻧﺎﻣﻌﯾن‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬
‫ﺷﮑﻞ ‪4‬‬
‫ﺟﺪول ‪1‬‬

‫وﻗﺘﯽ ﻣﯽ ﺧﻮاﻫﯿﻢ ﻣﺪار را وﺻﻞ ﮐﻨﯿﻢ و ﺧﺮوﺟﯽ ‪ 5‬وﻟﺖ از اﯾﻦ ‪ flip-flop‬ﺑﮕﯿﺮﯾﻢ‪:‬‬

‫ﭘﺎﯾﻪ ‪ R‬ﺑﻪ ‪ 5‬وﻟﺖ ﻣﺘﺼﻞ اﺳﺖ ﭘﺲ ‪ 1‬اﺳﺖ‪ .‬ﭘﺎﯾﻪ ‪ S‬در ﻟﺤﻈﻪ ﻗﻄﻊ ﮐﻠﯿﺪ ‪ 1 ،‬اﺳﺖ و در ﻟﺤﻈﻪ وﺻﻞ ﺷﺪن ﮐﻠﯿﺪ‬
‫و وﺻﻞ ﺷﺪن ﺑﻪ زﻣﯿﻦ‪ 0 ،‬ﻣﯽ ﺷﻮد‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول ‪ ، 1‬وﻗﺘﯽ ﻫﺮ دو ورودي ‪ 1‬ﺑﺎﺷﻨﺪ‪ ،‬ﺧﺮوﺟﯽ ﺑﺮاﺑﺮ ﺑﺎ‬
‫ﺧﺮوﺟﯽ ﻗﺒﻠﯽ ﺧﻮاﻫﺪ ﺑﻮد و اﮔﺮ ‪ R=1‬و ‪ ، S=0‬ﺧﺮوﺟﯽ ﺑﺮاﺑﺮ ‪ 1‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫در ﻟﺤﻈﻪ اي ﮐﻪ ﮐﻠﯿﺪ وﺻﻞ ﻣﯽ ﺷﻮد و ﭘﺎﯾﻪ ‪ S‬ﺻﻔﺮ ﻣﯽ ﺷﻮد‪ ،‬ﺧﺮوﺟﯽ ‪ 1 ، Q‬ﻣﯽ ﺷﻮد‪ .‬ﺳﭙﺲ ﺑﺎ ﻗﻄﻊ ﮐﻠﯿﺪ‪ ،‬ﻫﺮ‬
‫دو ﭘﺎﯾﻪ ‪ 1‬ﻣﯽ ﺷﻮﻧﺪ‪ .‬در اﯾﻦ ﺣﺎﻟﺖ‪ ،‬ﺧﺮوﺟﯽ ‪ flip-flop‬ﺑﺮاﺑﺮ ﺑﺎ ﺧﺮوﺟﯽ ﻗﺒﻠﯽ آن ﺧﻮاﻫﺪ ﺑﻮد ﮐﻪ ﺧﺮوﺟﯽ ﻗﺒﻠﯽ‬
‫‪ 1‬ﺷﺪه ﺑﻮد‪.‬‬

‫ﭘﺲ‪ ،‬ﺑﻪ ﻣﺤﺾ اﯾﻨﮑﻪ ﮐﻠﯿﺪ ﯾﮏ ﺑﺎر وﺻﻞ ﻣﯽ ﺷﻮد و ﺧﺮوﺟﯽ‪ ،‬ﯾﮏ ﺑﺎر ‪ 1‬ﻣﯽ ﺷﻮد‪ ،‬ﭘﺲ از آن ﺣﺘﯽ اﮔﺮ ﻧﻮﺳﺎن‬
‫ﮐﻨﺪ و ﻗﻄﻊ و وﺻﻞ ﺷﻮد‪ ،‬ﺑﺎز ﻫﻢ ﺧﺮوﺟﯽ ‪ 1‬ﻣﯽ ﻣﺎﻧﺪ و ﻣﺪار ﻣﺘﺼﻞ ﺑﻪ ﺧﺮوﺟﯽ ‪ flip-flop‬وﺻﻞ ﻣﯽ ﺷﻮد‪ .‬اﯾﻦ‬
‫ﻣﺮاﺣﻞ را ﺑﻪ ﻃﻮر ﺧﻼﺻﻪ در ﺟﺪول ‪ 2‬ﻣﯽ ﺑﯿﻨﯿﺪ‪:‬‬

‫‪S‬‬ ‫‪R‬‬
‫‪1‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪=1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪=1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫ﺟﺪول ‪2‬‬
‫‪2‬‬
‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫وﻗﺘﯽ ﻣﯽ ﺧﻮاﻫﯿﻢ ﻣﺪار را ﻗﻄﻊ ﮐﻨﯿﻢ‪:‬‬

‫ﮐﻠﯿﺪ را ﺑﻪ ﭘﺎﯾﻪ ‪ R‬ﻣﺘﺼﻞ ﻣﯽ ﮐﻨﯿﻢ‪ .‬ﺑﻪ ﻣﺤﺾ وﺻﻞ ﺷﺪن ﮐﻠﯿﺪ‪ ،‬ﭘﺎﯾﻪ ‪ 0 R‬ﻣﯽ ﺷﻮد و ﭘﺎﯾﻪ ‪ S‬ﻧﯿﺰ ﭼﻮن ﺑﻪ ‪5‬‬
‫وﻟﺖ ﻣﺘﺼﻞ اﺳﺖ‪ 1 ،‬اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ﻃﺒﻖ ﺟﺪول ﻣﺸﺨﺼﻪ‪ ،‬در اﯾﻦ ﺣﺎﻟﺖ ﺧﺮوﺟﯽ ‪ 0‬ﻣﯽ ﺷﻮد‪ .‬ﺣﺎل اﮔﺮ ﻧﻮﺳﺎن‬
‫اﺗﻔﺎق ﺑﯿﻔﺘﺪ و و ﮐﻠﯿﺪ ﻗﻄﻊ ﺷﻮد‪ ،‬ﻫﺮ دو ﭘﺎﯾﻪ ‪ 1‬ﻣﯽ ﺷﻮﻧﺪ ﮐﻪ در اﯾﻦ ﺣﺎﻟﺖ‪ ،‬ﺧﺮوﺟﯽ ﺑﺮاﺑﺮ ﺑﺎ ﺧﺮوﺟﯽ ﻗﺒﻠﯽ‬
‫‪ flip-flop‬ﻣﯽ ﺷﻮد ﮐﻪ ‪ 0‬ﺑﻮد‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ‪ ،‬ﺑﻪ ﻣﺤﺾ ﯾﮏ ﺑﺎر وﺻﻞ ﺷﺪن ﮐﻠﯿﺪ ﺑﻪ ﭘﺎﯾﻪ ‪ ،R‬ﺧﺮوﺟﯽ ‪ 0‬ﻣﯽ ﺷﻮد و‬
‫ﻧﻮﺳﺎﻧﺎت ﺗﺎﺛﯿﺮي روي ﺧﺮوﺟﯽ ﻧﻤﯽ ﮔﺬارد و ﺧﺮوﺟﯽ ‪ 0‬ﻣﯽ ﻣﺎﻧﺪ‪.‬‬

‫اﻧﻮاع ﺳﯿﺴﺘﻢ ﻫﺎي دﯾﺠﯿﺘﺎﻟﯽ‪:‬‬

‫ﺳﯿﺴﺘﻢ ﻫﺎي دﯾﺠﯿﺘﺎﻟﯽ ﯾﺎ آﺳﻨﮑﺮون ﻫﺴﺘﻨﺪ و ﯾﺎ ﺳﻨﮑﺮون‪.‬‬

‫در ﺳﯿﺴﺘﻢ ﻫﺎي آﺳﻨﮑﺮون‪ ،‬ﺑﻪ ﻣﺤﺾ ﺗﻐﯿﯿﺮ ورودي‪ ،‬ﺧﺮوﺟﯽ ﺳﯿﺴﺘﻢ ﺗﻐﯿﯿﺮ ﻣﯽ ﮐﻨﺪ‪.‬‬

‫در ﺳﯿﺴﺘﻢ ﻫﺎي ﺳﻨﮑﺮون‪ ،‬ﺗﻐﯿﯿﺮاﺗﯽ ﮐﻪ در ﺳﯿﺴﺘﻢ رخ ﻣﯽ دﻫﺪ‪ ،‬ﻓﻘﻂ در زﻣﺎن ﻫﺎي ﻣﺸﺨﺼﯽ و در ﻫﻤﻪ اﺟﺰاي‬
‫ﺳﯿﺴﺘﻢ ﺑﺎ ﻫﻢ‪ ،‬اﺗﻔﺎق ﻣﯽ اﻓﺘﺪ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ‪ ،‬ﻫﻨﮕﺎﻣﯽ ﮐﻪ ورودي ﺑﻪ ﺳﯿﺴﺘﻢ داده ﻣﯽ ﺷﻮد‪ ،‬ﺳﯿﺴﺘﻢ ﺑﻼﻓﺎﺻﻠﻪ ﺗﻐﯿﯿﺮ‬
‫ﻧﻤﯽ ﮐﻨﺪ‪ ،‬ﺑﻠﮑﻪ ﻫﻤﻪ ﺗﻐﯿﯿﺮات در زﻣﺎن ﻫﺎي ﻣﻌﯿﻨﯽ اﻧﺠﺎم ﻣﯽ ﺷﻮﻧﺪ‪ .‬اﮐﺜﺮ ﺳﯿﺴﺘﻢ ﻫﺎي دﯾﺠﯿﺘﺎل‪ ،‬از ﻧﻮع ﺳﻨﮑﺮون‬
‫ﻫﺴﺘﻨﺪ‪ .‬زﯾﺮا ﮐﺎر ﮐﺮدن ﺑﺎ اﯾﻦ ﺳﯿﺴﺘﻢ ﻫﺎ و ﻃﺮاﺣﯽ آن ﻫﺎ ﺳﺎده ﺗﺮ اﺳﺖ‪.‬‬

‫ﺑﺮاي اﯾﺠﺎد اﯾﻦ ﻫﻤﺰﻣﺎﻧﯽ در ﺳﯿﺴﺘﻢ ﻫﺎي ﺳﻨﮑﺮون‪ ،‬ﯾﮏ ﭘﺎﻟﺲ ﺑﻪ ﻧﺎم ﭘﺎﻟﺲ ﺳﺎﻋﺖ ﯾﺎ ‪ clock‬وارد ﺳﯿﺴﺘﻢ‬
‫ﻣﯽ ﺷﻮد‪ .‬ﭘﺎﻟﺲ ‪) clock‬ﯾﺎ ‪ ، clk‬و ﯾﺎ ‪ ( cp‬ﯾﮏ ﭘﺎﻟﺲ دﯾﺠﯿﺘﺎﻟﯽ ﭘﺮﯾﻮدﯾﮏ اﺳﺖ‪ .‬ﺗﻐﯿﯿﺮات در ﺳﯿﺴﺘﻢ‪ ،‬در ﯾﮏ‬
‫زﻣﺎن ﻣﺸﺨﺺ از ﻫﺮ ﭘﺮﯾﻮد ﭘﺎﻟﺲ ‪ clock‬اﻧﺠﺎم ﻣﯽ ﺷﻮد‪.‬‬

‫ﺑﺮاي ﻣﺜﺎل‪ ،‬اﮔﺮ ﭘﺎﻟﺲ ‪ clock‬ﻣﻄﺎﺑﻖ ﺷﮑﻞ ‪ 5‬ﺑﺎﺷﺪ‪ ،‬ﻫﻤﻪ ﺗﻐﯿﯿﺮات ﺳﯿﺴﺘﻢ در ﻟﺤﻈﻪ اي اﻧﺠﺎم ﻣﯽ ﺷﻮد ﮐﻪ ﭘﺎﻟﺲ‬
‫ﺳﺎﻋﺖ روي ﻟﺒﻪ اي اﺳﺖ ﮐﻪ ﺑﺎ ﻓﻠﺶ ﻣﺸﺨﺺ ﺷﺪه اﺳﺖ‪ .‬ﯾﻌﻨﯽ ﺗﻐﯿﯿﺮات در ﺳﯿﺴﺘﻢ‪ ،‬در ﻟﺒﻪ ﺑﺎﻻروﻧﺪه ﭘﺎﻟﺲ‬
‫اﻧﺠﺎم ﻣﯽ ﺷﻮد‪ .‬ﯾﻌﻨﯽ ﺳﯿﺴﺘﻢ‪" ،‬ﺣﺴﺎس ﺑﻪ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪه" اﺳﺖ‪.‬‬

‫‪3‬‬
‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫اﮔﺮ ﭘﺎﻟﺲ ‪ clock‬ﻣﻄﺎﺑﻖ ﺷﮑﻞ ‪ 6‬ﺑﺎﺷﺪ‪ ،‬ﻫﻤﻪ ﺗﻐﯿﯿﺮات ﺳﯿﺴﺘﻢ‪ ،‬در ﻟﺤﻈﻪ اي ﮐﻪ ﭘﺎﻟﺲ در ﻟﺒﻪ ﭘﺎﯾﯿﻦ روﻧﺪه ﻗﺮار‬
‫دارد اﻧﺠﺎم ﻣﯽ ﺷﻮد‪ .‬ﯾﻌﻨﯽ ﺳﯿﺴﺘﻢ‪" ،‬ﺣﺴﺎس ﺑﻪ ﻟﺒﻪ ﭘﺎﯾﯿﻦ روﻧﺪه" اﺳﺖ‪.‬‬

‫ﺷﮑﻞ ‪ : 5‬ﺣﺴﺎس ﺑﻪ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪه‬ ‫ﺷﮑﻞ ‪ : 6‬ﺣﺴﺎس ﺑﻪ ﻟﺒﻪ ﭘﺎﯾﯿﻦ روﻧﺪه‬

‫‪ flip-flop‬ﻫﺎي اﺻﻠﯽ ‪:‬‬

‫‪ flip-flop‬ﻫﺎ‪ ،‬ﺑﻪ ﺟﺰ ورودي ﻫﺎﯾﯽ ﮐﻪ ﺑﺮاي دﯾﺘﺎ دارﻧﺪ‪ ،‬ﯾﮏ ورودي ﻫﻢ ﺑﺮاي ﭘﺎﻟﺲ ‪ clock‬دارﻧﺪ‪ .‬ورودي‬
‫ﭘﺎﻟﺲ ‪ ،clock‬ﺑﺎ ﻋﻼﻣﺖ ﯾﮏ ﻓﻠﺶ و ﺣﺮوف ‪ clk‬ﻧﻤﺎﯾﺶ داده ﻣﯽ ﺷﻮد‪ .‬در اداﻣﻪ‪ flip-flop ،‬ﻫﺎي اﺻﻠﯽ و‬
‫ﺟﺪول ﻣﺸﺨﺼﻪ آن ﻫﺎ ﻣﻌﺮﻓﯽ ﻣﯽ ﺷﻮﻧﺪ‪:‬‬

‫‪: FF-RS‬‬

‫در اﯾﻦ ‪ ، flip-flop‬ﺑﻪ ﺟﺰ ﮔﯿﺖ ﻫﺎي ‪ NAND‬ﯾﺎ ‪ NOR‬ﮐﻪ ﻗﺒﻼ دﯾﺪﯾﻢ ﻣﯽ ﺗﻮان ﺑﺎ آﻧﻬﺎ ﯾﮏ ‪ flip-flop‬اﯾﺠﺎد‬
‫ﮐﺮد‪ ،‬ﮔﯿﺖ ﻫﺎي دﯾﮕﺮي ﻧﯿﺰ وﺟﻮد دارﻧﺪ ﺗﺎ ﻫﻤﺰﻣﺎﻧﯽ ﺑﺎ ﭘﺎﻟﺲ ‪ clock‬را اﯾﺠﺎد ﮐﻨﻨﺪ‪ .‬ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ‪ ،‬ﺧﺮوﺟﯽ‬
‫ﻫﺎي ‪ flip-flop‬ﮐﻪ ﻣﻄﺎﺑﻖ ﺟﺪول ‪ 3‬ﻫﺴﺘﻨﺪ‪ ،‬در زﻣﺎن ﻫﺎي ﻣﺸﺨﺼﯽ اﯾﺠﺎد ﻣﯽ ﺷﻮﻧﺪ‪ .‬ﻣﺜﻼ اﮔﺮ ﭘﺎﻟﺲ ‪clock‬‬
‫ﻣﻄﺎﺑﻖ ﺷﮑﻞ ‪ 7‬ﺑﺎﺷﺪ‪ ،‬ﺧﺮوﺟﯽ ﻫﺎي ‪ flip-flop‬در ﻟﺒﻪ ﺑﺎﻻ روﻧﺪه ﭘﺎﻟﺲ اﯾﺠﺎد ﻣﯽ ﺷﻮﻧﺪ‪ .‬ﻣﯽ ﺗﻮاﻧﯿﻢ در ﺟﺪول‬
‫ﻣﺸﺨﺼﻪ ‪ flip-flop‬ﯾﺎ ﺑﺎ ﮐﺸﯿﺪن ﺷﻤﺎﺗﯿﮏ ﭘﺎﻟﺲ ﺣﺴﺎس ﺑﻪ ﻟﺒﻪ ﺑﺎﻻ روﻧﺪه‪/‬ﭘﺎﯾﯿﻦ روﻧﺪه در ﮐﻨﺎر ﭘﺎﯾﻪ ورودي‬
‫)ﻣﺸﺎﺑﻪ ﺷﮑﻞ ‪ ، ( 7‬ﻣﺸﺨﺺ ﮐﺮد ﮐﻪ ﺗﻐﯿﯿﺮات ﺳﯿﺴﺘﻢ در ﭼﻪ زﻣﺎﻧﯽ از ﭘﺎﻟﺲ اﺗﻔﺎق ﻣﯽ اﻓﺘﺪ‪.‬‬

‫‪S‬‬ ‫‪R‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫ﻧﺎﻣﻌﯿﻦ‬

‫ﺟﺪول ‪3‬‬ ‫ﺷﮑﻞ ‪7‬‬

‫‪4‬‬
‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫ﻣﺜﺎل‪ :‬ﻣﯽ ﺧﻮاﻫﯿﻢ ﺗﺎﺑﻊ ﺧﺮوﺟﯽ اﯾﻦ ‪ ، flip-flop‬ﯾﻌﻨﯽ ‪ Qt+1‬را ﭘﯿﺪا ﮐﻨﯿﻢ‪.‬‬

‫ﺑﺮاي اﯾﻦ ﮐﺎر‪ ،‬اﺑﺘﺪا ﺑﺎﯾﺪ ﺟﺪول درﺳﺘﯽ را رﺳﻢ ﮐﺮده‪ ،‬و ﺳﭙﺲ ﺑﺎ روش ﻫﺎﯾﯽ ﮐﻪ ﺑﺮاي ﺳﺎده ﺳﺎزي ﺗﻮاﺑﻊ ﯾﺎد‬
‫ﮔﺮﻓﺘﯿﻢ‪ ،‬ﺗﺎﺑﻊ ﺧﺮوﺟﯽ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﯿﻢ‪.‬‬

‫ﻫﻤﺎن ﻃﻮر ﮐﻪ در ﺟﺪول ﻣﺸﺨﺼﻪ ‪ flip-flop‬دﯾﺪه ﻣﯽ ﺷﻮد‪ ،‬زﻣﺎﻧﯽ ﮐﻪ ورودي ﻫﺎ ‪ 00‬ﺑﺎﺷﻨﺪ‪ ،‬ﺧﺮوﺟﯽ ﺑﺮاﺑﺮ ﺑﺎ‬
‫ﺧﺮوﺟﯽ ﻗﺒﻠﯽ ) ‪ (Qt‬اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ‪ ،‬ﺧﺮوﺟﯽ ‪ flip-flop‬را ﺑﻪ ازاي ورودي ﻫﺎي ﻣﺨﺘﻠﻒ و ﺧﺮوﺟﯽ ﻫﺎي ﻗﺒﻠﯽ‪،‬‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﯽ ﮐﻨﯿﻢ‪.‬‬

‫ﺟﺪول درﺳﺘﯽ ﺧﺮوﺟﯽ اﯾﻦ ‪ flip-flop‬را در ﺟﺪول ‪ 4‬ﻣﺸﺎﻫﺪه ﻣﯽ ﮐﻨﯿﺪ‪:‬‬

‫‪S‬‬ ‫‪R‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪=0‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫ﻧﺎﻣﻌﯿﻦ‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪=1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫ﻧﺎﻣﻌﯿﻦ‬

‫ﺟﺪول ‪4‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺟﺪول‪ ،‬اﮔﺮ ورودي ﻫﺎ ‪ 11‬ﺑﺎﺷﻨﺪ‪ ،‬ﺧﺮوﺟﯽ ﻧﺎﻣﻌﯿﻦ اﺳﺖ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ‪ ،‬ﺗﺎﺑﻊ را ﺑﺎ ﺷﺮط ‪S.R=0‬‬
‫ﻣﯽ ﻧﻮﯾﺴﯿﻢ‪ .‬ﺑﻪ اﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺣﺎﺻﻞ ‪ AND‬ﺑﯿﻦ ‪ S‬و ‪ R‬ﺑﺎﯾﺪ ﺻﻔﺮ ﺑﺎﺷﺪ‪ :‬ﯾﻌﻨﯽ ﺣﺪاﻗﻞ ﯾﮑﯽ از ورودي ﻫﺎ ﺑﺎﯾﺪ ‪0‬‬
‫ﺑﺎﺷﺪ ﺗﺎ ﺧﺮوﺟﯽ ‪ flip-flop‬ﻣﻘﺪار ﻣﻌﯿﻨﯽ ﺑﺎﺷﺪ‪.‬‬

‫ﭘﺲ از ﺳﺎده ﺳﺎزي ﺗﺎﺑﻊ‪ ،‬ﻣﯽ ﺑﯿﻨﯿﻢ ﮐﻪ ﺧﺮوﺟﯽ از ﺗﺎﺑﻊ زﯾﺮ ﺑﻪ دﺳﺖ ﻣﯽ آﯾﺪ‪:‬‬

‫=‬ ‫‪+‬‬ ‫‪.‬‬

‫‪5‬‬
‫دﯾﺠﯿﺘﺎل – ﺟﻠﺴﻪ ﭘﻨﺠﻢ‬ ‫)‪ – (28846‬زﻣﺴﺘﺎن ‪1399‬‬ ‫اﻟﮑﺘﺮوﻧﯿﮏ ﮐﺎرﺑﺮدي‬

‫‪: D-FF‬‬

‫ﺷﺎﯾﺪ ﭘﺮ ﮐﺎرﺑﺮدﺗﺮﯾﻦ ﻋﻨﺼﺮ ﺣﺎﻓﻈﻪ‪ D flip-flop ،‬ﺑﺎﺷﺪ‪ .‬اﯾﻦ ‪ flip-flop‬در واﻗﻊ ﯾﮏ ‪ SR flip-flop‬اﺳﺖ ﮐﻪ‬
‫ﻓﻘﻂ ﯾﮏ ورودي و ﯾﮏ ﭘﺎﻟﺲ ‪ clock‬دارد‪ .‬ﺟﺪول ‪ 5‬ﺟﺪول ﻣﺸﺨﺼﻪ اﯾﻦ ‪ flip-flop‬اﺳﺖ‪ .‬اﯾﻦ ‪، flip-flop‬‬
‫ﭼﻮن ﻓﻘﻂ ﯾﮏ ﭘﺎﯾﻪ ورودي دارد‪ ،‬ﺗﻨﻬﺎ دو ﻧﻮع ورودي دارد‪ .‬اﮔﺮ ورودي ‪ 0‬ﺑﺎﺷﺪ‪ ،‬ﺧﺮوﺟﯽ ‪ 0‬ﺧﻮاﻫﺪ ﺑﻮد و اﮔﺮ‬
‫ورودي ‪ 1‬ﺑﺎﺷﺪ‪ ،‬ﺧﺮوﺟﯽ ﻧﯿﺰ ‪ 1‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫ﻋﻤﻠﮑﺮد ‪ D-FF‬ﺑﻪ ﺑﺎﻓﺮ ﺷﺒﺎﻫﺖ دارد اﻣﺎ ﺑﺎ ﺑﺎﻓﺮ و ﻣﺪارﻫﺎي ﺗﺮﮐﯿﺒﯽ ﻣﺘﻔﺎوت اﺳﺖ‪ ،‬زﯾﺮا اﯾﻦ ‪ flip-flop‬ﯾﮏ ﻣﺪار‬
‫ﺗﺮﺗﯿﺒﯽ و ﯾﮏ ﻋﻨﺼﺮ ﺣﺎﻓﻈﻪ دار اﺳﺖ اﻣﺎ ﺑﺎﻓﺮ ﯾﮏ ﻣﺪار ﺗﺮﮐﯿﺒﯽ اﺳﺖ و ﻧﻤﯽ ﺗﻮاﻧﺪ دﯾﺘﺎ را ذﺧﯿﺮه ﮐﻨﺪ‪.‬‬

‫در ﺳﺎﺧﺖ ‪Register‬ﻫﺎ ﮐﻪ ﯾﮑﯽ از ﻋﻨﺎﺻﺮ ذﺧﯿﺮه ﺳﺎزي داده ﻫﺎ ﻫﺴﺘﻨﺪ‪ ،‬از ‪ D flip-flop‬ﻫﺎ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد‪.‬‬

‫‪D‬‬
‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪1‬‬

‫ﺟﺪول ‪5‬‬

‫ﺷﮑﻞ ‪8‬‬

‫‪6‬‬

You might also like