非易失性并行存儲器的應用
發布時間:2008/9/1 0:00:00 訪問次數:950
1引言
半導體存儲器通常在電路中用于存放程序或數據。在長期的電路實踐中,筆者發現,通過向非易失性(即掉電不會丟掉所存數據)并行存儲器的存儲單元寫入特定的數據,并合理地安排并行存儲器的地址線(an)、數據線(dn)和使能(ce)、門控(oe)控制線引腳的功能,可以非常巧妙地將其作為組合邏輯芯片使用,大大簡化了電路的硬件設計。尤其在存儲器價格相當低廉的今天,合理、巧妙地使用非易失性并行存儲器,不僅可以簡化電路、方便調試、提高可靠性,還能有效地降低研發成本。本文將對非易失性并行存儲器作為多功能組合邏輯和時序邏輯芯片進行研究探討。如果沒有特別指出,文中提到的存儲器均指非易失性并行存儲器。
在數字電路設計中,我們常常希望有某個特定功能的芯片,而市場上很難找到甚至沒有芯片能提供所需要的功能。這時,一個切實可行的辦法就是采用可編程邏輯器件(pld)定制功能,這里討論用存儲器法實現。這種方法很容易推廣到其它容量和類型的非易失性并行存儲器,如eprom、eeprom、flash等。即使以后推出新型工藝的非易失性存儲器芯片,只要是并行輸入/輸出的,存儲器法都適用。
2用eprom2764(8k×8)實現的幾種電路
21將2764作為十六進制-七段數碼管譯碼驅動器
數字電路中經常需要十六進制七段數碼管譯碼驅動芯片。已知的74ls48、74ls248等芯片由于只是bcd碼-七段數碼管驅動器,都不能正確顯示十六進制a~f,如用門電路設計,雖然理論上可行,但所需芯片太多,接線過于復雜,而用存儲器實現卻很方便,并可自由選擇共陰或共陽譯碼輸出。限于篇幅,略去2764作為十六進制七段數碼管譯碼驅動器(包括 74ls48)的真值表。
對2764編程寫入真值表中的數據,僅使用16個地址單元(a3~a0:0000~1111)就能實現基本的十六進制數到七段數碼管顯示的共陰譯碼功能。如果要驅動的七段數碼管是共陽的,只要將寫入2764的數據與d6-d0取反即可。我們只用了2764存儲器8位字長中的7位,未用的d7可根據電路具體需要用于小數點顯示或其它功能。
為了使這個譯碼驅動器能滿足各種場合的需要,我們引入“共陽/共陰選擇”功能,并參照74ls48,添加以下控制引腳:
ca/ck——共陽/共陰選擇,為低時芯片作為共陰型譯碼器;為高時則為共陽型譯碼器。
bi/rbo——滅燈入/下一位無效零消隱輸出,低電平時使七段全滅。
lt——燈測試,為低電平且bi/rbo為高時,a-g輸出全高,即將數碼管的七段都點亮,用來測試數碼管或芯片好壞;為高時正常譯碼顯示。
rbi——動態滅燈輸入,為低電平且lt、bi/rbo為高時,輸入十六進制0時使數碼管不顯示,其它十六進制值不受影響(常用于消隱所顯示整數部分前面的零);為高時輸入十六進制0不會使數碼管消隱。由此再安排真值表(略)。
將真值表中的數據按地址寫入2764,沒有用到的高位地址線全部接地,我們就得到了一個功能完整的十六進制-七段數碼管譯碼驅動器,而且功能上兼容74ls48等bcd碼-七段數碼管譯碼驅動器。圖1為其與七段數碼管的接線圖,圖中ca/ck(2764的3腳)應接地,因為數碼管是共陰型的。rbi、bi/rbo、lt的意義和接法與74ls48完全一樣。
不難看出,在2764的8k個地址單元中我們僅使用了低端的256個。
22將2764作為八通道同相/反相器
由于電路設計的需要,我們希望有一種芯片提供8位通道,通過一個引腳的電平控制輸出與輸入是同相還是反相。我們知道,一個異或門是可以控制一位通道正反相的,因而用4重異或門74ls86可以實現希望的功能。但對于8通道來說,就需要2片74ls86。而用1片2764就可以實現,先寫出8通道同相/反相器的真值表(略),再將真值表中的數據按其地址寫入 2764,就可以將其作為8通道同相/反相器了。當(2764的腳a8)接高電平時,輸出與輸入是同相的;接地時,輸出與輸入是反相的。用于控制是否輸出,高電平時輸出為高阻態,它是存儲器本來的功能,與寫入的數據無關。圖2為其引腳接法。實現8通道同相/反相器用了2764的512個低地址單元。
23用2764實現十六進制(四位二進制)與bcd碼的相互轉換
當輸入的十六進制數為0~9(二進制為 0000~1001)時,輸出的兩個bcd碼的高字節總為0000,而低字節與輸入的四位二進制相同;當輸入的十六進制
1引言
半導體存儲器通常在電路中用于存放程序或數據。在長期的電路實踐中,筆者發現,通過向非易失性(即掉電不會丟掉所存數據)并行存儲器的存儲單元寫入特定的數據,并合理地安排并行存儲器的地址線(an)、數據線(dn)和使能(ce)、門控(oe)控制線引腳的功能,可以非常巧妙地將其作為組合邏輯芯片使用,大大簡化了電路的硬件設計。尤其在存儲器價格相當低廉的今天,合理、巧妙地使用非易失性并行存儲器,不僅可以簡化電路、方便調試、提高可靠性,還能有效地降低研發成本。本文將對非易失性并行存儲器作為多功能組合邏輯和時序邏輯芯片進行研究探討。如果沒有特別指出,文中提到的存儲器均指非易失性并行存儲器。
在數字電路設計中,我們常常希望有某個特定功能的芯片,而市場上很難找到甚至沒有芯片能提供所需要的功能。這時,一個切實可行的辦法就是采用可編程邏輯器件(pld)定制功能,這里討論用存儲器法實現。這種方法很容易推廣到其它容量和類型的非易失性并行存儲器,如eprom、eeprom、flash等。即使以后推出新型工藝的非易失性存儲器芯片,只要是并行輸入/輸出的,存儲器法都適用。
2用eprom2764(8k×8)實現的幾種電路
21將2764作為十六進制-七段數碼管譯碼驅動器
數字電路中經常需要十六進制七段數碼管譯碼驅動芯片。已知的74ls48、74ls248等芯片由于只是bcd碼-七段數碼管驅動器,都不能正確顯示十六進制a~f,如用門電路設計,雖然理論上可行,但所需芯片太多,接線過于復雜,而用存儲器實現卻很方便,并可自由選擇共陰或共陽譯碼輸出。限于篇幅,略去2764作為十六進制七段數碼管譯碼驅動器(包括 74ls48)的真值表。
對2764編程寫入真值表中的數據,僅使用16個地址單元(a3~a0:0000~1111)就能實現基本的十六進制數到七段數碼管顯示的共陰譯碼功能。如果要驅動的七段數碼管是共陽的,只要將寫入2764的數據與d6-d0取反即可。我們只用了2764存儲器8位字長中的7位,未用的d7可根據電路具體需要用于小數點顯示或其它功能。
為了使這個譯碼驅動器能滿足各種場合的需要,我們引入“共陽/共陰選擇”功能,并參照74ls48,添加以下控制引腳:
ca/ck——共陽/共陰選擇,為低時芯片作為共陰型譯碼器;為高時則為共陽型譯碼器。
bi/rbo——滅燈入/下一位無效零消隱輸出,低電平時使七段全滅。
lt——燈測試,為低電平且bi/rbo為高時,a-g輸出全高,即將數碼管的七段都點亮,用來測試數碼管或芯片好壞;為高時正常譯碼顯示。
rbi——動態滅燈輸入,為低電平且lt、bi/rbo為高時,輸入十六進制0時使數碼管不顯示,其它十六進制值不受影響(常用于消隱所顯示整數部分前面的零);為高時輸入十六進制0不會使數碼管消隱。由此再安排真值表(略)。
將真值表中的數據按地址寫入2764,沒有用到的高位地址線全部接地,我們就得到了一個功能完整的十六進制-七段數碼管譯碼驅動器,而且功能上兼容74ls48等bcd碼-七段數碼管譯碼驅動器。圖1為其與七段數碼管的接線圖,圖中ca/ck(2764的3腳)應接地,因為數碼管是共陰型的。rbi、bi/rbo、lt的意義和接法與74ls48完全一樣。
不難看出,在2764的8k個地址單元中我們僅使用了低端的256個。
22將2764作為八通道同相/反相器
由于電路設計的需要,我們希望有一種芯片提供8位通道,通過一個引腳的電平控制輸出與輸入是同相還是反相。我們知道,一個異或門是可以控制一位通道正反相的,因而用4重異或門74ls86可以實現希望的功能。但對于8通道來說,就需要2片74ls86。而用1片2764就可以實現,先寫出8通道同相/反相器的真值表(略),再將真值表中的數據按其地址寫入 2764,就可以將其作為8通道同相/反相器了。當(2764的腳a8)接高電平時,輸出與輸入是同相的;接地時,輸出與輸入是反相的。用于控制是否輸出,高電平時輸出為高阻態,它是存儲器本來的功能,與寫入的數據無關。圖2為其引腳接法。實現8通道同相/反相器用了2764的512個低地址單元。
23用2764實現十六進制(四位二進制)與bcd碼的相互轉換
當輸入的十六進制數為0~9(二進制為 0000~1001)時,輸出的兩個bcd碼的高字節總為0000,而低字節與輸入的四位二進制相同;當輸入的十六進制
上一篇:移動式存儲器的原理與應用
上一篇:閃存中的底層操作系統更新策略