www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 1 前 言 PSTN短消息終端SoC是為固定電話(huà)網(wǎng)短消息業(yè)務(wù)而設(shè)計(jì)的一種數(shù)字終端處理芯片。片上集成了微控制器、RAM、FSK/DTMF調(diào)制解調(diào)器、LCD接口、鍵盤(pán)掃描、數(shù)據(jù)存儲(chǔ)器擴(kuò)展頁(yè)面尋址接口以及線路狀態(tài)控制

1 前 言

PSTN短消息終端SoC是為固定電話(huà)網(wǎng)短消息業(yè)務(wù)而設(shè)計(jì)的一種數(shù)字終端處理芯片。片上集成了微控制器、RAM、FSK/DTMF調(diào)制解調(diào)器、LCD接口、鍵盤(pán)掃描、數(shù)據(jù)存儲(chǔ)器擴(kuò)展頁(yè)面尋址接口以及線路狀態(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 onChip,片上系統(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ī)交互中的鍵盤(pán)掃描要不斷判斷是否有按鍵動(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訪問(wèn)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的MEM地址總線是16位總線,避免了傳統(tǒng) 8051結(jié)構(gòu)中數(shù)據(jù)總線和地址總線低位的時(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總線和中斷系統(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;

SoC中的FSK/DTMF調(diào)制解調(diào)器、LCD接口、鍵盤(pán)掃描、數(shù)據(jù)存儲(chǔ)器擴(kuò)展頁(yè)面尋址接口以及線路狀態(tài)控制接口等,都作為片內(nèi)外設(shè)連接在 DW8051_core所特有的SFR內(nèi)部總線上。8 KB的片上RAM和片外512 KB的Flash存儲(chǔ)器AM29LV040都連接在DW8051_core的MEM總線上,如圖1所示。

圖1 經(jīng)過(guò)擴(kuò)展的DW8051_core SFR總線以及SoC系統(tǒng)結(jié)構(gòu)

3.2 外設(shè)在SFR總線上的地址映射

DW8051_core通過(guò)SFR地址總線sfr_addr[0:7],SFR讀信號(hào)sfr_rd,SFR寫(xiě)信號(hào)sfr_wr,SFR數(shù)據(jù)輸出總線sfr_data_out[0:7],數(shù)據(jù)輸入總線sfr_data_in[0:7]來(lái)訪問(wèn)映射到SFR總線上的片上外設(shè)。每一個(gè)外設(shè)都通過(guò)SFR地址映射成SFR總線上的一個(gè)寄存器,如圖2所示。

對(duì)這些擴(kuò)展SFR寄存器的訪問(wèn)和對(duì)普通寄存器的訪問(wèn)在形式上并沒(méi)有區(qū)別。當(dāng)應(yīng)用程序使用Keil的C51編譯器時(shí),修改reg51.h文件可以讓編譯器確認(rèn)用戶(hù)所擴(kuò)展的SFR寄存器。對(duì)擴(kuò)展SFR外設(shè)地址的分配可以根據(jù)設(shè)計(jì)需要而不同,但是只能使用DW8051_core沒(méi)有保留和占用的地址,否則會(huì)發(fā)生沖突。在reg51.h文件中添加以下語(yǔ)句讓編譯器確認(rèn)擴(kuò)展的寄存器:

sfr SEND_MODEM_DATA = 0xf1;/* 擴(kuò)展,發(fā)送Modem數(shù)據(jù),只寫(xiě) */

sfr READ_FSK_DECODE = 0xf1;/* 擴(kuò)展,讀FSK解調(diào)數(shù)據(jù),只讀 */

sfr READ_DTMF_DECODE = 0xf2;/* 擴(kuò)展,讀DTMF解調(diào)數(shù)據(jù),只讀 */

sfr MODEM_STATUS = 0xf3;/* 擴(kuò)展,Modem狀態(tài),只讀 */

sfr MODEM_CTRL = 0xf2;/* 擴(kuò)展,Modem控制,只寫(xiě) */

sfr KEYPAD_VALUE = 0xf4;/* 擴(kuò)展,讀鍵盤(pán)值,只讀 */

sfr FLASH_PAGE = 0xf5; /* 擴(kuò)展,頁(yè)面尋址,只寫(xiě) */

sfrLCD_DATA = 0xf6; /* 擴(kuò)展,LCD數(shù)據(jù),讀寫(xiě) */

sfr LCD_CTRL = 0xf7; /* 擴(kuò)展,LCD控制,只寫(xiě) */

sfr CIRCUIT_STATUS = 0xff; /* 擴(kuò)展,線路狀態(tài),只讀 */

sfr CIRCUIT_CTRL = 0xff; /* 擴(kuò)展,線路控制,只寫(xiě) */

為了節(jié)約SFR總線地址資源,一些擴(kuò)展的SFR寄存器在硬件上設(shè)計(jì)為只能寫(xiě)、不可讀,另外一些被設(shè)計(jì)為只能讀、不可寫(xiě)。這樣,二者可以復(fù)用同一個(gè)SFR總線地址,比如MODEM_CTRL和READ_DTMF_DECODE寄存器;但是這樣在需要先將那些“只寫(xiě)”寄存器的內(nèi)容讀出,運(yùn)算后再進(jìn)行寫(xiě)回操作的時(shí)候就很不方便。這里采用了鏡像變量的方法,為每一個(gè)“只寫(xiě)”寄存器建立一個(gè)全局變量,每次寫(xiě)寄存器操作后,都對(duì)這個(gè)全局變量進(jìn)行同樣的寫(xiě)操作,時(shí)刻保持變量值和寄存器的內(nèi)容一致,在需要讀出的時(shí)候就使用此全局變量。MODEM_CTRL寄存器的bit0控制Modem是DTMF還是FSK模式。下面以對(duì)這一位的操作為例說(shuō)明。

建立它的鏡像全局變量:

unsigned char xdata modem_ctrl_mirror;

定義控制位:

#define MODEM_B0_MODE0x01// 1-DTMF, 0-FSK

圖2 片上外設(shè)在SFR總線上的物理連接

設(shè)置Modem為FSK模式:

void Modem_SetMode_FSK() {

MODEM_CTRL = modem_ctrl_mirror & (~MODEM_B0_MODE);

modem_ctrl_mirror = modem_ctrl_mirror & (~MODEM_B0_MODE);

}

在初始化程序中對(duì)這些“只寫(xiě)”寄存器及其鏡像全局變量進(jìn)行賦值。

void DevICesInit() {

MODEM_CTRL = MODEM_CTRL_INI;

modem_ctrl_mirror = MODEM_CTRL_INI;

}

3.3 存儲(chǔ)空間的劃分和映射

在物理上,把8KB的片內(nèi)RAM分為兩部分,0000H~1BFFH(共7 KB)映射到數(shù)據(jù)空間,1C00H~1FFFH(共1 KB)映射到程序空間,并覆蓋Flash中程序空間的1C00H~1FFFH區(qū)域;把512 KB的Flash存儲(chǔ)器也分成兩部分,00000H~0FFFFH(共64 KB)映射到程序空間,剩下的10000H~7FFFFH(共448 KB)都映射到數(shù)據(jù)空間。

對(duì)微控制器核來(lái)說(shuō),可以尋址64 KB的程序空間和64 KB的數(shù)據(jù)存儲(chǔ)空間。對(duì)整個(gè)SoC而言,因?yàn)镕lash中的程序空間有1 KB被RAM程序空間覆蓋掉,所以邏輯上它的程序空間依然是64 KB,但數(shù)據(jù)空間變?yōu)? KB+448 KB,共455 KB。微控制器核通過(guò)擴(kuò)展的SFR寄存器FLASH_PAGE按32 KB×16頁(yè)的頁(yè)面方式訪問(wèn)Flash存儲(chǔ)器,其中包括程序空間和數(shù)據(jù)空間,如圖3所示。

圖3 程序空間和數(shù)據(jù)空間的劃分和映射

在對(duì)Flash存儲(chǔ)器件進(jìn)行寫(xiě)操作后的某一段時(shí)間內(nèi)(從幾十μs~幾百μs),對(duì)它進(jìn)行讀操作是不能讀出一個(gè)確切值的,這是Flash存儲(chǔ)器件的一個(gè)特性。本設(shè)計(jì)中程序和數(shù)據(jù)存放在同一個(gè)AM29LV040 Flash存儲(chǔ)器中。在對(duì)Flash存儲(chǔ)器進(jìn)行寫(xiě)操作時(shí),要不斷地從其中讀出進(jìn)行寫(xiě)操作的程序指令,然后對(duì)它本身進(jìn)行寫(xiě)操作。微控制器核在20 MHz的時(shí)鐘頻率下,指令周期大約是200 ns,即每隔200 ns左右,SoC就要從Flash存儲(chǔ)器中讀取一條指令。這顯然和上述的Flash存儲(chǔ)器特性發(fā)生了沖突。

通過(guò)對(duì)編譯環(huán)境的設(shè)定,可以把進(jìn)行寫(xiě)Flash操作的函數(shù)unsigned char WritEDAta_FLASH (unsigned char * dest, unsigned char *scr, unsigned int len) 和Flash扇區(qū)擦除函數(shù)unsigned char EraseSector_FLASH (unsigned char sector_index)定位到程序空間的1C00H~1FFFH,并備份到數(shù)據(jù)空間的0EC00H~0EFFFH。在應(yīng)用程序的設(shè)備初始化函數(shù) void DevICesInit()中,調(diào)用加載函數(shù)void LoadFLASHOpToRAM(),把對(duì)Flash進(jìn)行寫(xiě)或者擦除操作的這1KB

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

北京2025年8月13日 /美通社/ -- 近日,搭載兆芯開(kāi)先KX-7000高性能處理器的希沃華騰新一代計(jì)算終端產(chǎn)品應(yīng)運(yùn)而生,憑借應(yīng)用數(shù)據(jù)互通、輕松批量部署、自有備授課軟件等特色,為教學(xué)教研等工作的高效開(kāi)展提供有力支撐和...

關(guān)鍵字: 終端 AI 數(shù)字化 通用處理器

北京亦莊啟動(dòng)具身智能社會(huì)實(shí)驗(yàn)計(jì)劃 北京2025年8月9日 /美通社/ -- 2025世界機(jī)器人大會(huì)正在北京經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)(簡(jiǎn)稱(chēng)北京經(jīng)開(kāi)區(qū),也稱(chēng)北京亦莊)舉行。在8月9日的2025世界機(jī)器人大會(huì)"產(chǎn)業(yè)發(fā)展&qu...

關(guān)鍵字: 智能機(jī)器人 數(shù)據(jù)采集 軟硬件 零部件

深圳2025年7月22日 /美通社/ -- 2025年7月16日,榮耀終端股份有限公司(以下簡(jiǎn)稱(chēng)"榮耀")與中國(guó)電信股份有限公司(以下簡(jiǎn)稱(chēng)&qu...

關(guān)鍵字: 中國(guó)電信 終端 榮耀 AI

在現(xiàn)代電子系統(tǒng)中,電源扮演著核心角色,如同人體的心臟,為整個(gè)系統(tǒng)穩(wěn)定運(yùn)行提供不可或缺的動(dòng)力支持。從日常生活中的智能設(shè)備,到復(fù)雜精密的工業(yè)控制系統(tǒng),再到關(guān)乎國(guó)計(jì)民生的航空航天、醫(yī)療等關(guān)鍵領(lǐng)域,電源的可靠性直接決定了系統(tǒng)的穩(wěn)...

關(guān)鍵字: 電源 設(shè)備 系統(tǒng)

深圳 2025年7月10日 /美通社/ -- 在2025歐洲工具及智能硬件領(lǐng)域"黃金標(biāo)準(zhǔn)"Heimwerker的最新測(cè)評(píng)中,搭載廣和通純視覺(jué)方案的智能割...

關(guān)鍵字: BSP 終端 視覺(jué)技術(shù) 軟硬件

上海 2025年6月19日 /美通社/ -- 2025上海世界移動(dòng)通信大會(huì)(MWC上海),榮耀CEO李健受邀出席人工智能+(AI+)主題論壇,并發(fā)表"開(kāi)放共生,眾...

關(guān)鍵字: 模型 榮耀 AI 終端

上海 2025年5月29日 /美通社/ -- 2025年5月,飛凱材料旗下子公司江蘇和成顯示科技有限公司(以下簡(jiǎn)稱(chēng)"和成顯示")與全球領(lǐng)先的液晶材料企業(yè)JNC株式會(huì)社(前身為日本智索Chisso株式...

關(guān)鍵字: 液晶 液晶材料 終端 人機(jī)交互

深圳 2025年5月22日 /美通社/ --?5月,廣和通發(fā)布全新軟硬件一體化的全棧式AI解決方案MagiCore靈核,以"硬件設(shè)計(jì)+無(wú)線通信+AI音頻算法+云端大模型+全...

關(guān)鍵字: AI CORE MAGIC 軟硬件

深圳 2025年5月21日 /美通社/ -- 隨著5G與AI不斷融合,穩(wěn)定高速、智能的移動(dòng)網(wǎng)絡(luò)已成為商務(wù)、旅行、戶(hù)外作業(yè)等場(chǎng)景的剛需。廣和通5G AI MiFi方案憑借領(lǐng)先...

關(guān)鍵字: AI 移動(dòng)寬帶 終端 TE

上海 2025年5月15日 /美通社/ -- 5月12日,國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TÜV大中華區(qū)(簡(jiǎn)稱(chēng)"TÜV萊茵"...

關(guān)鍵字: 機(jī)器人 CE 指令 軟硬件
關(guān)閉