《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于SPI雙機(jī)通信的弧光保護(hù)系統(tǒng)
基于SPI雙機(jī)通信的弧光保護(hù)系統(tǒng)
2015年微型機(jī)與應(yīng)用第2期
涂永飛,,王名傳
(中國能源建設(shè)集團(tuán)鎮(zhèn)江華東電力設(shè)備制造廠,,江蘇 鎮(zhèn)江 212017)
摘要: 針對(duì)弧光保護(hù)系統(tǒng)的實(shí)際需要,設(shè)計(jì)了一種基于SPI的雙機(jī)通信系統(tǒng),。簡要闡述了該系統(tǒng)的設(shè)計(jì)思路,并給出了具體的實(shí)現(xiàn)方法,。實(shí)驗(yàn)表明,,采用該方法能夠滿足實(shí)際工程中的需求,對(duì)于其他SPI的應(yīng)用也有很好的借鑒價(jià)值,。
Abstract:
Key words :

  摘  要: 針對(duì)弧光保護(hù)系統(tǒng)的實(shí)際需要,,設(shè)計(jì)了一種基于SPI的雙機(jī)通信系統(tǒng)。簡要闡述了該系統(tǒng)的設(shè)計(jì)思路,,并給出了具體的實(shí)現(xiàn)方法,。實(shí)驗(yàn)表明,采用該方法能夠滿足實(shí)際工程中的需求,,對(duì)于其他SPI的應(yīng)用也有很好的借鑒價(jià)值,。

  關(guān)鍵詞: 弧光保護(hù);SPI,;LPC1788,;協(xié)議

0 引言

  在一些重要的用戶變電站和發(fā)電廠的廠用電系統(tǒng)中[1],弧光短路是中,、低壓開關(guān)柜內(nèi)部最嚴(yán)重的故障,,由于電弧電阻的原因,短路電流往往達(dá)不到速斷整定值而不能快速動(dòng)作切斷故障,,造成嚴(yán)重的后果,。據(jù)統(tǒng)計(jì)資料表明,,近年來,每年每1 000臺(tái)開關(guān)柜就有7臺(tái)遭到損壞,,故障率為0.7%,,農(nóng)村配電網(wǎng)的概率更高,達(dá)1.2%,。有的甚至發(fā)展成“火燒連營”的事故,,這些配電網(wǎng)事故處理不當(dāng)甚至?xí)U(kuò)大發(fā)展為輸電網(wǎng)事故,造成重大的經(jīng)濟(jì)損失,。2010年,,云南電網(wǎng)下發(fā)了《關(guān)于在中低壓開關(guān)柜加裝電弧光保護(hù)的通知》,要求在所有的35 kV和10 kV開關(guān)柜中加裝電弧光保護(hù),,目前南方電網(wǎng)已在逐漸推廣,。

  中國能源建設(shè)集團(tuán)華東電力設(shè)備制造廠研制的ZHG-1A型智能弧光保護(hù)系統(tǒng)采用紫外光弧光檢測(cè)和過電流檢測(cè)雙判據(jù)原理,具有保護(hù)動(dòng)作速度快,、可靠性高等特點(diǎn),。它是一個(gè)模塊化系統(tǒng),包括主控單元,、電流單元,、弧光單元,系統(tǒng)構(gòu)成示意圖如圖1所示,。

001.jpg

1 弧光保護(hù)系統(tǒng)主控系統(tǒng)通信結(jié)構(gòu)原理與設(shè)計(jì)

  主控單元是電弧光保護(hù)系統(tǒng)的核心部件,,負(fù)責(zé)輸入量的采集、測(cè)量,、計(jì)算及邏輯判斷,實(shí)現(xiàn)系統(tǒng)的各項(xiàng)保護(hù)邏輯,、與站內(nèi)監(jiān)控系統(tǒng)通信等功能,。主控系統(tǒng)采用DSP+雙ARM結(jié)構(gòu),其中一塊ARM(A片)采用NXP公司的LPC178x芯片負(fù)責(zé)與站內(nèi)系統(tǒng)通信,,另一塊ARM(B片)同樣采用LPC178x芯片負(fù)責(zé)液晶顯示與DSP通信,。在與站內(nèi)監(jiān)控系統(tǒng)通信時(shí),A片ARM要把相關(guān)數(shù)據(jù)通過B片ARM傳遞給DSP,,為此兩塊ARM之間要進(jìn)行通信,。主控系統(tǒng)通信結(jié)構(gòu)如圖2所示。

002.jpg

