當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]提出了一種新型以太電話機(jī)的設(shè)計(jì),采用德國Infineon公司的SDA80D51芯片作為主控單元,同時(shí)使用Realtek公司的RTL8019AS作為網(wǎng)絡(luò)接口模塊,來實(shí)現(xiàn)高度集成、具有較高性價(jià)比的話機(jī)

作者Email:  hongxinglu600010@sina.com

一、引言

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,VoIP(Voice over IP)技術(shù)已經(jīng)成為語音通信技術(shù)領(lǐng)域的一個(gè)強(qiáng)有力的競爭者。VoIP是利用網(wǎng)絡(luò)作為傳輸載體實(shí)現(xiàn)語音通信的技術(shù),以太電話機(jī)則是以VoIP為基礎(chǔ)實(shí)現(xiàn)的語音通信終端。在未來的幾年內(nèi),IP電話必將在電信市場占到舉足輕重的地位,對以太電話機(jī)的研究是符合市場需求并具有巨大的市場潛力和發(fā)展前景。以太電話機(jī)價(jià)格相對昂貴和話音質(zhì)量方面的問題是目前開發(fā)工作的重點(diǎn)。本設(shè)計(jì)是基于德國Infineon公司的SDA80D51芯片實(shí)現(xiàn)的,因?yàn)樾酒倪x擇和設(shè)計(jì)上的巧妙,使該話機(jī)具有集成度高、結(jié)構(gòu)簡單、成本低等特點(diǎn),具有較高推廣價(jià)值。

二、硬件設(shè)計(jì)

話機(jī)采用SDA80D51芯片和以太網(wǎng)接口芯片RTL8019AS實(shí)現(xiàn)。由于采用了高集成的SDA80D51芯片,使系統(tǒng)硬件電路結(jié)構(gòu)簡單,整體硬件成本低廉、集成度較高。

1、SDA80D5l

英飛凌公司生產(chǎn)的SDA80D51芯片是一種具有特殊結(jié)構(gòu)的微處理器,是將16位DSP和增強(qiáng)型微處理器(8051微處理器的擴(kuò)展版本)高度集成,并同時(shí)集成有模/數(shù)轉(zhuǎn)換單元(ADC與DAC),面向語音處理的專用芯片。芯片同時(shí)提供有一個(gè)內(nèi)存控制單元MMU和片上104kb的RAM。它具有程序和數(shù)據(jù)分開的總線結(jié)構(gòu),流水線操作功能,單周期硬件乘法器和適合數(shù)字信號(hào)處理的高效指令集。此芯片的C編譯能力很強(qiáng),匯編出的目標(biāo)代碼效率會(huì)更高。正是此芯片高度集成后具備的強(qiáng)大功能和其相對低廉的價(jià)格,使其成為設(shè)計(jì)此系統(tǒng)的首選。

SDA80D51的基本結(jié)構(gòu)如圖1所示,由其組成單元來看,實(shí)現(xiàn)三種主要功能,即語音壓縮(DSP)、系統(tǒng)管理及信令控制(8051微處理器)、語音編碼(CODEC)。語音信號(hào)在芯片集成的語音采樣接口模塊進(jìn)行A/D和D/A轉(zhuǎn)換,語音的壓縮處理則由DSP模塊進(jìn)行,但傳輸?shù)恼Z音數(shù)據(jù)打包是由這個(gè)C51模塊完成的。編解碼壓縮處理后由控制模塊進(jìn)行對語音的接收發(fā)送控制,同時(shí)主控模塊還要完成對整個(gè)系統(tǒng)控制工作。

圖1 SDA80D51工作原理示意圖

2、網(wǎng)絡(luò)接口控制模塊

