《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 解決方案 > TI 基于Concerto 雙核MCU 的PRIME 電力線(xiàn)通信數(shù)據(jù)集中器方案

TI 基于Concerto 雙核MCU 的PRIME 電力線(xiàn)通信數(shù)據(jù)集中器方案

2015-01-19
作者:Jeanne Yi,,MCU SAE Team
關(guān)鍵詞: 客戶(hù)端 固件 集中器

摘要 

    本文檔介紹了采用C2000 系列雙核(CM3+C28x)微控制器實(shí)現(xiàn)的,,基于PRIME 標(biāo)準(zhǔn)的電力線(xiàn)通信(PLC)數(shù)據(jù)集中器方案。本方案通過(guò)一顆Concerto MCU 加SDRAM 實(shí)現(xiàn)完整的PRIME 協(xié)議棧,提供波特率115200bps 的UART 異步串行端口給客戶(hù)端主機(jī)進(jìn)行網(wǎng)絡(luò)管理及數(shù)據(jù)通信,,為需要低成本實(shí)現(xiàn)數(shù)據(jù)集中器功能的場(chǎng)合提供了有效的解決方案,。 

簡(jiǎn)介 

    PRIME - PoweRline Intelligent Metering Evolution 標(biāo)準(zhǔn)是由西班牙Iberdrola 電力公司聯(lián)合有關(guān)的 PLC 芯片,、系統(tǒng),、電表等廠商,為窄帶 PLC 電力線(xiàn)通信制定的遠(yuǎn)程抄表技術(shù)標(biāo)準(zhǔn),,包括物理層和MAC 層的數(shù)據(jù)傳輸標(biāo)準(zhǔn),。該技術(shù)的協(xié)議開(kāi)放,實(shí)施無(wú)版權(quán)費(fèi)用,,不同廠商的產(chǎn)品能夠?qū)崿F(xiàn)互聯(lián)互通,。TI 采用低成本的 DSP 控制器,以軟件的方式來(lái)實(shí)現(xiàn) PRIME 協(xié)議,,相較其他廠商以專(zhuān)用芯片ASIC 的實(shí)現(xiàn)方式,,提高了應(yīng)用的靈活性。 

    事實(shí)上,,早前TI 已經(jīng)采用OMAP1808 實(shí)現(xiàn)了PRIME 數(shù)據(jù)集中器的完整功能,。本文介紹的方案,主要是將OMAP 平臺(tái)的DC 方案移植到單芯片Concerto 上,,實(shí)現(xiàn)一顆芯片完成PRIME 的上層和底層MAC 協(xié)議以及物理層協(xié)議,,適用于低成本的嵌入式數(shù)據(jù)集中器應(yīng)用,因此,,我們也把該數(shù)據(jù)集中器方案簡(jiǎn)稱(chēng)為EDC,,即Embedded Data Concentrate。

    OMAP1808 平臺(tái)的 DC 方案基于 Linux 操作系統(tǒng),,而本 EDC 方案基于 TIRTOS 操作系統(tǒng),,上層和下層MAC 通信采用內(nèi)部數(shù)據(jù)共享,不但系統(tǒng)精簡(jiǎn)很多,,占用資源少,,而且數(shù)據(jù)更加可靠,除了沒(méi)有TCP/IP 接口之外,,所能管理及連接的節(jié)點(diǎn)數(shù)量與OMAP 平臺(tái)的DC 方案無(wú)異,。  

