基于SmartFusion2的I^(2)C多主多从通信设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 3 SmartFusion2 的 FPGA 逻辑资源图
3 程序设计
该 设 计 通 过 使 用 SmartFusion2 安 全 评 估 开 发 板 上 的 4 个 I2C 外 设 来 实 现 I2C 的 多 主 多 从 信 息 传 输 ,SmartFusion2 SoC FPGA 开 发 板 在 MSS 上 提 供 两 个 I2C 外 设 ,此 外 还 可 以 通 过 FPGA 上 的 I2C IP 核 来 实 现 另 外 两 个 I2C 外 设 。 I2C 的 连 接 方 式 如 图 4 所 示 ,其 中 MSS I2C_0 和 MSS I2C_1 由 MSS 提 供 ,Core I2C_0 和 Core I2C_1 由 开 发 板 上 的 FPGA -8-
2)具有零故障率(FIT)的 SEU 免疫能力,在内部 Cortex-M3、SRAM、以太网控制器、CAN 控制器、USB 等模块中均采用了 EDAC 校验功能。
3)静 态 功 耗 小 于 10 mW,在 采 用 flash freeze 模 式时,功耗可降至 1 mW,唤醒时间小于 100 μs。
SmartFusion2 片上系统芯片被广泛应用于军工和
-7-
《电子设计工程》2021 年第 13 期
图 2 传输帧格式
航空领域,欧洲空中客车公司的 A380 大型客机上采用 了大量 SmartFusion2(每架超过 1 000 只)。该产品不在 美国公禁运之列,所以可采购到军级产品,适用于卫 星。并且该处理器在国防科大的微纳卫星天拓三号上 进行了应用,已在轨飞行 2.5 年,在轨运行稳定可靠。
第 29 卷 第 13 期 Vol.29 No.13
电子设计工程 Electronic Nhomakorabeaesign Engineering
2021 年 7 月 Jul. 2021
基于 SmartFusion2 的 I2C 多主多从通信设计
陈世淼 1,倪淑燕 2,廖育荣 2
(1. 航天工程大学 研究生院,北京 101407;2. 航天工程大学 电子与光学工程系,北京 101407)
CHEN Shimiao1,NI Shuyan2,LIAO Yurong 2 (1. Department of Graduate Management,Space Engineering University,Beijing 101407,China; 2. Department of Electronic and Optical Engineering,Space Engineering University,Beijing 101407,
能和功能密度。文中详细介绍了 I2C 总线的基本工作原理和数据传输协议,介绍了 SmartFusion2 芯
片的架构和性能,阐述了设计的主要功能函数和调试过程。实验结果表明,该设计合理有效,满足
立方体卫星上的星务计算机与其他部组件的基本通信需求。
关键词:I2C 总线;SmartFusion2 芯片;立方体卫星;ARM 架构;现场可编程门阵列
该 设 计 选 择 的 是 SmartFusion2 开 发 板 ,其 内 部 集成了 166 MHz 的 ARM Cortex-M3 硬核处理器,在 SRAM、PLL 等普通外设的基础上,集成了高速乘法 器 、DDR2/3、CAN、USB 以 及 千 兆 以 太 等 高 级 外 设 。 图 3 是 SmartFusion2 的 FPGA 逻辑资源图。
随着电子科学技术的发展,卫星正在逐渐往小 势。目前,立方体卫星主要应用于对地观测和技术试
型化、集成化和模块化方向发展 ,其 [1-2] 中立方体卫星 验,并逐步在导航增强、空间安全和深空探测领域推
是近年来微小卫星领域的热点。立方体卫星是用来 广。立方体卫星由于体积、能源的限制,与大型卫 星
进行简单的太空观察的星标准立方体模块或其组合 的性能仍有较大差距,所以在进行立方体卫星设计
体的小卫星,具有成本低、周期短、可批量生产的优 时 ,要 选 择 能 耗 更 低 、功 能 密 度 更 高 的 部 组 件 [3- 。 4]
收稿日期:2020-06-16 稿件编号:2020060134
目前,卫星上常用的 X86、PowerPC 和 SPARC 架构处
基金项目:军队科研项目(1700050400)
中图分类号:TN919
文献标识码:A
文章编号:1674-6236(2021)13-0006-05
DOI:10.14022/j.issn1674-6236.2021.13.002
I2C communication design using multiple masters and multiple slaves based on SmartFusion2
模 块 生 成 ,MSS I2C_0 和 Core I2C_0 是 主 机 ,MSS I2C_1 和 CoreI2C_1 是 从 机 。 通 过 UART 接 口 将 开 发 板 与 PC 机 相 连 ,可 通 过 PC 机 实 现 对 主 从 组 合 、 从 地 址 、要 读 取 的 字 节 数 和 I2C 传 输 方 式 的 选 择 。 3.1 程序主要函数
2 SmartFusion2 芯片介绍
图 1 信号电平变化图
该 设 计 选 择 的 是 M2S090TS- 1FGG484,处 理 器 采用 ACTEL 的第四代 65 工艺的片上系统产品:基于 flash 架构,能够满足工业、军事、航空、通信和医疗领 域的高安全性、高可靠性和低功耗的片上 SoC 系统。
I2C 总 线 主 要 有 两 种 信 息 传 输 模 式 —— 写 入 数 据 和 读 取 数 据 。 该 设 计 为 了 简 化 程 序 设 计 ,封 装 了 一种写读模式——将写入数据和读取数据用一个重 复的启动信号连接起来的一种信息传输模式。3 种 传输模式的传输过程如下,传输帧格式如图 2 所示。
摘要:为了适应卫星小型化、集成化的发展趋势,采用 ARM 与 FPGA 相结合的 SmartFusion2 FPGA
为硬件开发平台,提出了一种适用于立方体卫星的 I2C 总线的多主多从设计。在立方体卫星上采
用设计简单灵活、稳定性高的 I2C 总线和高性能的 SmartFusion2 芯片,将大大提高立方体卫星的性
作者简介:陈世淼(1997—),男,河南濮阳人,硕士研究生。研究方向:电路与系统。 -6-
陈世淼,等 基于 SmartFusion2 的 I2C 多主多从通信设计
理器功耗较高、功能密度低,常用的 CAN、MIL-STD1553B、IEEE 1394、SpaceWire 功耗较高、数据传输过 程复杂,在立方体卫星上应用时会造成成本、能源和 运算能力的浪费,性价比低。
SmartFusion2 系列具有高的安全性、可靠性和低 功耗特性,具体表现在:
1)采用了基于 flash的最先进设计保护功能,可防止 篡改、克隆和伪造,采用了先进的加密标准 AES-256、 安全散列算法 SHA-256、384 位椭圆曲线密码引擎, 彻底改变了 FPGA 在安全性应用中的有效性。
China)
Abstract: In order to adapt to the development trend of miniaturization and integration of satellites, SmartFusion2 FPGA is used,which is the combination of ARM and FPGA,as the hardware development platform,and proposes a multi master and multi slave design of I2C bus which is suitable for cubesats. The performance and function density of cubesats will be greatly improved by using simple,flexible and high stability I2C bus and high performance SmartFusion2 chip. The basic working principle,data transmission protocol of I2C bus and the architecture and performance of SmartFusion2 chip are introduced,and the main function and debugging process of the design are described. The experimental results show that the design is reasonable and effective,which can meet the communication requirements between the OBC and other components on cubesats. Keywords: I2C bus;SmartFusion2;cubesat;ARM architecture;field programmable gate array
启动信号:在 SCL 处于高电平的条件下,SDA 由 高电平到低电平的跳变将产生启动信号。
结束信号:在 SCL 处于高电平的条件下,SDA 由 低电平到高电平的跳变将产生结束信号。
应答信号:所有的地址和数据字节都发送完成后, 接收设备将在第九个时钟周期发送一个零响应来确认 它收到了每一个字节。这个零响应就是应答信号。
针 对 以 上 问 题 ,提 出 了 一 种 适 用 于 立 方 体 卫 星 的基于 SmartFusion2 芯片的 I2C 总线多主多从通信设 计。SmartFusion2 是一种将 ARM 和 FPGA 结合的处理 器 ,具 有 高 安 全 性 、高 可 靠 性 和 低 功 耗 等 特 点 [5- 7],通 过其 FPGA 的强大功能可以完成复杂系统的设计和 实 现 ,极 大 地 提 高 立 方 体 卫 星 的 功 能 密 度 和 适 应 性 。 [8-10] I2C 总线具有设计简单灵活、成本低和稳定性 高的特点 ,适 [11-13] 合作为立方体卫星上的总线来连接 各 部 组 件 进 行 通 信 。 在 立 方 体 卫 星 上 应 用 Smart Fusion2 片上芯片和 I2C 总线,将在提高其功能密度, 降低成本方面,具有较高的实用价值。 1 I2C 总线介绍
I2C 总线是一种两线制、双向通信、同步的串行总 线 ,由 [13] 数据线 SDA 和时钟线 SCL 构成通信线路,各 个设备可以通过连接到总线上实现数据通信,各设备 之间通过地址来区分[14-15]。SDA 引脚一般通过外部设 备拉高。SDA 引脚上的数据变化可能仅在 SCL 的低 电平内发生,在 SCL 引脚处于高电平期间,SDA 引脚 上电平的变化将产生启动信号或结束信号。I2C 总线 在传输过程中的 3 种信号为启动信号、结束信号和应 答信号。图 1 为信号电平变化图。
I2C 主机通过监视 SDA 线路来判断总线是否处 于空闲状态。当总线空闲时,I2C 主机通过发送一个 起始位来启动数据传输,之后是目标从设备的 7 位 串 行 地 址 和 指 示 数 据 传 输 方 向 的 读/写 位 。 目 标 从 机收到数据后发送一个确认信号来告诉主机已经完 成对地址的接收。发送数据设备进行数据传输时每 次传输一个字节的数据,接收设备接收到数据后,将 发送一个确认位。当主机发送或传输完所有的数据 后 ,将 发 送 一 个 停 止 位 来 结 束 数 据 传 输 。 在 写 读 模 式下,数据写入完成后,将再次发送一个起始位来进 行 读 取 模 式 ,读 取 完 成 后 由 一 个 停 止 位 来 结 束 写 读 模式。