摘要:介紹一種以MCS51為核,加上FSK、DTMF、數(shù)字調(diào)制/解調(diào)等外國電路組成的控制系統(tǒng)。在類似控制系統(tǒng)中,如何滿足系統(tǒng)要求且與MCS51微處理器兼容和如何減少系統(tǒng)面積是設(shè)計中的兩大關(guān)鍵問題。通過分析MCS51的指令和時序關(guān)系,設(shè)計出具有自主知識產(chǎn)權(quán)的與MCS51兼容的微處理器,完成它與外國電路集成和自測試電路的插入。該系統(tǒng)在FPGA和門陣列上分別進行了布局布線和后仿真,并通過了FPGA的原型樣機測試。 關(guān)鍵詞:SFR 特殊功能寄存器 FSK 頻移鍵控 DTMF 雙音多頻 引言 隨著電信市場的日益開放、競爭、運營商面蜊更大的壓力,須提高投資回收效率,提高固定電話的ARPU值。中國移動推出出的短信息服務(wù)取得了很好的經(jīng)濟效果和社會效益,短信正以其特有的快捷和方便,影響著人們?nèi)粘I畹脑S多方面?!肮潭娫捫畔⒒焙拖嚓P(guān)標(biāo)準(zhǔn)的出臺,固定電話的廠商也推出類似的服務(wù),從而實現(xiàn)傳統(tǒng)電話的增值。 但固網(wǎng)短信存在兩方面的“瓶頸”;在終端和內(nèi)容上均有缺失。在終端方面是價格問題,應(yīng)該考慮如何將價格降到用戶可以接受的范圍。 本系統(tǒng)就是針對這樣的市場需求而設(shè)計。它需要1個滿足系統(tǒng)要求的微處理器、1個大的字庫來支持。同時,該芯片必須控制在一定面積下,以降低成本。 本文將著重介紹與MCS51兼容的微控制器的設(shè)計和DTMF解碼中的數(shù)據(jù)處理。 Intel MCS51系列是一種8位微處理器。外部程序與數(shù)據(jù)存儲器的尋址范圍可達到64K.MCS51有5個中斷源,其中2個為外部中斷源,每個中斷源的優(yōu)先級是可編程的。為了滿足固網(wǎng)短信系統(tǒng)功能需求。主要對MCS51進行如下三方面的擴展。SFR擴展、存儲器擴展,外部中斷擴展。 1.1 SFR擴展 為了與MCS51兼容。把FSK、DTMF中的控制寄存器和狀態(tài)寄存器MCS51的SFR統(tǒng)一編址。這樣8051管理、控制、監(jiān)視FSK、DTMF時,可將FSK、DTMF對應(yīng)的地址看作是片內(nèi)數(shù)據(jù)存儲器的直接地址。因此,可以使用片內(nèi)數(shù)據(jù)存儲器相同的操作方法,不用增加指令來完成這些功能,這種結(jié)構(gòu)的擴展可以看作是MCS51內(nèi)部總線的擴張和把FSK、DTMF看成MCS51的兩個擴展的內(nèi)部模塊,結(jié)構(gòu)如圖1所示。 1.2 存儲器擴展 因為固網(wǎng)系統(tǒng)需要一個龐大的字庫來支持,所以MCS51的64KB存儲能力是不夠的。通過添加一個MMU模塊,將CPU該存能力擴展到2MB。當(dāng)CPU訪問外部存儲器時,先用16位的邏輯地址高位進行頁表查詢,得到相應(yīng)的擴展地址,然后將擴展地址和邏輯地址的低位一起構(gòu)成21位的物理地址,來完成對外部存儲器的操作,數(shù)據(jù)通路如圖2所示。 1.3 外部中斷的擴張 為了讓系統(tǒng)能舊電故障等異常事件中斷請求信號,保留了MCS51原來的兩個外部中斷源,同時增加了7個外部中斷和相應(yīng)的3個寄存器,分別用于鎖存中斷、屏蔽中斷和對中斷的優(yōu)先級進行控制。如圖3所示。 中斷的實現(xiàn),CPU在每一個機器周期預(yù)序檢查每一個中斷源,如果發(fā)現(xiàn)有中斷請求且沒有在處理相同或更高的優(yōu)先級中斷,CPU就處理該中斷。先得相應(yīng)的優(yōu)先級狀態(tài)位置位,然后捃一個硬件子程序。該子程序把中斷處理程序的入口地址送到程序計數(shù)據(jù)。各中斷源程序的入口地址如表1.中斷處理程序從該地址開始一直執(zhí)行到RETI指令為止,然后將相應(yīng)的優(yōu)先級級位清0.
2 DTMF數(shù)據(jù)處理 DTMF解碼數(shù)據(jù)處理主要完成兩個功能,一是數(shù)據(jù)截取,一是DTMG解碼。 2.1 數(shù)據(jù)截取 根據(jù)抽樣速率和DTMG占空比及持續(xù)時間,可以對接收的數(shù)據(jù)進行截斷。根據(jù)FFT的要求,前后兩段數(shù)據(jù)之間應(yīng)該有一定長度的公共部分。計算出截新的數(shù)據(jù)幀的長度為128字。為了減少面積,我們比較了幾個方案。在不會出現(xiàn)溢出的情況下,最后采取了圖4所示的設(shè)計方案。 數(shù)據(jù)讀取時,為了保證每次數(shù)據(jù)讀取時與前后兩段都有32字的公共部分,第一次從讀數(shù)據(jù)段1中讀出160字的數(shù)據(jù),其前32字的數(shù)據(jù)為上一幀數(shù)據(jù)的最后32字的數(shù)據(jù);下一次在讀數(shù)據(jù)段2中讀出160字的數(shù)據(jù),然后兩個數(shù)據(jù)段讀出數(shù)據(jù)前后之間都有32字的共有數(shù)據(jù)。 2.2 DTMF解碼 對于DTMF解碼中用到的FFT,我們采用經(jīng)典的Goertzel算法。其思想是利用簡單的遞歸運算代替復(fù)雜的FFT運算,且只需要計算幾個頻率占上的值,大大簡化了計算量,通過比較幾個頻率點上數(shù)值的大小和判斷占空時間,就可確定發(fā)送的DTMG頻率組合。為了減少設(shè)計中用到的乘法驗證,在滿足通信標(biāo)準(zhǔn)的前提下,將寬度降到12位。Goertzel算法的計算公式如下: 3 其它外圍電路 該系統(tǒng)除了MCS51.FSK、DTMG外,再加上門控時鐘??撮T狗、數(shù)字調(diào)制/解調(diào)等其它電路就構(gòu)成了完整的以MCS51為核的單片集成系統(tǒng)。 門控時鐘主要功能就是在系統(tǒng)工作時提供系統(tǒng)時鐘;在系統(tǒng)空閑時,使系統(tǒng)處于下電狀態(tài),所有的時鐘都關(guān)掉,所有的操作也就停止,直到系統(tǒng)被喚醒,這樣就將系統(tǒng)功耗降低到最小值。 看門電路是一個可編程的邏輯電路,它可以被用作系統(tǒng)監(jiān)視器,也可以只作為一個簡單的計時器。同時它的時間寬度可以通過編程來設(shè)成2 12、2 13、2 18或2 21個時鐘寬度。 結(jié)語 該系統(tǒng)是一個典型的以MCS51為核心。加、DTMG以及門控時鐘等外圍電路組成的控制系統(tǒng)。我們采用自頂向下的設(shè)計方法。系統(tǒng)中所有功能模塊均采用VHDL語言進行描述;用FPGA實現(xiàn)的集成系統(tǒng)替換原來的系統(tǒng)通過了功能測試。不但在可靠性上得到了提高,而且滿足芯片面積的要求,達到降低成本的目的。 |
- 集成系統(tǒng)(9674)
- 以MXS(5506)
相關(guān)推薦
51內(nèi)核的單片機介紹