1 EDC 系統(tǒng)架構(gòu) 

    本方案采用 Concerto 系列芯片 F28M35H52C1 作為主芯片,處理 PRIME 協(xié)議的 UPPER MAC 及LOW MAC, PHY 層協(xié)議。F28M35H52C1 是一款雙核的MCU,,它內(nèi)部包含了Cortex m3 主系統(tǒng)和TI C28x 控制子系統(tǒng)兩個(gè)MCU 系統(tǒng),,每個(gè)系統(tǒng)分別有512KB 的Flash 空間,Cortex m3獨(dú)立使用 32KB RAM,,TI C28x 獨(dú)立使用 36KB RAM,,另外還有可配置使用權(quán)的 64KB 的共享RAM(在EDC 系統(tǒng)中全部被分配給C28x 使用)和2KB 的IPC  Message RAM,。在EDC 系統(tǒng)應(yīng)用中,,Cortex m3 核工作主頻為 75MHz,它負(fù)責(zé)處理 Upper  MAC 協(xié)議, C28x 核工作主頻為150MHz,,它負(fù)責(zé)處理 Low MAC 及 PHY 層協(xié)議,,兩個(gè)核之間通過(guò) IPC 內(nèi)部數(shù)據(jù)共享區(qū)機(jī)制進(jìn)行通信。主芯片 MCU 外加一個(gè) 8M  Bytes 的 SDRAM,,由 CM3 核進(jìn)行訪(fǎng)問(wèn),,用來(lái)存儲(chǔ)節(jié)點(diǎn)信息數(shù)據(jù)庫(kù)等數(shù)據(jù),目前系統(tǒng)使用的大小約為3M Bytes,;另外有一個(gè)128KByts 的EEPROM,,由C28x訪(fǎng)問(wèn),用來(lái)存儲(chǔ)系統(tǒng)掉電參數(shù),;模擬前端采用 TI AFE031,,支持三相和單相連接,由 C28x 核通過(guò)SPI 接口對(duì)其進(jìn)行控制,。系統(tǒng)框圖如圖1 所示,。其中,CM3  通過(guò)1 個(gè)GPIO 口控制一個(gè)LED,,在系統(tǒng)正常工作時(shí)以 1Hz 頻率進(jìn)行顯示,;C28x 通過(guò) 3 個(gè) GPIO 控制另外三個(gè) LED,分別指示C28x 工作狀態(tài)及PLC 通信狀態(tài),。 

圖 1  PRIME EDC 系統(tǒng)架構(gòu)示意圖 

2 EDC 方案特性 

單芯片實(shí)現(xiàn)PLC PRIME DC 完整功能,。 

提供UART 接口與PC 或用戶(hù)Host Processor 進(jìn)行通信,通信速率115200bps,,8 位數(shù)據(jù)位,,1 位停止位,無(wú)奇偶校驗(yàn),。 

提供 PC(Ubuntu  Linux OS)客戶(hù)端軟件進(jìn)行模擬測(cè)試,,客戶(hù)端軟件通過(guò) mgmt 及 IEC-432 API 接口與 EDC 上運(yùn)行的服務(wù)器端進(jìn)行通信,用戶(hù)可參考這些客戶(hù)端軟件示例代碼實(shí)現(xiàn) Host 代碼設(shè)計(jì),,客戶(hù)端軟件包括: 

        Management tool application 

        Base node conference tool application 

        IEC 61334-4-32 data transfer application         

硬件設(shè)計(jì)保留C28x 的SCIA UART 通信接口,,便于客戶(hù)使用TI 提供的PC 端ZCG 工具軟件,通過(guò)連接PC 的COM 口或USB-UART 轉(zhuǎn)接板至該接口來(lái)單獨(dú)對(duì)PLC PHY 層參數(shù)進(jìn)行測(cè)試。 

3 硬件設(shè)計(jì) 

3.1 參考原理圖 

硬件相關(guān)的原理圖部分設(shè)計(jì)請(qǐng)參考圖2,,圖3,,圖4 所示。 

圖 2  主芯片MCU 參考設(shè)計(jì)原理圖

圖 3  SDRAM 及UART 接口參考設(shè)計(jì)原理圖 

圖 4   AFE031 周邊電路參考設(shè)計(jì)原理圖 

3.2 電路板 

EDC  電路板實(shí)物如圖5 及圖6 所示,。電路板正面放置MCU, AFE031 及變壓器,,電源IC 等大部分器件,背面放置了一片SDRAM,。MCU 芯片左上方的彩色線(xiàn)連接部分為UART 通信接口及UART 打印信息輸出接口,,左側(cè)為15V 供電輸入接口及電表連接接口,該22 pin 接口按照中國(guó)國(guó)家電網(wǎng)《Q/GDW 375.2-2009》標(biāo)準(zhǔn)第 6.3.1 節(jié)中對(duì)集中器載波模塊的接口定義進(jìn)行設(shè)計(jì),,其中的 UART 接口連接至 MCU CM3 核的 UART0,;右側(cè)黑膠布遮蓋部分為外接三相電力線(xiàn)接口,該接口同樣按照中國(guó)國(guó)家電網(wǎng)《Q/GDW 375.2-2009》標(biāo)準(zhǔn)第 6.3.2 節(jié)中對(duì)集中器載波模塊的載波耦合接口定義進(jìn)行設(shè)計(jì),,Service node 可以通過(guò)該三相電力線(xiàn)接口與EDC 進(jìn)行單相或者三相的信號(hào)連接,。EDC 上電正常工作時(shí),圖5 所示右下方的LED(LED-4)燈會(huì)以1Hz 的頻率閃爍,。 

