Chinese Journal of Ship Research

I2C I/O总线技术在舰船能量­管理系统 端口扩展中的应用

-

许智豪,李维波,华逸飞,徐聪,范磊

430070武汉理工­大学 自动化学院,湖北 武汉

摘 要:[目的]为处理舰船能量管理系­统的多个数字量信号,需实时获取并下达多个­底层被控电站的指令与­状态信号,进而对各个底层控制器­的接触器、继电器、断路器及能量链切换开­关依次实施有效的控制。STM32F407 I2C总线的双级隔离­系统,建立高级精简指令集机­器(ARM)、I2C [方法]将 作为微控制器,设计基于I/O I2C ARM 2总线与扩展 端口芯片的硬件架构。通过软件模拟 总线时序并利用 控制器的 个通用端口,可以方128 I/O I2C总线的实时性与­可靠性。[结果]ARM便地扩展 路 端口并确保 控制器能够按照既定的­能量管理策略I/O I/O对各个底层控制器的 端口进行有效、可靠地扩展与实时控制。[结论]在工程应用方面,该 端口扩展方法具备一定­的推广与参考价值。关键词:I2C总线;嵌入式系统;I/O端口扩展;PCA9554芯片;舰船能量管理系统中图­分类号:U662.9 文献标志码:A DOI:10.19693/j.issn.1673-3185. 01129 Xu Zhihao,Li Weibo,Hua Yifei,Xu Cong,Fan Lei School of Automation,Wuhan University of Technology,Wuhan 430070,China Abstract:[Objectives] This paper aims to implement the multiple digital signal processing of ship energy management systems. It achieves the real-time acquisitio­n and delivery of instructio­ns and state signals for multiple power stations,thereby enabling the efficient and sequential control of the relays, indicator lamps and energy chains of power stations. [Methods] Based on the STM32F407 microcontr­oller,a double-isolation system is designed for the I2C bus,the topology constructe­d via the Advanced RISC Machine(ARM),I2C bus and I/O expander chip,and the I2C bus timing imitated by two general purpose I/O ports. This not only easily extends the 128 I/O port but ensures the effectiven­ess and real time property of the I2C bus.[Results]This ARM controller can reliably control all the I/O ports of the underlying controller­s in real time according to the establishe­d energy management strategy. [Conclusion­s] This results of this research can be applied to other I/O port expansion engineerin­g practices,giving it high applicatio­n and promotion value. Key words:I2C bus;embedded system;I/O port expander;PCA9554 chip;ship energy management system 监测报警、输配电监控保护以及用­电设备的监控0引言管­理,是综合电力舰船的核心­控制部分之一。在舰船能量管理系统适­用于发电自动化、系统 能量管理系统中,底层控制器的数量很多,并且需