網(wǎng)絡(luò)接口控制模塊采用Realtek公司的具有高度集成化的以太網(wǎng)控制芯片RTL8019AS。這一芯片具有很多優(yōu)點(diǎn),已廣為采用。它與NE2000兼容,支持8位、16位數(shù)據(jù)總線;全雙工,收發(fā)可同時(shí)達(dá)到10Mbps,有睡眠模式,可有效地降低功耗;內(nèi)置16kb的SRAM用于收發(fā)緩沖,可減輕主處理器在速度上的壓力;可選擇連接同軸電纜和雙絞線,并可自動(dòng)檢測所連接的介質(zhì)。

系統(tǒng)使用RTL8019AS來實(shí)現(xiàn)以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的功能,包括MAC數(shù)據(jù)幀的收發(fā),地址識(shí)別,CRC編碼校驗(yàn),超時(shí)重傳,鏈路完整性測試,信號(hào)極性檢測糾正等。主處理器在RTL8019AS的外部總線上讀寫MAC幀。其中,接收控制器用于將接收的串行數(shù)據(jù)拼成字節(jié)送到CRC校驗(yàn)單元,發(fā)送控制器則是將送來的字節(jié)送到CRC編碼單元并逐個(gè)按位移出;CRC邏輯在接收時(shí)對輸人的數(shù)據(jù)進(jìn)行CRC校驗(yàn),發(fā)送時(shí)對幀數(shù)據(jù)產(chǎn)生CRC校驗(yàn)序列,并附加在數(shù)據(jù)尾傳遞;地址識(shí)別邏輯對接收幀的目的地址與預(yù)先設(shè)置的本地物理地址進(jìn)行比較,如不符合要求則拒收。RTL8019AS還使用內(nèi)部存儲(chǔ)緩沖器對與核心控制單元數(shù)據(jù)交換進(jìn)行緩沖,以優(yōu)化系統(tǒng)的數(shù)據(jù)傳輸速度。

3、其它電路設(shè)計(jì)

考慮到協(xié)議代碼的存儲(chǔ)需求,使用一塊FLASH作為擴(kuò)展存儲(chǔ)單元存放代碼,同時(shí)還設(shè)計(jì)了撥號(hào)鍵盤到核心控制單元的控制電路。硬件的設(shè)計(jì)還可以根據(jù)不同的需求,進(jìn)行相應(yīng)的調(diào)整,以實(shí)現(xiàn)其它的增值業(yè)務(wù)功能。

三、軟件設(shè)計(jì)

系統(tǒng)的軟件是基于SDA80D51設(shè)計(jì)開發(fā)的。話機(jī)軟件結(jié)構(gòu)框圖2如下:

圖2 以太電話機(jī)軟件框圖

系統(tǒng)軟件開發(fā)以C51的C語言編程為主,對占用系統(tǒng)資源比較大的部分使用匯編語言來完成。程序開發(fā)主要完成網(wǎng)絡(luò)接口控制、TCP/IP協(xié)議棧、RTP/RTCP、H.323協(xié)議棧、語音編解碼和主控程序這6部分。

1、TCP/IP協(xié)議棧的實(shí)現(xiàn)

通常編程環(huán)境中,TCP/IP協(xié)議棧的功能是基于操作系統(tǒng)中相應(yīng)的socket機(jī)制實(shí)現(xiàn)的,像以太話機(jī)這種嵌入式系統(tǒng),考慮到操作系統(tǒng)占用資源太大,一般不采用任何操作系統(tǒng)。這樣,只能由用戶編程來完成任務(wù)調(diào)度、存儲(chǔ)器管理和TCP/IP協(xié)議棧等功能。

在協(xié)議棧開發(fā)時(shí),充分考慮了資源有限,在保證實(shí)現(xiàn)以太電話正常工作的前提下,從兩個(gè)方面進(jìn)行了TCP/IP協(xié)議棧的優(yōu)化,從而使開發(fā)得到的協(xié)議棧程序代碼最少,RAM的需求最低。

(1)、協(xié)議棧本身的優(yōu)化