圖 5   EDC 電路板正面圖 

圖 6   EDC 電路板背面圖                

3.3 EDC 與PLC 節(jié)點(diǎn)組網(wǎng)連接 

本例采用TI 的TMDSPLCKIT-V3 作為PLC 節(jié)點(diǎn),,EDC 與兩個(gè)PLC 節(jié)點(diǎn)的連接如圖7 所示,EDC 的UART0 接口與Linux PC 客戶(hù)端通過(guò)一個(gè)UART-USB 轉(zhuǎn)接小板連接,,連接如圖8 所示,。 

圖 7    EDC 與PLC 節(jié)點(diǎn)連接示意圖 

圖 8   EDC 與PC 連接示意圖 

4 EDC 可以實(shí)現(xiàn)的功能 

· 支持多達(dá)1200 個(gè)節(jié)點(diǎn)的注冊(cè)/注銷(xiāo) 

· 支持最多3600 路的Unicast MAC 連接/釋放 

· Keep Alive 功能及自動(dòng)調(diào)節(jié)Keep Alive 檢查間隔時(shí)間 

· IEC-61334-4-32 邏輯鏈路層 

· Appemu 數(shù)據(jù)傳輸測(cè)試 

· 支持節(jié)點(diǎn)中繼 

· 節(jié)點(diǎn)promotion 和demotion 

· Multicast MAC 連接/釋放 

· 單點(diǎn)和多點(diǎn)firmware upgrade 

· 支持使用IEC 61334-4-32 服務(wù)的外部應(yīng)用 

· 支持外部管理GUI 

· 支持Linux 客戶(hù)端命令進(jìn)行DC 一致性測(cè)試 

5 EDC 運(yùn)行需要的目標(biāo)代碼及Linux 客戶(hù)端軟件 

Concerto 目標(biāo)代碼:prime_dc_concerto_cm3.out prime_dc_concerto_c28x.out 

Linux 客戶(hù)端軟件:uart_intf,  mgmt_cli, ext432App, bn_conf_tool  

6 PRIME EDC 基本功能演示

PRIME EDC 的功能演示基于一個(gè)PRIME 網(wǎng)絡(luò)進(jìn)行,該網(wǎng)絡(luò)由一個(gè)base node 和幾個(gè)service node 組成,,EDC 就是其中的base node,。功能演示包括以下幾個(gè)部分: 

1. 節(jié)點(diǎn)注冊(cè)、節(jié)點(diǎn)注銷(xiāo) 

2. Keep Alive 監(jiān)測(cè) 

3. 節(jié)點(diǎn)連接,、斷開(kāi)連接 

4. 節(jié)點(diǎn)升級(jí)(至中繼節(jié)點(diǎn)),,節(jié)點(diǎn)降級(jí)(至終端節(jié)點(diǎn)) 

5. 按照IEC-61334-4-32 協(xié)議進(jìn)行數(shù)據(jù)傳輸 

6. 固件在線(xiàn)更新(單播和群播) 

參考圖7 的網(wǎng)絡(luò)連接示意圖搭建演示網(wǎng)絡(luò),參考圖8 連接EDC 的UART1 至Linux PC,,給EDC 及service node 加電后,,系統(tǒng)將自動(dòng)完成網(wǎng)絡(luò)連接。通過(guò)在Linux PC 端的進(jìn)行對(duì)應(yīng)的命令行操作,,即可實(shí)現(xiàn)以上功能演示,。Linux PC 端的命令行操作參考后續(xù)章節(jié)介紹。 

7 Linux PC 端命令行操作說(shuō)明 

準(zhǔn)備一臺(tái)安裝ubuntu Linux OS 的PC,,將提供的Linux 客戶(hù)端軟件:uart_intf,  mgmt_cli, ext432App, bn_conf_tool 復(fù)制到Home 路徑下,。 