2 SPI通信設(shè)計(jì)與實(shí)現(xiàn)

  2.1 SPI硬件實(shí)現(xiàn)

  LPC178x/177x系列的SSP是一個(gè)同步串行端口(SSP)控制器[2],,可控制SPI,、4線SSI或Microwire總線的操作。SSP可以與總線上的多個(gè)主機(jī)或從機(jī)交互,。但在一次給定的數(shù)據(jù)傳輸過程中,,總線上只能有一個(gè)主機(jī)與一個(gè)從機(jī)進(jìn)行通信,。數(shù)據(jù)傳輸原則上是全雙工模式,4~16位數(shù)據(jù)的幀由主機(jī)發(fā)送到從機(jī)或由從機(jī)發(fā)送到主機(jī),。SSP控制器共用以下4個(gè)管腳:

 ?。?)SCK:串行時(shí)鐘管腳,用來同步數(shù)據(jù)傳輸?shù)臅r(shí)鐘信號(hào),。它由主機(jī)驅(qū)動(dòng),,從機(jī)接收。無論主機(jī)往從機(jī)寫數(shù)據(jù)還是從從機(jī)讀數(shù)據(jù),,它的時(shí)鐘信號(hào)都是由主機(jī)的SCK管腳產(chǎn)生,,從機(jī)不產(chǎn)生時(shí)鐘信號(hào)。

 ?。?)SSEL:幀同步/從機(jī)選擇管腳,,當(dāng)作主機(jī)時(shí)此管腳可作為普通的I/O使用;當(dāng)作從機(jī)時(shí)此管腳不可用作普通I/O口,,只作為SSP的從機(jī)選擇,。主機(jī)其他的普通I/O管腳也可與從機(jī)的SSEL管腳相連,用作從機(jī)的片選,。

 ?。?)MISO:主機(jī)輸入從機(jī)輸出。MISO信號(hào)使串行數(shù)據(jù)從從機(jī)傳輸?shù)街鳈C(jī),。

 ?。?)MOSI:MOSI信號(hào)使串行數(shù)據(jù)從主機(jī)傳輸?shù)綇臋C(jī)。

  另外,,本系統(tǒng)在兩片ARM之間預(yù)留了兩根聯(lián)絡(luò)線,,以便通信不穩(wěn)定時(shí)便于調(diào)整。

  2.2 SPI軟件實(shí)現(xiàn)

  在雙機(jī)通信過程中,,主機(jī)發(fā)送采用查詢方式,,從機(jī)接收采用中斷方式。主機(jī)發(fā)送數(shù)據(jù)的同時(shí)也在接收數(shù)據(jù),,從機(jī)接收數(shù)據(jù)的同時(shí)也在發(fā)送數(shù)據(jù),。通過配置SSP寄存器,選擇SPI模式,、設(shè)置數(shù)據(jù)長度和通信速率,。由于設(shè)置從機(jī)接收到第4個(gè)數(shù)據(jù)時(shí)FIFO產(chǎn)生一次接收中斷,因此,,主機(jī)每次發(fā)送一組40個(gè)數(shù)據(jù),,從機(jī)只取前37個(gè)數(shù)據(jù)為有效數(shù)據(jù),后3個(gè)數(shù)據(jù)接收但作為假數(shù)據(jù)不用,;主機(jī)接收的前4個(gè)數(shù)據(jù)也為假數(shù)據(jù)不用,,后36個(gè)數(shù)據(jù)為有效數(shù)據(jù),。當(dāng)一組數(shù)據(jù)接收完成時(shí),調(diào)用數(shù)據(jù)處理函數(shù)進(jìn)行處理,。主機(jī)SPI流程圖如圖3所示,。

003.jpg

  在SPI通信中,主機(jī)向從機(jī)發(fā)送數(shù)據(jù),,如何判斷數(shù)據(jù)發(fā)送正確及接收完成SPI協(xié)議本身并未提供任何規(guī)范,。在設(shè)計(jì)中,固定數(shù)據(jù)發(fā)送的個(gè)數(shù),,定義表1所示的SPI數(shù)據(jù)幀結(jié)構(gòu),,可以很好地解決這個(gè)問題[3]。

