機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
SP2338串口擴(kuò)展芯片在汽車行駛記錄儀中的應(yīng)用
SP2338串口擴(kuò)展芯片在汽車行駛記錄儀中的應(yīng)用
 更新時(shí)間:2008-8-18 9:32:10  點(diǎn)擊數(shù):7
【字體: 字體顏色
在由單片機(jī)組成的汽車行駛記錄儀中,為了適應(yīng)不同用戶的需要,該記錄儀需要配置串口打印、與上位機(jī)通信串口,以及與GPS通信接口等三個(gè)以上(含三個(gè))串口,直接利用單片機(jī)的功能特點(diǎn),無(wú)法滿足這一需要。利用一片SP2338則可以很好地解決這個(gè)問(wèn)題。

1.SP2338簡(jiǎn)介
SP2338串口擴(kuò)展芯片能將普通的51系列單片機(jī)的一個(gè)串口擴(kuò)展為三個(gè)獨(dú)立的全雙工串口,并且三個(gè)串口的波特率達(dá)到了9600bps。SP2338采用通用的協(xié)議1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位),同時(shí),該芯片在與單片機(jī)相連時(shí)接口也非常簡(jiǎn)單。
 SP2338共有四個(gè)串口,一個(gè)母串口,三個(gè)子串口,它們都是全雙工的串行通信口,允許同時(shí)接收和發(fā)送數(shù)據(jù)。母串口與需要擴(kuò)展的51單片機(jī)的串口相連,子串口與其他串口設(shè)備相連,這樣就實(shí)現(xiàn)了只有一個(gè)串口的單片機(jī)可與三個(gè)串口設(shè)備相連。 SP2338有兩根發(fā)送地址線,兩根接收地址線,用以選擇發(fā)送串口和接收串口,見(jiàn)圖1。


當(dāng)單片機(jī)要向串口設(shè)備發(fā)送數(shù)據(jù)時(shí),其工作過(guò)程是:
1) 先向SP2338的串口地址線ADRI0、ADRI1送地址信號(hào)(ADRI0、ADRI1=00子串口0,ADRI0、ADRI1=01子串口1,ADRO0、ADRO1=10 子串口2);再向與自已相連的母串口的通信線上送數(shù)據(jù);
2) SP2338的母串口收到單片機(jī)串口送來(lái)的數(shù)據(jù)后就根據(jù)ADRI0和ADRI1的狀態(tài),把數(shù)據(jù)送往相應(yīng)的子串口;
3)該子串口再把數(shù)據(jù)送往相連的串口設(shè)備。
當(dāng)串口設(shè)備向單片機(jī)發(fā)送數(shù)據(jù)時(shí),其工作過(guò)程是:
1)SP2338的某個(gè)子串口從串口設(shè)備接收到數(shù)據(jù)時(shí),送給母串口;
2)SP2338的母串口把該數(shù)據(jù)再送給單片機(jī)串口,同時(shí)在ADRO0和ADRO1線上送出子串口的地址;
3) 單片機(jī)根據(jù)SP2338接收地址線ADRO0、ADRO1上的信號(hào)判定出由哪個(gè)串口設(shè)備發(fā)出的。
由于SP2338的每個(gè)串口都有自己的發(fā)送緩沖區(qū)和接收緩沖區(qū),因此擴(kuò)展后的三個(gè)串口就可以完全獨(dú)立地同時(shí)通信,就好像單片機(jī)同時(shí)擁有三個(gè)串口似的,若一個(gè)單片機(jī)有兩個(gè)串口,那么配上兩片SP2338就可以擴(kuò)展到6個(gè)串口。
SP2338每個(gè)子串口的波特率都可以達(dá)到9600bps,SP2338工作時(shí)需要配一個(gè)晶振,該晶振F OSC的頻率與母串口的波特率有如下關(guān)系:
K母=1920*Fosc,
與子串口波特率的關(guān)系如下:
:K子=480*Fosc,
因此,如果子串口采用9600波特率, 根據(jù)以上公式,Fosc=20MHz。而母串口的波特率必須達(dá)到388400bps。這樣與SP2338的母串口相連的單片機(jī)串口的波特率達(dá)到388400bps,若單片機(jī)采用非11.0592M 的工作晶振,則波特率會(huì)有偏差,不過(guò),SP2338允許波特率誤差為2.5%。在我研制的汽車行駛記錄儀中,系統(tǒng)采用的是24MHz的工作晶振,用定時(shí)器2作波特率發(fā)生器,并設(shè):RCAP2H = 0xFF,RCAP2L =0xEC,可以正常通信。
由于某些單片機(jī)采用其他規(guī)格的晶振工作,達(dá)不到這么高的波特率,想把母串口的波特率降下來(lái),則不僅僅是把單片機(jī)的波特率降下來(lái),還要根據(jù)上面的公式,重新計(jì)算Fosc,把SP2338的工作晶振也換成合適的才行。
2.SP2338在汽車行駛記錄儀中應(yīng)用
1)圖2是硬件連接邏輯圖