I/O要采集、发送大量的 指令信号和状态信号。如果将底层控制器的各­个部件、外围设备、I/O端口都分别采用独立­的线路与微处理器直接­连接,那么连线将会错综复杂,甚至难以实现。所以,有必I/O要采用总线技术并借­助 端口扩展处理芯片,从而最大限度地集成化­处理数量庞大的数字量­信号。I2C(Inter Integrated Circuit,I2C)总目前, 线主要应用于各类传感­器、模数转换器、存储芯片、实时时钟芯片等数据处­理芯片中。相较于其他总线接口,其结构简单、扩展性强,故可广泛应用于各种数­据采集系统,例如云服务器中的智能­家居控I2C制系统[1],以及在移动智能终端领­域中利用 总线集中处理智能终端­的多种传感器[2]。I2C总线具备良好的­可移植性,可以利用软件I2C I2C模拟 时序,并摆脱了处理器中 控制器的引脚范围限制。但同时,I2C也增加了软件处­理的过程,降低了处理器效率,存在可靠性不高的缺点,可能会在数据传输过程­中丢失或改变数据。为了I2C I2C提高 信号传输的可靠性,本文将增加 驱动芯片和专用隔离芯­片,以保证其波形的稳定性。I2C将介绍通过 总线采集控制大容量数­据的方法, CPU仅依靠串行数据­线(Serial Data,SDA)和串即行时钟线(Serial Clock,SCL)来实现与多个外围器I­2C件之间的全双工数­据传输。 总线系统为串行I2C­接口,传输速率快且结构简单,一条 总线上可I2C以连接­多个具有 接口的设备。通过硬件外围电路即可­确定各个器件的地址,再利用软件寻址即可方­便地扩展多型设备。本文将基于单片机的I/O I2C普通 端口和软件编程来模拟 总线,从而实现高级精简指令­集机器(Advanced RISC Machine, ARM)与 I2C 3-4]。接口器件之间的可靠通­信[

1 能量管理系统的硬件架­构

为了保证舰船能量管理­系统的正常运行,需要采集多路数字量来­获取当前电站的运行状­态,并根据读入的数字量和­集控台下达的指令来输­出1相应的数字量信号,用以控制各底层设备。图ARM所示为基于 控制器的能量管理系统­的硬件架构,其主要由顶层集控台、数字量信号处理模块及­底层各个电站的开关量­信号组成。首先,由具备光耦隔离功能的­数字量采集模块获取各­个舰船电站的出口断路­器状态信号、反馈量信号和配电I2­C板输入指令信号等;然后,通过 总线将所有的数字量输­入电平信号传输至信号­处理控制器,随 CAN即进行信号处理;最后,通过 总线和以太网与集控台­进行数据交互。同时,当集控台发出指令操作­数字量控制器时,信号处理控制器可以根­据所采集的信号来控制­参考电压,从而选择接触器、电源出口断路器分合闸、配电板指示灯等被控对­象并完成相应的逻辑互­锁等判断工作,用以避免底层器件的误­操作情况。

2 数字量信号处理硬件的­拓扑结构

CPU信号处理的硬件­部分主要由 最小系统、I2C I2C I2C专用隔离芯片、 驱动芯片、基于 总线的I/O端口扩展芯片及光耦­隔离芯片组成,基本结构2所示。首先,ARM I2C如图 输出的信号通过 专用1 ARM隔离芯片构成第 级隔离,以保证 读取数据I2C的抗干­扰能力;然后,通过 驱动芯片使隔离后I2­C I/O的 信号能够对多路 端口扩展芯片进行操2­作;最后,经由光耦隔离芯片构成­的第 级隔离, I/O端口扩展芯片接收或­控制外部数字量信号,用以防止外部干扰影响­系统内部的处理电路。其中,I/O端口扩展芯片可以配­置为输入模式CPU或­输出模式。当 将其配置为输入模式时,芯8片将读取外扩的 路输入信号的电平状态­并将其I2C转换为 信号,在时钟信号的配合下,可将数据CPU;当信号经由驱动芯片和­隔离芯片传输至CPU­将其配置为输出模式时,芯片将读取经由隔I2­C离芯片和驱动芯片放­大的 数据,并在时钟信号的配合下­由扩展芯片转换为电平­信号,用以驱动光耦隔离芯片­输出数字量[5-6]。

2.1 I/O端口扩展芯片

TI PCA9554/54A本文将选用 公司的 系列芯8位通用并行输­入/输出端口片,该芯片可以提供(General Purpose Input Output,GPIO)的扩展功能, 3 I2C其内部结构如图 所示,主要由 总线控制器、I2C移位寄存器、中断控制器等模块组成。通过 总PCA9554/54A线控制器与移位­寄存器的配合, 可I2C 8将其读取的 数据转换为 路输出信号,或在读8 I2C取 路输入状态后通过 总线将数据传输至控制­器处理。其中,上电复位模块可将所有­寄存器设置为默认值并­将器件状态初始化。 PCA9554/54A 3 A0,A1,A2)设置了 个管脚( 8来确定芯片的地址,最多可允许 个器件共用一I2C PCA9554 PCA9554A条 总线。 与 的唯一区别I2C 16在于固定 的地址不同,理论上最多可以允许9­554 9554A 8 I2C个器件( 和 各 个)连接到同一条总线上。

2.2 I2C专用隔离芯片

ADI ADM3260本文将­选用 公司的 产品作为 I2C 4隔离芯片,其内部结构如图 所示。该芯片集成了数据信号­隔离模块和电源隔离模­块,可以有1效减小外部的­共模干扰信号。芯片可以在高达MHz I2C的通信频率下处­理双向 通道信号,从而满足本文对数字信­号控制的响应速度要求。

2.3 I2C驱动芯片

TI PCA9517 I2C本文将选用 公司的 芯片作为5 5信号的驱动芯片,其内部结构如图 所示。由图可知,该驱动芯片采用了开漏­机制,故器件本身只能输出低­电平而无法主动输出高­电平,除非通过I2C外部上­拉电阻将信号拉至高电­平,因此必须在PCA95­17总线上设置上拉电­阻。由于 芯片引脚的6mA 5V最大灌电流为 ,故对于 的上拉电平而言, 1kΩ上拉电阻不宜低­于 ,以免损坏芯片端口或导­致输出低电平的幅值增­加。

3 I2C总线扩展I/O端口的实现方法 3.1 I2C总线的原理

I2C SDA SCL总线由一条 和一条 组成,从设备SCL将在 时钟信号的控制下读取­主设备传输的数据信号。当时钟信号为高时,读取数据线的电平信号;时钟信号为低时,允许改变数据线的电平­信号。根据选用的从设备通信­协议,可以对从设备进行寻址­和数据传输。I2C启动 总线后,主机即可对从设备进行­寻址I2C 1 8个操作。 从设备的地址为 个字节,即需要时间周期来完成­寻址操作,若某个从设备的地址对­应主机发送的地址,该从设备便在下一个时­钟周期反馈一个应答信­号,之后即可读取从设备的­I2C数据信息或对该­从设备进行写操作。分析了I/O I2C的读取时序之后,即可利用普通 端口模拟时序[7-9]。SCL SDA当 为高时, 由高到低的跳变定义为­SCL为低时,SDA启动信号;当 由低到高的跳变定义为­停止信号。1发送设备每发送 个字节,就在下一个时钟周期内­开始读取应答信号状态,由此来判断接收设备是­否正确收到了该字节。当应答信号为低电平时,表示接收设备已成功接­收该字节,即为有效号(Acknowledg­ment,ACK);当应答信号为应答信高­电平时,一般表示接收设备未成­功接收该字节, Negative Acknowledg­ment,即 为 非 应 答 信 号( NACK)。 由于需要在时钟信号为­高时读取数据,所以当从设备为发送设­备、主设备为接收设备时,ACK波形应在时钟信­号为高时保持为低。如果主设备1 1个为发送设备,则当其收到 个字节后即发送NAC­K信号,用以通知被控发送器结­束数据发送, I2C并产生一个停止­信号,由此结束 总线的本轮操作。I2C在 总线上传送的每一位数­据都有一个时SCL钟­脉冲与之对应(或同步控制),即在 串行时SDA钟的配合­下,在 上逐位串行传送每一位­数据。

3.2 I/O端口扩展的方法

6 I2C图 所示为 总线启、停信号的软件模拟方I­2C法。首先,根据 总线的启动信号和停止­信号波4μs形将时钟­信号保持为高电平,延时 后,将数据信号电平由高设­置为低;然后,发出启动信号,再将时钟信号设置为低­电平,准备发送或接收数据;最后,在发送停止时将时钟信­号保持为高电平,延4μs时 后,将数据信号电平由低设­置为高。 发送启动信号后,将由控制器发送芯片的­地址。芯片地址实际上由硬件­电路决定,地址长度1 7 8为 个字节,其中前 位为地址,第 位为数据方向位,这个方向位也决定了下­一个操作是接收还1是­发送。当主机收到该数据的应­答后,将写入个字节的控制指­令,0x00 PCA9554表示 之后的输0x01 0x03入端口寄存器, 表示输出端口寄存器,则表示输入/输出模式配置。若0x03设置为输入­8 0x03模式,则依次读取扩展的 路输入信号;若 设

1 8路置为输出模式,则发送 个字节以控制扩展的I/O PCA9554输出信­号。 端口扩展芯片 的写数 7据和读数据的时序如­图 所示,其中n为端口数据量。

4 工程应用示例

本数字量处理模块的主­要应用目标为控制舰船­能量管理系统的各个电­站开关量,为了验证工64程应用­效果,本文设计了一块含有 路拨码开关64 LED (数字量输入)与 路 发光二极管(数字量输出)的工装板。当拨通某一路输入开关­时,相应的LED灯便会发­光,以验证数字量采集、处理、输出I2 C PCA9554整个环­节的可靠性。通过 总线向 写8入字节的波形如图 所示。CPU 8 SDA在 发出启动信号后的 个周期内, 1 0x4A,对将发出 个字节的地址信号 应于输出板5 CPU的第 块芯片。收到应答信号后,即可认为与该芯片通信­正常。8个周期内,SDA 1在本轮操作之后的 将发出0x01,即将该芯片配置为输出­个字节的控制命令模式。收到应答信号后,CPU将控制该芯片输­出0xAA,而工装板上的输出状态­也设定的数据字节 0xAA。为 8 I2C由图 可知,模拟 总线时序可以有效控制­I/O I/O端口扩展芯片,从而实现 端口的扩展工作。目前,本文提出的舰船能量管­理系统的数字

量处理模块已完成电磁­干扰试验和环境试验,并已进行实船安装且运­行状态良好。9若从设备存在问题,则将会出现如图 所示1 CPU的情况[5]。即接受 个字节数据后,从设备向1 CPU发出 帧非应答信号,随后 将直接发送停止信号,并不再对该芯片进行操­作。

5结语

I2C本文采用软件编­程模拟 总线的方法,利用2 GPIO I2C个 端口实现了对 总线接口器件的访问, I2C扩大了串行扩展­总线 器件的应用范围。通过PCA9554/54A 128 I/O采用 芯片,可以最多扩展 个端口,有效节约了芯片的引脚­资源,简化了系统结构,并使得多个数字量的采­集与控制工作不再受I/O单片机自身 端口不足的限制。通过专用芯片ADM3­260,可 I2C以将 信号进行隔离,并适当增加I2C信号­的电平延时时间,从而大为提高系统的可­靠性。该系统易于移植到其他­单片机系统上,在工业控制领域具备一­定的推广与参考价值。I2C然而,采用软件模拟 波形时,虽然精简了CPU硬件­资源,但也占用了较多的 资源,故其数据100处理时­间比直接引脚访问增加­了 倍以上。因此,在设计系统时需要统筹­考虑,应在满足时序需求的情­况下尽量减少硬件资源­的占用。

参考文献:

1] 刘芮辰,李树江,刘帅. IIC [ 基于 和云服务器的智能计[J]. 计算机测量与控制,2017,家居控制系统设25(3):98-100. Liu R C Li S J ,Liu S. Design of smart home control

, I/O 149 system based on IIC and cloud server[J]. Computer Measuremen­t & Control,2017,25(3):98-100 (in Chinese). 2 李仙,宋晓梅. IIC [] 总线在移动智能终端领­域中的应用[J]. 电子设计工程,2013,21(21):114-116,119. LiX ,Song X M. Applicatio­n of IIC bus in smart phone design[J]. Electronic Design Engineerin­g,2013,21 (21):114-116,119(in Chinese). 3]马云,石秀华,贺天鹏. IIC [ 总线的四路舵机控制系­J .机械与电子,2012(5):35-39.统研究[] MaY Shi X H ,He T P. Study on four servo control

, system on IIC bus[J]. Machine & Electronic­s,2012 (5):35-39(in Chinese). 4 雍文. IIC []基于 总线的温度补偿晶体振­荡器数字控D .武汉:华中科技大学,2010.制逻辑设计[ ] Yong W. Digital control design of temperatur­e compen⁃ sating crystal oscillator based on IIC bus[D]. Wuhan: Huazhong University of Science and Technology,2010 (in Chinese). 5] . I2C MCU [ 李晶,吕肖晗 基于 总线的多 系统设计[J]. 现代电子技术,2015,38(9):16-18,24. LiJ ,Lü X H. Design of multi-MCU system based on I2C bus[J]. Modern Electronic­s Technique,2015,38 (9):16-18,24(in Chinese). 6] 王炳文,段小虎,张婷婷. I2C [ 基于可编程逻辑的 总线控制器设计及应用[J]. 工业控制计算机,2017, 30(5):21-22. Wang B W,Duan X H,Zhang T T. The design and ap⁃ plication of I2C controller based on PLC[J]. Industrial Control Computer,2017,30(5):21-22(in Chinese). 7]宋杰,陈岚,冯燕. I2C [ 一种 总线控制器的接口设计[J]. 信息与电子工程,2010,8(4):467-470. Song J,Chen L,Feng Y. An interface design for I2C bus master[J]. Informatio­n and Electronic Engineer⁃ ing,2010,8(4):467-470(in Chinese). 8] 肖建辉,袁易君. LPC2106 IIC E2PROM [ 基于 的 总线J]. 2010,26(17):的 应 用[ 微计算机信息, 184-185,178. Xiao J H,Yuan Y J. The applicatio­n of IIC E2PROM based on LPC2106[J]. Microcompu­ter Informatio­n, 2010,26(17):184-185,178(in Chinese). 9] . I2C总线、JTAG [ 张怡然 总线在电源管理类芯片­测试中的应用[D]. 上海:复旦大学,2010. Zhang Y R. Applicatio­n of I2C and JTAG buses to test of power management unit chips[D]. Shanghai:Fu⁃ dan University,2010(in Chinese).

 ??  ?? 扫码阅读全文
扫码阅读全文
 ??  ?? 图1 ARM基于 控制器的能量管理系统­的硬件架构Fig.1 Hardware architectu­re of the energy manage system based on ARM controller
图1 ARM基于 控制器的能量管理系统­的硬件架构Fig.1 Hardware architectu­re of the energy manage system based on ARM controller
 ??  ?? Fig.4 图4 隔离芯片的内部结构示­意图Schemati­c diagram of internal structure of isolated chip
Fig.4 图4 隔离芯片的内部结构示­意图Schemati­c diagram of internal structure of isolated chip
 ??  ?? Fig.3 图3 PCA9554芯片的­内部结构示意图Sch­ematic diagram of internal structure of PCA9554 chip
Fig.3 图3 PCA9554芯片的­内部结构示意图Sch­ematic diagram of internal structure of PCA9554 chip
 ??  ?? 图2数字量信号处理硬­件的拓扑结构Topo­logy of the digital signal processing hardware
图2数字量信号处理硬­件的拓扑结构Topo­logy of the digital signal processing hardware
 ??  ?? Fig.5 图5 I2C驱动芯片的内部­结构示意图Schem­atic diagram of internal structure of I2C drive chip
Fig.5 图5 I2C驱动芯片的内部­结构示意图Schem­atic diagram of internal structure of I2C drive chip
 ??  ?? Fig.6
Fig.6
 ??  ?? 图6 I2C总线启、停信号的软件实现方法­Software implementa­tion method of I2C bus start and stop signal
图6 I2C总线启、停信号的软件实现方法­Software implementa­tion method of I2C bus start and stop signal
 ??  ?? Fig.7 7 I/O PCA9554图 端口扩展芯片 的写数据和读数据时序­图Timing diagram of writing data and reading data for I/O port extension chip PCA9554
Fig.7 7 I/O PCA9554图 端口扩展芯片 的写数据和读数据时序­图Timing diagram of writing data and reading data for I/O port extension chip PCA9554
 ??  ??
 ??  ?? 图8 I2C PCA9554通过 总线向 写入字节的波形图Fi­g.8 The waveform of bytes is written to PCA9554 via the I2C bus
图8 I2C PCA9554通过 总线向 写入字节的波形图Fi­g.8 The waveform of bytes is written to PCA9554 via the I2C bus
 ??  ?? Fig.9 9图 非应答信号的处理波形­The processing waveform of negative acknowledg­ment
Fig.9 9图 非应答信号的处理波形­The processing waveform of negative acknowledg­ment

Newspapers in Chinese (Simplified)

Newspapers from China