7.1 打開(kāi)UART 中繼 

在Linux PC 上打開(kāi)一個(gè)Terminal,進(jìn)入uart_intf 路徑,,執(zhí)行“make clean”命令,,清除舊的可執(zhí)行文件,然后執(zhí)行“make PREFIX=”命令,生成適合本系統(tǒng)的可執(zhí)行文件uart_intf,。 在當(dāng)前路徑下,,鍵入以下命令開(kāi)啟UART 中繼:

sudo ./uart_info –c /dev/ttyUSB0 

命令被正常執(zhí)行后,顯示以下提示: 

圖 9    Linux UART 連接提示 

其中的TCP port <57777>, TCP port <56666>, TCP port <58888>為后續(xù)數(shù)據(jù)傳輸,,網(wǎng)絡(luò)管理及DC 一致性檢查等客戶(hù)端進(jìn)程所要用到的端口參數(shù),。 

7.2 mgmt 網(wǎng)絡(luò)管理工具客戶(hù)端及其常用命令參考 

在Linux PC 上打開(kāi)一個(gè)新的Terminal,進(jìn)入mgmt_cli 路徑,,執(zhí)行“make clean”命令,,清除舊的可執(zhí)行文件,然后執(zhí)行“make PREFIX=”命令,,生成適合本系統(tǒng)的可執(zhí)行文件pdc_mgmt_cli,。 

                在當(dāng)前路徑下,,鍵入以下命令運(yùn)行網(wǎng)絡(luò)管理工具客戶(hù)端: 

                ./pdc_mgmt_cli –p 56666 

                命令正常執(zhí)行后,,顯示以下提示: 

                connecting to 127.0.0.1:56666 

                connected  

                >>

在>>提示符下鍵入?后回車(chē),,即可列出該客戶(hù)端支持的所有命令列表,;在使用某一命令時(shí),如不知道如何使用參數(shù),,也可在命令后加空格和,?,命令所需要的參數(shù)及參數(shù)范圍就會(huì)顯示出來(lái),。 

部分常用命令說(shuō)明: 

7.2.1 ,? 

功能:列出所有命令列表如下: 

get-dc-std 

get-node-info 

get-switch-info 

get-terminal-info 

get-mac-uc-conn-info 

unreg-node 

close-mac-uc-conn 

          pro-term 

          dem-switch 

          set-ka-tmo 

          get-ka-tmo 

          ena-ka-auto-adj 

               dis-ka-auto-adj 

               start-uc-fu 

               start-mc-fu 

               show-uc-fu 

               show-mc-fu 

               cancel-fu 

               add-to-black-list 

               rm-from-black-list 

               show-black-list 

               ena-event 

               dis-event 

               get-pib 

               set-pib 

               reboot-sn 

              send-new-image 

              del-curr-image 

             show-curr-image 

             add-node-to-fu-mc-gp  

             rm-node-from-fu-mc-gp 

             del-fu-mc-gp 

           show-fu-mc-gp 

           get-phy-tx-paras 

           set-phy-tx-paras 

          set-alv-params 

          get-alv-params        

7.2.2   CTRL + c 

功能:退出mgmt 客戶(hù)端,回到Linux 命令行 

7.2.3 get-dc-std 

功能:獲取DC 執(zhí)行的標(biāo)準(zhǔn)

示例: 

>>get-dc-std 

PRIME 

7.2.4 get-node-info 

功能:獲取當(dāng)前連接到PRIME 網(wǎng)絡(luò)的節(jié)點(diǎn)信息,。 

示例: 

 

7.2.5 get-ka-tmo 

功能:獲取當(dāng)前Keep Alive 檢查超時(shí)時(shí)間 

示例: 

>>get-ka-tmo 

128 seconds 

7.2.6 set-ka-tmo 

功能:設(shè)置當(dāng)前Keep Alive 檢查超時(shí)時(shí)間 

示例: 

>>set-ka-tmo –t 32 

Keep alive timeout is now 32 seconds. 

7.2.7 pro-term 

功能:將終端節(jié)點(diǎn)升級(jí)為中繼節(jié)點(diǎn) 

示例: 

>>pro-term  -l 2 –s 0 

