基于龙芯平台的物联网实验系统的设计

2018-12-14 09:05畅丽红裴焕斗杨佩宗
现代电子技术 2018年24期
关键词:实验平台龙芯物联网

畅丽红 裴焕斗 杨佩宗

关键词: 物联网; 龙芯; 实验平台; 无线网络节点; ZigBee; Qt框架

中图分类号: TN915?34                      文献标识码: A                         文章編号: 1004?373X(2018)24?0183?04

Design of IoT experimental system based on Loongson platform

CHANG Lihong1,2, PEI Huandou1,2, YANG Peizong1,2

(1. National Key Laboratory of Electronic Testing Technology, North University of China, Taiyuan 030051, China;

2. Shanxi 100 Trust Information Technology Co., Ltd., Taiyuan 030006, China)

Abstract: In allusion to the current need of cultivating Internet of Things (IoT) and embedded type talents and the autonomous controllable trend of information technology, a design scheme of the IoT experimental system based on the Loongson processor independently developed in China is proposed. The experimental platform consists of the security reliable upper computer based on the Loongson 3B1500 multi?core processor and the wireless network node slave?computer based on the Loongson 1C300 single?core processor. The DL?LN33 wireless module is used to realize wireless Zigbee networking of sensors. The visualizable monitoring management software of the upper computer is designed by using the open source Qt framework and its expansion plug?in Qwt. The experimental project design is conducted according to the professional course content relevant to IoT. The testing results show that each part of the platform can operate normally and has good performance.

Keywords: IoT; Loongson; experimental platform; wireless network node; ZigBee; Qt framework

0  引  言

物联网被誉为世界上具有颠覆性意义的技术之一[1]。物联网是在互联网基础上扩展和延伸的网络,将进行信息交换和通信的用户端扩展到物品与物品之间[2]。随着越来越多的企业、科研院所及高校将大量的资源和精力投入到物联网技术的研究领域,物联网教育成为一种迫切的需要[3]。结合当前信息安全被高度重视的形势,发展自主可控的信息技术已成为一种趋势。开发一种基于国产平台的实用、可扩展性强的物联网实验平台意义重大。

本实验系统采用基于我国自主研发的龙芯处理器,基于标准MIPS架构与Linux通用操作系统,具有高性能、自主可控、系统开放等特点。本实验平台从底层处理器芯片到系统软件都由我国自主研发或移植,并根据相关专业教学课程需要进行精简与编制,既能满足正常教学需要,丰富的接口和开源的系统,还能给予学生更广阔的思维发展空间。

1  总体结构设计

本文基于龙芯平台的物联网实验系统整体面板框图如图1所示,其主要由两部分组成:基于龙芯1C处理器和CC2530的ZigBee无线传感器智能节点和基于龙芯3B1500处理器的上位机管理监控平台。其中,上位机主要完成下位机所需代码的在线编辑、编译、下载功能及对下位机无线传感节点的管理控制功能;而下位机无线传感智能节点主要完成采集数据、接收命令、发送数据等功能。拓展节点主要用于完成1C控制器的基本实验、拓展实验及作为ZigBee无线网络的sink节点打包发送上位机命令、打包接收下位机数据。以太网路由器用来在上电时将上位机及所有的节点接入同一个网络。电源模块将通用的220 V交流电压转换为12 V,5 V的直流电压。系统拓展节点与传感器/控制器节点之间通过ZigBee网络实现数据的传输,拓展节点与上位机之间通过串口实现数据传输。

2  下位机智能节点软硬件设计

2.1  无线智能节点硬件设计

系统下位机智能节点均由基于龙芯1C处理器的数据处理模块、传感器/控制器模块和深联创新DL?LN33无线自组网模块组成,此传感器网络能够实时地感知外部环境变量并通过ZigBee网络和串口把采集到的数据信息发送给上位机[4]。龙芯1C是基于GS 232处理器核的高性价比单芯片系统,主频300 MHz。为开发者提供丰富的外设接口及片上模块,包括Camera控制器、USB OTG及USB HOST接口、AC97/I2S控制器、LCD控制器、SPI接口、UART接口等,提供足够的计算能力和多应用的连接能力[5]。下位机智能节点具体结构如图2所示。节点引出3个串口,其中,UART2和以太网口用来进行节点软件的下载与移植;UART1用来连接数据处理模块和无线通信模块;UART3和I2C,SPI等接口一样,用来连接传感器/控制器模块。拓展节点不连接任何传感器/控制器。为了减小节点体积,这里硬件采取两层设计,电源和网口放在下层,其余部分放在上层,上下层通过板对板连接器连接。

2.2  智能节点软件设计

2.2.1  DL?LN33模块

