中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 關(guān) 閉

        新聞中心

        EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > FSKModemMSM7512B在電力線(xiàn)通信中的應(yīng)用

        FSKModemMSM7512B在電力線(xiàn)通信中的應(yīng)用

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

        http://www.antipu.com.cn/article/201612/332846.htm

        一、芯片特點(diǎn)及引腳說(shuō)明

        1.特點(diǎn)

        MSM7512B是OKI公司推出的1200bps半雙工FSK Modem芯片,采用16腳雙立直插塑封或24腳扁平封裝,具有如下特點(diǎn):

        *單電源(3~5V)供電,提供掉電工作方式;

        *低功耗CMOS電路(工作模式功耗典型值為25mW,掉電模式功耗低達(dá)0.1mW);

        *FSK移頻鍵控,符合ITU-TV.23標(biāo)準(zhǔn),1200bps半雙工;

        *模擬輸出可直接驅(qū)動(dòng)600Ω通信電路;

        *片內(nèi)回音消除電路;

        *使用3.579545MHz晶振;

        *外圍電路簡(jiǎn)單。

        2.引腳說(shuō)明

        芯片MSM7512B(16DIP)的引腳排列如圖1所示,引腳說(shuō)明見(jiàn)表1。表1中打星號(hào)的引腳內(nèi)部均具有上拉電阻。

        表1 MSM7512B引腳說(shuō)明

        引腳號(hào)名稱(chēng)I/O說(shuō) 明
        RSGS-K
        11VDD-+3-+5V電源
        23AII模擬接收信號(hào)輸入
        35AOO模擬送信號(hào)輸出
        46EAII外部模擬信號(hào)輸出。此腳上的信號(hào)通過(guò)送輸出放大器從AO腳發(fā)送出去。不此腳時(shí),它應(yīng)該被懸空
        57GND 地,0V
        68X1I3.57954M H晶體諧振器應(yīng)連至X1和X2。當(dāng)器件采用3.579545MHz外部時(shí)鐘時(shí),它應(yīng)通過(guò)1個(gè)100pF的AC耦合電容加至X2(而非X1),且X1應(yīng)該懸空
        710X2O
        812CLKO3.579545MH時(shí)鐘信號(hào)輸出
        913RDOModem接收串行數(shù)據(jù)輸出。數(shù)字“1”和“0”分別對(duì)應(yīng)“Mark”和“Space”。當(dāng)CD(載波檢測(cè))關(guān)斷時(shí),RD被保持在“Mark”狀態(tài)
        1015CDOFSK接收信號(hào)和應(yīng)答信號(hào)控制。數(shù)字“0”和“1”分別表示“檢測(cè)到”和“未檢測(cè)到”
        1117XDI*Modem發(fā)送串行數(shù)據(jù)輸入。數(shù)字“0”和“1”分別對(duì)應(yīng)“Mark”和“Space”
        1218RSI*FSK信號(hào)和應(yīng)答信號(hào)發(fā)送使能腳。當(dāng)數(shù)字“0”加至RS時(shí),被使能
        1319TESTI*芯片測(cè)試輸入。TEST應(yīng)為開(kāi)路或數(shù)字“1”
        1420MOD1I*工作模式選擇。參見(jiàn)表2
        1522MOD2I*
        1624AOGI*模擬發(fā)送信號(hào)幅度選擇:數(shù)字“1”--10dBm(典型值,AO腳);數(shù)字“0”--4dBm(典型值,AO腳)

        二、MSP7512B的工作原理

        MSM7512B的內(nèi)部結(jié)構(gòu)如圖2所示。

        MSM7512B主要由輸入/輸出回路、FSK調(diào)制/解調(diào)器、晶體振蕩以及控制器組成。其中MOD1、MOD2控制MSM7512B的工作模式,即調(diào)制/解調(diào)/掉電。工作模式如表2所列。

        表2 工作模式

        MODMOD

        模 式

        00FSK發(fā)送模式(圖3)
        01FSK接收及75bps發(fā)送模式(圖4)
        10模擬環(huán)路返回測(cè)試模式(圖5)
        11掉電模式

        當(dāng)MOD2=0、MOD1=0時(shí),MSM7512B工作于調(diào)制方式。XD輸入值為“0”、“1”的數(shù)字調(diào)制信號(hào),AO對(duì)應(yīng)輸出頻率為2100Hz、1300Hz的FM模擬信號(hào)。RS是模擬信號(hào)輸出的使能控制端。芯片的內(nèi)部連線(xiàn)如圖3所示。

        當(dāng)MOD2=0、MOD1=1時(shí),MSM7512B工作于解調(diào)方式。AI的輸入頻率為2100Hz、1300Hz的FM模擬信號(hào),RD對(duì)應(yīng)輸出解調(diào)后的“0”、“1”數(shù)字信號(hào)。CD是輸入檢測(cè)的指示端。芯片的內(nèi)連線(xiàn)如圖4所示。

        當(dāng)MOD2=1、MOD1=0時(shí),MSM7512B工作于模擬環(huán)路返回測(cè)試模式。芯片的內(nèi)部連線(xiàn)如圖5所示。

        當(dāng)MOD2=1、MOD1=1,MSM7512B工作于掉電方式,此時(shí)MSM7512B功耗僅0.1mW,其它方式一般功耗為25mW。

        三、MSM7512B在電力線(xiàn)通信中的應(yīng)用

        在電力線(xiàn)上實(shí)現(xiàn)數(shù)據(jù)通信,人們進(jìn)行了很多嘗試。電力線(xiàn)作為一種通信傳輸介質(zhì),具有可變信號(hào)衰減、阻抗調(diào)制、脈沖噪聲以及等幅振蕩波干擾等不利數(shù)據(jù)傳輸?shù)奶匦?。為了排除這些干擾,目前利用電力線(xiàn)進(jìn)行通信的產(chǎn)品有很多,通信質(zhì)量和距離各有差異。這里介紹的是利用FSK調(diào)制解調(diào)芯片MSM7512B來(lái)實(shí)現(xiàn)的一種點(diǎn)對(duì)點(diǎn)通信方式。這種傳輸方法是隔離(變壓器隔離方式)的。當(dāng)通信距離較遠(yuǎn)時(shí),可用MSM7512B替代隔離的RS-485接口芯片。它具有抗干擾能力強(qiáng)、誤碼率低、可靠性高、投資少、建設(shè)方便等優(yōu)點(diǎn),同時(shí)也存在著數(shù)據(jù)傳輸速度低(只能達(dá)到1200bps),在通信距離變得很遠(yuǎn)時(shí)誤碼率有所增高的缺點(diǎn)。這種基于MSM7512B來(lái)實(shí)現(xiàn)電力線(xiàn)通信已經(jīng)在智能小區(qū)數(shù)據(jù)通信的實(shí)踐應(yīng)用中取得了良好的使用效果。圖6是其實(shí)際電路原理圖。

        從圖6可以看出,由U3、U4、U5以及外圍的電阻、電容構(gòu)成接口電路,完成電平調(diào)整和阻抗變換功能。電力線(xiàn)采用的是600 Ω平衡輸入/輸出,通過(guò)600 Ω 1:1變壓器完成不平衡到平衡的電路轉(zhuǎn)換。U3、U4、U5采用高速運(yùn)放NE5534,以提高轉(zhuǎn)換速率,提高動(dòng)態(tài)響應(yīng)。U5跟隨器,完成阻抗變換、輸入/輸出隔離以及提高負(fù)載能力。U3、U4完成接收、發(fā)送信號(hào)的放大。通過(guò)調(diào)整W1和W2來(lái)實(shí)現(xiàn)電路增益的調(diào)整。發(fā)送除了硬件調(diào)整外,還可以通過(guò)程序設(shè)定AOG端口0或1狀態(tài)達(dá)到配合硬件調(diào)整發(fā)送電平的目的。

        單片機(jī)采用的是由ATMEL公司推出一種小型單片機(jī)AT89C2051。它具有Flash存儲(chǔ)器、成本低、與MCS-51完全兼容、可多次電可擦寫(xiě)編程等特點(diǎn)。AT89C2051與MSM7512B的連接如圖6所示。它們之間的通信方式采用8位異步通信模式。波特率為1200baud,fosc=11.0596MHz,T1工作在定時(shí)器模式2,TH1=TL1=0E8H,PCON寄存器的SMOD位為0,傳送的數(shù)據(jù)采用ASCII碼格式。下面給出雙機(jī)點(diǎn)對(duì)點(diǎn)通信程序。假定A機(jī)為發(fā)送者,B機(jī)為接收者??稍诤瘮?shù)中根據(jù)程序的發(fā)送、接收設(shè)置TR,采用條件判別決定使用發(fā)送函數(shù)還是接收函數(shù),這樣點(diǎn)對(duì)點(diǎn)通信的雙方都可以運(yùn)行此程序,只需在程序運(yùn)行之前進(jìn)行人為設(shè)置選擇TR(一個(gè)為0,另一個(gè)為1),然后分別編譯,在兩個(gè)機(jī)器上分別裝入,同時(shí)運(yùn)行。

        用C51語(yǔ)言編寫(xiě)的點(diǎn)對(duì)點(diǎn)通信程序p_pcom.c如下:

        #include

        #define uchar unsigned char

        #define TR 1 /*發(fā)送接收差別值TR=0發(fā)送*/

        sbit AOG=P1^0;

        sbit MOD1=P1^2;

        sbit MOD2=P1^1;

        sbi TEST=P1^3;

        sbit CD=P3^7;

        sbit RS=P1^4; /*定義位尋址的對(duì)象位*/

        uchar idata buff[16]; /*數(shù)據(jù)塊長(zhǎng)度為16個(gè)字節(jié)*/

        uchar check_sum; /*定義校驗(yàn)和變量*/

        void InitSerialPort(void){ /*串行口初始化函數(shù)*/

        TMOD=0x20; /*設(shè)置定時(shí)器1為模式/2*/

        TH1=0xe8;

        TL1=0xe8; /*設(shè)波特率為1200baud*/

        PCON=0x00;

        TR1=1; /*啟動(dòng)定時(shí)器1*/

        SCON=0x50; /*設(shè)置串行口為模式1,并允許接收*/

        }

        void SetMSM7512B(uchar st){ /*設(shè)置收發(fā)狀態(tài)*/

        if(st= =0) {

        MOD1=0;

        MOD2=0; /*發(fā)送模式*/

        TEST=1;

        TS=0; /*發(fā)送使能*/

        AOG=0; /*發(fā)送信號(hào)幅度選擇-4dBm*/

        }

        else{

        MOD1=1;

        MOD2=0; /*接收模式*/

        TEST=1;

        }

        }

        A機(jī)發(fā)送程序

        void SendData(uchar idata *dat){

        uchar i;

        do{

        SBUF=0xaa; /*發(fā)送聯(lián)絡(luò)信號(hào)“AA”*/

        while(TI= =0); /*等待發(fā)送出去*/

        TI=0; /*清TI標(biāo)志,允許再發(fā)送*/

        while(RI= =0) /*等待B機(jī)回答*/

        RI=0;

        }while((SBUF^0xbb)!=0) /*B機(jī)未準(zhǔn)備好,繼續(xù)聯(lián)絡(luò)*/

        do{

        check_sum=0; /*清校驗(yàn)和*/

        for(i=0;i<16;i+ +){

        SBUF=dat[i];/*求校驗(yàn)和*/

        while(TI= =0);TI=0;

        }

        SBUT=check_sum; /*發(fā)送校驗(yàn)和*/

        while(TI= =0);TI=0;

        while(RI= =0);RI=0; /*等待B機(jī)應(yīng)答*/

        }while(SBUF!=0); /*回答出錯(cuò),則重發(fā)*/

        }

        B機(jī)接收程序

        void ReceiveData(uchar idata *dat){

        uchar i;

        do{

        while(RI= =0); RI=0;

        }while((SBUF^0xaa)!=0); /*判A機(jī)請(qǐng)求否*/

        SBUF=0xbb;

        While(TI= =0);TI=0;

        while(1){

        check_sum=0; /*清校驗(yàn)和*/

        for(i=0;i<16;i+ +){

        while(RI= =0);RI=0;

        dat(i)=SBUF; /*接收一個(gè)數(shù)據(jù)*/

        check_sum+=dat[i];/*求校驗(yàn)和*/

        }

        while(RI= =0);RI=0; /*接收A機(jī)校驗(yàn)和*/

        if(SBUF^check_sum)= =0){/*比較校驗(yàn)和*/

        SBUF=0x00;breadk;} /*校驗(yàn)和相同發(fā)“00”*/

        else{

        SBUF=0xff; /*出錯(cuò)發(fā)“FF”,重新接收*/

        While(TI= =0);TI=0;

        }

        }

        }

        void main(void){

        InitSerialPort();

        if(TR= =0){

        SetMSM7512B(0); /*設(shè)置為發(fā)送狀態(tài)*/

        SendData(buff);

        }

        else{

        SetMSM7512B(1); /*設(shè)置為接收狀態(tài)*/

        ReceiveData(buff);

        }

        }



        評(píng)論


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

        關(guān)閉