基于IEEE802.15.4的無線VoIP話機(jī)系統(tǒng)(下)

相關(guān)專題: 無線 芯片

按照以上對(duì)硬件功能的要求,本設(shè)計(jì)采用了Freescale公司32位微處理器MCF5249作為主控芯片。該處理器工作主頻為140MHz,實(shí)際工作頻率可通過片內(nèi)PLL設(shè)定,片內(nèi)帶有8K的指令高速緩存和96K的SRAM。該處理器還提供豐富的外設(shè)供用戶使用。

無線收發(fā)模塊采用Freescale公司符合IEEE802.15.4規(guī)范的射頻芯片MC13192,該芯片工作在2.4GHz頻段,提供16個(gè)無線通道,數(shù)據(jù)速率為250Kb/s[4],通過QSPI與主控芯片進(jìn)行數(shù)據(jù)交換。語音采樣模塊采用Motorola公司13位線形PCM編解碼芯片MC145483SD[5],該芯片對(duì)語音進(jìn)行AD采樣并形成線形PCM流,通過音頻接口與主控芯片交換數(shù)據(jù)。時(shí)鐘模塊的設(shè)計(jì)充分考慮手持設(shè)備的低功耗要求,提供高低兩種時(shí)鐘輸入。當(dāng)系統(tǒng)處于未通話狀態(tài),可向系統(tǒng)提供低頻率時(shí)鐘。時(shí)鐘輸入可通過軟件配置GPIO進(jìn)行選擇。因?yàn)橐幚泶罅恳纛l數(shù)據(jù)和固化代碼,擴(kuò)展了片外SDRAM和FLASH。其他模塊還包括鍵盤,LCD,串口和BDM調(diào)試接口,其硬件框架如圖5所示。

圖5 無線手持設(shè)備端的硬件框架

無線手持設(shè)備端的軟件設(shè)計(jì)

無線手持設(shè)備端的軟件框架

無線手持設(shè)備在軟件設(shè)計(jì)上需充分考慮系統(tǒng)的實(shí)時(shí)性和功耗。其一,手持設(shè)備需要處理語音,會(huì)話控制信令,鍵盤輸入信息等多種數(shù)據(jù),并需要進(jìn)行通話過程控制,無線收發(fā)控制,單任務(wù)環(huán)境顯然不能勝任。其二語音數(shù)據(jù)是實(shí)時(shí)數(shù)據(jù),必須得到及時(shí)有效的處理,且系統(tǒng)不能過于復(fù)雜,以減少不必要的開銷,降低功耗。綜合以上兩點(diǎn),本設(shè)計(jì)采用了一個(gè)輕巧的多任務(wù)實(shí)時(shí)嵌入式操作系統(tǒng)mC/OS-II,其內(nèi)核可剝奪性保證了實(shí)時(shí)任務(wù)的運(yùn)行。而且其內(nèi)核代碼量小,能充分節(jié)省系統(tǒng)資源。該嵌入式操作系統(tǒng)提供除空閑,統(tǒng)計(jì)和保留任務(wù)以外的56個(gè)實(shí)時(shí)任務(wù)供用戶使用,提供信號(hào)量,消息隊(duì)列等機(jī)制實(shí)現(xiàn)任務(wù)間的同步和信息傳遞。其實(shí)時(shí)性強(qiáng),代碼量小,內(nèi)核簡(jiǎn)單的特點(diǎn)使其非常適用于本手持設(shè)備。

使用該操作系統(tǒng)之前需將其移植到MCF5249上,根據(jù)處理器的具體信息,編寫OS_CPU.H,OS_CPU_A.ASM和 OS_CPU_C.C三個(gè)文件。

除內(nèi)核外,完整的操作系統(tǒng)還需要編寫鍵盤,LCD,音頻驅(qū)動(dòng)和射頻芯片驅(qū)動(dòng)。音頻驅(qū)動(dòng)采用Phlips I2S數(shù)據(jù)格式,設(shè)定采樣率為8KHz。射頻芯片驅(qū)動(dòng)采用Freescale公司為MC13192提供的配套軟件模塊。

  操作系統(tǒng)之上是無線MAC層,該模塊針對(duì)語音無線傳輸?shù)奶攸c(diǎn)簡(jiǎn)化實(shí)現(xiàn)了IEEE 802.15.4 協(xié)議MAC層功能。第三層為語音壓縮編解碼g.726模塊和無線網(wǎng)內(nèi)部會(huì)話信令處理模塊。會(huì)話信令處理模塊負(fù)責(zé)處理來自無線語音網(wǎng)關(guān)的會(huì)話信令。最上層為應(yīng)用層,實(shí)現(xiàn)用戶界面和通話過程控制。無線手持設(shè)備總統(tǒng)框架如圖6所示。

圖6 無線手持設(shè)備端的軟件框架

無線手持設(shè)備端的軟件流程

當(dāng)手持設(shè)備上電啟動(dòng)后,其工作流程如圖7示。首先進(jìn)行的是系統(tǒng)的初始化,包括處理器初始化,操作系統(tǒng)mC/OS-II初始化,LCD,鍵盤,射頻模塊等的初始化。之后建立起始任務(wù)并通過OSStart()函數(shù)進(jìn)入多任務(wù)環(huán)境。此時(shí)起始任務(wù)占用CPU資源,在起始任務(wù)中,建立按鍵信息處理任務(wù)并通過信號(hào)量機(jī)制掛起。然后判斷是否收到來自無線語音網(wǎng)關(guān)的幀,如果有,調(diào)用frame_deal()函數(shù)處理幀信息,在該函數(shù)中調(diào)用call_command_deal()完成無線網(wǎng)內(nèi)部會(huì)話信令的處理。接著判斷通話是否建立,如果建立則創(chuàng)建語音任務(wù),在語音進(jìn)程中使能PCM編解碼芯片,并進(jìn)行g(shù).726壓縮編碼。最后判斷是否有幀需要發(fā)送給無線語音網(wǎng)關(guān),如果有則把幀添加到發(fā)送緩存,等待發(fā)送時(shí)隙到來。這一過程完成以后重新跳到判斷是否收到來自無線語音網(wǎng)關(guān)的幀,重復(fù)以上過程。如果有鍵盤中斷,將會(huì)釋放一個(gè)信號(hào)量,該信號(hào)量將解掛按鍵信息處理任務(wù)。該任務(wù)對(duì)鍵盤輸入信息進(jìn)行處理。

圖7 無線手持設(shè)備的軟件流程

  結(jié)語   本設(shè)計(jì)已經(jīng)在基于MCF5234微處理器(無線語音網(wǎng)關(guān))和MCF5249微處理器(無線手持設(shè)備)的硬件平臺(tái)上實(shí)現(xiàn)。如圖8所示,左圖為無線語音網(wǎng)關(guān),右圖為無線手持設(shè)備。

圖8 系統(tǒng)硬件實(shí)物圖

本設(shè)計(jì)實(shí)現(xiàn)了包括呼叫轉(zhuǎn)移,三方通話等在內(nèi)的7項(xiàng)通話功能。在40米范圍內(nèi),具有良好的語音效果。該系統(tǒng)為家庭、辦公環(huán)境實(shí)現(xiàn)無線VoIP通信提供了一種參考設(shè)計(jì),且具有結(jié)構(gòu)簡(jiǎn)單,功耗小,軟件層次清晰等特點(diǎn)。

來源:電子產(chǎn)品世界


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料

本周熱點(diǎn)本月熱點(diǎn)

 

  最熱通信招聘

業(yè)界最新資訊


  最新招聘信息