<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è) > 嵌入式系統 > 設計應用 > 用51兼容芯片PL3200設計直序擴頻平臺

用51兼容芯片PL3200設計直序擴頻平臺

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

摘 要:芯片是一種兼容8051指令的SoC芯片,它包含多個(gè)功能擴展模塊,具有電能測量、載波擴頻等強大的功能。本文介紹的主要特點(diǎn)及其載波通信功能模塊,并針對該芯片提出一種電力線(xiàn)載波通信的實(shí)現方案。 關(guān)鍵詞: 直接序列擴頻 載波通信 8051 引 言:   擴頻通信就是待傳輸的信息數據被偽隨機碼調制,實(shí)現頻譜擴展后再傳輸,接收端采用同樣的偽隨機碼進(jìn)行解調及相關(guān)處理,恢復原始數據。這種通信方式與一般常見(jiàn)的窄帶通信方式不同,是擴展頻譜后進(jìn)行寬帶通信,再在接收端進(jìn)行相關(guān)處理,恢復成窄帶后解調數據。擴頻通信具有強抗干擾性、抗噪聲、抗多徑衰落、可碼分復用等優(yōu)點(diǎn),是比較先進(jìn)的通信技術(shù)。   電力線(xiàn)載波通信是指用電力線(xiàn)路作為通信媒體進(jìn)行通信,目前被廣泛應用于工業(yè)自動(dòng)控制系統、電能管理系統、家用電器系統及計算機終端接口等場(chǎng)合。它利用現成的電力線(xiàn)路來(lái)傳送數據,無(wú)需另外架設通信線(xiàn)路,也不占用現有的通信頻率資源,特別適用于組建小型局域網(wǎng)和實(shí)現大樓內的自動(dòng)控制。但在電力線(xiàn)上進(jìn)行信號傳輸,工作環(huán)境惡劣,線(xiàn)路阻抗小、干擾大且時(shí)變性大,交流噪聲對數據的影響及信號的衰減也都很大。擴頻通信方式因其擴頻載波信號的帶寬通常較大,而受干擾的頻率范圍所占比例相對減小,因此可以較好的排除電力線(xiàn)上的隨機干擾。目前,電力線(xiàn)載波通信正朝著(zhù)使用擴頻通信技術(shù)的方向發(fā)展。   PL3200是具有電力線(xiàn)載波通信功能的內嵌8051增強型高速微處理器的新型SoC產(chǎn)品。該芯片采用新型的CMOS數/?;旌瞎に囍圃?,具有成本低、性能高、功能強大等特點(diǎn),能夠很方便的應用于電力線(xiàn)通信領(lǐng)域。 1 PL3200的主要特點(diǎn)   PL3200是內嵌了8051指令的高速微處理器芯片,其軟件易于開(kāi)發(fā),具有8/16位雙模式ALU,能夠8倍速于標準8051處理器,運行速度快,數據處理能力強。圖1為PL3200的基本功能結構框圖?!      ?/p>本文引用地址:http://dyxdggzs.com/article/201610/307509.htm

1.jpg

  PL3200芯片采用0.35μm超大規模數/?;旌螩MOS制造工藝,是擁有多項知識產(chǎn)權的SoC(System on Chip)設計。該芯片內置高精度數字多功能電能計量電路,計量標準完全符合國際GB/T 17883和GB/T 17215;電流通道內置可程序設定增益放大器(PGA);內置了雙通道電流采樣、正/負功指示數字邏輯電路;內置擴頻通信調制/解調電路;內置 4%26;#215;32段LCD顯示控制/驅動(dòng)電路或8%26;#215;8段LED顯示控制/驅動(dòng)電路;內置可數字頻率校正的實(shí)時(shí)鐘;內置可對電能計量精度和實(shí)時(shí)鐘精度進(jìn)行溫度分段線(xiàn)性補償的溫度傳感器;內置2.5V%26;#177;8%電壓源基準;內置串行程序存儲器編程接口,支持在系統編程 (ISP);采用5V單電源供電;內置完善的電源電壓監測電路。 2 內嵌微處理器部分功能概述   PL3200內嵌的增強型8051兼容微處理器,配置了8/16位ALU、256B+1024B SRAM以及16KB E2PROM、3個(gè)8/16位定時(shí)器/計數器,1個(gè)看門(mén)狗定時(shí)器以及3個(gè)外部中斷,為用戶(hù)提供豐富的嵌入式資源和理想的應用開(kāi)發(fā)平臺。其增強型8051兼容微處理器,采用超級指令流水線(xiàn)架構,同等主頻情況下,8倍速于標準8051微處理器。另外,該芯片還具有兩個(gè)全雙工UART(通用異步收發(fā)器),一個(gè)可配置為38kHz的紅外通信模式,另一個(gè)可配置為RS485通信模式,提供了多種方便的數據傳輸方式。 3 載波通信模塊的原理及功能設置   PL3200芯片內集成的載波通信單元采用QPSK調制方式,并擁有可變偽隨機碼速率(帶寬)的多地址通信技術(shù)。載波通信單元采用直接序列擴頻方式。在擴頻接收的過(guò)程中主要包括載波信號的捕獲和同步。   捕獲是接收模塊在擴頻序列精確同步前,搜索接收信號,使接收信號的擴頻序列與本地擴頻序列在相位上進(jìn)入可同步保持的范圍之內,即二者的相位在一個(gè)擴頻序列碼元之內。由于載波通信單元所選用的擴頻偽碼具有很強的自相關(guān)性,所以通過(guò)比較本地偽碼和接收序列之間的相關(guān)性與設定閾值的高低,就能在捕獲過(guò)程中判定是否停止偽碼的滑動(dòng),以完成捕獲。捕獲完成后進(jìn)入跟蹤階段,動(dòng)態(tài)地調整本地偽碼產(chǎn)生器的時(shí)鐘速率,使本地偽碼能夠自動(dòng)地和接收到信號的偽隨機碼保持精確同步。擴頻序列的跟蹤電路采用全數字基帶延遲鎖定環(huán)(delay locked loop)電路。在載波通信單元每次置為發(fā)送態(tài)后,硬件會(huì )首先發(fā)送40個(gè)偽碼周期的全“1”序列,用于使接收端與發(fā)送端的偽隨機碼同步和用于識別幀頭的8 個(gè)偽碼周期的幀頭序列,軟件不需要進(jìn)行相應的處理。在載波通信單元置為接收態(tài)后,硬件會(huì )在每次偽隨機碼同步后,開(kāi)始從數據流中搜尋幀頭序列。當檢出幀頭序列后,才真正開(kāi)始接收數據,并以字節的方式送到SSC_BUF寄存器中。在載波通信單元,每處理一個(gè)字節的數據,都是通過(guò)SSC_BUF寄存器與CPU之間進(jìn)行數據交互實(shí)現的。   PL3200對擴頻數據采用QPSK調制方式,其載波中心頻率為120kHz,偽隨機碼速率可達到30kbps和15kbps。根據偽隨機碼的速率不同,數據速率可達到1kbps和500bps。由于該芯片采用了63位的Gold/Kasami序列,從而實(shí)現了碼分多址,其地址數目最多可達40個(gè),其中32個(gè)Gold序列,8個(gè)Kasami序列,由于使用了擴頻技術(shù),可使各地址之間的干擾減到最小。   載波通信單元每次由收態(tài)轉為發(fā)態(tài)后,CPU應在4ms內將新的待發(fā)數據填入到SSC_BUF寄存器中,否則硬件將會(huì )在4ms后,自動(dòng)由發(fā)態(tài)轉為收態(tài)。載波通信單元處于發(fā)態(tài)時(shí),應該在每次發(fā)送緩沖標志為空時(shí),立即將新的待發(fā)數據填入SSC_BUF寄存器中。當最后一字節待發(fā)數據向SSC_BUF寄存器填入完畢后,CPU進(jìn)行的數據交換過(guò)程結束。載波通信單元在全部數據發(fā)送完成后,會(huì )自動(dòng)由發(fā)態(tài)轉為收態(tài)(強制的由發(fā)態(tài)置為收態(tài)可能會(huì )導致最后一字節數據丟失)。在接收端,每次通信數據包正常接收完畢后,軟件可以通過(guò)對載波通信狀態(tài)寄存器(00H)的寫(xiě)操作,來(lái)強制通知接收邏輯重新開(kāi)始新的數據幀搜索。   PL3200載波通信單元的具體設定,是通過(guò)對載波通信寄存器組(SSC Register Bank)不同地址的寄存器,寫(xiě)入對應的控制字來(lái)實(shí)現的。設定功能時(shí),先向載波通信控制字地址選擇寄存器(SSC_ADR)中寫(xiě)入選中的載波通信寄存器組的地址,再向載波通信控制字數據寄存器(SSC_DAT)寫(xiě)入設定的控制字。載波通信寄存器組(SSC Register Bank)各地址對應的寄存器如表1所列?!       ?/p>

2.jpg

  在PL3200的載波通信寄存器組中,對地址為02H(載波通信控制寄存器1)、04H(偽隨機碼捕獲門(mén)限寄存器)和05H(偽隨機碼精同步門(mén)限寄存器)進(jìn)行寫(xiě)操作時(shí),要取消寫(xiě)保護,才可以將數據寫(xiě)入對應的寄存器中。若對寄存器不再進(jìn)行寫(xiě)操作時(shí),應將寫(xiě)保護使能。取消寫(xiě)保護的方法是,用程序向 SSC_ADR寄存器寫(xiě)入FFH,選中寫(xiě)保護寄存器的地址,再向SSC_DAT寄存器寫(xiě)入FFH,即可取消寫(xiě)保護,并由程序向相應的寄存器進(jìn)行寫(xiě)操作。在對相應的寄存器進(jìn)行完寫(xiě)操作后,由程序向SSC_ADR寄存器寫(xiě)入FFH,再向SSC_DAT寄存器中寫(xiě)入一非FFH的數據,寫(xiě)保護將會(huì )被使能。在載波通信寄存器組中,00H的寄存器用來(lái)指示載波通信單元處于收態(tài)還是發(fā)態(tài),以及數據和幀頭的接收發(fā)送標志;02H的寄存器可設置選擇偽碼的種類(lèi)(Kasami 碼或是Gold碼)、偽隨機碼的地址選擇位(Kasami碼可選8個(gè)地址,Gold碼可選32個(gè)地址)以及偽隨機碼的速率(30K碼速率或15K碼速率) 及由此確定的數據速率(1Kbps或500bps);03H的寄存器用來(lái)設置偽隨機碼捕獲的門(mén)限閾值,在載波通信單元為接收態(tài)時(shí),設定本地與接收到的偽隨機碼序列相位同步的捕獲門(mén)限值,硬件會(huì )按每個(gè)偽碼周期對本地產(chǎn)生的偽碼與接收到的偽碼進(jìn)行計算,計算的結果與門(mén)限值比較,若小于門(mén)限值將進(jìn)行一次相位調整,調整幅度為半個(gè)偽碼碼元寬度,直到高于設定的捕獲門(mén)限值時(shí),才不再作調整,一般若偽碼碼率為30K時(shí),捕獲門(mén)限值將調整至40H左右;05H的寄存器用于設定在接收狀態(tài)時(shí),本地與發(fā)送端偽隨機碼序列相位同步的精同步門(mén)限值,當高于偽碼捕獲門(mén)限值時(shí),將進(jìn)行精同步調整,硬件可以識別本地偽碼和接收到的偽碼相位是超前還是滯后,從而進(jìn)行向前或向后的相位調整,當小于設定的門(mén)限值時(shí),認為精同步已經(jīng)同步,將不再進(jìn)行調整。 4 應用于擴頻載波通信的設計   應用PL3200的擴頻載波通信功能,設計一個(gè)數據收發(fā)平臺。數據由PC機A的串口RS232發(fā)出,經(jīng)MAX232電平轉換后,送入芯片 PL3200。在芯片中,先由擴展串口UART接收數據,經(jīng)內嵌8051的控制處理,送入載波通信單元,對數據進(jìn)行直接序列擴頻,擴頻后的信號經(jīng) 120kHz的載波頻率調制后輸出。 此信號經(jīng)功率放大后可由線(xiàn)圈耦合到低壓電力線(xiàn)上,實(shí)現電力線(xiàn)載波通信。在接收端,先通過(guò)線(xiàn)圈將電力線(xiàn)上的信號耦合出來(lái),對信號進(jìn)行濾波限幅,將限幅后的信號送入PL3200進(jìn)行捕獲、同步及解擴處理,經(jīng)由內嵌8051的控制,由芯片的UART串口,經(jīng)電平轉換后,送到PC機B的RS232接口,進(jìn)入PC 機。反之,B的數據按相反的路徑傳送給A。整個(gè)平臺的結構框圖如圖2所示?!     ?/p>

