基于ZigBee的无线通讯加密系统设计*
2023-01-02岳晴晴潘晓阳孟祥冬
岳晴晴,潘晓阳,孟祥冬
(中科芯集成电路有限公司,江苏 无锡 214072)
1 引言
随着信息技术的发展,多设备协同工作越来越重要。目前的多设备协同工作多采用有线连接,但是有时设备距离过远,存在信号线缆过长、现场布线过于繁琐的问题,且需要人工手动连接。ZigBee是一种适用范围较广泛的短距离、低速率无线通讯技术,具有网络加密功能,广泛应用于农业、工业、国防等领域。为实现设备的灵活、便捷通讯连接,基于ZigBee的无线传输系统越来越被重视。通过ZigBee完成网络信息的交换,实现数据的无线传输,已成为ZigBee技术领域的一个研究热点[1-2]。
为满足不同设备之间的无线通讯要求,本文设计出将数字信号处理器(DSP)、ZigBee、控制器域网(CAN)相结合的无线通讯系统。
2 硬件设计
本文设计的无线通讯系统组成如图1所示,整个设备由DSP控制器、ZigBee无线收发电路、CAN总线收发器电路、加密电路、数据存储电路、RS422收发器及BOOT配置电路6个部分组成[1]。DSP选用德州仪器(TI)的TMS320F28335,通过DSP外围电路来实现各功能需求。
图1 无线通讯系统组成
(1)DSP控制器
TMS320F28335的主频最高可达150 MHz,可进行浮点数运算,将从CAN总线收到的数据进行处理后通过ZigBee转发出去。
(2)ZigBee无线收发电路
ZigBee采用周立功ZM32系列ZM32P2S24E模块,该模块基于Silicon Labs公司REF32系列无线片上系统开发,具有低功耗、高可靠性的特点,频率范围为2.4~2.5 GHz,采用串行通讯接口(SCI)通讯,具有协调器、路由、终端3种设备类型,能够实现点对点通讯、星型网络拓扑结构、中继路由结构3种组网方式,能对传输数据进行加密,并能随时对模块进行灵活配置。
(3)CAN总线收发器电路
CAN总线收发器电路主要包括隔离电路和CAN收发器电路,实现将DSP的CAN信号转换为符合CAN标准协议的差分信号,并通过光耦合器、瞬变电压抑制二极管(TVS)对其做隔离保护,防止CAN总线上产生的瞬间高电压对其造成损伤。
(4)加密电路
加密电路采用北京宏思的WNG4数字物理噪声源芯片,产生1 B的真随机数序列作为ZigBee模块的网络密钥,通过通用输入/输出(GPIO)接口与DSP进行数据交互;产生8 B真随机数序列作为加密算法的密钥对无线数据进行加密,保证无线数据传输的安全性。
(5)数据存储电路
数据存储电路主要包括静态随机存取存储器(SRAM)及2路带电可擦可编程只读存储器(EEPROM)。SRAM为并行接口,DSP通过外部扩展接口(XINTF)对其空间进行访问;EEPROM为串行外设接口(SPI),DSP处理器分别通过SPI总线及多通道缓存串口(McBsp)对EEPROM进行数据读写。
(6)RS422收发器及BOOT配置电路
RS422收发器及BOOT配置电路主要用来烧写DSP中的应用程序。
3 上位机软件配置
上位机软件运行于PC端,主要作用是配置与查询无线通讯系统的各种参数,使其可以正常工作,并进行数据收发的基本测试。本文通过调用CAN卡与无线通讯系统互联,最终实现了上位机软件与应用软件的通讯,主要实现功能包括连接状态检测、节点号配置与查询、CAN波特率配置、转发策略配置与查询、网络参数查询与配置、CAN数据与无线数据转发测试等。
上位机软件工作流程如图2所示。启动后首先选择硬件CAN卡、与下位机对应的波特率(默认为250 kbit/s)及通讯通道(默认通道0);然后进行CAN初始化,并设置与下位机相符的节点号;最后根据测试需要对下位机无线通讯系统进行相关配置,包括转发策略配置、CAN波特率配置、出厂编号配置等。
图2 上位机软件工作流程
4 应用软件设计与无线通讯
无线通讯系统应用软件运行于DSP,与上位机软件通过CAN总线进行通讯,根据上位机软件发送的配置命令对无线通讯系统进行配置管理,并联网进行无线数据的收发,实现如节点号配置、CAN总线波特率配置、上电次数查询、连接状态查询、软件版本号查询、创建网络、入网操作、转发策略配置、CAN总线在线升级[3-4]、数据加密等功能。
DSP软件数据处理控制流程如图3所示。DSP软件采用轮询加中断的方式:在CAN中断时将相应数据帧存入接收队列,在轮询函数时根据数据帧类型进行参数配置或对符合转发策略的数据进行加密转发;在串口中断时将接收到的数据存入串口接收队列,在轮询中进行解密处理,并将解密后的转发数据通过CAN总线发出。
图3 DSP软件数据处理控制流程
数据加解密的处理是最重要的部分,关系着整个系统的安全性。本系统采用数据加密标准(DES)算法,DES算法具有以下特性:(1)提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;(2)具有相当高的复杂度,使破译的成本超过收益本身,同时又便于理解和使用;(3)安全性由密钥决定,与算法本身无关,56 bit的密钥使算法的加密有256种结果;(4)算法实现简单,能够应用于多种场合。
5 系统功能测试
5.1 测试环境搭建
通过2台设备互联进行无线通讯系统功能测试,应用软件测试环境如图4所示。通过周立功USBCAN-2E-U实现无线设备与PC端的连接,上位机无线通讯系统测试软件通过CAN总线发送数据给无线通讯系统A,继而通过天线发送数据给无线通讯系统B,并通过CAN总线上传给上位机无线通讯系统测试软件。
图4 无线通讯系统应用软件测试环境
5.2 功能验证
测试环境搭建完成后,首先将DSP主频配置为80 MHz,将ZigBee串口波特率配置成115200 bit/s,将CAN波特率配置成250 kbit/s,通过PC上位机将无线通讯系统A的ZigBee模块配置为协调器,并创建网络。将无线通讯系统B的ZigBee模块配置为终端,并搜索网络入网,完成网络连接后,协调器下发WNG4随机产生的1 B网络密钥及8 B动态密钥给终端设备。接着配置各自的转发策略,并将在转发策略范围内的CAN帧以10 ms每帧的速度进行数据收发测试,测试结果如图5所示。在发送时间周期为10 ms时,进行10000帧数据的转发加密,数据转发未丢帧,加解密数据未失败,表明ZigBee通讯系统在增加DES算法后能够正常进行数据加解密、传输工作。DES算法的引进,不仅未引进新的通讯问题,还加强了网络的安全性能。
图5 数据收发测试结果
DES算法耗时性能测试结果如表1所示。DSP主频配置为80 MHz,每帧数据为标准CAN帧(数据为8 B),通过对10000帧数据进行多次加解密测试后发现,平均加解密耗时相近,为2.1425 ms左右,且加解密成功率均为100%,表明DES算法在DSP平台运行具有一定的稳定性及可行性。
表1 DES算法耗时性能测试结果
6 结论
本文提出了基于ZigBee的DES加密通讯系统,从器件选型、硬件设计、软件设计等方面对其进行了详细的介绍,并进行了系统级的测试验证。此设计方案能够满足需求,并能够保证系统的稳定性及安全性。该设计方案不局限于某种特定处理器和编程语言。在信息安全日益重要的今天,本研究为不同平台的加密通讯系统提供了一种可靠的方案。