根據(jù)系統(tǒng)的實(shí)際需求,只實(shí)現(xiàn)TCP/IP協(xié)議棧的部分協(xié)議,即:ARP(地址解析協(xié)議)、IP(互聯(lián)網(wǎng)協(xié)議)、ICMP(互聯(lián)網(wǎng)控制報(bào)文協(xié)議)、UDP(用戶數(shù)據(jù)報(bào)協(xié)議)、TCP(傳輸控制協(xié)議)等5部分。協(xié)議棧的編程采用事件驅(qū)動(dòng)機(jī)制,采用ARP完成對電話的尋址,通過對相應(yīng)的應(yīng)用程序的調(diào)用來實(shí)現(xiàn)事件響應(yīng)(如圖3所示)。

圖3 TCP/IP協(xié)議棧實(shí)現(xiàn)過程示意圖

(2)、協(xié)議功能的優(yōu)化

在對協(xié)議棧優(yōu)化的過程中,結(jié)合系統(tǒng)的使用要求,還針對每個(gè)協(xié)議的一些不必要的功能進(jìn)行了簡化。例如,對于TCP協(xié)議,標(biāo)準(zhǔn)的TCP協(xié)議使用慢啟動(dòng)的滑動(dòng)窗口機(jī)制。在實(shí)現(xiàn)TCP協(xié)議時(shí),考慮到系統(tǒng)所需傳送的信令數(shù)據(jù)很少,基本不可能產(chǎn)生擁塞,同時(shí)為了減少存儲(chǔ)器的使用,TCP只使用單個(gè)窗口,就變成了一種簡單確認(rèn)的處理方法。所有的處理只是對單個(gè)數(shù)據(jù)報(bào)的發(fā)送和確認(rèn),節(jié)約了系統(tǒng)的資源,也使維護(hù)更加方便。同時(shí)考慮到,話機(jī)系統(tǒng)的突發(fā)事件很少,這樣對于流量控制可以不做考慮。對于差錯(cuò)控制,程序處理過程中只對信令數(shù)據(jù)設(shè)置重傳機(jī)制,而語音數(shù)據(jù)處理不考慮重傳。

(3)、存儲(chǔ)空間的共享

協(xié)議開發(fā)中,為了盡量減少對存儲(chǔ)空間的需求,設(shè)計(jì)使用共用緩存區(qū)用于輸人輸出數(shù)據(jù)的存放。其中RBuff用于存放網(wǎng)絡(luò)接口收到的數(shù)據(jù),SBuff用于存放要發(fā)送的數(shù)據(jù)。這樣各程序之間只提供相互要處理數(shù)據(jù)所在的指針,就可以完成數(shù)據(jù)的傳遞,從而節(jié)約了大量的存儲(chǔ)空間,同時(shí)也利于工程研發(fā)人員之間的相互協(xié)調(diào)。

2、H.323協(xié)議的信令過程

信令控制過程是H.323以太話機(jī)控制的核心內(nèi)容之一,整個(gè)H.323終端系統(tǒng)的信令控制是由H.245、H.225.0和RAS這3個(gè)協(xié)議來實(shí)現(xiàn)的。在兩個(gè)話機(jī)間建立基于H.323的呼叫連接,需要使用TCP建立兩個(gè)連接。其中第一個(gè)TCP的連接承載的是H.225.0中定義的呼叫建立消息,通常叫做Q.931通道或呼叫信令通道。第二個(gè)TCP連接承載H.245呼叫控制消息,在收到呼入的同時(shí),被呼叫方也在一個(gè)動(dòng)態(tài)端口上監(jiān)聽TCP的連接。被呼叫方于是在這個(gè)端口上應(yīng)答呼叫接收信息。然后,呼叫方會(huì)隨后在這個(gè)端口上建立第二個(gè)TCP連接。一旦H.245通道建立成功,第一個(gè)連接就不再需要了,任何一端都可以將其關(guān)閉。終端使用H.245通道交換音頻信息格式,即能力交換,并確定主從關(guān)系。同時(shí)通過它打開音頻的邏輯信道,從而建立用于媒體流傳輸?shù)腞TP會(huì)話。H.245通道在會(huì)話過程一直保留,因?yàn)樗€要關(guān)閉媒體通道。