DL?LN33无线自组网模块是一款基于UART接口的无线传输模块,工作在2 400~2 450 MHz公用频段,采用TI的CC2530芯片,支持无线自组网多跳传输,符合IEEE 802.15.4协议。该模块采用定向扩散型自组网协议,使用UART作为交互接口,模块无线频率为2.4~2.45 GHz,属于全球免费的无线频段。该模块工作时,会与周围的模块自动组成一个无线多跳网络,相比于其他常见的自组网无线通信解决方案,本方案更简洁、方便。

2.2.2  无线通信协议

DL?LN33模块使用Uart接口作为数据交互接口,接口参数:数据位8位,起始位1位,停止位1位,校验位无校验。该模块的uart接口波特率可被设置为115 200,可以和龙芯1C的串口进行通信。通信协议基本格式如图3所示。

其中,包头2 B,由FE和包的长度组成,包长为数据长度加4;源端口号1 B;目标端口号1 B;目标地址2 B;待传数据长度可变;包尾1 B,固定为FF。

将多个 DL?LN33模块配置成地址不同,信道和网络 ID 相同的状态,模块将组成一个网络。微控制器(MCU)或者电脑通过 Uart 告诉模块目标地址和待发送的数据,模块会通过网络选择最优的路径,将信息传输给目标模块,而目标模块将通过Uart输出源地址和上述数据[6]。图4为模块间一个简单的传输例程。

2.2.3  模块驱动移植

系统无线模块用Uart作为交互接口,移植协议的目标控制器是龙芯1C300B,因此需要编写1C300B的串口驱动程序。智能节点驱动程序层次图如图5所示。Uart收到1 B数据时通知协议驱动;协议驱动需要发送1 B数据时需要通知UART程序,并告诉UART发送1 B数据;UART发完1 B后,若这个字节不是0XFF,则通知协议驱动并获得下一个要发送的字节。应用程序需要发送包时,通知协议驱动发包;应用程序通知协议驱动,检查现在是否有包要发送。

发包程序:程序初始化,包是一个结构体,发包只需要调用一个函数。

收包程序:程序收到包后会自动存储在缓冲中,主函数需要不断调用收包函数,查看是否有包到达。驱动完成后,编写主程序,调用本驱动。

3  上位机软硬件设计

系统上位机能够实时处理传感网络的数据,并能在液晶屏上进行直观的显示;用户也可通过上位机监控管理平台来控制底层的控制设备,比如电机、LED调光灯等[7]。

3.1  上位机硬件选型

系统选用山西百信辰龍L1500?PT主板及键盘、鼠标、液晶显示屏等输入/输出设备作为上位机。该主板采用龙芯CPU、昆仑可信固件、华大半导体TPCM卡、中标麒麟可信操作系统,提供VGA接口、以太网口、USB 2.0,RS 232,SATA等接口。平台用到的接口主要有VGA接口、USB接口、以太网口和RS 232接口,其中VGA接口用来接显示器,USB接口、以太网口和RS 232接口用来进行程序的下载及数据的传输。龙芯3B1500是国产商用32纳米8核处理器,主频1.2 GHz,支持向量运算加速,峰值计算能力达到150 GFLOPS,具有很高的性能功耗比。龙芯3B1500主要用于服务器、桌面计算机、数字信号处理等领域[8]。

3.2  上位机界面软件设计

系统采用Qt开源框架及其扩展控件Qwt进行上位机界面监控管理软件开发。其中参数设置、命令发送及通信状态显示使用 Qt 内置类库实现;传感器的数据实时显示曲线及控制对象状态的显示则主要由扩展类库 Qwt实现[9]。

系统上位机软件结构主要由串口通信模块、数据解析模块和显示模块三部分组成。其中,串口通信模块采用QtSerialPort类进行相关程序的开发。程序中需要定义一个slot,并将其与这个signal相连接,每次收到数据,就可在slot完成数据读取,此时利用函数readAll()将串口缓冲区中的数据全部读取[10]。数据解析模块主要针对数据进行封包、解包。显示模块用来直接与用户进行交互,其主要有两个功能:将传感网接收到的数据直观地呈现给用户及将用户的输入传递给数据处理模块。用户通过操作此模块来实现对整个实验系统的控制。将拓展节点通过串口线与上位机相连接,依次打开各个传感器模块,并通过上位机进行各个模块数据解析与显示的测试,观察各个模块的数据显示是否正确,控制模块的响应和返回是否正确。上位机上电后如图6所示。经测试,各模块数据解析和显示正确无误,控制模块的控制响应迅速准确。以三维物体跟踪实验为例,在上位机管理软件主界面点击“三维物体跟踪”按钮,则进入该实验界面,点击实验界面“读取信息”按钮则显示当前传感器所采集到的数值,实验结果如图7所示。

4  实验设计

