異步串口芯片擴展管理論文

時間:2022-06-26 04:42:00

導(dǎo)語:異步串口芯片擴展管理論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

異步串口芯片擴展管理論文

摘要本文介紹了一種新器件GM8123/25串口擴展芯片,利用該系列芯片實現(xiàn)的串口擴展方案具有成本低、速度快、控制簡單等優(yōu)點,可廣泛應(yīng)用于數(shù)據(jù)采集、工業(yè)控制等需要串口通訊的場合。

關(guān)鍵詞GM8123GM8125串口擴展

一.同類方案比較

目前比較通用的串口擴展方案有兩種,一是用硬件實現(xiàn),使用多串口單片機或?qū)S么跀U展芯片,可供選擇的串口擴展芯片有TI等公司開發(fā)的16C554系列串口擴展芯片,該系列芯片實現(xiàn)的功能是通過并行口擴展串行口,功能比較強大、通訊速度高,但控制復(fù)雜,同時價格較高,主要的應(yīng)用場合是PC機串口擴展產(chǎn)品。在僅使用單片機控制且不需要太高波特率通訊的系統(tǒng)中,使用16C554系列芯片不僅成本高而且還造成了資源的浪費。而多串口單片機也同樣存在價格高的缺點。另一種串口擴展方案就是用軟件實現(xiàn),軟件模擬串口存在的缺點有:一是采樣次數(shù)低,一般只能做到2次/BIT,這樣數(shù)據(jù)的正確性就難以保證;二是不能實現(xiàn)高波特率通訊,軟件模擬串口一般不能實現(xiàn)高于4800bps的波特率。

成都國騰微電子有限公司推出的GM8123/25系列串口擴展芯片全硬件實現(xiàn)串口擴展,保證了芯片工作的穩(wěn)定性,設(shè)計的最高波特率完全能滿足一般系統(tǒng)需求,同時占用系統(tǒng)資源少,使用方法簡單,通訊格式可設(shè)置,與標(biāo)準(zhǔn)串口通訊格式兼容,利用該系列芯片實現(xiàn)串口擴展是性價比較高的串口擴展方案。

二.GM8123/25介紹

2.1產(chǎn)品特點

·采用寫控制字的方式對芯片進行控制

·兩種工作模式,用戶可根據(jù)自己的系統(tǒng)需求靈活選擇

·各子串口波特率可調(diào)(統(tǒng)一調(diào)節(jié))

·數(shù)據(jù)幀長10位或11位可選

·子串口數(shù):3個(GM8123)或5個(GM8125)

·數(shù)據(jù)采樣率16次/BIT,確保數(shù)據(jù)采樣的準(zhǔn)確可靠

·單通道模式下,最高波特率支持20Mbps;多通道模式下,子串口最高波特率38400bps

·與標(biāo)準(zhǔn)串口通訊格式兼容

·輸出波特率誤差小于0.2%,輸入波特率誤差要求小于2.8%

·寬工作電壓:2.3~6.7V

·工作溫度范圍:-40℃~85℃

·工作穩(wěn)定,抗干擾能力強,符合工業(yè)級標(biāo)準(zhǔn)

2.2功能描述

GM8123可擴展3個標(biāo)準(zhǔn)串口,GM8125可擴展5個標(biāo)準(zhǔn)串口,芯片可以通過軟件設(shè)置工作波特率和數(shù)據(jù)幀長。芯片通過外部引腳選擇串口擴展模式:單通道工作模式和多通道工作模式。單通道模式下,子串口最高波特率支持20Mbps;多通道模式下,子串口最高波特率支持38400bps。

單通道模式下,無需設(shè)置芯片的通訊格式,子串口和母串口以相同的波特率工作,一個時刻只允許一組子串口和母串口通訊,工作子串口由地址線選擇。單通道工作模式適用于所有從機不需要同時通訊并且通訊過程完全由主機控制的系統(tǒng)。

多通道模式下,允許所有子串口同時與母串口通訊,母串口以子串口波特率的4倍(GM8123)/6倍(GM8125)工作,發(fā)送時由地址線選擇發(fā)送數(shù)據(jù)的子串口,接收時子串口能主動響應(yīng)從機發(fā)送的數(shù)據(jù),由母串口發(fā)送給主機,同時由地址線返回接收到數(shù)據(jù)的子串口地址,主機在接收到子串口送來的數(shù)據(jù)后可以根據(jù)地址線的狀態(tài)判斷數(shù)據(jù)是從哪一個從機送來的。多通道模式使每個從機的發(fā)送要求都能被及時地響應(yīng),即使所有從機同時有發(fā)送要求,數(shù)據(jù)也不會丟失,基本實現(xiàn)了主控單元和外設(shè)通訊的實時性。多通道模式適用于從機向主機發(fā)送數(shù)據(jù)的時間不可控并且有實時性要求的多機通訊系統(tǒng)。(詳細(xì)情況查看成都國騰微電子有限公司的GM8123/25數(shù)據(jù)手冊)

2.3系統(tǒng)結(jié)構(gòu)

圖1為GM8123/25的系統(tǒng)結(jié)構(gòu)框圖:

三.應(yīng)用說明

