《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 基于DTMF技術與射頻技術的遠程控制的實現
基于DTMF技術與射頻技術的遠程控制的實現
陳國強1, 吳益輝2
1.杭州職業技術學院,浙江 杭州310018;2.杭州鴻雁電器有限公司,浙江 杭州310013
摘要: 介紹了以AT89S52單片機為控制核心,利用DTMF發送/接收一體芯片MT8880和公共電話網以及全球移動通信網(GSM),并加上ASk方式的無線射頻收發技術實現遠程控制。
中圖分類號: TN921
文獻標識碼: A
文章編號: 0258-7998(2010)10-0124-04
The realization of remote control system based on DTMF technology and radio frequency
CHEN Guo Qiang1, WU Yi Hui2
1.Hangzhou Vocational and Technology College, Hangzhou 310018, China;2. Hangzhou Hongyan Electric Appliance Co., Ltd., Hangzhou 310013, China
Abstract: The AT89S52 microcontroller as the core, this article introduced the wireless remote control by using DTMF send (receive) one-chip MT8880, the public telephone network, the global system for mobile communication network and ASK mode RF transceiver technology。
Key words : SCM;DTMF;remote control;wireless;ASK

   公共電話網和全球移動通信網(GSM)的語音和數據量的傳輸主要通過DTMF技術實現。本文介紹了一種基于DTMF收發技術和無線射頻技術相結合實現遠程控制的方法。例如在辦公室打電話回家遠程查詢、開啟或關閉家里的各種電器設各,使生活變得更加舒適安全便捷;也可以應用于對人有毒害的工作場合,工人可以通過遠程操作相關的設各完成特定的工作內容。

  1、 DTM F技術及其硬件電路設計

  1.1 DTMF電話原理介紹

  雙音多頻DTMF(Double Tone MultiFrequency)作為實現電話號碼快速可靠傳輸的一種技術,具有很強的抗干擾能力和較高的傳輸速度,可用作電話的音頻撥號,也可以在數據通信系統中用來實現各種數據流和語音等信息的遠程傳輸。

  DTMF是用兩個特定的單音頻組合信號來代表數字信號以實現其功能的一種編碼技術。國際上采用的頻率有:697 Hz、770 Hz、852 Hz、941 Hz、1 209 Hz、1 336 Hz、1477 Hz和1633 Hz等8種。用這8種頻率可形成16種不同的組合,從而代表16種不同的數字或功能鍵,具體組合如表1所示。

表18種音頻的16種組合表

  DTMF信號的產生原理:雙音頻信號是兩個正弦波信號的疊加,選定兩個頻率f1和f2后很容易地得到這種信號的數學表達式:

  1.2電話通信的實現

  1.2.1振鈴青的檢測

  當用戶被呼叫時,電話交換機發來鈴流信號,振鈴為(25±3)Hz的正弦波,諧鈴失真不大于10%,電壓有效值為(90±15)Ⅴ。振鈴以5 s為周期,即1 s送、4 s斷。根據振鈴信號電壓比較高的特點,可以先使用高壓穩壓二極管進行降壓,然后輸人至光電耦合器。經過光耦的隔離轉換,從光電耦合器輸出的波形是時通時斷的正弦波,經過RC回路進行濾波輸出標準的方波。方波信號就可以直接輸出至單片機的中斷計數器輸人口,完成整個振鈴音檢測和計數的過程,如圖1所示。

  1.2.2 自動摘掛機

  程控電話交換機對電話摘機的響應是電話線回路電流突然變大至約30 mA,即當程控交換機檢測到電話線回路中的電流變大時,則認為電話機已經摘機。

  自動摘掛機電路可以通過單片機控制一個繼電器的開關,繼電器的控制端將一個約300Ω的電阻接人電話線兩端,從而完成模擬摘掛機,如圖1所示。


