1、精簡ISA總線GPIO擴(kuò)展原理
在工業(yè)領(lǐng)域,GPIO的應(yīng)用非常廣泛,英利工控板上自帶有16路GPIO。然而在實(shí)際應(yīng)用中,經(jīng)常需要多于16路的GPIO作為控制或者數(shù)據(jù)信號(hào)使用,這時(shí)候可以通過英利精簡ISA總線進(jìn)行GPIO擴(kuò)展。采用最普遍的邏輯芯片74HCT138、74HCT245和74HCT273即可以擴(kuò)展出滿足需求數(shù)量的GPIO。此外,由于上述芯片的成本極其低廉,單片采購價(jià)只有幾角錢,因此在滿足功能需求的同時(shí),也有效地控制了產(chǎn)品成本。
采用精簡ISA總線進(jìn)行GPIO擴(kuò)展的方法是:使用74HCT138對(duì)片選控制信號(hào)CS1#、讀信號(hào)RD#、寫信號(hào)WE#以及地址線SA0-SA2進(jìn)行地址譯碼,產(chǎn)生不同地址偏移量的片選信號(hào),應(yīng)用程序通過對(duì)不同地址的讀寫操作來控制相應(yīng)的GPIO(GPIO通過74HCT245或者74HCT273連接到數(shù)據(jù)線SD0-SD7)。
2、DIN擴(kuò)展示例
數(shù)字輸入DIN的擴(kuò)展原理圖如下所示:
如圖所示,地址譯碼產(chǎn)生了8個(gè)讀片選信號(hào),每一個(gè)信號(hào)通過控制一片74HCT245可以操作8路GPIO,這樣,一次譯碼之后可以擴(kuò)展出64路DIN。本圖中只使用了RD0#和RD1#兩個(gè)片選信號(hào),客戶如有需要可以使用RD2#-RD7#繼續(xù)進(jìn)行擴(kuò)展。
3、DOUT擴(kuò)展示例
數(shù)字輸出DOUT的擴(kuò)展原理圖如下所示:
如圖所示,地址譯碼產(chǎn)生了8個(gè)寫片選信號(hào),每一個(gè)信號(hào)通過控制一片74HCT273可以操作8路GPIO,這樣,一次譯碼之后可以擴(kuò)展出64路DOUT。本圖中只使用了WE0#和WE1#兩個(gè)片選信號(hào),客戶如有需要可以使用WE2#-WE7#繼續(xù)進(jìn)行擴(kuò)展。
綜上所述,通過一次地址譯碼能夠擴(kuò)展出64路輸入、64路輸出一共128路GPIO,可以滿足絕大多數(shù)工業(yè)控制領(lǐng)域的需求。而這128路GPIO擴(kuò)展所需的器件成本只有十幾元,相對(duì)于工控整機(jī)產(chǎn)品而言,幾乎可以忽略不計(jì)。
此外需強(qiáng)調(diào)的是,如果用戶擴(kuò)展出的GPIO是用做不同的功能,那么最好將不同的功能單元完全分開。
比如,需要進(jìn)行如下擴(kuò)展控制:
? 3路DIN
? 2x3矩陣鍵盤
? 5個(gè)LED
? 4路繼電器單元
? 7路DOUT
則分配思路如下:由于有5個(gè)功能單元,每一個(gè)功能單元所需的GPIO都不超過8個(gè),因此使用2片74HCT245分別用于矩陣鍵盤、DIN;4片74HCT273分別用于矩陣鍵盤、LED、繼電器、DOUT,讀信號(hào)用RD0#和RD1#,寫信號(hào)用WE0#-WE3#。這樣,應(yīng)用程序分別獨(dú)立控制各功能單元,可以加快開發(fā)進(jìn)度,提高開發(fā)的成功率和后期維護(hù)效率;而多使用幾個(gè)芯片,并不會(huì)給開發(fā)成本增加任何負(fù)擔(dān)。
上述示例的具體分配方案如下:
? 1片74HCT245,使用片選信號(hào)RD0#,接矩陣鍵盤的輸入信號(hào)
? 1片74HCT245,使用片選信號(hào)RD1#,接3路DIN
? 1片74HCT273,使用片選信號(hào)WE0#,接矩陣鍵盤的輸出信號(hào)
? 1片74HCT273,使用片選信號(hào)WE1#,接LED
? 1片74HCT273,使用片選信號(hào)WE2#,接繼電器
? 1片74HCT273,使用片選信號(hào)WE3#,接7路DOUT
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35295
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論