1 概述由于在某些通訊設(shè)計應(yīng)用中,需要擴展更多的串口數(shù)量,比如車床監(jiān)控、紡織儀器檢測和網(wǎng)狀連接的數(shù)據(jù)采集等應(yīng)用。為此成都國騰微電子有限公司推出的GM814x 可以滿足多個同類產(chǎn)品的并聯(lián)擴展,并且能簡單的實現(xiàn)電路連接和程序控制,主MCU 可以識別數(shù)據(jù)的來源和指定和某個GM814x 通信。2 應(yīng)用說明2.1 CS 與SPI 的數(shù)據(jù)通信GM814x 的CS(片選)引腳可用于控制SPI 總線時鐘有效性,CS 低電平有效,內(nèi)部下拉。CS 有效時,允許芯片的時鐘接收和數(shù)據(jù)收發(fā);無效時,SCLK、DIN 和DOUT 均為高阻狀態(tài),GM814x 不響應(yīng)SPI 上的數(shù)據(jù)收發(fā),但能正常收發(fā)子串口數(shù)據(jù)和產(chǎn)生相應(yīng)中斷。2.2 應(yīng)用建議當(dāng)使用GM814x 的應(yīng)用需要擴展4 個以上的串口數(shù)量時,就需要使用2 片以上的GM814x。擴展的方式也有多種。方式一:將多個GM814x 的SPI 接口接在主MCU 的SPI 總線上,然后將所有GM814x 的中斷進行線與后連接到MCU 的IRQ 上,同時將各GM814x 的IRQ 輸出又連接到MCU的IO,以便MCU響應(yīng)中斷后檢測是具體哪一個GM814x 輸出的中斷,然后再拉低對應(yīng)的CS,拉高其它GM814x的CS,并執(zhí)行通信操作。方式二:如果擴展的GM814x 數(shù)量較多,采用上述擴展方式可能會占用MCU較多的IO 資源,則可以將GM814x 的中斷輸出連接到具有OC 輸出的與門芯片上,再輸出到MCU 的中斷輸入。同時又將所有的GM814x 的中斷輸出進行編碼輸入到MCU,以供其判斷產(chǎn)生中斷的是哪一個GM814x。方式三:將所有GM814x 的中斷輸出連接到優(yōu)先編碼器進行編碼輸出,同時編碼器也能輸出低電平信號給MCU 作為中斷響應(yīng)。MCU 檢測編碼數(shù)據(jù)以獲知產(chǎn)生中斷的GM814x,然后進行數(shù)據(jù)通信處理。這種方式電路最簡單,占用MCU 的IO 資源也最少。
舉例:使用MCS51 單片機擴展8 片GM814x。本電路中,采用了上述提到的第三種擴展方式。通過普通的MCS51 單片機擴展最多8 片GM814x,可擴展最多32 個標(biāo)準串口。為了節(jié)省MCU的IO 資源,電路中增加了一片8-3 線優(yōu)先編碼器74LS348 和一片3-8 線譯碼器74HC138。8 片GM814x 的IRQ 中斷通過一片74LS348 輸出中斷源向量,同時產(chǎn)生GS 低電平信號到MCS51 的外部中斷0 上,MCS51 響應(yīng)中斷后,可查詢A0~A2 的值確定產(chǎn)生中斷的GM814x,然后MCU 使能74HC138,輸出對應(yīng)的ABC 信號選中產(chǎn)生IRQ 信號的GM814x,再進行SPI 總線上的數(shù)據(jù)通信。
示例程序:本示例程序使用C 語言描述,僅供參考。
由于74LS348 是優(yōu)先編碼器,多個中斷同時產(chǎn)生的時候,74LS348 的編碼只會指示輸入編號上最高的IRQ,MCU 無法直接獲知是否其它的GM814x 也產(chǎn)生了中斷。同時GM814x 在自己的中斷申請后,數(shù)據(jù)傳輸?shù)降?bit 時會自動清除,所以數(shù)據(jù)接收完后如果MCU 的中斷引腳仍然為低,則表示還有其它GM814x 的中斷申請,故必須在處理完當(dāng)前中斷后繼續(xù)查詢新的中斷向量。這就是上述示例程序中while 循環(huán)的目的。
以上應(yīng)用建議僅供設(shè)計者參考,不代表最終實現(xiàn)方式,更可靠和實際的實現(xiàn)方式可由設(shè)計者根據(jù)自己的實際情況確定。l 示例中的數(shù)據(jù)、參數(shù)和標(biāo)志字命名不代表實際產(chǎn)品的特性,請參考實際產(chǎn)品的數(shù)據(jù)手冊來獲取你所需要的數(shù)據(jù)。
標(biāo)簽:
SPITM
814x
UART
814
上傳時間:
2013-10-26
上傳用戶:suicoe