1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      SP2338串口擴展芯片在汽車行駛記錄儀中的應用

      更新時間: 2006-01-09 15:25:22來源: 粵嵌教育瀏覽量:3541

        在由單片機組成的汽車行駛記錄儀中,為了適應不同用戶的需要,該記錄儀需要配置串口打印、與上位機通信串口以及與GPS通信接口等三個以上(含三個)串口,直接利用單片機的功能無法滿足這一需要。利用一片SP2338則可以很好地解決這個問題。

        1、SP2338簡介

        SP2338串口擴展芯片能將普通的51系列單片機的一個串口擴展為三個獨立的全雙工串口,并且三個串口的波特率達到了9600bps。SP2338采用通用的協議1個起始位,8個數據位,1個停止位),同時,該芯片在與單片機相連時接口也非常簡單。

        SP2338共有四個串口,一個母串口,三個子串口,它們都是全雙工的串行通信口,允許同時接收和發送數據。母串口與需要擴展的51單片機的串口相連,子串口與其他串口設備相連,這樣就實現了只有一個串口的單片機可與三個串口設備相連。SP2338有兩根發送地址線,兩根接收地址線,用以選擇發送串口和接收串口,見圖1。

        當單片機要向串口設備發送數據時,其工作過程是:

        1)先向SP2338的串口地址線ADRI0、ADRI1送地址信號(ADRI0、ADRI1=00子串口0,ADRI0、ADRI1=01子串口1,ADRO0、ADRO1=10子串口2);再向與自已相連的母串口的通信線上送數據;

        2)SP2338的母串口收到單片機串口送來的數據后就根據ADRI0和ADRI1的狀態,把數據送往相應的子串口;

        3)該子串口再把數據送往相連的串口設備。

        當串口設備向單片機發送數據時,其工作過程是:

        1)SP2338的某個子串口從串口設備接收到數據時,送給母串口;

        2)SP2338的母串口把該數據再送給單片機串口,同時在ADRO0和ADRO1線上送出子串口的地址;

        3)單片機根據SP2338接收地址線ADRO0、ADRO1上的信號判定出由哪個串口設備發出的。

        由于SP2338的每個串口都有自己的發送緩沖區和接收緩沖區,因此擴展后的三個串口就可以完全獨立地同時通信,就好像單片機同時擁有三個串口似的,若一個單片機有兩個串口,那么配上兩片SP2338就可以擴展到6個串口。

        SP2338每個子串口的波特率都可以達到9600bps,SP2338工作時需要配一個晶振,該晶振FOSC的頻率與母串口的波特率有如下關系:
        K母=1920*Fosc,

        與子串口波特率的關系如下:
        K子=480*Fosc,

        因此,如果子串口采用9600波特率,根據以上公式,Fosc=20MHz。而母串口的波特率必須達到388400bps。這樣與SP2338的母串口相連的單片機串口的波特率達到388400bps,若單片機采用非11。0592M的工作晶振,則波特率會有偏差,不過,SP2338允許波特率誤差為2。5%。在我研制的汽車行駛記錄儀中,系統采用的是24MHz的工作晶振,用定時器2作波特率發生器,并設:RCAP2H=0xFF,RCAP2L=0xEC,可以正常通信。

        由于某些單片機采用其他規格的晶振工作,達不到這么高的波特率,想把母串口的波特率降下來,則不僅僅是把單片機的波特率降下來,還要根據上面的公式,重新計算Fosc,把SP2338的工作晶振也換成合適的才行。

        2、SP2338在汽車行駛記錄儀中應用
       
        1)圖2是硬件連接邏輯圖

        由于SP2338是單片機串口與其他串口設備的轉接者,因此相對于單片機來說,SP2338是Tx3與單片機的RXDM相連,SP2338的Rx3要與單片機的TXDM相連。

       

        2)軟件實現

        由于SP2338一上電就能正常工作,不需要任何初始化操作,因此不需要在軟件中初始化。而SP2338的母串口與三個子串口是循回連續交換數據的,因此,

        ①當SP2338從串口設備接收到數據通過母串口送到單片機的串口線上時,單片機應及時把數據讀走,并且判定ADRO0和ADRO1的狀態,否則容易造成數據的錯誤。因此在單片機上要用串口中斷。

        ②當單片機向外部串口設備發送數據時,一定要按照先向子串口0發送一個字節的數據,再向子串口1發送一個字節的數據,再向子串口2發送一個字節的數據,再執行一條NOP命令的時序發送數據,依此循環。若外部的串口設備沒有三個,則分別如下處理:

        A.若上位機只需向一個子串口發送數據,先向該串口發送一個字節數據,再執行4條‘NOP’命令,其后再向該子串口發送第二個數據。

        B.若上位機只需向兩個子串口發送數據,則可以分別向兩個串口發送一個字節的數據,再執行3條NOP命令,再分別向這兩個串口發送下一字節的數據。

      串口中斷流程圖3所示。


        3、結語

        我在研制汽車行駛記錄儀中使用了一片SP2338,把單片機一個串口擴展成三個全雙工的串口,使汽車行駛記錄儀可以與串行打印機、上位機和GPS等串口設備進行通信,符合國家GBT/19056-2003《汽車行駛記錄儀》標準的相關規定,取得了滿意的效果。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 婷婷六月国产在线 | 亚洲精品福利在线 | 在线永久观看国产精品电影 | 日韩AV大片在线一区二区 | 伊人精品成人久久综合 | 亚洲欧美人与动人物在线 |