圖1 MT8880與單片機接口電路

  1.2.3雙音頻解碼

  本文使用電話專用的雙音頻編解碼芯片MT8880進行輸人雙音頻信號的解碼。經過專用集成電路的解碼,信號轉換成為不同的碼制信號,可以直接被單片機讀取。

  1.3 DTMF信號收、發芯片MT8880簡介

  MT8880是加拿大MITEL公司生產的DTMF收發一體的集成電路,該芯片集成度高,內部含有一個帶增益可調放大器的DTMF接收器和一個DTMF發送器。接收器采用集頻帶分離濾波器和數字解碼為一體的結構形式。其中濾波電路采取高頻群和低頻群兩個六階開關電容濾波器,解碼采用數字計數器技術來確定輸人DTMF信號的頻率,并譯成4位二進制碼。發送器采用開關電容D/A變換器,可發出16種雙音多頻DTMF信號。接收部分用于完成DTMF信號的接收、分離和譯碼,并以4位并行二進制碼的方式輸出。

  1.4 MT8880與單片機控制接口

  MT8880使用標準的單片機控制接口,單片機可以精確地完成接收和發送功能,允許單片機訪問其內部一個狀態寄存器、2個控制寄存器和2個數據寄存器。

  MT8880內部有2個數據寄存器,一個是只執行讀操作的接收數據寄存器RDR;另一個是只執行寫操作的發送數據寄存器TDR。另外,MT8880中還有2個4位的收、發控制寄存器ORA和CRB(這2個寄存器位于同一地址空間)。對CRB的操作通過CRA中的一個特定位b3來實現,在寫CRA后,接著對同樣地址進行特定操作以把數據寫人CRB,再次寫時又指向CRA。在上電時,內部設置電路先要清除控制寄存器,因此作為防范措施,軟件應設置清除寄存器的初始化程序;而MT8880中的4位狀態寄存器SR則用來反映收、發信號的工作狀態。寄存器的選擇與操作由RS0和R/W口線來控制,當需要接收DTMF信號時,首先往控制寄存器CRA和CRB寫人相應的控制字,把MT8880芯片設置為DTMF模式,通過讀取狀態寄存器中的D2位,可以判斷是否收到一個有效的DTMF信號并已譯碼。若已收到則讀取內部“接收數據寄存器”的內容(從IV[T8880芯片的DO~D3腳讀出)。當需要發送DTMF信號時,同樣應先往控制寄存器CRA和CRB寫人相應的控制字,把MT8880芯片設置為DTMF模式,通過讀取狀態寄存器中的Dl位,可以判斷是否發送完一個DTMF信號。若已發送完,則把下一個要發送的數字由Dl~D3腳寫人到內部“發送數據寄存器”。如果MT8880芯片同時又被設置為中斷模式,則通過檢測IRQ端狀態,也能判斷一個DTMF信號收到或發送完畢與否。其應用電路見圖1。

  1.5手機模塊與單片機控制接口

  絕大多數的手機也與固定電話一樣有振鈴信號,也可以收發DTMF信號,只要對普通手機稍做改動即可,即把手機的鈴流信號接出來,同時把手機的耳機口分成兩路(一路為DTMF輸出即耳麥線,另一路為DTMF輸人即話筒線),手機模塊與單片機的接口電路如圖2所示。

圖2手機模塊與單片機接口電路

  2、射頻技術及其硬件電路設計

  微功率無線射頻技術主要用于特定環境下的數據傳輸,常用于現代家庭多路電源的集中控制、智能小區物業管理、防盜報警、無線水塔控制、無線抄表、航空、航模和遙控遙測等場合。

  本文采用的無線編解碼芯片是PT2262/2272,是臺灣普城公司生產的一種CM05工藝制造的低功耗低價位通用編解碼電路,PT2262/2272最多可有12位(A0~All)三態地址端管腳(懸空、接高/接低電平),任意組合可提供531441個地址碼,PT2262最多可有6位(DO~D5)數據端管腳,設定的地址碼和數據碼從17腳串行輸出,可用于無線遙控發射電路。

  本文使用的無線發射頭與無線接收頭是現成的模塊。單片機與無線發射頭的接口電路框圖如圖3所示。無線接收頭經解碼輸出后驅動電路框圖如圖4所示。


 

圖3單片機與無線發射頭的接口電路框圖

圖4無線接收頭經解碼輸出后驅動電路框圖

 

  3、遠程控制應用實現

  為了實現對多點設備的控制,無線編碼芯片PT2262的地址線選用A0~A7地址腳和DO~D3數據腳,這12個口線均通過單片機AT89S52來控制。由于單片機很容易實現“0”和“1”控制,所以單片機對A0~A7這8個地址線的控制可實現256種狀態,即最多可以控fitJ 256種設備(每一個PT2272解碼芯片輸出對應于一種受控設各);同樣地,單片機對DO~D3這4條數據線的控制可實現16種狀態,即對同一設各可實現最多16種方式的操作。本文實現的是異地遠程呼叫處理工廠各個無人操作車間的測試儀器,并能遙控操作進行相關的測試任務。系統框圖如圖5所示。


 圖5 遠程控制應用系統框圖

  系統的工作流程如下:單片機主板可以接人固定電話線也可以接人一個手機模塊(專為沒有預裝固定電話的區域使用),操作員在異地拔打本地電話號碼(或手機號碼),單片機主板會自動檢測振鈴信號,然后自動摘機,并提示操作員輸人密碼。當單片機主板驗證通過后,操作員就可輸人地址碼(對應于一臺測試儀器,如001號)和操作碼(當前測試機的測試任務,如A字符,代表打開測試機電源),單片機主板識別后,通過編碼芯片送給無線發射頭,無線發射頭按特定的規則送出地址碼和操作碼,每一臺測試機上的無線接收頭都能接收到該無線信號,但只有與編碼芯片的地址匹配的那臺測試機才會響應并執行操作碼。

  4、軟件實現

  軟件部分主要分為三部分:(1)正確檢測到固定電話的振鈴音并自動摘機或手機模塊自動接通接聽中的鈴流信號;(2)對DTMF信號的接收和發送處理,實現身份認證、向用戶發送提示音、接收用戶輸人的控制指令等。(3)控制編碼芯片地址線和數據線,從而把控制指令無線傳輸出去。

  4.1固話振鈴音的檢測及處理

  針對固定電話、結合圖1,單片機AT89S52的TEST腳檢測到固定電話振鈴檢測信號波形,AT89S52只要判斷TEST腳的電平變化即可以正確檢測外線是否有電話撥人,然后控制TRI腳吸合繼電器實現模擬摘機。

  針對手機模塊、結合圖2,本文選用的是一款諾基亞手機(手機設為自動接聽模式),經局部改造提到鈴流信號線送人單片機AT89S52的GSM-RING的lO腳上,常態下為高電平,當有電話打過來時,GSM-RING的lO腳上得到的波形如圖6所示。所以單片機只要AT89S52判斷GSM-RING的lO腳的電平變化情況就可以了。

圖6手機模塊鈴流信號波形

  4.2 DTMF信號的收發處理

  當固定電話或手機模塊自動摘機后,則啟用DTMF收發處理程序(主要是對MT8880芯片的處理),關鍵的程序代碼如下[3]·

  “讀MT8880狀態或數據寄存器”函數:

  〃功能說明:讀取MT8880狀態寄存器

  〃輸出參數:返回MT8880的狀態寄存器值

  //DTMF REG為與MCU的接口寄存器,在"DTMF H"有定義

  uchar DTMF_CPR(void)

  {

  uchar uc_data;

  DTMF_Q2=1;

  noD();

  _nop_();

  uc_data=DTMF_REG;IlC_data=uc_data&0x0f;pTMF_07v"=0;

  return(uc_d·ata);

  }

  “寫MT8880控制或數據寄存器時序”函數:

  //功能說明:MT8880的Q2時序控制

  void DTMF_CPW(void)

  {

  DTMF_Q2=1;       //Q2=1產生Q2的上升沿

  non_();//Q2的高電平持續

  _nop_();

  uc_data=DTMF_REG;//讀MT8880狀態寄存器

  uc_data=uc_data&0x0f;//屏蔽高四位,只取低4位

  DTMF_Q2=0;//Q2=0完成一個Q2時鐘

  return(uc_data);

  }

  “MT8880發送前的初始化”函數:

  //功能說明:發送前的初始化(對MT8880控制寄存器的

  //操作)void DTMF-send-init(void)

  {

  DTMF_REG=0x49;

  //寫1001到MT8880控制寄存器CRA(允許發送)

  DTMF_CPW();        //寫人控制器寄存器

  DTMF_REG=0x40;//寫0000到MT8880控制寄存器CRB

  DTMF_CPW();         //寫人控制器寄存器}

  “MT8880接收前的初始化”函數:

  //功能說明:接收前的初始化(對MT8880控制寄存器

  //的操作)void DIME rec init(void)

  {

  DTMF_REG=0x4C;

  //寫1100到MT8880控制寄存器CRA(使能中斷模式,接著寫CRB)

  DTMF_CPW();

  DTMF_REG=0x40;    //寫 0000到MT8880控制寄存器

  //CRB

  DTMF_CPW();

  }

  “MT8880接收1位DTMF”函數:

  //功能說明:接收1位DTMF信號

  //返回參數:接收到數據存于A//DTMF REG為與MCU的接口寄存器,在"DTMF.H"有定義

  //READSR為讀狀態寄存器SR時臨時存儲器,在"DTMF.H"

  //有定義

  uchar DTMF_rec_1 byte(void)

  {

  uchar uc_data;

  DTMF_REG=Ox⒍;//CS=0 RS0=1 RW=1 Q2=0

  READSR=DTMF_CPR();     //讀狀態寄存器SR

  while(SRBZ! =1);

  //判斷SR的b2=1嗎?=1說明收到有效數據

  DTMF_REG=0x2f;

  uc_data=DTMF_CPR();//讀取數據

  return(uc_data);

  )

  “MT8880發送1位DTMF”函數:

  //功能說明:發送1位DTMF信號

  //輸人參數:待發送數據給A//DTMF-REG為與MCU的接口寄存器,在"DTMf. H"有定義//READSR為讀狀態寄存器SR時臨時存儲器,在"DTMF.H"

  //有定義

  void DTMF send_lbyte(uchar uc_data)

  {

  DIME_ON();

  DTMF_Q2=0;

  DTMF RS0=0:

  DTMF RW=0:

  DTMF RFC=uc data:

  DTMF CPM():

  delay_ms(130);

  //突發模式,送出后延時的100 ms再讀狀態寄存器

  DTMF ̄REG=0x6f;//CS=0 RS0=1 RW=1 Q2=0

  READSR=DTMF CPR():

  }

  4.3對編碼芯片地址線和數據線的控制

  已正確識別用戶通過DTMF技術輸人的控制指令后,單片機只要控制8位地址線和4位數據線這12個lO口的高低電平就可以啟動無線傳輸。而在無線接收端是由硬件電路自動完成的,不需要軟件控制。

  本文介紹的技術已在實際項目中運用,系統運行穩定。如果增加語音提示功能,則整個系統能做得更加完善和更加人性化。要實現語音提示功能,只要增加一塊語音錄放芯片就可以了。

參考文獻
[1]  王鈞銘,王錦.電話機原理與維修[M].北京:電子工業出版社,2005.
[2]  馬忠梅.單片機C語言應用程序設計[M].北京:北京航空航天大學出版社,2007.
[3]  MITEL公司.MT8880英文數據手冊[M].2000.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲精品线在线观看 | 日韩色视频一区二区三区亚洲 | 99久久中文字幕 | 婷婷四房综合激情五月性色 | 在线观看色视频网站 | 国内精品久久久久久西瓜色吧 | 91在线精品亚洲一区二区 | 色黄啪啪网18以下勿进动画 | 亚洲视频久久 | 在线色站 | 男女一起www免费高清视频 | 黄色香蕉视频 | jizzjizz丝袜 | 黄色大片免费观看 | 天天操天天操天天射 | 国产新疆成人a一片在线观看 | 日本欧美一区二区三区 | 污视频网站免费观看 | 日本一区二区三 | 男人把女人下面桶爽的视频 | 毛片在线播放a | 久草视频中文 | 国产精品成人观看视频国产奇米 | 色综合在| 无遮挡一级毛片私人影院 | 欧美高清日本三级人妇 | 可以免费看的黄色网址 | 成人在线影视 | 久久久久久精 | 制服丝袜中文字幕第一页 | 曰批免费视频播放在线看片 | 黄色在线网站视频 | 日韩成人在线播放 | 天天做天天玩天天爽天天 | 最新亚洲精品国自产在线 | 澳门一级毛片手机在线看 | 黄色的视频免费 | 一色屋成人免费精品网站 | 欧美成人高清乱码 | 乳色吐息在线观看免费 | 小明免费看视频 |