004.jpg

  表1中,,起始字節(jié)表明一幀傳輸?shù)拈_始,,這里定義為0XFF;標(biāo)志字節(jié)表明此次傳輸?shù)臄?shù)據(jù)類型,,根據(jù)特定的應(yīng)用類型作具體的規(guī)定,;數(shù)據(jù)長度表明此次傳輸?shù)臄?shù)據(jù)長度,用字節(jié)數(shù)表示,;應(yīng)用服務(wù)數(shù)據(jù)為所要傳輸?shù)木唧w應(yīng)用數(shù)據(jù),。

  當(dāng)所有數(shù)據(jù)接收完成時(shí),根據(jù)SPI軟件協(xié)議,,標(biāo)志字節(jié)為0XAA表明此組數(shù)據(jù)為偽數(shù)據(jù),,可以不作處理,直接丟棄,。當(dāng)起始字節(jié)不是0XFF時(shí),,即表示此組數(shù)據(jù)接收數(shù)據(jù)有誤。在通信中,,主機(jī)每隔一段時(shí)間向從機(jī)發(fā)送數(shù)據(jù),,從機(jī)根據(jù)標(biāo)志字節(jié)判定是控制命令還是運(yùn)行狀態(tài)數(shù)據(jù)[4]。當(dāng)從機(jī)接收的是控制命令時(shí),,從機(jī)等待主機(jī)下一幀數(shù)據(jù)發(fā)送的同時(shí),把相應(yīng)的數(shù)據(jù)發(fā)給主機(jī),。

  下面給出從機(jī)的SSP1口初始化和SSP1的收發(fā)函數(shù)代碼,。

  (1)SSP1口初始化代碼

  void Slave_SSP1Init(void)

  {uint8_t i,;

  uint8_t uiDummy=uiDummy=0,;

  LPC_SC->PCONP|=(0x1<<10);

  LPC_IOCON->P0_7 &=~0x07,;//SSP CLK

  LPC_IOCON->P0_7|=0x02,;

  LPC_IOCON->P0_6&=~0x07,;

  LPC_IOCON->P0_6|=0x02;

  LPC_IOCON->P0_8&=~0x07,;

  LPC_IOCON->P0_8|=0x02,;//SSP MISO

  LPC_IOCON->P0_9&=~0x07;

  LPC_IOCON->P0_9|=0x02,;//SSP MOSI

  LPC_SSP1->CR0=0x07<<0|//數(shù)據(jù)長度為8位

  0x00<<4|//幀格式為SPI

  0x00<<6|//CPOL為0

  0x01<<7|//CPHA為1

  0x1D<<8,;

  LPC_SSP1->CPSR=0x2;//時(shí)鐘預(yù)分頻

  for(i=0,;i<8,;i++)

  {//清0接收FIFO

  uiDummy=LPC_SSP1->DR;

  }

  //從機(jī)模式

  if(LPC_SSP1->CR1&SSPCR1_SSE)

  {LPC_SSP1->CR1&=~SSPCR1_SSE,;}

  LPC_SSP1->CR1=SSPCR1_MS,;

  LPC_SSP1->CR1|=SSPCR1_SSE;

  LPC_SSP1->IMSC=0x04,;

  NVIC_EnableIRQ(SSP1_IRQn),;

  NVIC_SetPriority(SSP1_IRQn,4),;

  return,;

  }

  (2)SSP1收發(fā)函數(shù)代碼

  uint8_t SSP1RWFrames(Chip_SSP_DATA_SETUP_T *xf_setup)

  {

  uint8_t rdat,;

  uint8_t i,,uiDummy;

  LPC_SSP1->ICR=0x03,;while((LPC_SSP1->SR&(SSPSR_RNE))!=SSPSR_RNE),;*(xf_setup->rx_data+xf_setup->rx_cnt)=

  LPC_SSP1->DR;

  xf_setup->rx_cnt++,;

  while((LPC_SSP1->SR&(SSPSR_TNF|SSPSR_BSY))!=SSPSR_TNF),;LPC_SSP1->DR=*(xf_setup->tx_data+xf_setup->tx_cnt);

  xf_setup->tx_cnt++,;

  …

  }

3 結(jié)論

  本設(shè)計(jì)中,,兩個(gè)ARM的主頻都為100 MHz,使用公共外設(shè)PCLK時(shí)鐘,,通過SSP時(shí)鐘分頻器產(chǎn)生SPCLK時(shí)鐘,。在實(shí)驗(yàn)中也考慮過其他方案,由于SPI的接收中斷處理方式且又要實(shí)現(xiàn)主從機(jī)收發(fā)同時(shí),,發(fā)現(xiàn)本方案可行,。目前測(cè)試結(jié)果表明,SPI能很好地滿足它們之間高速的雙向數(shù)據(jù)傳輸要求,,其最高傳輸速率可達(dá)5 Mb/s,,解決了實(shí)際應(yīng)用中的雙機(jī)如何可靠通信等問題,,已成功應(yīng)用于弧光保護(hù)系統(tǒng),也可用于其他需要雙機(jī)通信的場合,。

參考文獻(xiàn)

  [1] 李從飛,,陳凡,魯雅斌,,等.DPR360ARC弧光保護(hù)系統(tǒng)設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,,2010,38(12):125-128.

  [2] NXP.LPC178x/7x用戶手冊(cè)[EB/OL].[2011-07-06].http://www.cn.nxp.com/documents/other/LPC177x-178x_UM_Simp CHN.pdf.

  [3] 王杰,,王小鵬,,趙國輝.采用SPI接口實(shí)現(xiàn)雙DSP雙向通信和同步[J].微型機(jī)與應(yīng)用,2010,,29(24):96-98.

  [4] 高振,,羅秋鳳.SPI接口與CRC算法在雙DSP數(shù)據(jù)通信中的應(yīng)用[J].電子產(chǎn)品世界,2011,,18(1):46-49.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。