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