Request sent…

 7.2.8 send-new-image 

功能:下載固件到DC 

示例: 

>>send-new-image –f /filefolder/prime_7.6.1.sbin –p 128 

7.2.9 show-curr-image 

功能:查看當(dāng)前DC 中存儲(chǔ)的固件信息 

示例: 

>>show-curr-image 

Image file name: /filefolder/prime_7.6.1.sbin 

Image CRC: 0xa57439b1 

Image size: 187958 bytes 

7.2.10 del-curr-image 

功能:刪除當(dāng)前DC 中存儲(chǔ)的固件,。下載新的固件之前,必須先執(zhí)行該命令刪除當(dāng)前固件,。 

示例: 

>>del-curr-image 

7.2.11 start-uc-fu 

功能:?jiǎn)?dòng)unicast 固件更新 

示例: 

>>start-uc-fu –f drunk.sbin –e 55:55:55:55:55:55 –p 128 

7.2.12 cancel-fu 

功能:取消當(dāng)前固件更新 

示例: 

>>cancel-fu 

7.2.13 show-uc-fu 

功能:顯示當(dāng)前固件更新?tīng)顟B(tài)及信息 

示例: 

>>show-uc-fu 

Image File Name: /filefolder/prime_7.6.1.sbin 

Node: 55:55:55:55:55:55 

Image CRC: 0xa57439b1 

Page Size: 128 bytes 

Image Size: 187958 bytes 

Page Count: 1469 

Pgae Sent: 980 

Communication State: CONNECTED 

Upgrade FSM State: PAGE TRANSFER 

7.3 IEC61334-4-32 數(shù)據(jù)通信上層應(yīng)用示例 

PRIME EDC 允許外部應(yīng)用遵循IEC61334-4-32 協(xié)議來(lái)與網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行通信,。本方案提供了Linux 平臺(tái)的應(yīng)用程序參考代碼。

在Linux PC 上打開(kāi)一個(gè)新的Terminal,,進(jìn)入ext432app 路徑,,執(zhí)行“make clean”命令,清除舊的可執(zhí)行文件,,然后執(zhí)行“make PREFIX=”命令,,生成適合本系統(tǒng)的可執(zhí)行文件pdc_app432。

在當(dāng)前路徑下,,鍵入以下命令啟動(dòng)數(shù)據(jù)通信進(jìn)程: 

/pdc_app432 –p 57777 –l 64 –ds 1 –da 2 

參數(shù)說(shuō)明: 

-l 用來(lái)指定要下發(fā)的數(shù)據(jù)字節(jié)數(shù),,參數(shù)取值范圍為1~200; 

-ds  用來(lái)指定目標(biāo)節(jié)點(diǎn)的SAP 地址,參數(shù)取值范圍0~191,; 

-da 用來(lái)指定通信連接的節(jié)點(diǎn)432 地址,,該地址從get-node-info 命令所獲得的節(jié)點(diǎn)信息中獲取。 

執(zhí)行pdc_app432 命令之前,,需要參考圖10,,用ZGUI 工具將TI PLC V3-KIT 配置為AppEmu-LLC 模式。在該模式下,,當(dāng)Linux 客戶(hù)端執(zhí)行pdc_app432 命令后,,PLC Module 就會(huì)將收到的數(shù)據(jù)回傳給DC,DC 再通過(guò)UART 上傳到PC,,并在pdc_app432 所在的Terminal 上顯示出來(lái),。傳輸190 個(gè)字節(jié)的數(shù)據(jù)包時(shí),運(yùn)行結(jié)果參考圖11 所示,。 

圖 10    用ZGUI 工具配置節(jié)點(diǎn)為AppEMU-LLC 模式 

圖 11    數(shù)據(jù)傳輸測(cè)試運(yùn)行結(jié)果 

 參考文檔 

1.  TI PRIME DC Software User Guide 

2.  TI PRIME DC IEC-61334-4-32 API SPEC  

3.  Concerto F28M35x Technical Reference Manual(SPRUH22B) 

4.  Concerto Microcontrollers (SPRS742C) 

5.  Q/GDW 375.2-2009《電力用戶(hù)用電信息采集系統(tǒng)型式規(guī)范:集中器型式規(guī)范》 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話(huà):010-82306118,;郵箱:[email protected]