什么是51單片機最小系統(tǒng)


80C51系列單片機硬件基礎(chǔ)相關(guān)資料推薦
80c51內(nèi)核在單片機中的應(yīng)用
51內(nèi)核單片機最高頻率介紹
51單片機集成開發(fā)環(huán)境的相關(guān)資料推薦
51單片機與STM32的區(qū)別
51單片機如何跳出wile循環(huán)
51單片機的實時操作系統(tǒng)怎么構(gòu)造?
以51系列單片機為核心設(shè)計的溫度采集系統(tǒng)
以單片機為核心的嵌入式系統(tǒng)設(shè)計
以單片機(MCU)為核心的系統(tǒng),要降低單片機系統(tǒng)的功耗,需要從哪方面考慮?
以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集成技術(shù)朝哪幾個方向發(fā)展?
以STC89C52為例來介紹51單片機
以STC89C52為核心的體溫心率檢測儀系統(tǒng)設(shè)計資料分享
AT89C51單片機的電風(fēng)扇控制系統(tǒng)設(shè)計流程圖
Contiki在51單片機上的移植方法
MCS-51系列和80C51系列單片機的區(qū)別
MSC-51單片機是什么
MSC-51單片機相關(guān)資料分享
STM32與51單片機的內(nèi)核主要是指的什么?
為什么叫51單片機
了解單片機和ARM芯片構(gòu)造、及其板級外設(shè)
基于51單片機為核心的并行口數(shù)據(jù)采集系統(tǒng)
基于51單片機智能風(fēng)扇控制系統(tǒng)的設(shè)計與實現(xiàn)
基于MCS-51單片機為核心的數(shù)據(jù)采集系統(tǒng)
基于STC 89C51單片機的鋸齒波輸出系統(tǒng)設(shè)計詳解
如何去實現(xiàn)一種基于51單片機的交通燈控制系統(tǒng)設(shè)計
如何設(shè)計出以51單片機為核心的并行口數(shù)據(jù)采集系統(tǒng)?
學(xué)習(xí)單片機的感悟,以51為例 相關(guān)資料分享
簡單基礎(chǔ)單片機內(nèi)核有哪些
講解8051內(nèi)核系列單片機
請問51單片機內(nèi)核的中斷是如何實現(xiàn)的?
請問51單片機內(nèi)核的中斷是怎么實現(xiàn)的?
請問PIC單片機和AVR單片機是51內(nèi)核的嗎?
請問PIC單片機和AVR單片機是51內(nèi)核的嗎?
請問如何設(shè)計設(shè)計一個以MCS-51單片機為核心的計算機控制系統(tǒng)?
以MCS51為內(nèi)核構(gòu)造的單片集成系統(tǒng)

