CN101604304B - 一种多cpu间通信的方法和继电保护装置 - Google Patents
一种多cpu间通信的方法和继电保护装置 Download PDFInfo
- Publication number
- CN101604304B CN101604304B CN2009100768867A CN200910076886A CN101604304B CN 101604304 B CN101604304 B CN 101604304B CN 2009100768867 A CN2009100768867 A CN 2009100768867A CN 200910076886 A CN200910076886 A CN 200910076886A CN 101604304 B CN101604304 B CN 101604304B
- Authority
- CN
- China
- Prior art keywords
- cpu
- fram
- cpu1
- output port
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Multi Processors (AREA)
Abstract
一种多CPU间的通信方法,CPU间采用高速的全双工串行SPI通信方式,其特征在于所述CPU间设置铁电存储器FRAM,至少两个CPU的SPI口通过一个FRAM的SPI口相连,所述连有FRAM并通过其进行通信的CPU之间连接有防冲突通信线,所述CPU间通过FRAM发送和接收数据。本发明设计的多CPU间的通信方法,提高了CPU间的传输速度和可靠性,解决了两个CPU同时读写数据的冲突问题。将采用本发明的多CPU间的通信方法的装置用于继电保护设备中,使产品的可靠性和运算速度得到了充分保证。
Description
技术领域:
本发明属于电力系统自动化和继电保护技术领域,特别是涉及自动控制系统中的核心元件CPU间的通信方法和采用这种通信方法的装置。
背景技术:
现代电力系统中的自动装置、测量装置和继电保护装置绝大多数由微处理机、集成电路和电子元器件组成,这些自动装置、测量装置和继电保护装置统称为“智能电子设备”IED(Intelligent Electric Device)。随着大规模集成电路和微处理器技术的飞速发展,智能电子设备IED的核心元件CPU的功能和作用也步入了一个新的时代,许多IED需要多个CPU协同工作,如何解决多CPU间通信问题,如何提高CPU间的传输速率和效率以及传输的可靠性等问题,一直是自动控制领域中探讨和研究的问题。一般微处理器之间数据传输模式有并行传输和串行传输,并行模式传输速度快,但占用的数据线多,一般只限于短距离传输,在工业控制领域,CPU之间、CPU与外设之间一般采用串行模式进行数据传输,早期采用硬件UART接口,目前大多采用SPI、I2C等串行接口,尤其是SPI串行通信,由于其通信原理简单,占用的数据线少,协议简单,可实现高速全双工同步传输,而被普遍应用于工业控制领域中CPU之间、CPU与外设之间的数据传输中。由于串行传输是将数据一位一位进行传送的,以及SPI传输本身的特性,通信数据量较大时会耗费大量的系统资源,同时容易出现数据丢失和传输错误,对于实时性要求高和系统可靠性要求高的自动控制系统是不允许的。
发明内容:
本发明为克服现有技术的不足,提供了一种超高速、实时记忆的多CPU间通信的方法以及采用这种方法的装置,提高了CPU间的通信速度和CPU工作的灵活性,并可以使通信数据实时保存,掉电不丢失,通信原理简单,可靠性高。
本发明的技术方案如下:
一种多CPU间通信的方法,所述CPU采用高速的全双工串行SPI接口,其特征在于在所述CPU中的两个CPU之间设置铁电存储器FRAM,所述两个CPU的SPI口通过一个FRAM的SPI口相连,所述连有FRAM并通过其进行通信的CPU之间连接有防冲突通信线,所述连接有FRAM的CPU通过FRAM存储所发送和接收数据;所述防冲突通信线为通过FRAM进行通信的CPU之间的数据发送方CPU的输入输出口I/O与数据接收方CPU的外部中断EINT之间的连线和数据发送方CPU的外部中断EINT与数据接收方CPU的输入输出口I/O之间的连线。
所述数据发送方CPU将输入输出口I/O置于低电平时,再检测数据接收方CPU输入输出口I/O没有置低电平时,则数据发送方CPU向FRAM读写数据,并在FRAM的特定单元写入此次读写的特定标志,读写完成后数据发送方CPU的输入输出口I/O置高电平;所述数据接收方CPU的外部中断EINT在触发脉冲的上升沿激活时,先将数据接收方CPU输入输出口I/O置低电平,再检测数据发送方CPU输入输出口I/O没有置于低电平时,数据接收方CPU向FRAM读写数据,先读取特定标志,再读写数据,然后写入读写成功或失败的特定标志。
与一个FRAM的SPI口相连的CPU为两个,CPU1和CPU2,CPU1的输入输出口I/O接在CPU2的外部中断EINT上,CPU2的输入输出口I/O接在CPU1的外部中断EINT上。
所述CPU为LPC2200系列的嵌入式ARM。
所述铁电存储器FRAM为FM25CL256。
一种多CPU间通信的装置,所述CPU采用高速的全双工串行SPI接口,其特征在于还包括铁电存储器FRAM,所述CPU中的两个CPU的SPI口通过一个FRAM的SPI口相连,所述连有FRAM并通过其进行通信的CPU之间连接有防冲突通信线,所述连接有FRAM的CPU通过FRAM存储所发送和接收数据;所述防冲突通信线为通过FRAM进行通信的CPU之间的数据发送方CPU的输入输出口I/O与数据接收方CPU的外部中断EINT之间的连线和数据发送方CPU的外部中断EINT与数据接收方CPU的输入输出口I/O之间的连线。
所述CPU为两个:CPU1和CPU2,两个CPU的SPI接口分别与FRAM的SPI口相连,CPU1的输入输出口I/O连在CPU2的外部中断上,CPU2的输入输出口I/O连接在CPU1的外部中断上。
所述CPU为三个:CPU1、CPU2和CPU3,所述CPU1与CPU3之间连接一个FRAM1,CPU1与CPU2之间连接另一个FRAM2,CPU1的SPI1接口和CPU3的SPI1接口通过FRAM1的SPI口相连,CPU1的SPI0接口和CPU2的SPI0接口通过FRAM2的SPI口相连,CPU1的输入输出口I/O1连在CPU3的外部中断EINT1上,CPU3的输入输出口I/O1连在CPU1的EINT1上,CPU1的输入输出口口I/O0连在CPU2的外部中断EINT0上,CPU2的输入输出口口I/O0连在CPU1的EINT0上。
一种继电保护设备,其特征在于,该设备包含所述的多CPU间通信的装置。
本发明的技术效果:
本发明多CPU间通信的方法,通过至少两个CPU的SPI口分别与一个铁电存储器FRAM的SPI口相连,利用FRAM的中间传递和储存作用来实现CPU之间的通信,铁电存储器FRAM作为非易失性数据随机存储器,其快速存储和读取功能在本发明中起到了高效数据缓冲器的作用,因此本发明与一个FRAM相连的两个CPU之间通信时,可以将数据缓存到FRAM上,由FRAM在接收数据的CPU空闲时将数据传入,这实际上大大提高了CPU间的通信速率,也使CPU的工作更加灵活,更充分的利用了CPU的资源。FRAM利用铁电晶体的铁电效应实现数据存储,读写速度快,数据可以实时保存,掉电不丢失;由于两个CPU的SPI口通过一个FRAM的SPI口相连,因此为避免两个CPU同时读写的冲突,本发明在通过FRAM进行通信的CPU的输入输出口和外部中断之间连接防冲突通信线,解决了数据读写冲突的问题;由于SPI读写的特点,本发明设计的通信方式对于各种CPU间不同的SPI通信速度均相互兼容,主机、从机可动态改变,两个CPU都具有数据发送的主动权,因此该通信方式具有非常高的可靠性。
采用本发明的超高速的实时记忆的多CPU间通信方法的装置,CPU间通信速度可达到3.74Mbps,在高性能CPU支持下,最高可达到18Mb/s;本装置采用的FRAM为FM25CL256,可记忆最近CPU通信的256Kb数据,最大的FRAM可记忆4Mb;除LPC系列的CPU外,还可支持具有SPI接口其他种类的CPU,如DSP等。将该装置用于电力系统的继电保护设备中,使产品的可靠性和运算速度得到了充分保证。
附图说明
图1为本发明三个CPU之间的通信方法的原理框图。
具体实施方式
如图1所示,一种多CPU间的通信方法,所述CPU间采用高速的全双工串行SPI通信方式,CPU间设置铁电存储器FRAM,两个CPU的SPI口通过FRAM的SPI口相连。本发明有三个CPU协同工作,CPU1与CPU2之间,CPU1与CPU3之间分别连接一个FRAM,为建立相互兼容的开发平台,三个CPU均为LPC2200系列的嵌入式ARM。
对于CPU1和CPU2的通信,CPU1和CPU2的SPI0口通过FRAM2的SPI口相连,为避免两个CPU同时读写冲突,在CPU1和CPU2间再连接两根防冲突通信线,CPU1的输入输出口I/O0连在CPU2的外部中断EINT0上,CPU2的输入输出口I/O0连接在CPU1的外部中断EINT0上。
在通信时,如果CPU1需要向CPU2传送数据,它先将I/O0口置低,表示CPU1通信准备就绪,正在通信等待中。再检测CPU2的I/O0口状态,如果也置低,就表明CPU2正占用通信线路,软件随机延时后重新启动通信,如果CPU2的I/O0口没有置低,则CPU1可以向FRAM2读写数据,并在FRAM2的特定存储单元写入此次读写的特定标志,读写完成后将I/O0口置高。
此时CPU2对应的外部中断在触发脉冲的上升沿激活,CPU2立即进入中断程序,先将I/O0口置低,再检测CPU1的I/O0口状态,如果未置低,则表示允许通信,CPU2开始对FRAM2进行读写数据,先读取特定的标志位单元,根据标志位单元信息,读取FRAM2中数据,并在它的特定单元的CPU2位置上写入读取成功或失败的标志,读写完成后将I/O0口置高。
然后CPU1立即进入中断,读取标志位,如通信成功则立即退出。如果通信失败,则返回失败标志,再重新建立通信。重发次数根据系统设计的具体要求来设定。
如果是CPU2主动跟CPU1通信也是如此。
同样CPU1和CPU3之间通信也是这样。
应当指出,以上所述具体实施方式可以使本领域的技术人员更全面地理解本发明创造,但不以任何方式限制本发明创造。因此,尽管本说明书参照附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (9)
1.一种多CPU间通信的方法,所述CPU采用高速的全双工串行SPI接口,其特征在于在所述CPU中的两个CPU之间设置铁电存储器FRAM,所述两个CPU的SPI口通过一个FRAM的SPI口相连,所述连有FRAM并通过其进行通信的CPU之间连接有防冲突通信线,所述连接有FRAM的CPU通过FRAM存储所发送和接收的数据;所述防冲突通信线为通过FRAM进行通信的CPU之间的数据发送方CPU的输入输出口I/O与数据接收方CPU的外部中断EINT之间的连线和数据发送方CPU的外部中断EINT与数据接收方CPU的输入输出口I/O之间的连线。
2.根据权利要求1所述的多CPU间的通信方法,其特征在于所述数据发送方CPU将输入输出口I/O置于低电平时,再检测数据接收方CPU输入输出口I/O没有置低电平时,则数据发送方CPU向FRAM读写数据,并在FRAM的特定单元写入此次读写的特定标志,读写完成后数据发送方CPU的输入输出口I/O置高电平;所述数据接收方CPU的外部中断EINT在触发脉冲的上升沿激活时,先将数据接收方CPU输入输出口I/O置低电平,再检测数据发送方CPU输入输出口I/O没有置于低电平时,数据接收方CPU向FRAM读写数据,先读取特定标志,再读写数据,然后在FRAM的特定单元写入读写成功或失败的特定标志。
3.根据权利要求2所述的多CPU间的通信方法,其特征在于与一个FRAM的SPI口相连的CPU为两个,CPU1和CPU2,CPU1的输入输出口I/O接在CPU2的外部中断EINT上,CPU2的输入输出口I/O接在CPU1的外部中断EINT上。
4.根据权利要求3所述的多CPU间的通信方法,其特征在于所述CPU为LPC2200系列的嵌入式ARM。
5.根据权利要求3所述的多CPU间的通信方法,其特征在于所述铁电存储器FRAM为FM25CL256。
6.一种多CPU间通信的装置,所述CPU采用高速的全双工串行SPI接口,其特征在于还包括铁电存储器FRAM,所述CPU中两个CPU的SPI口通过一个FRAM的SPI口相连,所述连有FRAM并通过其进行通信的CPU之间连接有防冲突通信线,所述连接有FRAM的CPU通过FRAM存储所发送和接收数据;所述防冲突通信线为通过FRAM进行通信的CPU之间的数据发送方CPU的输入输出口I/O与数据接收方CPU的外部中断EINT之间的连线和数据发送方CPU的外部中断EINT与数据接收方CPU的输入输出口I/O之间的连线。
7.根据权利要求6所述的多CPU间的通信的装置,其特征在于.所述CPU为两个:CPU1和CPU2,两个CPU的SPI接口分别与FRAM的SPI口相连,CPU1的输入输出口I/O连在CPU2的外部中断上,CPU2的输入输出口I/O连接在CPU1的外部中断上。
8.根据权利要求6所述的多CPU间的通信的装置,其特征在于所述CPU为三个:CPU1、CPU2和CPU3,所述CPU1与CPU3之间连接一个FRAM1,CPU1与CPU2之间连接另一个FRAM2,CPU1的SPI1接口和CPU3的SPI1接口通过FRAM1的SPI口相连,CPU1的SPI0接口和CPU2的SPI0接口通过FRAM2的SPI口相连,CPU1的输入输出口I/O1连在CPU3的外部中断EINT1上,CPU3的输入输出口I/O1连在CPU1的EINT1上,CPU1的输入输出口I/O0连在CPU2的外部中断EINT0上,CPU2的输入输出口I/O0连在CPU1的EINT0上。
9.一种继电保护设备,其特征在于,该设备包含如权利要求6-8之一所述的多CPU间通信的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100768867A CN101604304B (zh) | 2009-01-24 | 2009-01-24 | 一种多cpu间通信的方法和继电保护装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100768867A CN101604304B (zh) | 2009-01-24 | 2009-01-24 | 一种多cpu间通信的方法和继电保护装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101604304A CN101604304A (zh) | 2009-12-16 |
CN101604304B true CN101604304B (zh) | 2011-09-07 |
Family
ID=41470039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100768867A Active CN101604304B (zh) | 2009-01-24 | 2009-01-24 | 一种多cpu间通信的方法和继电保护装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101604304B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11521139B2 (en) * | 2012-09-24 | 2022-12-06 | Amazon Technologies, Inc. | Providing system resources with secure containment units |
CN104408000A (zh) * | 2014-12-05 | 2015-03-11 | 浪潮集团有限公司 | 一种避免飞腾服务器上bios与bmc读取健康信息冲突的方法 |
CN105193408B (zh) * | 2015-11-04 | 2018-06-19 | 恩识医疗科技(上海)有限公司 | 一种贴附式动态心电记录仪及其系统 |
CN107168227B (zh) * | 2017-06-01 | 2019-09-10 | 杭州电子科技大学 | 多内核嵌入式plc的通讯控制方法和装置 |
CN108763139A (zh) * | 2018-04-20 | 2018-11-06 | 青岛海信电器股份有限公司 | 一种i2c通信的控制方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564147A (zh) * | 2004-03-31 | 2005-01-12 | 港湾网络有限公司 | 基于pci共享内存的双cpu通信系统 |
-
2009
- 2009-01-24 CN CN2009100768867A patent/CN101604304B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564147A (zh) * | 2004-03-31 | 2005-01-12 | 港湾网络有限公司 | 基于pci共享内存的双cpu通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101604304A (zh) | 2009-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101587462B (zh) | 高速数据通信链路中的usb数据传输装置及其数据传输方法 | |
CN101604304B (zh) | 一种多cpu间通信的方法和继电保护装置 | |
CN102012885A (zh) | 采用动态i2c总线实现通讯的系统及方法 | |
WO2012143953A4 (en) | Optimized multi-root input output virtualization aware switch | |
CN101345629A (zh) | 一种双现场总线接口转换器 | |
CN101000597A (zh) | 一种基于AMBA总线的嵌入式Java处理器IP核 | |
CN103677671A (zh) | 一种电口模块的数据读写方法和系统 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN104484301A (zh) | 一种基于fpga具有自识别功能的io总线装置 | |
CN202257553U (zh) | 一种通用串口到modbus的协议转换器 | |
CN101414291A (zh) | 一种主从分布式系统和应用于该系统的并行通信方法 | |
CN102521179A (zh) | 一种dma读操作的实现装置和方法 | |
CN102636987B (zh) | 双重化控制装置 | |
CN104484306A (zh) | 基于差分信号的主从同步串行通讯总线及其实现方法 | |
JP2009527815A5 (zh) | ||
CN103488600A (zh) | 通用从机同步串行接口电路 | |
CN202018576U (zh) | 单片机通信模块 | |
CN102419739A (zh) | 多主总线仲裁共享装置以及仲裁方法 | |
CN105718396A (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN202583967U (zh) | 一种基于mpc5200b处理器的lbe总线单板计算机 | |
CN203632688U (zh) | 基于PowerPC嵌入式系统的多功能通信接口机装置 | |
CN103092800B (zh) | 一种数据转换实验平台 | |
CN103049409B (zh) | 一种单向高速数据传输的控制方法 | |
CN104025198B (zh) | 相变存储器与开关(pcms)写错误检测 | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20091216 Assignee: Suzhou Wanlong Electric Group Co., Ltd. Assignor: Beijing Qinghua Huali Electrical Automation Technology Co., Ltd. Contract record no.: 2016320010008 Denomination of invention: Multi-CPU communication method and relay protection device Granted publication date: 20110907 License type: Exclusive License Record date: 20160226 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |