基于DSP無(wú)線抄表系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 總體結(jié)構(gòu)
系統(tǒng)采用高精度電能采集芯片CS5460A采集電量,采用DSP2812控制,處理后的數(shù)據(jù)通過(guò)無(wú)線收發(fā)模塊nRF2401A,實(shí)現(xiàn)數(shù)據(jù)的無(wú)線傳輸,接收模塊接收到前端采集系統(tǒng)采集的數(shù)據(jù)傳送給上位機(jī),上位機(jī)可以顯示所需要的一些電參數(shù),實(shí)現(xiàn)抄表收費(fèi)一體化。系統(tǒng)結(jié)構(gòu)如圖1所示。
2 電能采集系統(tǒng)設(shè)計(jì)
選用CS5460A作為電能采集芯片,選用TI公司的TMS320F2812作為控制芯片。Cs5460A是高度集成的A/D轉(zhuǎn)換器,它在單一芯片上結(jié)合了兩個(gè)A/D轉(zhuǎn)換器、高速功率計(jì)算功能和一個(gè)串行接口。該芯片是為精確測(cè)量和計(jì)算而設(shè)計(jì)的,可用于單相2或3線功率測(cè)量設(shè)備的能量、瞬時(shí)功率、瞬時(shí)電壓、瞬時(shí)電流、電流有效值、電壓有效值的測(cè)量。CS5460A可與一個(gè)低成本旁路電阻或變壓器相聯(lián)接以測(cè)量電流,也可與電阻分割器或測(cè)量用變壓器相聯(lián)接以測(cè)量電壓。CS5460A帶有一個(gè)與微控制器通信的雙向串口和一個(gè)與供電成正比的可編程頻率輸出。CS5460A的片上功能還包括交流或直流系統(tǒng)校準(zhǔn)。
CS5460A可以在單+5 V電源及雙極性±5 V電源下運(yùn)行,電流通道輸入范圍為50 mA或250 mA,電壓通道為250 mV。在單電源供電時(shí)CS5460A的共模信號(hào)為-0.25 V到VA+。圖2是CS5460A在單電源模式下單相2線系統(tǒng)的功率測(cè)量的電路圖。此接線方式實(shí)現(xiàn)與電源線隔離。隔離通過(guò)3個(gè)變壓器實(shí)現(xiàn)。一個(gè)是普通的變壓器,用于提供CS5460A的直流電源。第二個(gè)是高精度、低阻抗的變壓器(通常稱為電壓互感器),在較高的濾波下也具有很小的衰減和相位延遲。還有一個(gè)電流互感器用于測(cè)量電源線電流,一個(gè)電阻跨接在電流互感器的次極,對(duì)CS5460A的電流通道產(chǎn)生電流感應(yīng)的電壓信號(hào)。
3 無(wú)線通信系統(tǒng)設(shè)計(jì)
nRF2401A及其外圍電路包括nRF2401A的芯片部分,穩(wěn)壓部分、晶振部分、天線部分。電壓+5 V為芯片提供電壓;晶振部分包括Y4,C44,C45晶振Y1允許值為:4 MHz,8 MHz,12 MHz,16 MHz,該設(shè)計(jì)用1 Mb/s的通信速率,則必須選擇16 MHz晶振。天線部分電感L1,用來(lái)將nRF2401A芯片的ANT1,ANT2管腳產(chǎn)生2.4 GHz電平信號(hào)轉(zhuǎn)換為電磁波信號(hào),或者將電磁波信號(hào)轉(zhuǎn)換為電平信號(hào)輸入芯片的ANT1,ANT2管腳。
nRF2401A通信模塊原理圖如圖3所示。該設(shè)計(jì)只利用通道1的收發(fā)通道,通道2為預(yù)留通道,PER_UP與DSP2812的GPIOB4口相連控制nRF2401A芯片上電,GPIOB5接CE控制芯片使能。GPIOB6連CS實(shí)現(xiàn)。nRF2401A片選,GPIOB7接DR1從而通過(guò)DSP控制芯片通道1數(shù)據(jù)請(qǐng)求,GPIOB8接CLK1控制通道1時(shí)鐘,GPIOB9和芯片DATA管腳相連,實(shí)現(xiàn)DSP與模塊之間的數(shù)據(jù)傳輸。
4 電能采集軟件設(shè)計(jì)
4.1 程序功能
程序功能包括兩方面的關(guān)鍵內(nèi)容:一是,通過(guò)單片機(jī)對(duì)CS5460A芯片寄存器地址的定義和控制字的寫(xiě)入,另一方面是數(shù)據(jù)的讀取。
4.2 CS5460A的操作
CS5460A的操作主要是通過(guò)SPI口寫(xiě)命令,讀寫(xiě)不同的寄存器,執(zhí)行不同的操作;CS5460A的寄存器主要包括狀態(tài)寄存器、配置寄存器、控制寄存器、各種校準(zhǔn)寄存器、數(shù)據(jù)寄存器等。在進(jìn)行測(cè)量前,要恰當(dāng)?shù)卦O(shè)置寄存器,以便得到正確的結(jié)果。
4.3 系統(tǒng)校準(zhǔn)
CS5460A提供數(shù)字校準(zhǔn)功能,通過(guò)寫(xiě)指定的值到校準(zhǔn)命令寄存器即可實(shí)現(xiàn)系統(tǒng)偏置校準(zhǔn)和系統(tǒng)增益校準(zhǔn)等。當(dāng)執(zhí)行校準(zhǔn)時(shí),必須把相應(yīng)的校準(zhǔn)信號(hào)到電壓電流通道。CS5460A具有一系列的校準(zhǔn)寄存器,執(zhí)行某一校準(zhǔn)命令后,相應(yīng)的寄存器就會(huì)保留校準(zhǔn)產(chǎn)生的修正值,這些值可以讀出;若將其保存在外部非易失存儲(chǔ)器,在系統(tǒng)復(fù)位后把值寫(xiě)入相應(yīng)的寄存器,不必重新校準(zhǔn)。校準(zhǔn)寄存器包括直流電壓/電流偏置寄存器,電壓/電流增益寄存器,交流電壓/電流偏置寄存器。校準(zhǔn)之前必須使CS5460A處于活動(dòng)狀態(tài),同時(shí)使其準(zhǔn)備接收有效命令,并清除狀態(tài)寄存器的DRDY位,因?yàn)镈RDY用于判斷校準(zhǔn)是否完成。在執(zhí)行偏置校準(zhǔn)時(shí),應(yīng)該輸入零信號(hào);在執(zhí)行增益校準(zhǔn)時(shí),應(yīng)該輸入滿刻度信號(hào)。校準(zhǔn)完成后,就可以進(jìn)行測(cè)量。[!--empirenews.page--]
4.4 數(shù)據(jù)的讀寫(xiě)
在進(jìn)行數(shù)據(jù)的讀寫(xiě)前,應(yīng)該進(jìn)行串口的初始化。因?yàn)橛行е噶畈粫?huì)產(chǎn)生動(dòng)作或者產(chǎn)生錯(cuò)誤動(dòng)作,此時(shí)需重新初始化串口。當(dāng)命令包含寫(xiě)操作時(shí),串口將在下面24個(gè)SCLK周期對(duì)SDI引腳的數(shù)據(jù)(從高位開(kāi)始)記錄。寄存器寫(xiě)指令后必須跟24位的數(shù)據(jù)。比如,寫(xiě)配置寄存器,應(yīng)先寫(xiě)命令字(0x40)啟動(dòng)寫(xiě)操作,然后,隨著24個(gè)連續(xù)的串行時(shí)鐘脈沖,CS5460A將從串行輸入引腳SDI接收串行輸入數(shù)據(jù),一旦收到數(shù)據(jù),狀態(tài)機(jī)便將數(shù)據(jù)寫(xiě)入配置寄存器,等待下一個(gè)命令。當(dāng)啟動(dòng)了讀命令,串口將在下8個(gè)、16個(gè)或24個(gè)SCLK周期啟動(dòng)SDO腳上的寄存器內(nèi)容的轉(zhuǎn)移(從高位開(kāi)始)。寄存器讀指令可以終止在8位的邊界上(例如,讀出時(shí)可只讀8,16或24位)。同樣,數(shù)據(jù)寄存器讀出允許采用“命令鏈”。因此讀寄存器時(shí),微控制器可同時(shí)發(fā)送新指令,新指令將被立即執(zhí)行,并可能終止讀操作。例如,命令字送入狀態(tài)機(jī)讀取某一輸出寄存器,進(jìn)行16個(gè)連續(xù)的讀數(shù)據(jù)串行時(shí)鐘脈沖后,執(zhí)行寫(xiě)命令字(如狀態(tài)寄存器清零命令),數(shù)據(jù)從SDI引腳輸入,同時(shí)剩下的8位讀出數(shù)據(jù)被傳送到SDO引腳。又如,用戶僅需從讀操作中獲取16位有效位時(shí),可在SDO讀出8位數(shù)據(jù)后從SDI輸入第2個(gè)讀命令。注意:在讀周期,當(dāng)從SDO引腳輸出數(shù)據(jù)時(shí),必須用SYNC0指令(NOP),使SDI引腳處于選通態(tài)。其程序流程如圖4所示。
下面是在TI公司的CCS2000編譯系統(tǒng)下的讀寫(xiě)程序:
5 結(jié) 語(yǔ)
這里深入介紹電能采集、傳輸、接收的過(guò)程,系統(tǒng)以TMS320F2812為控制核心,其具有功能強(qiáng)大、功耗低、運(yùn)算速度快等優(yōu)點(diǎn),同時(shí)內(nèi)部又具有128 KB的FLASH,使系統(tǒng)結(jié)構(gòu)緊湊、靈活。CS5460芯片可直接采集電能、電壓、電流、功率、功率因數(shù)等值。采用高性能RF模塊、數(shù)據(jù)通信等技術(shù),具有長(zhǎng)時(shí)間存儲(chǔ)數(shù)據(jù)和無(wú)線傳輸數(shù)據(jù)等功能。