3.jpg

  載波通信為總線(xiàn)方式通信,所以載波單元的常態(tài)必須設置為接收態(tài),對載波模塊可分配不同的通信地址。由于載波通信速率相對于主頻低很多,為提高CPU效率,數據的接收和發(fā)送均設計為中斷方式處理,每次進(jìn)入中斷,完成對數據接收或發(fā)送的處理操作。   按照數據的傳送過(guò)程,用C語(yǔ)言編寫(xiě)芯片的控制程序,設計主程序流程如圖3所示?!       ?/p>

4.jpg

  系統在上電后進(jìn)入主程序,在主程序的延時(shí)階段進(jìn)行復位操作,隨后進(jìn)行資源初始化操作,對寄存器作初始化設置。為了防止程序因為意外原因而導致死機,PL3200專(zhuān)門(mén)設計了一套看門(mén)狗電路,當程序死機后,經(jīng)過(guò)一段由寄存器控制的定時(shí)時(shí)間后,看門(mén)狗電路重新復位8051。所以,程序在運行時(shí),每隔一段時(shí)間間隔,就要不斷地復位看門(mén)狗電路。將復位看門(mén)狗電路的操作編成中斷子程序,每隔一段時(shí)間后對變量賦值,復位看門(mén)狗電路,此即喂狗操作。在進(jìn)行部分寄存器的初始化重置后,程序依次檢查載波接收中斷和串口接收中斷。如有載波數據,則進(jìn)入載波接收中斷,將數據送入載波緩存數組,隨后送串口發(fā)送。如有串口數據,則按照協(xié)議格式將數據取出,存入串口數據緩存數組,待數據接收完整后,進(jìn)入載波發(fā)送中斷,將緩存中的數據送載波發(fā)送,成功后將標志位清除。主程序再次進(jìn)入循環(huán),檢測載波中斷或串口中斷。主程序對中斷進(jìn)行循環(huán)檢測,直到有數據中斷發(fā)生,進(jìn)入中斷處理程序。   當載波通信單元中斷使能位有效時(shí),CPU的中斷2將會(huì )被配置成在載波通信中,用于數據字節發(fā)送或接收的中斷。發(fā)生載波中斷時(shí),程序查詢(xún)載波通信寄存器地址00H的bit0位:當該位為0時(shí),進(jìn)入載波接收狀態(tài);當該位為1時(shí),進(jìn)入載波發(fā)送狀態(tài)。   載波接收中斷的流程如圖4所示。在載波接收的過(guò)程中,先要查詢(xún)載波通信寄存器00H的幀頭標志位,如收到幀頭,且芯片處于等待接收狀態(tài),則接收數據的第一字節;如接收的不是幀頭,則判斷幀頭是否已被接收,而繼續接收后續字節。最后,將接收的數據送入載波數據緩存數組,如接收字節數超過(guò)設定值,則置接收成功位給串口,并清除正在接收狀態(tài)位,結束載波中斷,進(jìn)入串口發(fā)送中斷?!        ?/p>

5.jpg

  載波發(fā)送中斷的流程如圖5所示。當串口接收完數據后,置載波發(fā)送標志位,進(jìn)入載波發(fā)送中斷。中斷程序將串口緩存數據組中的數據按字節送入載波緩存發(fā)送,直至載波發(fā)送的字節數超過(guò)設定字節數,結束載波發(fā)送,并清串口緩存數據組的數據。在清除載波發(fā)送標志后,結束中斷,返回主程序,進(jìn)行下一輪的發(fā)送接收查詢(xún)?!          ?/p>

6.jpg

結 語(yǔ)   使用SoC芯片PL3200設計電力線(xiàn)載波擴頻數據平臺,應用極其簡(jiǎn)便,使用C語(yǔ)言來(lái)進(jìn)行程序設計非常方便。同時(shí),由于使用靈活的ISP編程方式,使程序的修改及下載也十分方便,可以靈活的進(jìn)行功能擴展。



關(guān)鍵詞: 51兼容芯片 PL3200 擴頻平臺

評論


技術(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>