Microsemi 驱虫器运行安全 WebSmartFusion2 上的服务器
修订历史
修订历史描述了文档中实施的更改。
更改按修订列出,从最新的出版物开始。
修订版 9.0
以下是此次修订中所做更改的摘要。
- 更新了 Libero SoC v2021.1 的文档。
- 删除了对 Libero 版本号的引用。
修订版 8.0
更新了 Libero v11.8 SP1 软件版本的文档。
修订版 7.0
以下是本文档 7.0 版中所做的更改。
- Libero SoC、FlashPro 和 SoftConsole 设计要求已更新。 有关详细信息,请参阅设计要求,第 5 页。
- 在整个指南中,演示设计中使用的 SoftConsole 项目的名称和所有相关图形都已更新。
修订版 6.0
在本文档的修订版 11.7 中更新了 Libero v76931 软件版本 (SAR 6.0) 的文档。
修订版 5.0
更新了 SoftConsole 固件项目,第 9 页 (SAR 73518)。
修订版 4.0
更新了 Libero v11.6 软件版本 (SAR 72058) 的文档。
修订版 3.0
更新了 Libero v11.5 软件版本 (SAR 63973) 的文档。
修订版 2.0
更新了 Libero v11.4 软件版本 (SAR 60685) 的文档。
修订版 1.0
1.0 版是本文档的首次发布。
安全运行 WebSmartFusion2 设备上的服务器演示设计
使用 PolarSSL、lwIP 和 FreeRTOS
这个演示解释了安全 web使用传输层安全性 (TLS) 的服务器功能,
SmartFusion®2 设备的安全套接字层 (SSL) 协议和三速以太网媒体访问控制器 (TSEMAC)。 该演示描述:
- 使用连接到串行千兆媒体独立接口 (SGMII) PHY 的 SmartFusion2 以太网媒体访问控制 (MAC)。
- 将 SmartFusion2 MAC 驱动程序与 PolarSSL 库(免费的 TLS/SSL 协议库)、轻量级 IP (lwIP) TCP/IP 堆栈和免费的实时操作系统 (RTOS) 集成。
- 使用 Microsemi 加密系统服务来实现 TLS/SSL 协议。
- 实施安全的 webSmartFusion2 高级开发套件板上的服务器应用程序。
- 运行演示。
SmartFusion2 微控制器子系统 (MSS) 中的 TSEMAC 外设实例可以配置为以下列数据速率(线速)在主机 PC 和以太网网络之间传输数据:
- 10 Mbps
- 100 Mbps
- 1000 Mbps
有关 SmartFusion2 设备的 TSEMAC 接口的更多信息,请参阅 UG0331:SmartFusion2 微控制器子系统用户指南。
安全的 Web服务器演示设计结束view
安全 web服务器应用程序支持加密和解密消息的 TLS/SSL 安全协议,确保针对消息 t 的通信amp犯错。 来自安全的通信 web服务器确保可以将敏感数据转换为密码,使其难以获取amp呃数据。
安全 web服务器演示设计由以下几层组成,如图1所示:
- 应用层
- 安全层(TLS/SSL 协议)
- 传输层(lwIP TCP/IP 堆栈)
- 实时操作系统和固件层
安全运行 Web使用 PolarSSL、lwIP 和 FreeRTOS 在 SmartFusion2 设备上进行服务器演示设计
图 1 • 安全 Web服务器层
应用层 (HTTPS) | 自由RTOS |
安全层(TLS/SSL 协议) | |
传输层(IwIP TCP/IP 堆栈) | |
固件层 | |
SmartFusion2 高级开发套件 (HW) |
应用层
安全 web服务器应用程序在 SmartFusion2 高级开发套件板上实现。 应用程序处理来自客户端浏览器的 HTTPS 请求,并将静态页面传输到客户端以响应他们的请求。 这些页面在客户端(主机 PC)浏览器上运行。 下图是连接服务器的框图(Secure webSmartFusion2 设备上运行的服务器应用程序)和客户端(web 在主机 PC 上运行的浏览器)。
图 2 • 客户端服务器通信框图
图 2 • 客户端服务器通信框图
安全层(TLS/SSL 协议)
互联网浏览器和 web服务器使用 TLS/SSL 协议来安全地传输信息。
TLS/SSL 用于对服务器和客户端进行身份验证,以使用加密在经过身份验证的各方之间建立安全通信。 该协议位于传输协议 TCP/IP 之上,如图 1,第 3 页所示。开源 PolarSSL 库用于实施 TLS/SSL 协议以确保安全 web此演示中的服务器应用程序。
请参阅以下内容 URLs 完整的 TLS/SSL 协议实现细节:
- 传输层安全协议版本 1.2: http://tools.ietf.org/html/rfc5246
- 传输层安全协议版本 1.1: http://tools.ietf.org/html/rfc4346
- TLS 协议版本 1.0: http://tools.ietf.org/html/rfc2246
- 安全套接字层协议版本 3.0:http://tools.ietf.org/html/rfc6101
PolarSSL 库包括加密和 TLS/SSL 协议实现。 该库提供应用程序编程接口函数来实现安全 web使用 TLS/SSL 协议和软件加密算法的服务器应用程序。
有关用 C 编写的 TLS/SSL 协议库源代码和许可信息的更多信息,请参阅 https://polarssl.org/.
传输层(lwIP TCP/IP 堆栈)
lwIP 堆栈适用于嵌入式系统,因为它使用的资源很少,并且可以在有或没有操作系统的情况下使用。 lwIP 由 IP、互联网控制消息协议 (ICMP)、用户数据的实际实现组成tagram协议(UDP)和TCP协议,以及支持缓冲区和内存管理等功能。
lwIP 可作为 C 源代码(在 BSD 许可下)从以下地址下载: http://download.savannah.gnu.org/releases/lwIP/
实时操作系统和固件层
FreeRTOS 是一个开源实时操作系统内核。 此演示中使用 FreeRTOS 来确定任务的优先级和计划。 有关更多信息和最新的源代码,请参阅
http://www.freertos.org.
固件提供软件驱动程序实现来配置和控制以下 MSS 组件:
- 以太网 MAC
- 系统控制器服务
- 多模式通用异步/同步接收器/发送器 (MMUART)
- 通用输入输出(GPIO)
- 串行外设接口 (SPI)
设计要求
下表列出了此演示设计的硬件和软件设计要求。
表 1 • 设计要求
- 要求/版本
操作系统 64 位 Windows 7 和 10 - 硬件
SmartFusion2 高级开发套件:- 12 V 适配器
- FlashPro5编程器
- USB A 到 Mini-B 电缆
- 以太网电缆 RJ45
- 主机 PC 或笔记本电脑
- 软件
FlashPro 快递
笔记: 参考readme.txt file 在设计中提供 file用于此参考设计的软件版本。 - Libero ® 片上系统 (SoC),用于 view进行设计 files
- 软件控制台
- MSS 以太网 MAC 驱动程序
- 主机 PC 驱动程序 USB 到 UART 驱动程序
- 以下串行终端仿真程序之一:
- 超级终端
- 泰拉术语
- 油灰
- 浏览器
Mozilla Firefox 版本 24 或更高版本
Internet Explorer 版本 8 或更高版本
笔记: 本指南中显示的 Libero SmartDesign 和配置屏幕截图仅用于说明目的。
打开 Libero 设计以查看最新更新。
先决条件
开始之前:
下载并安装 Libero SoC(如 web此设计的站点)从以下位置在主机 PC 上。
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
演示设计
演示设计 file可从以下链接下载:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0516_df
下图显示了设计的顶层结构 file秒。 有关详细信息,请参阅 Readme.txt file.
图 3 • 演示设计 File顶层结构
演示设计功能
演示设计具有以下选项:
- 闪烁的 LED
- 超级终端显示
- SmartFusion2 谷歌搜索
演示设计说明
通过为十位接口 (TBI) 操作配置 TSEMAC,使用 SGMII PHY 接口实现演示设计。
有关 TSEMAC TBI 接口的更多信息,请参阅 UG0331:SmartFusion2 微控制器子系统用户指南。
Libero SoC 硬件项目
下图显示了此演示设计的 Libero SoC 硬件设计实现。
图 4 • Libero SoC 顶层硬件设计
Libero SoC 硬件项目使用以下 SmartFusion2 MSS 资源和 IP:
- TSEMAC TBI 接口。
- MMUART_0 用于 SmartFusion232 高级开发套件上的 RS-2 通信。
- GPIO:与发光二极管 (LED) 的接口
- 专用输入焊盘 0 作为时钟源
- 高速串行接口(SERDESIF) SERDES_IF IP:配置为SERDESIF_3 EPCS lane3,如下图所示。
有关高速串行接口的更多信息,请参阅 UG0447:IGLOO2 和 Smart-Fusion2 高速串行接口用户指南。
图 5 • 高速串行接口配置器窗口
- 密码系统控制器服务:实现 TLS/SSL 协议。
封装引脚分配
LED 和 PHY 接口信号的封装引脚分配如下表所示。
表 2 • LED 到封装引脚分配
端口名称 | 封装引脚 |
LED_1 | D26 |
LED_2 | F26 |
LED_3 | F27 |
LED_4 | C26 |
LED_5 | C28 |
LED_6 | B27 |
LED_7 | C27 |
LED_8 | E26 |
表 3 • PHY 接口信号到封装引脚分配
端口名称 | 方向 | 封装引脚 |
PHY_MDC | 输出 | F3 |
PHY_MDIO | 输入 | K7 |
PHY_RST | 输出 | F2 |
SoftConsole 固件项目
使用独立的 SoftConsole IDE 调用 SoftConsole 项目。
以下堆栈用于此演示设计:
- PolarSSL 库版本 1.2.8
- lwIP TCP/IP 堆栈版本 1.4.1
- 自由RTOS
下图显示了一个前amp演示设计的 SoftConsole 软件目录结构文件。
图 6 • SoftConsole 项目浏览器窗口
该项目包含安全 web使用 PolarSSL、lwIP 和 FreeRTOS 的服务器应用程序实现。
高级加密标准 (AES) 和非确定性随机位生成器 (NRBG) 系统服务用于实现安全 web服务器应用程序。 AES 和 NRBG 可以使用 SmartFusion2 硬件引擎或软件 PolarSSL 库来实现。 在此演示设计中,AES 和 NRBG 是通过系统服务使用 SmartFusion2 硬件引擎实现的。
表 4 • 用于启用或禁用系统控制器服务的宏
系统服务宏/宏定位
- 高级加密标准 (AES)
- #定义HW_AES 1
<$设计_Files_Directory>\m2s_dg0516_df\SF2_Secure_Web服务器_T
CP_Demo_DF\自由人\Web服务器_TCP\SoftConsole\Web服务器_TCP_M
SS_CM3\polarssl-1.2.8\include\polarssl\aes.h
- #定义HW_AES 1
- 北爱尔兰研究理事会
- #定义HW_NRBG 1
<$设计_Files_Directory>\m2s_dg0516_df\SF2_Secure_Web服务器_T
CP_Demo_DF\自由人\Web服务器_TCP\SoftConsole\Web服务器_TCP_M
SS_CM3\polarssl-1.2.8\包括\polarssl\ssl.h
笔记: 支持数据安全的 SmartFusion2 设备(如 M2S0150TS)支持系统服务 AES 和 NRBG。 如果 SmartFusion2 设备未启用数据安全,请禁用上表中提到的宏以使用软件 PolarSSL AES 和 NRBG 算法。
下图显示了用于演示的驱动程序版本。
图 7 • 演示设计驱动程序版本
- #定义HW_NRBG 1
使用 PolarSSL 库的 TLS/SSL 协议实现
TLS/SSL协议分为以下两个协议层:
- 握手协议层
- 记录协议层
握手协议层
该层由以下子协议组成:
- 握手: 用于协商服务器和客户端之间的会话信息。 会话信息包括会话 ID、对等证书、密码规范、压缩算法和用于生成所需密钥的共享密码。
- 更改密码规范: 用于更改用于客户端和服务器之间加密的密钥。 密钥是根据客户端-服务器握手期间交换的信息计算得出的。
- 警报: 警报消息是在客户端-服务器握手期间生成的,用于向对等方报告错误或状态变化。
下图显示了view TLS/SSL 握手过程。
有关握手协议、记录协议和加密算法的更多信息,请参阅 http://tools.ietf.org/html/rfc5246.
图 8 • TLS/SSL 握手过程
记录协议层
记录协议从应用程序接收并加密数据并将其传输到传输层。 记录协议将接收到的数据分段为适合密码算法的大小,并可选择地压缩数据。 该协议应用 MAC 或密钥散列消息身份验证代码 (HMAC),并使用握手协议期间协商的信息对数据进行加密或解密。
设置演示设计
以下步骤描述了如何为 SmartFusion2 高级开发套件板设置演示:
- 使用 USB A 转 mini-B 电缆将主机 PC 连接到 J33 连接器。 自动检测 USB 到通用异步接收器/发送器 (UART) 桥接器驱动程序。
笔记: 如果未自动检测到 COM 端口,请安装 FTDI D2XX 驱动程序以通过 FTDI mini-USB 电缆进行串行终端通信。 驱动程序和安装指南可在 www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - 将检测到的四个COM端口分别右键,点击属性,找到USB FP5 Serial Converter C上位置的端口,如下图所示。 记下串行终端配置时使用的COM端口号,如下图所示。
图 9 • 设备管理器窗口
- 连接SmartFusion2 Advanced Development Kit板上的跳线,如下表所示。 有关跳线位置的信息,请参阅附录 3:跳线位置,。
警告: 在进行跳线连接之前,关闭电源开关 SW7。
表 5 • SmartFusion2 高级套件跳线设置
- 在 SmartFusion2 高级开发套件中,将电源连接到 J42 连接器。
- 这个设计前amp文件可以在静态 IP 和动态 IP 模式下运行。 默认情况下,编程 files是为动态IP模式提供的。
- 对于静态 IP,使用 RJ21 电缆将主机 PC 连接到 SmartFusion2 高级开发套件板的 J45 连接器。
- 对于动态 IP,使用 RJ21 电缆将任何一个开放网络端口连接到 SmartFusion2 高级开发套件板的 J45 连接器。
电路板设置快照
SmartFusion2 高级开发套件板的快照以及所有已配置的设置在附录 2 中给出:运行安全的板设置 Web服务器,
运行演示设计
以下步骤描述了如何运行演示设计:
- 从以下位置下载演示设计: http://soc.microsemi.com/download/rsc/?f=m2s_dg0516_df
- 打开 SW7 电源开关。
- 启动任何串行终端仿真程序,例如:
- 超级终端
- 油灰
- 泰拉术语
笔记: 在此演示中使用 PuTTY。
该程序的配置是: - 波特率:115200
- 八个数据位
- 一站位
- 无奇偶校验
- 无流量控制
有关配置串行终端仿真程序的更多信息,请参阅配置串行终端仿真程序教程。
- 使用作业对 SmartFusion2 高级开发套件板进行编程 file 作为设计的一部分提供 file如果要使用 FlashPro Express 软件,请参阅附录 1:使用 FlashPro Express 对器件进行编程。
笔记: 该演示可以在静态和动态模式下运行。 要在静态 IP 模式下运行设计,请按照附录 4:在静态 IP 模式下运行设计中提到的步骤操作。 - 重新启动 SmartFusion2 高级开发套件板。
串口终端仿真程序中显示带有动态IP地址的欢迎信息,如下图所示。
图 10 • 用户选项
- PuTTY上显示的IP地址需要在浏览器的地址栏中输入才能运行安全 web服务器。 如果IP地址为10.60.3.120,则在浏览器地址栏输入https://10.60.3.120。 此演示同时支持 Microsoft Internet Explorer 和 Mozilla Firefox 浏览器。
运行安全 Web使用 Microsoft Internet Explorer 的服务器演示
以下步骤描述了如何运行安全的 web使用 Microsoft Internet Explorer 的服务器演示:
- 打开 Microsoft Internet Explorer 并键入 URL (例如amp乐, https://10.60.3.120) 在地址栏中。 浏览器显示警告信息,如下图所示。
图 11 • Microsoft Internet Explorer 显示证书错误警告消息
- 点击继续这个 web站点(不推荐)以开始与 web服务器。 Microsoft Internet Explorer 显示安全的主菜单 web服务器,如下图所示。
图 12 • Secure 的主菜单 WebInternet Explorer 中的服务器
运行安全 Web使用 Mozilla Firefox 的服务器演示
以下步骤描述了如何运行安全的 web使用 Mozilla Firefox 的服务器演示:
- 打开 Mozilla Firefox 浏览器并输入 URL (例如amp乐, https://10.60.3.120) 在地址栏中。 浏览器显示警告信息,如下图所示。
图 13 • Mozilla Firefox 显示警告消息
- 选择我了解风险并单击添加例外...。
- 在Add Security Exception窗口中点击Confirm Security Exception,如下图,开始与客户端进行安全通信 web服务器。 图 14 • 添加安全例外窗口
笔记: 仅首次浏览需要为 IP 地址添加安全例外。
笔记: 如果您在终端中收到任何握手失败消息,请忽略该消息。 - Mozilla Firefox 浏览器显示主菜单,如下图所示。
图 15 • Secure 的主菜单 WebMozilla Firefox 中的服务器
主菜单有以下选项:
- 闪烁的 LED
- 超级终端显示
- SmartFusion2 谷歌搜索
笔记: 可以使用 Microsoft Internet Explorer 或 Mozilla Firefox 验证这些选项 web 浏览器。 在此演示中,使用 Mozilla Firefox 演示了这些选项 web 瀏覽器。
闪烁的 LED
- 单击主菜单上的闪烁 LED。 您可以在 SmartFusion2 板上观察到运行中的 LED 模式。 这 web页面提供了一个选项,用于输入值以手动闪烁 LED,如下图所示。
图 16 • 闪烁的 LED 页面
- 输入 1-255 之间的任意数字以手动点亮 LED。 对于前ample,如果您输入 1,则闪烁的 LED1 熄灭。 如果输入 255,所有八个闪烁的 LED 都会熄灭。
- 单击主页返回主菜单。
笔记: SmartFusion2 高级开发套件具有低电平有效 LED。
超级终端显示
- 单击主菜单上的超级终端显示。 下图显示了一个 web提供输入字符串值选项的页面。
图 17 • 超级终端显示页面
输入的字符串显示在PuTTY上,如下图所示。
图 18 • PuTTY 上的字符串显示
- 单击返回一页(箭头按钮)或主页返回主菜单。
SmartFusion2 谷歌搜索
- 单击主菜单上的 SmartFusion2 Google 搜索。
笔记: 需要具有适当访问权限的 Internet 连接才能访问 SmartFusion2 Google 搜索页面。 下图显示了一个 web 带有谷歌搜索的页面。
图 19 • SmartFusion2 Google 搜索页面
- 单击主页返回主菜单。
附录 1:使用 FlashPro Express 对器件进行编程
本节介绍如何使用编程作业对 SmartFusion2 器件进行编程 file 使用 FlashPro Express。
要对器件进行编程,请执行以下步骤:
- 确保板上的跳线设置与表 5 中列出的相同。
笔记: 进行跳线连接时必须关闭电源开关。 - 将电源线连接到电路板上的 J42 连接器。
- 打开电源开关 SW7。
- 在主机 PC 上,启动 FlashPro Express 软件。
- 单击新建或从项目菜单中选择 New Job Project from FlashPro Express Job 创建一个新的作业项目,如下图所示。
图 20 • FlashPro Express 作业项目
- 在来自 FlashPro Express 作业的新建作业项目对话框中输入以下内容:
- 编程工作 file:单击浏览,然后导航到 .job 所在的位置 file 位于并选择 file. 默认位置是:
\m2s_dg0516_df\SF2_Secure_Webserver_TCP_Demo_DF\Programming_Job - FlashPro Express 作业项目名称:单击浏览并导航到要保存项目的位置。
图 21 • 来自 FlashPro Express 作业的新作业项目
- 编程工作 file:单击浏览,然后导航到 .job 所在的位置 file 位于并选择 file. 默认位置是:
- 单击确定。 所需的编程 file 被选中并准备在设备中进行编程。
- FlashPro Express 窗口如下图所示。 确认程序员编号出现在程序员字段中。 如果没有,请确认电路板连接并单击 Refresh/Rescan Programmers。
图 22 • 对设备编程
- 单击运行。 当设备烧录成功后,会显示 RUN PASSED 状态,如下图所示。
图 23 • FlashPro Express——运行通过
- 关闭 FlashPro Express 或在“项目”选项卡中单击“退出”。
附录 2:运行安全的电路板设置 Web服务器
下图显示了在 SmartFusion2 高级开发套件板上运行演示的板设置。
图 24 • SmartFusion2 高级开发套件设置
附录 3:跳线位置
下图显示了 SmartFusion2 高级开发套件板上的跳线位置。
图 25 • 高级开发套件板上的跳线位置
笔记: 以红色突出显示的跳线为默认设置。 以绿色突出显示的跳线必须手动设置。
笔记: 上图中的跳线位置是可以搜索到的。
附录 4:在静态 IP 模式下运行设计
以下步骤描述了如何在静态 IP 模式下运行设计:
- 右键单击 secure_web在SoftConsole工程的Project Explorer窗口中选择Server,选择Properties,如下图所示。
图 26 • SoftConsole 项目的项目浏览器窗口
下图为secure_Properties的Tool Settings选项卡中去掉符号NET_USE_DHCPweb服务器窗口。
图 27 • Project Explorer 属性窗口
如果设备以静态 IP 模式连接,则开发板静态 IP 地址为 169.254.1.23,然后更改主机 TCP/IP 设置以反映 IP 地址。 下图显示主机 PC TCP/IP 设置。
图 28 • 主机 PC TCP/IP 设置
下图显示了静态 IP 地址设置。
图 29 • 静态 IP 地址设置
配置这些设置后,构建固件,导入最新的 .hex file 进入 eNVM,并运行 Libero 设计。 如果 SmartFusion13 器件已使用 top_static.job 进行编程,请参见第 2 页的运行演示设计以在静态 IP 模式下执行设计 file.
笔记: 要在调试模式下运行应用程序,需要 FlashPro 编程器。
文件/资源
![]() |
Microsemi 驱虫器运行安全 WebSmartFusion2 上的服务器 [pdf] 用户指南 安全运行的驱虫器 WebSmartFusion2、Pest、Repeller 上的服务器安全运行 Web服务器在 SmartFusion2 上,在 SmartFusion2 上 |