系统实验部分按复杂程度为:系统实验、基础实验、通信类实验、传感器类实验和对象类实验。系统实验主要包括交叉编译环境的搭建、Linux内核配置及编译打印实验;基础实验主要包括基于龙芯1C300的外部中断实验、定时器实验、按键实验等;通信类实验包括串口通信、ZigBee组网通信、GPRS通信及RFID读写实验等;传感器实验包括温湿度传感器、北斗定位实验、电机控制实验等;对象类实验包括直流电机/步进电机控制实验、语音录放实验等。除此之外,系统提供软硬件教学包,学生可以发挥自身技术优势,对系统软硬件进行二次开发,开发出更具创新意义的实验。

5  结  语

本文的创新点在于:系统上位机及下位机智能节点的主控芯片均采用我国自主研发龙芯微处理器,可以让学生在学习专业知识的同时认识并接触国人自己的技术,有利于促进国家自主可控事业的发展;传感器/控制器节点的主控制器是带有Linux系统的开源龙芯CPU,与传统的单片机相比,此方案更有利于学生对Linux相关知识的学习及系统二次开发;上位机采用L1500?PT安全可靠主板可实现在线编程、在线访问及实验数据的安全传输;实验结果以可视化方式展示,效果直观,通过实时状态监控,实现对整个实验过程的控制。

参考文献

[1] GUBBI J, BUYYA R, MARUSIC S, et al. Internet of Things (IoT): a vision, architectural elements, and future directions [J]. Future generation computer systems, 2013, 29(7): 1645?1660.

[2] MADAKAM S, RAMASWAMY R, TRIPATHI S. Internet of Things (IoT): a literature review [J]. Journal of computer & communications, 2015, 3(5): 164?173.

[3] 孙冠男.基于ZigBee协议的物联网实验教学平台的设计与开发[D].济南:山东师范大学,2014.

SUN Guannan. Design and development of experimental teaching platform of IoT based on ZigBee protocol [D]. Jinan: Shandong Normal University, 2014.

[4] 贾伟.物联网的数据采集与信息传输技术研究[J].现代电子技术,2016,39(5):33?37.

JIA Wei. Research on data acquisition and information transmission technology of Internet of Things [J]. Modern electronics technique, 2016, 39(5): 33?37.

[5] 龙芯中科技术有限公司.龙芯1C300处理器数据手册(V1.3)[EB/OL].[2015?08?04].http://www.loongson.cn/uploadfile/cpu/1C/Loongson_1C300_data.pdf.

Loongson Technology Corporation Limited. Datasheet of Loongson 1C300 processor (V1.3) [EB/OL]. [2015?08?04]. http://www.loongson.cn/uploadfile/cpu/1C/Loongson_1C300_data.pdf.

[6] 深联创新.DL?LN3X系列2.4G自组网无线通信模块[EB/OL].[2016?08?30].https://wenku.baidu.com/view/940ba675f342336cl?

eb91a37f111f18583d00c7b.html.

Shenlian Innovation. Introduction for DL?LN3X family 2.4G multi?hop Ad Hoc WSN modules [EB/OL].[2016?08?30].https://wenku.baidu.com/view/940ba675f342336c1eb91a37f111f18583

d00c7b.html.

[7] 刘飞.基于ZigBee的物联网实验平台的设计与实现[D].济南:山东科技大学,2014.

LIU Fei. Design and implementation of the IoT experiment platform based on ZigBee [D]. Jinan: Shandong University of Science and Technology, 2014.

[8] 龙芯中科技术有限公司.龙芯3B1500处理器数据手册[EB/OL].[2013?05?10].http://www.loongson.cn/uploadfile/cpu/3B1500/Loongson_3B1500_cpu_data.pdf.

Loongson Technology Corporation Limited. Datasheet of Loongson 3B1500 processor [EB/OL]. [2013?05?10]. http://www.loongson.cn/uploadfile/cpu/3B1500/Loongson_3B1500_cpu_data.pdf.

[9] 卢华伟,秦品健,郑锐.基于Qt/Qwt的操作监控系统的设计与实现[J].微计算机信息,2010,26(1):72?74.

LU Huawei, QIN Pinjian, ZHENG Rui. Design and implementation of operating monitoring system based on Qt and Qwt [J]. Microcomputer information, 2010, 26(1): 72?74.

[10] 徐东,刘敬猛,李善锋,等.一种基于跨平台Qt的数控人机交互方法设计[J].组合机床与自动化加工技术,2012(7):30?32.

XU Dong, LIU Jingmeng, LI Shanfeng, et al. Design of human?CNC interaction based on the Qt software [J]. Modular machine tool & automatic manufacturing technique, 2012(7): 30?32.

猜你喜欢
实验平台龙芯物联网
基于国产化龙芯的动环数据采集系统
云计算在职业院校中的应用与思考
生物医学工程专业创新人才培养策略
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者
“龙芯之父”胡伟武
基于LabVIEW的虚拟实验平台设计
龙芯发布新一代处理器产品
“龙芯1号”:电脑中国“芯”