一個(gè)話機(jī)到話機(jī)的基于H.323協(xié)議的簡單呼叫建立過程有5個(gè)階段(如圖4所示),即呼叫初始化、建立控制通道、呼叫開始、通話和結(jié)束呼叫。


圖4 呼叫建立過程示意圖

在設(shè)計(jì)中,考慮到系統(tǒng)不同于IP電話網(wǎng)關(guān)系統(tǒng),只需實(shí)現(xiàn)單路連接,同時(shí)考慮到系統(tǒng)資源有限的特點(diǎn),對H.323協(xié)議棧的實(shí)現(xiàn)進(jìn)行了很大程度的簡化。其中H.225只實(shí)現(xiàn)四個(gè),即SETUP、ALERTING、CONNECT、RELEASE COMPLETE;RAS實(shí)現(xiàn)基本的6個(gè)功能,也就是網(wǎng)守發(fā)現(xiàn)、端點(diǎn)登記、端點(diǎn)定位、呼叫接納、呼叫退出和狀態(tài)查詢;建立H.245通道只保留了能力交換、主從確定、開閉邏輯信道和終止會(huì)話消息。在實(shí)現(xiàn)上述3個(gè)協(xié)議的過程中,對于它們每個(gè)消息中的可選項(xiàng)參數(shù),在編碼時(shí)盡量簡化,解碼時(shí)保留。通過采用上述的措施優(yōu)化H.323信令過程,盡可能的減少了代碼量和存儲(chǔ)器空間,同時(shí)又保證了與其它產(chǎn)品的兼容性。

3、以太話機(jī)中語音的處理過程

以太電話機(jī)進(jìn)行語音傳輸,要完成以下幾個(gè)過程:模擬語音首先經(jīng)CODEC編碼為64K的PCM碼,經(jīng)壓縮形成語音數(shù)據(jù);語音數(shù)據(jù)再由RTP封裝后再交由UDP進(jìn)行封裝;攜帶語音數(shù)據(jù)的UDP數(shù)據(jù)報(bào)在IP層被封裝為IP包;最后IP包通過以太網(wǎng)接口程序形成以太幀發(fā)送至以太網(wǎng)上傳送;攜帶語音數(shù)據(jù)的以太網(wǎng)幀在目的話機(jī)被以太網(wǎng)卡接收并拆包恢復(fù)為語音數(shù)據(jù),其處理是語音發(fā)送的逆過程,語音數(shù)據(jù)解碼為模擬語音送至話筒。

4、系統(tǒng)性能優(yōu)化

嵌入式系統(tǒng)在開發(fā)中的優(yōu)化十分重要。根據(jù)處理器的性能,盡可能地提高代碼運(yùn)行速度,減少代碼和數(shù)據(jù)存儲(chǔ)空間,這是系統(tǒng)優(yōu)化所要解決的基本問題。雖然C編譯器提供了一定的代碼優(yōu)化,但編譯器的優(yōu)化僅涉及執(zhí)行速度和代碼大小的平衡,不能使程序達(dá)到小而精,因而必須在開發(fā)程序時(shí)采取一定的優(yōu)化方案。系統(tǒng)調(diào)試中,在確保系統(tǒng)穩(wěn)定工作的基礎(chǔ)上,采取了以下的措施進(jìn)行系統(tǒng)優(yōu)化。

對于代碼優(yōu)化主要采取以下措施:

(1)、根據(jù)發(fā)生頻率對條件跳轉(zhuǎn)語句排序,提高代碼運(yùn)行速率。
例如switch-case、if這類語句,程序中使用了很多,而每一個(gè)由機(jī)器語言實(shí)現(xiàn)的測試和跳轉(zhuǎn)僅是為了決定下一步要做什么,這樣就浪費(fèi)了處理的時(shí)間。優(yōu)化時(shí)對具體情況按照發(fā)生的相對頻率排序,即把最常發(fā)生的情況放在第一位,最不可能發(fā)生的情況放在最后,這樣會(huì)減少平均的代碼執(zhí)行時(shí)間,從而有效的提高程序的運(yùn)行速度。

(2)、盡量使用全局變量,減少函數(shù)調(diào)用參數(shù)。
這樣比向函數(shù)傳遞參數(shù)效率更高,去除了函數(shù)調(diào)用前參數(shù)入棧和函數(shù)完成后參數(shù)出棧。

(3)、努力減小代碼的大小。

盡量避免使用標(biāo)準(zhǔn)庫例程,很多大的庫例程沒法處理所有可能的情況,會(huì)占用龐大的內(nèi)存空間,因而應(yīng)盡可能地減少使用標(biāo)準(zhǔn)庫例程。 
對于存儲(chǔ)區(qū)優(yōu)化問題,是使用了下面一些方法進(jìn)行的:

(1)、使用前述協(xié)議棧開發(fā)提到的共用緩沖區(qū)的方法。

由于基于協(xié)議的數(shù)據(jù)封裝的特點(diǎn),在對共用緩存區(qū)的數(shù)據(jù)進(jìn)行處理時(shí),只需在程序中使用地址指針進(jìn)行調(diào)用,這樣在保證系統(tǒng)正常工作的前提下,大幅度減少了對數(shù)據(jù)存儲(chǔ)空間的需求。同時(shí),使用指針代替數(shù)組索引還能使代碼運(yùn)行速度加快。

(2)、編程時(shí)將一些固定的數(shù)據(jù)定義為代碼類型,同樣可以有效的減少存儲(chǔ)區(qū)的使用量。

優(yōu)化過程中,還考慮到代碼優(yōu)化與存儲(chǔ)區(qū)占用量的相互影響,以及程序可讀性等問題。綜合考慮以上因素后,通過以上的措施以及對協(xié)議實(shí)現(xiàn)的具體優(yōu)化,得到了優(yōu)化的以太電話系統(tǒng)。在優(yōu)化前的程序,數(shù)據(jù)段需要至少150K字節(jié);優(yōu)化后的系統(tǒng)中,數(shù)據(jù)段不到70K。同時(shí),系統(tǒng)的響應(yīng)速度也得到較大提高。由此可以看出,對程序的合理優(yōu)化,對提高程序運(yùn)行的穩(wěn)定性和系統(tǒng)處理速度,都可以起到至關(guān)重要的作用。

四、結(jié)束語

嵌入式以太網(wǎng)技術(shù)作為嵌入式系統(tǒng)發(fā)展的熱點(diǎn)之一,越來越多的解決方案在不斷的被提出和驗(yàn)證。本文提出的設(shè)計(jì)是在現(xiàn)有的以太網(wǎng)嵌入式系統(tǒng)基礎(chǔ)上,使用SDA80D51芯片,實(shí)現(xiàn)較高性價(jià)比的以太網(wǎng)電話機(jī)。由于該芯片的集成度很高,設(shè)計(jì)電路時(shí)就省去了許多的相關(guān)模塊,使得設(shè)計(jì)得到的硬件簡單,便于調(diào)試檢測。同時(shí)通過對協(xié)議棧等的優(yōu)化,使系統(tǒng)達(dá)到了預(yù)期的低成本,高可靠性等特點(diǎn)。該設(shè)計(jì)得到的樣機(jī),工作穩(wěn)定、可擴(kuò)展性強(qiáng),在以太網(wǎng)環(huán)境的語音傳輸完全可以達(dá)到預(yù)期目標(biāo),整個(gè)設(shè)計(jì)方案和實(shí)現(xiàn)方法是可行的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