用51 內(nèi)核網(wǎng)絡(luò)單片機構(gòu)成的遠(yuǎn)程監(jiān)控系統(tǒng)

MCS-51單片機的系統(tǒng)擴展技術(shù)

CA51F003T3 CA51F003T3芯片是基于1T 8051內(nèi)核的8位微控制器MCU
九齊MCU單片機 NY8AE51F 微控制器芯片方案開發(fā)燒錄芯片編帶SOP8
基于51單片機的輸液監(jiān)控系統(tǒng)設(shè)計

51單片機綜合學(xué)習(xí)系統(tǒng)_紅外線遙控篇

51單片機集成庫文件

淺談51內(nèi)核單片機中斷源


51單片機教程之80C51單片機的C語言程序設(shè)計資料概述

51單片機最小系統(tǒng)是什么?51單片機最小系統(tǒng)的電路介紹

怎么樣才能構(gòu)造一個51單片機的實時操作系統(tǒng)

如何構(gòu)造一個51單片機的實時操作系統(tǒng)

使用51單片機內(nèi)核實現(xiàn)CRC16校驗的程序免費下載

基于51單片機的電子存包柜的設(shè)計


單片機的C51構(gòu)造數(shù)據(jù)類型講解

Keil C51單片機中變量的使用方法解析


STC89C51單片機的硬件系統(tǒng)設(shè)計介紹

基于51單片機的三角波輸出系統(tǒng)的設(shè)計

51單片機電路原理圖_51單片機入門(第1篇):純干貨,單片機最小系統(tǒng)

51單片機與AVR單片機

51單片機(一)—— 51單片機簡介

51單片機(三)—— 51單片機集成開發(fā)環(huán)境介紹

轉(zhuǎn)載:DIY:給單片機寫個實時操作系統(tǒng)內(nèi)核!

單片機之認(rèn)識單片機

單片機的各種內(nèi)核

51單片機(3)-------單片機的種類

51單片機快速入門(一)——軟件預(yù)備知識

51單片機(一)最小系統(tǒng)介紹

51單片機(2):最小系統(tǒng)

51單片機入門-1-最小系統(tǒng)基礎(chǔ)概念

51單片機與STM32單片機架構(gòu)的區(qū)別

用51單片機做宿舍門禁系統(tǒng)

51單片機學(xué)習(xí)筆記4 C51語言

51單片機最小系統(tǒng)的構(gòu)成


基于51單片機的鍋爐水位溫度壓力檢測系統(tǒng)仿真設(shè)計


基于51單片機的電子鐘鬧鐘溫度顯示設(shè)計


評論