PPC 405EP在電力監(jiān)測(cè)系統(tǒng)中的應(yīng)用
1 引言
本文引用地址:http://cafeforensic.com/article/193518.htm目前,作為監(jiān)測(cè)系統(tǒng)核心器件的微處理器一般采用高性能單片機(jī)、數(shù)字信號(hào)處理器(DSP)等提高系統(tǒng)的處理速度。但是,隨著電力系統(tǒng)監(jiān)測(cè)趨于多功能、智能化、可視化的發(fā)展。上述單一的器件已不能完全滿足要求。本文介紹了一種新型嵌入式微處理器PPC 405EP以及基于PPC 405EP的電力監(jiān)測(cè)系統(tǒng),能夠滿足高實(shí)時(shí)性、良好的人機(jī)交互和多種通信方式要求。
20世紀(jì)90年代,IBM和Motorola以及Apple公司共同開(kāi)發(fā)了32位/64位PowerPC系列微處理器,主要應(yīng)用于PC、網(wǎng)絡(luò)通訊、工業(yè)控制領(lǐng)域。PowerPC靈活的體系結(jié)構(gòu)可實(shí)現(xiàn)多種專(zhuān)用系統(tǒng)。PPC405EP是IBM/AMCC公司高性能嵌入式32位RISC,運(yùn)算速度高達(dá)333 MI/s,內(nèi)部集成微處理器的常用外圍組件,特別適用于工業(yè)控制領(lǐng)域,為實(shí)現(xiàn)低成本系統(tǒng),提供了高性價(jià)比。PPC 405EP的主要特點(diǎn)為:16 KB數(shù)據(jù)Cache,16 KB指令Cache,寫(xiě)緩沖區(qū);虛擬內(nèi)存管理單元MMU;2個(gè)10/100 Mb/s以太網(wǎng)控制器;SDRAM控制器;2個(gè)UART;外圍接口總線,直接
支持8位、16位SRAM和外圍其他設(shè)備;可編程中斷控制器,支持7個(gè)外部和19個(gè)內(nèi)部的邊沿或電平觸發(fā)中斷:PCI V2.2接口標(biāo)準(zhǔn)模塊;DMA控制模塊,可對(duì)8位、16位、32位的數(shù)據(jù)進(jìn)行操作;I2C系統(tǒng)總線模塊;通用可編程I/O口(GPIO);可編程定時(shí)/計(jì)數(shù)器:支持JTAG板級(jí)測(cè)試。
3 在線監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)
被監(jiān)測(cè)設(shè)備傳輸?shù)碾妷弘娏餍盘?hào)經(jīng)電流電壓互感器變換后.再經(jīng)信號(hào)調(diào)理電路放大、濾波,送入數(shù)據(jù)采集板。采集板內(nèi)的單片機(jī)控制A/D采樣或判斷開(kāi)關(guān)信號(hào)變化,完成各種數(shù)值運(yùn)算,與預(yù)設(shè)的報(bào)警限定值作比較。如果在報(bào)警范圍內(nèi),申請(qǐng)占用CAN總線向嵌入式主模板發(fā)送數(shù)據(jù),與此同時(shí),嵌入式主模板監(jiān)聽(tīng)綜自網(wǎng)絡(luò)中的報(bào)文,采用103/104協(xié)議解析獲得設(shè)備狀態(tài)等信息(例如:開(kāi)關(guān)狀態(tài))。嵌入式主模板把采集板傳輸?shù)墓收闲畔⒑凸收习l(fā)生時(shí)解析的報(bào)文存入CF卡同時(shí)以短信方式通知相關(guān)人員,人們可以通過(guò)監(jiān)視器瀏覽、分析這些故障文件。其原理框圖如圖1所示。
3.1 數(shù)據(jù)采集及信號(hào)預(yù)處理模塊
考慮設(shè)備監(jiān)測(cè)點(diǎn)較多,而且系統(tǒng)需要處理的任務(wù)種類(lèi)繁多,既有數(shù)據(jù)采樣、計(jì)算、監(jiān)聽(tīng)網(wǎng)絡(luò)報(bào)文等周期性任務(wù),又有通信、人機(jī)交互等隨機(jī)性事件。因此在硬件設(shè)計(jì)上,選用單片機(jī)完成數(shù)據(jù)采集、分析計(jì)算以減輕PPC 405EP的負(fù)擔(dān)。每塊采集板要完成8路4 mA~20 mA模擬信號(hào)采樣或者16路開(kāi)關(guān)量信號(hào)輸入,選用Philip公司的P89LV51RD2能很好滿足采集要求。
AD7939是ADI公司生產(chǎn)的8通道、低功耗(13.5 mW)模/數(shù)轉(zhuǎn)換器,其分辨率為12-bit,最高采樣頻率達(dá)1.5 MS/s。AD7939與單片機(jī)接口簡(jiǎn)單,不需其他外圍電路,大大簡(jiǎn)化電路設(shè)計(jì)。值得注意的是,AD7939具有數(shù)字電源與模擬電源,數(shù)字噪聲很容易干擾A/D轉(zhuǎn)換結(jié)果。為了提高抗干擾能力,數(shù)字電源由模擬電源經(jīng)過(guò)由22μF、0.1μF和電感組成的π型濾波器后產(chǎn)生,數(shù)字地與模擬地接電感濾波后連接在一起。
3.2 基于PPC 405EP的嵌入式主板
3.2.1 PCI電路
PCI總線是一種先進(jìn)的高性能32/64位地址數(shù)據(jù)復(fù)用局部總線。PPC 405EP處理器帶有PCI總線接口,支持PCI2.2規(guī)范,PCI總線頻率高達(dá)66 MHz。利用其PCI總線接口,設(shè)計(jì)了3個(gè)USB接口分別接鼠標(biāo)、鍵盤(pán)、U盤(pán),1個(gè)VGA接口用于顯示器,2個(gè)IDE接口用于接CF卡保存數(shù)據(jù)。選用Ali單片實(shí)現(xiàn)3個(gè)USB接口的PCI轉(zhuǎn)USB控制器。M5273、SMIPCI轉(zhuǎn)VGA控制器LynxEM+SM712和Silicon單片實(shí)現(xiàn)2個(gè)IDE接口的PCI轉(zhuǎn)IDE控制器SII0680A。直接掛在PPC 405EP的PCI總線上。
3.2.2 通信電路
根據(jù)PPC 405EP處理器的通信端口,設(shè)計(jì)了以太網(wǎng)、RS-485通信的外圍電路,其中以太網(wǎng)通信用于監(jiān)聽(tīng)綜自網(wǎng)絡(luò)中報(bào)文,外圍器件選用LXT971ALC;RS-485通信用于與GSM模塊接口,根據(jù)預(yù)設(shè)的故障級(jí)別通過(guò)短信形式將越限故障信息發(fā)送到相關(guān)人員手機(jī),通信收發(fā)器使用SN65HVD10。為了提高通信質(zhì)量,采用光電隔離器件ADuM1301隔離。選用獨(dú)立CAN通信控制器SJA1000實(shí)現(xiàn)CAN通信。因?yàn)镾JA1000與PPC 405EP的讀寫(xiě)時(shí)序不完全兼容,必須對(duì)PPC 405EP的讀寫(xiě)時(shí)序進(jìn)行變換。主要包括地址數(shù)據(jù)復(fù)用總線、地址鎖存信號(hào)ALE、讀(RD)信號(hào)、寫(xiě)(WR)信號(hào)和片選信號(hào)(CS)的變頻。PPC 405EP器件的高8位數(shù)據(jù)線、讀(POE)、寫(xiě)(PWE)控制線、片選信號(hào)和低8位地址線都接入CPLD。在CPLD內(nèi)部完成PPC 405EP的地址線、控制線組合的邏輯譯碼。VHDL代碼可實(shí)現(xiàn)符合SJA1000的讀寫(xiě)時(shí)序。以下為VHDL程序代碼。
另外,PPC 405EP為3.3 V器件,要與5 V的SJA1000無(wú)縫連接,還需用電平轉(zhuǎn)換器隔離。電平轉(zhuǎn)換器74KVXC3245加在CPLD與SJA1000之間。CAN通信的外圍電路如圖2所示。CAN通信收發(fā)器使用PCA82C250,同樣用ADuM1301隔離。系統(tǒng)中CPLD除了完成邏輯譯碼,還充當(dāng)PPC 405EP的外部看門(mén)狗,在CPLD內(nèi)部計(jì)數(shù)器溢出之前CPLD計(jì)數(shù)器清零。由于所需資源很少,CPLD采用Altara公司的EPM240即可滿足要求。
3.2.3 串行時(shí)鐘和E2PROM電路
I2C總線接口的時(shí)鐘器件和存儲(chǔ)器件分別選用PCF8563和AT24C02,它們掛接在PPC 405EP處理器的I2C總線上,如圖3所示。PCF8563是Philips公司生產(chǎn)的工業(yè)級(jí)實(shí)時(shí)時(shí)鐘,具有功耗低、精度高特點(diǎn),使嵌入式系統(tǒng)的硬件主模板具有較長(zhǎng)的穩(wěn)定時(shí)鐘信號(hào)。AT24C02是一個(gè)2 KB的串行E2PROM,用于存
放系統(tǒng)軟件在運(yùn)行過(guò)程中所需的重要參數(shù)。如采樣頻率、故障報(bào)警等級(jí)等。
3.2.4 電源
電源是整個(gè)系統(tǒng)中的重要部分,系統(tǒng)的大多數(shù)不穩(wěn)定因素或故障都是由于電源設(shè)計(jì)而造成的。本設(shè)計(jì)采用LT1765和MIC39150-1.8分別產(chǎn)生3.3 V和1.8 V電源。LT1765是Linear公司的3 A開(kāi)關(guān)電源,其典型電路如圖4所示。輸入電壓為3 V~25 V。輸出電壓則根據(jù)R1和R2(一般固定阻值為10 kΩ)的阻值而定,計(jì)算公式如下:
另外,PPC 405EP對(duì)上電及掉電的順序的要求:上電時(shí)要求先V核后VI/O,而掉電則要求按先VI/O后V核的順序,如果不滿足此順序,PPC 405EP的最小系統(tǒng)不能正常上電復(fù)位。這里采用12 V直流電壓同時(shí)輸入LT1765和MIC39150-1.8.滿足上面要求順序。
4 軟件實(shí)現(xiàn)
4.1 內(nèi)核驅(qū)動(dòng)程序
Linux將每個(gè)設(shè)備看作一個(gè)文件,即可以像對(duì)待文件那樣使用read、write等系統(tǒng)實(shí)現(xiàn)讀寫(xiě)功能。首先在。PPC 405EP平臺(tái)的PPC Linux內(nèi)核加入CAN、SII0680A等外設(shè)驅(qū)動(dòng)。以CAN驅(qū)動(dòng)為例,簡(jiǎn)要說(shuō)明Linux下驅(qū)動(dòng)的數(shù)據(jù)處理流程。
由于CAN一幀的數(shù)據(jù)長(zhǎng)度最大為8個(gè)字節(jié),以模擬采集板為例,當(dāng)8個(gè)測(cè)點(diǎn)同時(shí)發(fā)生故障時(shí),其通過(guò)CAN傳送給PPC 405EP的數(shù)據(jù)幀必然遠(yuǎn)超過(guò)一幀數(shù)據(jù),這時(shí)需要在驅(qū)動(dòng)中進(jìn)行解包、組幀等處理。因此,CAN驅(qū)動(dòng)中的數(shù)據(jù)處理流程就顯得相當(dāng)重要。
其接收過(guò)程:當(dāng)CAN控制器接收數(shù)據(jù)時(shí),產(chǎn)生接收中斷,啟動(dòng)接收中斷處理程序上半部分將CAN控制器接收緩沖器中的內(nèi)容復(fù)制到接收隊(duì)列而不作任何處理,解包和組幀將在中斷處理的下半部分完成,并將處理的幀放入幀隊(duì)列,最后用戶使用系統(tǒng)調(diào)用從接收幀隊(duì)列中讀取完整的一幀;發(fā)送過(guò)程:用戶進(jìn)程通過(guò)系統(tǒng)調(diào)用向驅(qū)動(dòng)程序傳送一幀任意長(zhǎng)度的數(shù)據(jù),驅(qū)動(dòng)程序中發(fā)送數(shù)據(jù)的程序按照協(xié)議將該幀分段打包,放入發(fā)送隊(duì)列,并向CAN控制器請(qǐng)求發(fā)送。
4.2 應(yīng)用程序
系統(tǒng)的應(yīng)用軟件由運(yùn)行在前臺(tái)的系統(tǒng)管理程序和運(yùn)行于后臺(tái)的網(wǎng)絡(luò)監(jiān)聽(tīng)、數(shù)據(jù)分析程序兩部分組成。這兩部分程序相互獨(dú)立,它們之間的交互是通過(guò)信號(hào)量和共享內(nèi)存的方式實(shí)現(xiàn)。
系統(tǒng)管理程序基于Qt開(kāi)發(fā)。Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面庫(kù),支持Linux平臺(tái)。系統(tǒng)管理程序主要完成報(bào)警文件瀏覽、文件拷貝、采集參數(shù)管理、磁盤(pán)(CF卡)更換、報(bào)警參數(shù)管理等人機(jī)相互功能。因?yàn)镼t是基于C++的,而Linux是基于C,因此在Qt訪問(wèn)Linux下用戶的函數(shù)時(shí),需在Qt中用關(guān)鍵字extern“C”聲明。
后臺(tái)程序?yàn)橹饕谇度胧絇PC Linux下開(kāi)發(fā)。本系統(tǒng)的任務(wù)劃分為:CAN通信、網(wǎng)絡(luò)監(jiān)聽(tīng)及報(bào)文分析。線程之間的數(shù)據(jù)共享采用互斥鎖保護(hù),以免陷入死鎖狀態(tài)。為了增強(qiáng)裝置通用性,關(guān)于測(cè)點(diǎn)設(shè)備的相關(guān)信息,根據(jù)現(xiàn)場(chǎng)實(shí)際需要事先寫(xiě)入XML文件中,當(dāng)系統(tǒng)啟動(dòng)時(shí)先讀取該文件內(nèi)容初始化監(jiān)聽(tīng)、分析程序的配置。其工作流程圖如圖5所示。
5 結(jié)束語(yǔ)
PPC405EP處理器具有低功耗、低成本、高性能特點(diǎn),本設(shè)計(jì)充分采用PPC 405EP的各種內(nèi)置外圍組件接口,簡(jiǎn)化設(shè)計(jì),降低成本。此監(jiān)測(cè)裝置已運(yùn)用于變電站的設(shè)備監(jiān)測(cè)中,且運(yùn)行效果良好。
評(píng)論