|
1 引言 在某些特定的情況下,單片機應用系統需要連接多個串行外設,如微型打印機、液晶模塊、上位計算機等,此種情況稱為點對多點通信方式;或者多個單片機應用系統通過串行接口連接到一臺主控計算機上,稱為多點對一點通信方式。通常單片機只提供一個異步串行通信接口(SCI)。因此,上述兩種情況下,都涉及串行接口的擴展問題。以下將針對點對多點通信的串口擴展,給出一種使用最新串口擴展接口器件GM8123的解決方案。 2 點對多點通信的硬件解決方案 目前,點對多點通信在擴展串行接口時,除了使用軟件虛擬的方式,將單片機的普通I/O虛擬為異步串行接口外,更多的是采用硬件接口器件擴展方法。而硬件擴展串行接口,一方面可采用多路模擬開關,或使用門電路,按需要選通相應的串行通道,實現點對多點的通信;另一方面可使用專用的串口擴展器件擴展串行接口。前者的主要問題是占用較多的單片機硬件資源,更重要的是通信過程中的實時性較差。采用最新的專用串口擴展器件可有效地解決上述問題。 3 基于GM812X的典型串口擴展電路 GM812X是成都國騰公司生產的專用串口擴展器件,包括GM8123(一擴三)、GM8125(一擴五)兩個主要型號。GM8123可以將一個全雙工的標準串口擴展成3個標準串口,并能通過外部引腳控制串口擴展模式:單通道工作模式和多通道工作模式,既可以指定一個子串口和母串口以相同的波特率工作,也可以讓所有子串口在母串口波特率基礎上分頻同時工作。母串口和子串口的工作波特率可由軟件調節,而不需要修改外部電路和晶振頻率。圖1為GM8123構成的典型串口擴展電路。 由于GM8123串口擴展器件不具有上電復位功能,因此使用單片機的P3.7控制GM8123的復位端,復位信號低電平有效,并保持200 ms。器件復位后,內部所有的BUFFER和寄存器清零,此時器件的默認狀態為:波特率1 200 b/s,數據格式為11位/幀。基于以上原因,在使用時,必須對器件進行初始化設置。初始化設置包括幀格式設置和通信波特率設置。 3.1 GM8123的初始化設置 初始化設置也就是對器件的工作方式進行設置,包括幀格式設置和波特率設置。器件工作方式設置僅多通道模式有效,在單通道模式下。則無需工作方式設置,并且已設置的命令字也不起作用。多通道模式下的工作方式設置如下: ●將地址線STADD1、STADD0置為00 ●將MS置0,選擇寫入命令字 ●對母串口寫入命令字,命令字的格式如下: 應注意的是,命令字的高4位必須為全1,便于和無效數據相區別。命令字中的FL用于控制串行通信時的幀格式,"0"=10位,"1"=11位。BR2~BR0用于波特率設置,與波特率的關系如表1所示。 以上均是在多通道模式下對器件子串口的波特率設置。在此模式下,各個子串口的波特率是一致的,而對應母串口的波特率為子串口的4倍,由于母串口與單片機的異步串口連接,因此,單片機串口的波特率必須與GM8123器件的母串口波特率相一致。 必須注意:在完成工作方式設置后,必須將STADD1、STADD0置為非全0后,設置才會生效。 3.2 GM8123的工作模式 通過對模式控制引腳MS的設置,可使GM8123工作在單通道模式和多通道模式下。 3.2.1 單通道工作模式 當模式控制引腳MS為1時,GM8123工作在單通道模式下。在此模式下,任何時刻只允許一組子串口與母串口進行通信。器件的地址引腳用于選擇期望與母串口相連接的子串口,外部單片機通過兩條輸入地址線和兩條輸出地址線指定和母串口連接的子串口。單通道下各地址線定義如表2所示。 3.2.2 多通道工作模式 當模式控制引腳MS=1時。GM8123工作在多通道工作模式下,它允許3個串口同時全雙工工作。在此模式下,器件地址線STADD1、STADD0為輸入口,由單片機控制發送數據的子串口,地址線SRADD1、SRADD0為輸出口,用于向單片機返回接收數據的子串口地址。在該模式下,各個子串口的波特率相同,母串口的波特率為子串口的4倍。 基于以上分析,在點對多點通信的情況下,使用GM8123實現單片機串行接口的擴展,在不過分占用單片機硬件資源的前提下,具有寫控制字對器件實施控制、各個子串口波特率可調以及串行通信的數據格式可選等特點,是點對多點通信方式下串行接口擴展的首選方式。 4 串口擴展應用實例 圖2為GM8123串口擴展器件在單晶定向粘接系統中的應用電路。在圖2的電路中,主控單片機通過串行通信接口,不但可實現對微型打印機的打印控制,還可以實時接收來自角度計數單元電路的實時角度信息。在獲取角度信息后,還可根據用戶需要,將計算后的單晶定向角度上傳至計算機,實現信息存儲。基于以上設計需要,設計中使用了一擴三串口擴展器件GM8123,將主控單片機P89V51RD2的串行接口擴展為三個,分別與微型打印機、角度計數板及上位計算機連接。 5 結束語 使用專用的串行口擴展器件實現單片機串行通信接口的擴展,在不影響單片機I/O口使用的前提下,具有接口電路簡單、易于操作以及安全穩定性好等優點。在單晶定向粘接系統的應用中,通信性能穩定,在用戶一年多的使用過程中,沒有出現數據通信錯誤的現象。但在系統開發實驗過程中發現,使用51單片機控制,需要在寫人命令字后立即讀取命令字,由于51單片機串口工作時序是發送停止位的同時將TI置1,如果此時立即將MS置1讀取命令字,將導致器件還未接收到命令字字節的停止位就轉入讀命令字模式,使寫入操作無法完成,所以編程時要注意在TI置1后至少延時1個機器周期以上的時間才能將MS置1,以保證器件有足夠的時間完成寫命令字操作。 |