以以下一個系統(tǒng)為例,用GM8125說明該系列芯片實現(xiàn)串口擴展的方法:一個系統(tǒng)中有5個從機需要與主機進行串行通訊,5個從機通訊波特率均為19200bps,主機首先向所有從機發(fā)送一個字節(jié)數(shù)據(jù)作為對從機的控制命令,從機收到數(shù)據(jù)并進行處理后立即向主機返回相關(guān)數(shù)據(jù)。根據(jù)系統(tǒng)要求看出,從機發(fā)送數(shù)據(jù)的時間根據(jù)其處理時間而定,不受主機控制,所以GM8125要工作在多通道模式下,即允許所有子串口同時工作。圖2是單片機與GM8125的接口框圖,該系統(tǒng)利用GM8125為主機89C51擴展出5個串口。

圖2GM8125與單片機的硬件接口框圖

GM8125引腳說明:

RST:復(fù)位引腳,低電平有效。復(fù)位后默認(rèn)子串口工作波特率為1200bps,數(shù)據(jù)長度為11位(帶校驗位);

MS:模式選擇引腳,控制芯片工作在多通道模式下還是單通道模式下。多通道模式下兼做讀/寫命令字選擇引腳;

SRADD0~2:接收子串口地址線;

STADD0~2:發(fā)送子串口地址線;

RXD0、TXD0:母串口收/發(fā)引腳;

RXD1~5、TXD1~5:子串口1~5收/發(fā)引腳;

下面給出主機發(fā)送和接收的控制程序,以C51為例:

#include<reg51.h>

sbitMS=P3^6;//GM8125工作模式控制

sbitRESET=P3^7;//GM8125復(fù)位引腳控制

unsignedcharSendBuff[5]={0xaa,0x45,0x67,0xbc,0xc9};

unsignedcharReceiveBuff0;

。。。。。。

unsignedcharContr_data;

unsignedcharADD;

unsignedchari=0;

。。。。。。

voidmain(void)

{

TMOD=0x20;//指定定時器1工作在方式2

IE=0x90;//開串行口中斷

SCON=0xc0;//串行口工作在方式3

TH1=0xf8;//裝入定時器1初值,設(shè)置主機工作波特率為7200bps

TL1=0xf8;

PCON=0x00;

。。。。。。

RESET=0;//對GM8125進行復(fù)位操作

Delay();//延時子程序

RESET=1;

Delay();

Contr_data=0xfc;//裝入命令字初值

TR1=1;//啟動定時器1

MS=0;//GM8125工作在寫命令字模式下

P0=0x00;//置GM8125命令字地址

SBUF=Contr_data;//設(shè)置GM8125子串口波特率為19200bps,母串口波特率為115200bps

while(TI==0);

TI=0;

Delay();

(可讀取命令字的內(nèi)容驗證寫入結(jié)果是否正確)

TR1=0;//定時器1停止

TH1=0xff;//裝入定時器1初值,設(shè)置主控MCU工作波特率為115200bps

TL1=0xff;

PCON=0x80;

TR1=1;//啟動定時器1

/*主控MCU發(fā)送/接收程序*/

ADD=0x1f;//子通道1發(fā)送地址

P1=ADD;//選擇GM8125子通道1發(fā)送

SBUF=SendBuff[i];

while(TI==0);

TI=0;

i++;

(以此方式分別向5個子串口發(fā)送數(shù)據(jù))

REN=1;

(等待接收處理)

}

voidCommReceive(void)interrupt4

{

if(RI)

{

switch(P1&0x07)//判斷SRADD0~2的狀態(tài)確定接收數(shù)據(jù)來自哪一個子串口

{

case0:

{ReceiveBuff0=SBUF;//讀命令字存入ReceiveBuff0

}

break;

case1:

{ReceiveBuff1=SBUF;//子通道1接收的數(shù)據(jù)存入ReceiveBuff1

}

break;

。。。。。。

default:

break;

}

RI=0;

}

}

該芯片的單通道模式適用于各從機不需要同時工作的系統(tǒng),具體應(yīng)用方法在此不做詳述,請參考國騰微電子有限公司的《GM812X應(yīng)用手冊》。

四.結(jié)束語

利用GM8123/25進行串口擴展,有以下優(yōu)點:

1、控制簡單。該芯片利用軟件設(shè)置工作方式,最大限度地減少控制線,不需要占用太多主機的系統(tǒng)資源,同時又保證使用的簡便性。

2、應(yīng)用靈活。該芯片具備兩種工作模式、多種工作波特率、10位或11位數(shù)據(jù)幀長可選,用戶可根據(jù)自己的系統(tǒng)需求靈活選擇。

3、通用性強。該芯片設(shè)計時充分考慮各種用戶的需求,保證了芯片的通用性,與標(biāo)準(zhǔn)串口通訊格式完全兼容,同時提供多種可選設(shè)置,適用于大多數(shù)串口通訊系統(tǒng)。

4、工作波特率高。該芯片子串口在單通道模式下波特率支持20Mbps,多通道模式下支持38400bps,此波特率完全能滿足一般的串口通訊的需求。

5、性能穩(wěn)定。硬件實現(xiàn)串口比軟件實現(xiàn)串口更能保證串行通訊的穩(wěn)定性,同時每bit采樣16次,保證了數(shù)據(jù)的正確性。

6、波特率誤差小。輸出波特率誤差小于0.2%,輸入波特率誤差要求小于2.8%。

該芯片不足之處在于:不滿足超低功耗應(yīng)用要求;多通道模式下,所有子串口工作波特率只能設(shè)置成統(tǒng)一值,不適用于各從機工作波特率不一致、又要求同時工作的系統(tǒng)。