<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 51兼容載波通信單片機PL3105的通信軟件設計

51兼容載波通信單片機PL3105的通信軟件設計

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:芯片是為智能儀表的專(zhuān)用SoC芯片,具有8051指令的高速微處理器、直序擴頻的等強大功能。本文介紹的主要特點(diǎn)及其原理,分析針對應用的軟件方法。

關(guān)鍵詞: 直接序列擴頻 載波通信 軟件

引言

隨著(zhù)嵌入式系統及集成電路技術(shù)的飛速發(fā)展,針對智能儀表應用而設計的專(zhuān)用芯片獲得了長(cháng)足發(fā)展。智能儀表一般要具備CPU單元、顯示單元、標準工業(yè)總線(xiàn)接口、A/D信號轉換、實(shí)時(shí)鐘、看門(mén)狗等功能。傳統的智能儀表設備在選定了CPU后,需要配置復雜的功能芯片及接口芯片,完成顯示驅動(dòng)、外部程序存儲、數據存儲及其它要求功能。眾多的接口芯片導致儀表的體積大、成本高、功耗增加、可靠性降低;同時(shí)調試、維護困難。

為適應智能儀表的應用需要,針對某類(lèi)產(chǎn)品的專(zhuān)用單芯片上系統SoC(System on Chip)解決方案獲得了巨大的發(fā)展機遇。國內外各IC設計公司都針對不同領(lǐng)域、不同應用需求推出了各自的SoC產(chǎn)品。具有8051指令高速微處理器的SoC產(chǎn)品PL3105,采用最新的CMOS數/?;旌瞎に囍圃?,是針對智能儀表行業(yè)應用而推出的低成本、高性能的解決方案。

1 PL3105的主要特點(diǎn)

采用8051指令的高速微處理器,軟件易于開(kāi)發(fā);具有8/16位雙模式ALU、8倍速于標準51,運行速度快,數據處理能力強。圖1為PL3105的基本功能結構方框圖。

針對智能儀表的應用,PL3105內部集成了2通道16位精度的∑―Δ調制A/D,LED(88筆劃式)/LCD(244筆劃式)顯示驅動(dòng)模塊,2個(gè)UART,內置1KB的RAM和16KB的E2PROM程序存儲器(采用ISP方式編程);內置低功耗實(shí)時(shí)鐘。同時(shí)集成了完善的電壓監測,上電、掉電復位,看門(mén)狗電路,確保了工業(yè)環(huán)境下運行時(shí)系統的可靠性。

內嵌的載波通信控制單元,使產(chǎn)品具備了在低壓電力線(xiàn)上組網(wǎng)、遠程通信的強大功能;最低壓電力線(xiàn)載波通信接口專(zhuān)用芯片PL2101的升級,具有強抗帶內同頻干擾能力,靈敏度高的優(yōu)點(diǎn)。內嵌的CPU通過(guò)配置寄存器來(lái)實(shí)現對載波通信的控制,比PL2101芯片的接口方便,可靠性更高。

2 載波通信的工作原理

載波通信采用直接序列擴頻的BPSK(Bipolar Phase Shift Keying)調制解調方式:將要發(fā)送的信息用偽隨機碼序列擴展到較這的頻帶上,在接收端用同樣的偽隨機碼序列來(lái)進(jìn)行同步接收,恢復信息。接收的過(guò)程包括載波信號的捕獲和同步。

捕獲是接收模塊在擴頻序列精確同步前,搜索接收信號,使接收信號的擴頻序列與本地擴頻序列在相位上進(jìn)入可同步保持的范圍之內,即二者的相位在一個(gè)擴頻序列碼元之內。采用每次滑動(dòng)步長(cháng)為半個(gè)位的串行積分搜索方式,理論上最大捕獲時(shí)間需要29個(gè)數據位(15位PN碼時(shí))。捕獲完成后進(jìn)入跟蹤階段,動(dòng)態(tài)地高速本地偽碼產(chǎn)生器的時(shí)鐘速率,使本地偽碼能夠自動(dòng)地和接收到信號的偽碼保持精確同步。擴頻序列的跟蹤電路采用全數字基帶延遲鎖定環(huán)(delay locked loop)電路。

解擴過(guò)程為保證捕獲和同步均能完成,發(fā)送模塊在每次傳送有效數據前至少發(fā)送40個(gè)位全“1”,用作捕獲和同上訓練(15位PN碼)。

由于所選用的擴頻偽碼具有很強的自相關(guān)性,所以通過(guò)比較本地偽碼和接收序列之間的相關(guān)性與設定閾值的高低,來(lái)判定是否停止偽碼的滑動(dòng)、完成捕獲。500bps時(shí),默認的捕獲門(mén)限值為30H。載波通信的擴頻、解擴工作完全由SoC內部的硬件電路實(shí)現,簡(jiǎn)單可靠,解擴閾值可以軟件調節。

圖2(a)、(b)為PL3105內部的載波通信發(fā)送/接收工作時(shí)序圖,收發(fā)數據位在芯片內部連接到P3.7,芯片未做封裝引出。

載波通信控制器采用幀同步方式的串行移位通信,半雙工方式,速率500bps/250bps可選;中心頻率為120kHz,帶寬為7.5kHz。內嵌的CPU使用外部中斷2(INT2),同步收發(fā)中斷,載波通信配置流程如圖3所示。

①使能INT2中斷(EX2=1),且為下降沿觸發(fā)方式(IT2=0)。

②使能載波通信控制位PLM_SSC(EXT_CFG.0=1,INT2作為載波通信同步信號的中斷。

③載波收發(fā)控制位PLM_RS(EXT_CTRL.0)=1時(shí),載波控制器處于發(fā)送狀態(tài);PLM_RS(EXT_CTRL.0)=0時(shí),載波控制器處于接收狀態(tài)。

④載波發(fā)送復位寄存器:用于避免載波通信模塊長(cháng)時(shí)間處于發(fā)送狀態(tài),使整個(gè)通信系統處于失控狀態(tài)而設置。它是一個(gè)13位計數器,發(fā)送狀態(tài)時(shí),計數器速減,遞減到0后,載波發(fā)送模式被強制返回接收態(tài);接收態(tài)時(shí),計數器停止工作。長(cháng)時(shí)間發(fā)送數據時(shí),需要向PLM_RST寄存器寫(xiě)入“A2H”,寫(xiě)入后計數器自動(dòng)復位,保持發(fā)送。

低壓電力線(xiàn)載波通信的原理結構框圖如圖4所示。需要配合外圍的功率放大、接收回路工作,載波通信的距離與外圍電路設計優(yōu)劣、功率大小等密切相關(guān)。

3 接收和發(fā)送的軟件設計

載波通信為總線(xiàn)方式通信,所以載波模塊的常態(tài)必須設置為接收態(tài)、不同的載波模塊必須分配不同的通信地址。模塊接收到校驗正確的命令后,只有地址相同的模塊才允許按規約進(jìn)行應答。由于載波通信速率相對主頻低很多,為提高CPU效率,接收和發(fā)送一般均設計為外部中斷方式處理;每次進(jìn)入中斷,完成對1位數據的接收或發(fā)送處理。

按圖3所示流程對模塊進(jìn)行配置、選擇速率為500bps后,內部自動(dòng)選擇為15位PN碼。載波通信控制器即進(jìn)入接收態(tài),進(jìn)行載波信號的捕獲和同步。

接收時(shí),捕獲和同步過(guò)程由載波通信控制單元的硬件電路自動(dòng)完成,不需要軟件部分參與。由于電力線(xiàn)的哭聲一直存在,所以有效數據前必須增加同步幀頭,依據相關(guān)性標準選擇為0x09、0xAF,后續為通信的有效數據體及校驗字節。

圖5為載波通信接收過(guò)程框圖。載波通信控制單元解擴出1位數據后,產(chǎn)生一次中斷。接收時(shí),首先采用16位接收窗口、1位滑動(dòng)方式來(lái)接收通信的同步幀頭0x09、0xAF。幀頭接收成功后,后續數據按每8位一個(gè)字節的方式進(jìn)行截取,得到傳送的有效數據。接收過(guò)程中,按有關(guān)的通信協(xié)議進(jìn)行地址判別、長(cháng)度接收、校驗計算。地址相同的模塊對符合通信協(xié)議的數據進(jìn)行應答,轉入發(fā)送態(tài)。

圖6為載波通信發(fā)送過(guò)程框圖。用于載波通信的主叫方發(fā)出命令或接收方的應答。置為載波發(fā)送態(tài)時(shí),載波通信控制單元發(fā)送完1位的擴頻數據,自動(dòng)產(chǎn)生一次中斷,允許下一次數據發(fā)送。根據捕獲和同步過(guò)程需要,首先發(fā)送至少40位的全“1”;然后按位發(fā)送同步幀頭0x09、0xAF;之后根據用戶(hù)的有關(guān)通信協(xié)議按位發(fā)送通信地址、數據長(cháng)度、數據體、校驗等字節。

數據全部發(fā)送完成后,載波模塊即可轉入接收態(tài)。但為確保待發(fā)送數據的最后一個(gè)位發(fā)送成功,必須在發(fā)送完最后一位數據后等到下一次發(fā)送中斷到來(lái)后,才可以轉換載波發(fā)送態(tài)到接收態(tài)。

載波發(fā)送未,將全部數據發(fā)送完成前,CPU必須及時(shí)向PLM_RST寄存器寫(xiě)入“A2H”,使計數器復位,避免自動(dòng)復位提前進(jìn)入載波接收態(tài)。發(fā)送中斷程序如下:

void PLM_int(void)interrupt 7//載波收發(fā)中斷

{if(PLM_RS==1)zb_tx();//載波發(fā)送中斷服務(wù)程序

else zb_rx();//載波接收程序服務(wù)程序,略

}

void zb_tx(void)//載波發(fā)送程序

{if(len8==0)s_byte=buf_send[zbs_count];//取待發(fā)送字節到位發(fā)送緩沖

ACC=s_byte;

P3.7=ACC^7;//位發(fā)送,最高位在前

s_byte=s_byte1; //左移

len8++; //移位計數計算

if(len8>7) //8位發(fā)送完畢

{zbs_count++; //下一字節

len8=0; //移位計數清零

}

PLM_RS=1; //載波發(fā)送允許

PLM_RST=0xA2; //載波發(fā)送復位寄存器清空

}

結語(yǔ)

由SoC芯片PL3105設計的具有載波通信功能的智能儀表,在智能電表行業(yè)中得到了應用和推廣。其簡(jiǎn)單的接收、發(fā)射處理方式使應用程序設計十分方便。同時(shí)靈活的ISP編程方式,使產(chǎn)品升級換代和功能擴展靈活;達到了低成本、高性能的設計指標。



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>