基于XR16L78x的多串口擴(kuò)展方案優(yōu)勢(shì)分析
摘要:XR16L78x相對(duì)于傳統(tǒng)4通道串口擴(kuò)展芯片具有硬件、軟件及性能等方面的優(yōu)勢(shì)。為了分析基于XR16L78x進(jìn)行串口擴(kuò)展方案的優(yōu)勢(shì),繪出了分別基于XR16L784,ST16C554對(duì)CPU進(jìn)行串口擴(kuò)展的硬件接口圖,給出了典型的中斷處理程序。通過(guò)硬件和軟件方面的對(duì)比,證明基于XR16L78x的多串口擴(kuò)展方案簡(jiǎn)化了硬件接口、提供了更快的中斷服務(wù)。
關(guān)鍵詞:XR16L78x;多串口擴(kuò)展;硬件接口;XR16L78x
0 引言
在嵌入式控制系統(tǒng)中,CPU外部常連接較多的數(shù)字外圍設(shè)備,需要對(duì)CPU進(jìn)行串口擴(kuò)展。XR16L78x是Exar公司生產(chǎn)的第五代通用異步串行芯片,用于對(duì)微控制器(MCU)或數(shù)字信號(hào)處理器(DSP)等中央處理器(CPU)進(jìn)行串口擴(kuò)展,相對(duì)于傳統(tǒng)的4通道串口擴(kuò)展芯片ST16Cx54的Inter模式下進(jìn)行多串口擴(kuò)展的解決方案具有硬件、軟件及性能等方面的優(yōu)勢(shì)。本文以XR16L784,ST16C554為例,對(duì)基于XR16L784的多串口擴(kuò)展解決方案的優(yōu)勢(shì)進(jìn)行分析。
1 硬件接口的優(yōu)勢(shì)
ST16C554是傳統(tǒng)的4通道通用異步串行芯片,對(duì)外有4個(gè)通道選擇信號(hào)和4個(gè)中斷輸出信號(hào),通常采用可編程邏輯以減少對(duì)CPU中斷功能的需求;XR16L784也是4通道通用異步串行芯片,對(duì)外只有1個(gè)片選信號(hào)和1個(gè)中斷輸出信號(hào)?;赟T16C554、XR16L784分別對(duì)CPU進(jìn)行串口擴(kuò)展的原理框圖如圖1和圖2所示。從圖1可以看出,基于ST16C554的串口擴(kuò)展方案需經(jīng)過(guò)可編程邏輯芯片進(jìn)行地址及中斷源譯碼,從而實(shí)現(xiàn)相應(yīng)通道的選擇及申請(qǐng)的中斷。從圖2可以看出,CPU對(duì)XR16C784的控制及中斷響應(yīng)只需一根直連的片選信號(hào)線和一根直連的中斷信號(hào)線。
[!--empirenews.page--]
可見(jiàn),芯片XR16L784內(nèi)部完善的硬件邏輯、兼容3.3 V與5 V電平接口的能力使得采用XR16L784進(jìn)行串口擴(kuò)展的解決方案比采用ST16C554進(jìn)行串口擴(kuò)展的解決方案在硬件上省去了通道選通及中斷申請(qǐng)信號(hào)的可編程邏輯芯片,簡(jiǎn)化了硬件接口,縮小了串口擴(kuò)展電路占用的印制板空間。
2 處理軟件的優(yōu)勢(shì)
XR16C784具有全局的中斷源寄存器,該寄存器表明了所有通道的中斷狀態(tài),從而加快CPU對(duì)中斷源的判斷,提高了CPU的中斷服務(wù)處理速度。
CPU處理ST16C554接收和發(fā)送的典型中斷服務(wù)子程序如下:
[!--empirenews.page--]
從上述處理程序可以看出,ST16C554的巾斷服務(wù)子程序需要逐個(gè)讀取所有通道的中斷寄存器以確定引起中斷的原因;并且,每次中斷服務(wù)只能處理整個(gè)芯片的一個(gè)中斷,從而導(dǎo)致中斷服務(wù)效率較低。這些內(nèi)在的缺陷在XR16C784的中斷服務(wù)中并不存在,因?yàn)閄R16C784具有全局的中斷寄存器,每次中斷可以處理多個(gè)中斷源引起的中斷。
CPU處理ST16C784接收和發(fā)送的典型中斷服務(wù)子程序如下:
從上述中斷處理程序可以看出,ST16C784中全局的中斷寄存器提供了更快的中斷源判斷;每次中斷可以按照指定給每個(gè)通道的中斷優(yōu)先級(jí)處理多個(gè)通道的中斷;因?yàn)樽x取中斷寄存器的次數(shù)的減少,所以中斷服務(wù)的處理時(shí)間更短,且處理時(shí)間是確定的。
3 結(jié)語(yǔ)
綜上所述,XR16L78x相對(duì)于ST16Cx54具有在硬件、軟件及性能等方面的優(yōu)勢(shì):更高的集成度,簡(jiǎn)化了硬件接口,減小了印制板空間;全局的中斷寄存器提供了更快的中斷服務(wù),降低了對(duì)CPU的帶寬需求。