新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線(xiàn)通信 > 設(shè)計(jì)應(yīng)用 > 基于IP核的PSTN短消息終端SoC軟硬件協(xié)同設(shè)計(jì)

基于IP核的PSTN短消息終端SoC軟硬件協(xié)同設(shè)計(jì)

作者: 時(shí)間:2010-11-25 來(lái)源:網(wǎng)絡(luò) 收藏

摘要 介紹在基于微控制器IP核的PSTN短消息終端SoC設(shè)計(jì)當(dāng)中,如何合理劃分硬件和軟件的功能;從對(duì)微控制器IP核的配置與擴(kuò)展、片上外設(shè)在SFR總線(xiàn)上的映射、存儲(chǔ)空間的劃分與映射等三個(gè)方面,詳細(xì)講述SoC的軟硬件協(xié)同設(shè)計(jì)。

本文引用地址:http://2s4d.com/article/156923.htm

關(guān)鍵詞 軟硬件協(xié)同設(shè)計(jì) IP核 SoC DW8051_core

1 概述

  PSTN短消息終端SoC是為固定電話(huà)網(wǎng)短消息業(yè)務(wù)而設(shè)計(jì)的一種數(shù)字終端處理芯片。片上集成了微控制器、RAM、FSK/DTMF調(diào)制解調(diào)器、、、擴(kuò)展頁(yè)面尋址以及線(xiàn)路狀態(tài)控制;可以完成FSK和DTMF格式的短消息上傳、下傳,CID(Calling Identity Delivery,主叫識(shí)別信息傳送)號(hào)碼的,振鈴信號(hào)檢測(cè),話(huà)機(jī)狀態(tài)控制等功能[1],提供了PSTN短消息終端的單芯片解決方案。其中,使用了DW8051_core IP核作為SoC的微控制器核心。

  SoC(System on chip,片上系統(tǒng))不僅指它的硬件平臺(tái),還包括運(yùn)行在其上的軟件成分。如果系統(tǒng)采用全硬件設(shè)計(jì)的方案,優(yōu)點(diǎn)是速度快、效率高,但是研制周期長(zhǎng),從而成本也高;用軟件實(shí)現(xiàn)則更為靈活,研制周期短。缺點(diǎn)是速度慢,效率比較低。因此,SoC設(shè)計(jì)必須在硬件與軟件功能劃分上有一個(gè)合理的權(quán)衡,并進(jìn)行協(xié)同設(shè)計(jì)[2]。

2 SoC系統(tǒng)任務(wù)的軟硬件功能劃分

  系統(tǒng)任務(wù)按功能可以分為通信、人機(jī)交互、Flash存儲(chǔ)器管理和外設(shè)管理四部分。通信的物理層功能即DTMF/FSK信號(hào)的調(diào)制解調(diào),涉及插值、加權(quán)、相關(guān)等DSP運(yùn)算??紤]到通信的實(shí)時(shí)性要求和所使用8位微控制器的數(shù)據(jù)處理能力,這些運(yùn)算由專(zhuān)門(mén)設(shè)計(jì)的Modem硬件邏輯實(shí)現(xiàn);而在數(shù)據(jù)鏈路層,比如建立和釋放與服務(wù)器的連接、超時(shí)控制、FSK數(shù)據(jù)幀、拆包、差錯(cuò)控制、提取返回消息層的信息和相應(yīng)標(biāo)志位的建立等,都交給微處理器由軟件實(shí)現(xiàn)。人機(jī)交互中的要不斷判斷是否有按鍵動(dòng)作發(fā)生,用軟件實(shí)現(xiàn)效率低,這里也用專(zhuān)門(mén)的硬件邏輯實(shí)現(xiàn)。其他人機(jī)交互功能,如菜單操作、短信編輯等,則都由軟件實(shí)現(xiàn)。Flash存儲(chǔ)器管理和外設(shè)管理在硬件提供了接口寄存器的情況下,由軟件實(shí)現(xiàn)。

  把實(shí)時(shí)性強(qiáng)、運(yùn)算量大和重復(fù)性強(qiáng)的功能交給硬件去實(shí)現(xiàn),然后在滿(mǎn)足系統(tǒng)性能要求的情況下,把盡可能多的任務(wù)留給片上的微控制器用軟件實(shí)現(xiàn)。這樣降低了SoC的硬件復(fù)雜度以及制造成本,同時(shí)系統(tǒng)也可以獲得最大的靈活性。

3 SoC的軟硬件協(xié)同設(shè)計(jì)

3.1 對(duì)微控制器核的配置和擴(kuò)展

  DW8051_core是Synopsys公司提供的一個(gè)與8051指令兼容的8位微控制器IP核。它采用4個(gè)時(shí)鐘周期為1個(gè)指令周期的模式,在時(shí)鐘周期相同的情況下,處理能力是標(biāo)準(zhǔn)8051的3倍。DW8051_core訪(fǎng)問(wèn)程序存儲(chǔ)器和的MEM地址總線(xiàn)是16位總線(xiàn),避免了傳統(tǒng)8051結(jié)構(gòu)中數(shù)據(jù)總線(xiàn)和地址總線(xiàn)低位的時(shí)分復(fù)用問(wèn)題。

  由于DW8051_core是一個(gè)IP軟核(soft core),所以可以對(duì)它進(jìn)行配置和擴(kuò)展。在綜合(synthesis)的時(shí)候,通過(guò)對(duì)參數(shù)文件的設(shè)置,可以選擇配置內(nèi)部RAM是128字節(jié)還是256字節(jié);可以選擇是否使用定時(shí)/計(jì)數(shù)器2,使用1個(gè)串口還是2個(gè)串口等。用戶(hù)還可以按照DW8051_core手冊(cè)的要求使用硬件描述語(yǔ)言編寫(xiě)硬件邏輯,擴(kuò)展SFR總線(xiàn)和中斷系統(tǒng)(最多可以擴(kuò)展到13級(jí)中斷)[3]。

  在SoC設(shè)計(jì)中,只使用到了微控制器核的1個(gè)硬件定時(shí)器(Timer0),1個(gè)外部中斷(Interrupt0),1個(gè)串行口(UART),并沒(méi)有使用DW8051_core的全部功能。那些冗余的功能只會(huì)增加系統(tǒng)的硬件負(fù)擔(dān),所以按照最精簡(jiǎn)的原則配置DW8051_core:使用內(nèi)部128字節(jié)RAM,不使用定時(shí)/計(jì)數(shù)器2,不使用內(nèi)部ROM,只使用1個(gè)串口,不擴(kuò)展中斷。在DW8051_parameter.vhd文件中,作如下的參數(shù)設(shè)定[3]可以完成上述配置:

  package DW8051_parameter is
constant ram_256 : integer := 0;
constant timer2 : integer := 0;
constant rom_addr_size : integer := 0;
constant serial : integer := 0;
constant extd_intr : integer := 0;
end DW8051_parameter;


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