新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 低成本串口擴展方案在銀行柜臺密碼鍵盤設備中應用

        低成本串口擴展方案在銀行柜臺密碼鍵盤設備中應用

        作者:成都國騰微電子有限公司 彭琦 劉毓梅 趙廣宇 時間:2004-09-16 來源:電子產(chǎn)品世界 收藏

        2004年5月A版

        摘  要:本文介紹了應用GM8123實現(xiàn)銀行柜臺密碼鍵盤設備中的擴展多串口的方案。

        關鍵詞:GM8123;多串口擴展

        引言

          在銀行柜臺取款用的密碼鍵盤設備的開發(fā)中,為了和標準鍵盤、加密芯片和上位機這三部分模塊的接口通訊,就需要MCU具備三個標準的UART串口來和上述三個模塊的UART串口連接。而且通常各模塊的UART的波特率各不相同,設計也需要靈活的適應需求。

          MCU在整個設備里面的扮演的主從方會根據(jù)操作的階段發(fā)生變化。當設備處于等待模式時,上位機是主方,而MCU是從方。MCU通過一個串口接收到主方的命令后再通過第二個串口啟動標準鍵盤,并控制相應的聲光提示,然后等待標準鍵盤返回的按鍵數(shù)據(jù)(用戶密碼的明文),同時做相應的超時處理。接收到按鍵數(shù)據(jù)后進行一些基本的合理性判斷處理,然后通過另一個串口將密碼明文發(fā)送給加解密模塊,然后接收加密后的密碼密文。最后再通過和上位機連接的串口將密碼密文上傳,然后恢復到等待狀態(tài)。在對標準鍵盤和加解密模塊進行操作的時候,MCU扮演了通訊的主方。在整個流程中,可以看作是個半雙工的通訊方式,讓操作和控制更簡單和更可靠。

        現(xiàn)有方案

          滿足上述應用要求的方案有多種設計方式,各不相同,包括成本、可靠性、指標都存在差異。根據(jù)目前的串口器件及設計原理歸納起來有以下幾種設計方案。

          方案一是使用多串口的單片機。其中雙串口的單片機的價格在40~70元左右,三串口的單片機價格更加昂貴,直接增加了系統(tǒng)設計的成本。同時,由于各單片機的指令不同,以及由于串口功能的擴展帶來的陌生寄存器的使用都增加了設計人員的工作量和難度。

          方案二是使用普通的單片機擴展16C55X這種通過并口擴展串口的IC器件來實現(xiàn)。這類器件的優(yōu)點是串口速度高,響應迅速。但缺點也是器件本身成本高,使用復雜,占用單片機的IO資源多,導致某些設計需控制外部聲光功能時還需要外擴8255來擴展并口資源,無形中又增加了PCB板面積、成本和設計難度。

          方案三是軟件模擬串口功能。其優(yōu)點是成本低,但可靠性和串口指標都無法控制。硬件串口工作中對每一個BIT的采樣是12次,而軟件模擬最多只能做到2次,大多只有1次,所以通訊的可靠性很難保證。同時軟件模擬的串口很難達到較高的波特率,所以限制了通訊的應用。而且軟件編寫的難度高,程序工作量大,對研發(fā)人員的要求高,也局限了這種方案的推廣應用。

          其它方案還包括使用兩到三個普通單片機來達到需要的串口數(shù)量,然后相互之間通過自定義的并口或模擬的同步串口通訊協(xié)議來實現(xiàn)通訊等方案。

        低成本應用靈活的新方案

          通過以上方案可以看出,現(xiàn)有的實現(xiàn)方案很難在成本和指標上兩全齊美。成都國騰微電子有限公司推出的一種全新方式的串口擴展芯片GM812X系列產(chǎn)品為上述設計帶來了一種新的、低成本和應用簡單的

          GM812X系列串口擴展芯片可為用戶提供最簡單和高性能的,將一個標準串口擴展成3或5個標準串口。該系列芯片子串口最高波特率達38.4Kbps。該芯片提供兩種工作模式:單通道工作模式和多通道工作模式,即可以指定一個子串口和母串口以相同的波特率單一的工作,也可以讓所有子串口在母串口波特率基礎上分頻同時工作。用戶可根據(jù)需要靈活選擇。該芯片母串口和子串口的工作波特率可由軟件調節(jié),而不需要修改外部電路和晶振頻率。UART數(shù)據(jù)格式10位或11位可選。

          GM8123可以將一個標準串口擴展成3個標準串口,GM8125可擴展5個標準串口。本文選擇GM8123作為串口擴展的IC。圖1為GM8123的功能框圖。

          在本設計中,GM8123即可滿足設計的需要。例如單片機采用最常用和便宜的AT89C52,將GM8123的母串口和單片機的串口相連接,再將標準鍵盤接口、加解密模塊的串口和上位機的串口分別連接到GM8123的三個擴展串口上。圖2為方案的系統(tǒng)設計框圖。

          假設上位機和加解密模塊的通訊波特率為9600bps,標準鍵盤的通訊波特率為1200bps。圖3為簡單的單片機程序設計中與通訊相關的狀態(tài)機流程圖。

          該芯片的操作和編程應用都很簡單,從圖3可以看出對GM8123的操作主要是通訊母串口的更改和波特率的設定,而且操作方式和編程基本相同。由于GM8123工作在單通道模式下,可以看作對母串口和子串口之間進行透明傳輸處理,所以無須對GM8123進行波特率的設置。

          以下是在等待狀態(tài)下轉變到接收標準鍵盤按鍵數(shù)據(jù)的過程中指定子串口端口和從9600bps修改到1200bps的C51程序的部分示例代碼:

        //GM8123地址控制線聲明

        sbit SRADD0 = P3^4;     // GM8123地址線SRADD0控制

        sbit SRADD1 = P3^5;    // GM8123地址線SRADD1控制

        sbit STADD0 = P3^6;     // GM8123地址線STADD0控制

        sbit STADD1 = P3^7;    // GM8123地址線STADD1控制

        void main(void)

        {

        ............

        //初始化設置

        SCON = 0xC0;       //根據(jù)需要設置

        TH1 = 0xFD;       //裝入定時器1初值,設置MCU

               工作波特率為9600bps

        TL1 = 0xFD;

        PCON = 0x00;

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

        ............

               //設置子串口三和上位機通訊

        STADD0 = 1;       //選擇子串口3發(fā)送

        STADD1 = 1;

        SRADD0 = 1;       //選擇子串口3接收

        SRADD1 = 1;

        ............  //接收上位機數(shù)據(jù)的相關處理

        //切換到和串口一和標準鍵盤通訊

        TR1 = 0;

        TH1 = 0xE8; //裝入定時器1初值,設置MCU

               工作波特率為1200bps

        TL1 = 0xE8;

        PCON = 0x00;

        TR1 = 1;

        STADD0 = 1;       //選擇子串口1發(fā)送

        STADD1 = 0;

        SRADD0 = 1;       //選擇子串口3發(fā)送

        SRADD1 = 0;

        ............  //鍵盤控制和按鍵

        }

         

        結語

          從上述內容可以看出,通過GM8123實現(xiàn)3個串口的應用非常簡單和靈活,程序工作量少,控制容易。并且以上設計只應用到了GM8123的單通道模式,尚未發(fā)揮出該芯片的所有功能和靈活性。芯片的外部控制少,應用靈活,編程使用簡單,適合于大多數(shù)需要多串口擴展的應用場合。比如:

          但是應用該芯片需要注意的是GM812X系列接口IC在多通道模式下不能將各個子串口的波特率設定的不同,不能滿足多串口同時進行不同波特率數(shù)據(jù)通信的應用設計。另外,GM812X系列現(xiàn)有的IC型號不能滿足手持設備的低功耗要求,以及有38.4Kbps的最高波特率限制。■



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 浪卡子县| 秭归县| 汨罗市| 东乌珠穆沁旗| 百色市| 蚌埠市| 通河县| 旬邑县| 东丰县| 蒲江县| 鄂尔多斯市| 高清| 蛟河市| 郧西县| 雅安市| 习水县| 开远市| 扎赉特旗| 祁门县| 青阳县| 锡林浩特市| 长宁县| 全椒县| 文成县| 岱山县| 开化县| 于田县| 绿春县| 交口县| 栾城县| 昌都县| 青阳县| 华亭县| 宜昌市| 阿克苏市| 民县| 博客| 中西区| 沂源县| 安龙县| 灵山县|