中心議題:
- 介紹一種智能電話終端系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 系統(tǒng)硬件功能實(shí)現(xiàn)
解決方案:
- 采用微處理器加MODEM的設(shè)計(jì)方案
1 系統(tǒng)硬件功能實(shí)現(xiàn)
系統(tǒng)框圖見圖1。該系統(tǒng)的核心是主控模塊,主要由微處理器構(gòu)成,控制整個(gè)系統(tǒng)軟硬件的運(yùn)行。一方面處理各部分外圍電路的控制信息,另一方面完成接收和需要發(fā)送的信息的智能化處理,其功能具備可擴(kuò)展性,為以后功能進(jìn)一步加強(qiáng)保留軟件接口;存儲(chǔ)模塊包括外部RAM、EPROM存儲(chǔ)器和相應(yīng)的掉電保護(hù)電路,用于存放系統(tǒng)運(yùn)行中需要處理、交換的數(shù)據(jù),同時(shí)還用于存儲(chǔ)接收到的或需要發(fā)送的數(shù)據(jù)信息;EPROM主要用于存放系統(tǒng)軟件及存放漢字字庫(kù);鍵盤輸入模塊用于接收來自用戶的輸入數(shù)據(jù),包括控制信息和數(shù)據(jù)信息,它是用戶對(duì)該系統(tǒng)的輸入接口;LCD模塊由LCD顯示器及相關(guān)控制電路組成,可以顯示中文、英文、數(shù)字和各類字符,它是該系統(tǒng)對(duì)用戶的輸出接口。MODEM模塊由一片嵌入式MODEM芯片及相關(guān)外圍電路組成。一方面用于調(diào)制由主控模塊送來的數(shù)據(jù),將數(shù)字信息轉(zhuǎn)化為模擬信號(hào),送入前端電話接口模塊DAA電路;另一方面將DAA電路接收的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),并交給主控模塊進(jìn)一步處理。它是所有信息的進(jìn)出口,起著至關(guān)重要的作用。
協(xié)議可分為三層:物理層、鏈路層和消息層。
(1)物理層負(fù)責(zé)各實(shí)體之間物理的數(shù)據(jù)位流的傳送。此系統(tǒng)中應(yīng)用Z02215 MODEM芯片作為數(shù)據(jù)收發(fā)的調(diào)制解調(diào)器,該芯片功能強(qiáng)大,因此外圍電路極為簡(jiǎn)單。Z02215是Zilog公司新開發(fā)的單片嵌入式MODEM芯片,它帶有集成的控制器,數(shù)據(jù)泵和模擬前端,在公共交換電話網(wǎng)(PSTN)上運(yùn)行,Z02215適用V.22bis,V.22,V.23(Ninitel),V.21,Bell 212A,Bell 202,Bell 202T和Bell 103等MODEM標(biāo)準(zhǔn)[1]、[2]。Z02215提供全面的、可選擇的和可編程的語音產(chǎn)生和檢測(cè)。完全滿足物理層數(shù)據(jù)傳輸?shù)挠布蟆?br />
(2)鏈路層將提供一個(gè)可靠的數(shù)據(jù)傳輸機(jī)制[3]。要實(shí)現(xiàn)的功能包括:電話語音通路和消息通信通路的建立、來電顯示、消息發(fā)送時(shí)的打包、接收數(shù)據(jù)時(shí)的解包功能、數(shù)據(jù)校驗(yàn)、重發(fā)控制等。下面是為保證數(shù)據(jù)被可靠地發(fā)送和接收所建立的數(shù)據(jù)包格式及通信協(xié)議。
幀格式:字間隔+起始位+數(shù)據(jù)(8位,先發(fā)送低位后發(fā)送高位)+奇校驗(yàn)
字間隔:≥2bit,固定為1;起始位:1個(gè)bit,固定為0;數(shù)據(jù):1個(gè)byte(8個(gè)bits);奇校驗(yàn):1個(gè)bit。
包格式:數(shù)據(jù)(16bytes)+序列號(hào)(1byte)+校驗(yàn)(1byte)。
數(shù)據(jù):如果數(shù)據(jù)長(zhǎng)度不足16個(gè)bytes,則用0x20補(bǔ)齊;序列號(hào):采用連續(xù)累加的方式,從1~255,不能為0;校驗(yàn)位:所有數(shù)據(jù)和序列號(hào)相加(不包括校驗(yàn)本身)再求補(bǔ);接收方檢查校驗(yàn)位;如果所有的數(shù)據(jù)相加等于0(包括校驗(yàn)位)則校驗(yàn)正確。
包的確認(rèn)信息格式(1字節(jié)):
FFH:正確接收,作為確認(rèn)信號(hào);00H:錯(cuò)誤接收,作為重發(fā)信號(hào)。
采用半雙工的傳輸方式,上行下行均使用1200bps。另外,為保證數(shù)據(jù)的可靠傳輸,在每次發(fā)送數(shù)據(jù)包之前,最少發(fā)送10ms的1,作為同步碼。
(3)消息層,規(guī)定了消息及命令的格式及確認(rèn)信息的格式。上層下發(fā)的數(shù)據(jù)為16bytes的數(shù)據(jù)包,由發(fā)送端程序負(fù)責(zé)增加序列號(hào)和校驗(yàn),由接收程序負(fù)責(zé)檢查序列號(hào)和校驗(yàn)。底層程序確保所提交的數(shù)據(jù)包的正確和順序。
發(fā)送端:在發(fā)送完一個(gè)完整的數(shù)據(jù)包(總共18個(gè)bytes)后,發(fā)送端等待150ms,如果沒有接收到確認(rèn)信號(hào)或收到重發(fā)信號(hào),則將重發(fā)該數(shù)據(jù)包。如果收到確認(rèn)信號(hào)則立即發(fā)送下一個(gè)數(shù)據(jù)包。
接收端:在接收到第一個(gè)有效的數(shù)據(jù)后的200ms內(nèi)若收不到一個(gè)完整的數(shù)據(jù)包,或者校驗(yàn)錯(cuò)誤,則接收端發(fā)出錯(cuò)信息,如果接收的數(shù)據(jù)包的序列號(hào)和上一次數(shù)據(jù)包的序列號(hào)相同則拋棄這個(gè)數(shù)據(jù)包。
接收端校驗(yàn):接收端有2種校驗(yàn)來確保數(shù)據(jù)的正確:一個(gè)是每個(gè)byte內(nèi)的奇校驗(yàn),用來確保單個(gè)byte的正確性;另一個(gè)是包校驗(yàn),確保整個(gè)包的完整性。
發(fā)送端重發(fā):如果按以上發(fā)送過程重復(fù)發(fā)送3次后,依然沒有接收到確認(rèn)信號(hào),則認(rèn)為該次通訊失敗,向上層上報(bào)發(fā)送失敗的消息,交由上層處理。
電話終端的核心是MCS-89C52微處理器。通常情況下,微處理器工作在低功耗方式,當(dāng)有鍵按下時(shí),退出低功耗模式,進(jìn)入主菜單。在主菜單中,用戶可以選擇操作。為減少冗余代碼,軟件采用匯編語言編寫,字庫(kù)固化在外部擴(kuò)展的EPROM中,內(nèi)部EPROM存放程序。圖2為主程序流程。
智能電話終端采用微處理器加MODEM的設(shè)計(jì)方案,不僅可以滿足固網(wǎng)短信業(yè)務(wù)的需要,通過軟件的升級(jí),可以實(shí)現(xiàn)多方會(huì)議、呼叫限制、固定撥叫號(hào)碼、呼叫識(shí)別、計(jì)費(fèi)信息顯示查詢,還可以通過固定電話網(wǎng)絡(luò)或者INTERNET實(shí)現(xiàn)遠(yuǎn)程控制等多種功能,滿足不同的需求。