由于SP2338是單片機(jī)串口與其他串口設(shè)備的轉(zhuǎn)接者,因此相對(duì)于單片機(jī)來(lái)說(shuō),SP2338是Tx3與單片機(jī)的RXDM相連,SP2338的Rx3要與單片機(jī)的TXDM相連。
2) 軟件實(shí)現(xiàn)
由于SP2338一上電就能正常工作,不需要任何初始化操作,因此不需要在軟件中初始化。而SP2338的母串口與三個(gè)子串口是循回連續(xù)交換數(shù)據(jù)的,因此,
① 當(dāng)SP2338從串口設(shè)備接收到數(shù)據(jù)通過(guò)母串口送到單片機(jī)的串口線上時(shí),單片機(jī)應(yīng)及時(shí)把數(shù)據(jù)讀走,并且判定ADRO0和ADRO1的狀態(tài),否則容易造成數(shù)據(jù)的錯(cuò)誤。因此在單片機(jī)上要用串口中斷。
② 當(dāng)單片機(jī)向外部串口設(shè)備發(fā)送數(shù)據(jù)時(shí),一定要按照先向子串口0發(fā)送一個(gè)字節(jié)的數(shù)據(jù),再向子串口1發(fā)送一個(gè)字節(jié)的數(shù)據(jù),再向子串口2發(fā)送一個(gè)字節(jié)的數(shù)據(jù),再執(zhí)行一條NOP命令的時(shí)序發(fā)送數(shù)據(jù),依此循環(huán)。若外部的串口設(shè)備沒(méi)有三個(gè),則分別如下處理:
A.若上位機(jī)只需向一個(gè)子串口發(fā)送數(shù)據(jù),先向該串口發(fā)送一個(gè)字節(jié)數(shù)據(jù),再執(zhí)行4條‘NOP’命令,其后再向該子串口發(fā)送第二個(gè)數(shù)據(jù)。
B.若上位機(jī)只需向兩個(gè)子串口發(fā)送數(shù)據(jù),則可以分別向兩個(gè)串口發(fā)送一個(gè)字節(jié)的數(shù)據(jù),再執(zhí)行3條NOP命令,再分別向這兩個(gè)串口發(fā)送下一字節(jié)的數(shù)據(jù)。
串口中斷流程圖3所示。

4.結(jié)語(yǔ)
我在研制汽車行駛記錄儀中使用了一片SP2338,把單片機(jī)一個(gè)串口擴(kuò)展成三個(gè)全雙工的串口,使汽車行駛記錄儀可以與串行打印機(jī)、上位機(jī)和GPS等串口設(shè)備進(jìn)行通信,符合國(guó)家GBT/19056-2003《汽車行駛記錄儀》標(biāo)準(zhǔn)的相關(guān)規(guī)定,取得了滿意的效果。

參考文獻(xiàn)
1 徐愛(ài)鈞,彭秀華. 單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)
計(jì). 電子工業(yè)出版社,1998
2 馬忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).北京航空
航天大學(xué)出版社,2000年修訂版
3 SP2338 DATA SHEET


  • 上一篇: 采用DS80C400建立網(wǎng)絡(luò)多媒體應(yīng)用
  • 下一篇: Freescale LIN總線應(yīng)用開發(fā)平臺(tái)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1