亚洲日本成本线在观看,最新国自产拍在线,免费性爱视频日本,久久精品国产亚洲精品国产精品

            現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>通用異步串口擴(kuò)展芯片GM8123/25的原理和應(yīng)用

            通用異步串口擴(kuò)展芯片GM8123/25的原理和應(yīng)用

            時(shí)間:2023-02-21 00:05:27 電子通信論文 我要投稿
            • 相關(guān)推薦

            通用異步串口擴(kuò)展芯片GM8123/25的原理和應(yīng)用

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

                關(guān)鍵詞  GM8123    GM8125   串口擴(kuò)展      

            一.同類方案比較

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

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

            二.GM8123/25介紹

            2.1 產(chǎn)品特點(diǎn)

            ·采用寫控制字的方式對(duì)芯片進(jìn)行控制
            ·兩種工作模式,用戶可根據(jù)自己的系統(tǒng)需求靈活選擇
            ·各子串口波特率可調(diào)(統(tǒng)一調(diào)節(jié))
            ·數(shù)據(jù)幀長10位或11位可選
            ·子串口數(shù):3個(gè)(GM8123)或5個(gè)(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)定,抗干擾能力強(qiáng),符合工業(yè)級(jí)標(biāo)準(zhǔn)

            2.2 功能描述

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

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

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

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

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

            三.應(yīng)用說明

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

            圖2  GM8125與單片機(jī)的硬件接口框圖

            GM8125引腳說明:

            RST:復(fù)位引腳,低電平有效。復(fù)位后默認(rèn)子串口工作波特率為1200bps,數(shù)據(jù)長度為11位(帶校驗(yàn)位);
            MS:模式選擇引腳,控制芯片工作在多通道模式下還是單通道模式下。多通道模式下兼做讀/寫命令字選擇引腳;
            SRADD0~2:接收子串口地址線;
            STADD0~2:發(fā)送子串口地址線;
            RXD0、TXD0:母串口收/發(fā)引腳;
            RXD1~5、TXD1~5:子串口1~5收/發(fā)引腳;

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

            #include <reg51.h>
            sbit MS=P3^6;                     //GM8125工作模式控制
            sbit RESET=P3^7;           &

            nbsp;  //GM8125復(fù)位引腳控制
            unsigned char SendBuff[5]={0xaa,0x45,0x67,0xbc,0xc9};
            unsigned char ReceiveBuff0;
            。。。。。。
            unsigned char Contr_data;
            unsigned char ADD;
            unsigned char i=0;
            。。。。。。

            void main(void)
            {
              TMOD = 0x20;    //指定定時(shí)器1工作在方式2
              IE = 0x90;         //開串行口中斷
            SCON=0xc0;         //串行口工作在方式3
            TH1 = 0xf8;      //裝入定時(shí)器1初值,設(shè)置主機(jī)工作波特率為7200bps
            TL1 = 0xf8;
            PCON=0x00;
              。。。。。。
              RESET=0;     //對(duì)GM8125進(jìn)行復(fù)位操作
            Delay();       //延時(shí)子程序
              RESET=1;
            Delay();     

              Contr_data=0xfc;             //裝入命令字初值
              TR1=1;      //啟動(dòng)定時(shí)器1
              MS=0;         //GM8125工作在寫命令字模式下
              P0=0x00;     //置GM8125命令字地址
              SBUF=Contr_data;    //設(shè)置GM8125子串口波特率為19200bps,母串口波特率為115200bps
              while(TI==0);
              TI=0;
              Delay();
            (可讀取命令字的內(nèi)容驗(yàn)證寫入結(jié)果是否正確)

              TR1=0;       //定時(shí)器1停止
              TH1 = 0xff;    //裝入定時(shí)器1初值,設(shè)置主控MCU工作波特率為115200bps
              TL1 = 0xff;
              PCON=0x80;         
            TR1=1;         //啟動(dòng)定時(shí)器1

            /*主控MCU發(fā)送/接收程序*/
            ADD=0x1f;        //子通道1發(fā)送地址
              P1=ADD;              //選擇GM8125子通道1發(fā)送
              SBUF=SendBuff[i];
              while(TI==0);
              TI=0;
            i++;

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


              REN = 1;
             (等待接收處理)
            }


              void CommReceive(void) interrupt 4
            {
             if(RI)
             {
                switch(P1&0x07)    //判斷SRADD0~2的狀態(tài)確定接收數(shù)據(jù)來自哪一個(gè)子串口
                   {
                     case 0:
                      {ReceiveBuff0=SBUF;   //讀命令字存入ReceiveBuff0
                }
                       break;
                     case 1:
                      {ReceiveBuff1=SBUF;   //子通道1接收的數(shù)據(jù)存入ReceiveBuff1
                      }
                       break;
                。。。。。。
                     default:
                       break;
                    }
              RI = 0;
              }
             }


            該芯片的單通道模式適用于各從機(jī)不需要同時(shí)工作的系統(tǒng),具體應(yīng)用方法在此不做詳述,請參

            考國騰微電子有限公司發(fā)布的《GM812X應(yīng)用手冊》。

            四.結(jié)束語

            利用GM8123/25進(jìn)行串口擴(kuò)展,有以下優(yōu)點(diǎn):

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

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

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

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

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

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

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


            【通用異步串口擴(kuò)展芯片GM8123/25的原理和應(yīng)用】相關(guān)文章:

            通用異步收發(fā)芯片SCC2691的原理及應(yīng)用08-06

            TMS320C32擴(kuò)展異步串口的方法08-06

            UART多串口擴(kuò)展器SP2338DP及其應(yīng)用08-06

            藍(lán)牙收發(fā)芯片RF2968的原理及應(yīng)用08-06

            電機(jī)驅(qū)動(dòng)芯片LMD18200原理及應(yīng)用08-06

            RS-232多串口擴(kuò)展器件SP2538及其應(yīng)用08-06

            高性能VGA芯片AD8367原理及應(yīng)用08-06

            高速D/A轉(zhuǎn)換芯片MX7541原理及應(yīng)用08-06

            單片射頻收發(fā)芯片TRF6901的原理與應(yīng)用08-06