新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 單片機(jī)和PTR2000實(shí)現(xiàn)短距離無線通信方案

單片機(jī)和PTR2000實(shí)現(xiàn)短距離無線通信方案

作者: 時(shí)間:2011-09-15 來源:網(wǎng)絡(luò) 收藏

3.2 接口電路的設(shè)計(jì)

本文引用地址:http://m.butianyuan.cn/article/155755.htm

  在圖2中,AT89C52主要完成數(shù)據(jù)的采集和處理,向模塊發(fā)送數(shù)據(jù),并接收由PC機(jī)通過傳送的數(shù)據(jù)。和相連的 PTR2000模塊主要將單片機(jī)的待傳數(shù)據(jù)調(diào)制成射頻信號,再發(fā)送到PC機(jī)端的PTR2000模塊,同時(shí)接收PC機(jī)端的PTR2000模塊傳送的射頻信號,并調(diào)制成單片機(jī)可識別的TTL信號送至單片機(jī)。單片機(jī)的RXD和TXD引腳分別和PTR2000的DO和DI引腳連接,串行數(shù)據(jù)傳輸;決定 PTR2000模塊工作模式的TXEN、CS、PWR 3個(gè)引腳分別和單片機(jī)I/O控制口的P2.0~P2.2相連,PTR2000工作時(shí),由單片機(jī)中的運(yùn)行控制程序?qū)崟r(shí)控制其工作模式。

  3.3 PC機(jī)與PTR2000接口電路的設(shè)計(jì)

  

 PC機(jī)與PTR2000接口電路

  該接口電路設(shè)計(jì)首先需進(jìn)行電平轉(zhuǎn)換。PC機(jī)的串口支持RS-232標(biāo)準(zhǔn),而PTR2000模塊支持TTL電平,選擇MAX232器件進(jìn)行兩者間的電平轉(zhuǎn)換,接口電路如圖3所示。PTR2000模塊進(jìn)行串行輸入、輸出,引腳DI、DO通過電平轉(zhuǎn)換器件和PC機(jī)串口相連;PTR2000的低功耗控制引腳。 PWR接高電平VCC,即PTR2000固定工作在正常工作狀態(tài);頻道選擇引腳CS接GND低電平,即采用固定通信頻道1,固定工作在433.92 MHz;PC機(jī)串口的RTS信號控制TXEN引腳,以決定PTR2000模塊何時(shí)為接收和發(fā)射狀態(tài)。PC機(jī)和串口的傳輸速率設(shè)定為9 600 b/s,和單片機(jī)保持一致。

  4 軟件設(shè)計(jì)

  系統(tǒng)的軟件設(shè)計(jì)包括單片機(jī)端和PC機(jī)端兩部分,兩部分軟件相互配合,設(shè)置各自的PTR2000模塊的工作狀態(tài)。

  4.1 PTR2000模塊程序設(shè)計(jì)

  單片機(jī)和PC機(jī)端軟件配合設(shè)置PTR2000的狀態(tài)(發(fā)射或接收),選擇固定的通信頻道1(CS=0),并讓PTR2000模塊一直處于正常工作狀態(tài)(PWM=1)。過程如下:

  (1)發(fā)送在發(fā)送數(shù)據(jù)之前,應(yīng)將PTR2000模塊置于發(fā)射模式,即TXEN=1。然后等待至少5 ms后(接收到發(fā)射的切換時(shí)間)才可發(fā)射數(shù)據(jù)。發(fā)送結(jié)束后,應(yīng)將模塊置于接收狀態(tài),即TXEN=0。

  (2)接收應(yīng)將PTR2000置于接收模式,即TXEN=0。單片機(jī)不發(fā)送的絕大部分時(shí)間都處于接收狀態(tài)。當(dāng)單片機(jī)端發(fā)送時(shí),PC機(jī)端應(yīng)為接收;當(dāng)PC機(jī)端發(fā)送時(shí),單片機(jī)端應(yīng)為接收。

  4.2 串行協(xié)議設(shè)計(jì)

  無線通信中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設(shè)計(jì)對保證通信的可靠性十分重要。協(xié)議的設(shè)計(jì)主要是幀結(jié)構(gòu)的設(shè)計(jì),在該無線通信系統(tǒng)中,存在指令幀和數(shù)據(jù)幀。數(shù)據(jù)幀的內(nèi)容包括起始字節(jié)、數(shù)據(jù)長度字節(jié)、數(shù)據(jù)字節(jié)、結(jié)束字節(jié)和校驗(yàn)和字節(jié),如表2所示。

  起始字節(jié)定義為“$”字符,其數(shù)值為0x24;結(jié)束字節(jié)定義為“*”字符,其數(shù)值為0x2A。

  

  采用校驗(yàn)和的方法進(jìn)行幀的校驗(yàn),將所有字節(jié)相加,然后將結(jié)果截短到所需的位長。發(fā)送端對待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將校驗(yàn)和值放在數(shù)據(jù)后一起發(fā)送;在接收端,對接收到的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,然后與收到的校驗(yàn)和字節(jié)比較,進(jìn)行誤碼判斷。

  對于單片機(jī),指令幀主要有3種:PC機(jī)發(fā)送給單片機(jī)的請求發(fā)送指令、錯(cuò)誤/超時(shí)重發(fā)指令、單片機(jī)發(fā)給PC機(jī)的發(fā)送完畢指令。在該系統(tǒng)設(shè)計(jì)中指令幀采用數(shù)據(jù)幀的格式,將其中的。數(shù)據(jù)字節(jié)固定為一個(gè)字節(jié),根據(jù)定義的字節(jié)判斷數(shù)據(jù)狀態(tài)。

晶振相關(guān)文章:晶振原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