基于ZYBO开发平台的智慧环保监测及数据采集系统设计

2018-04-07 19:10高寒
电子设计工程 2018年5期
关键词:开发板嵌入式芯片

高寒

(北京工业大学信息学部,北京100124)

智慧环保是数字环保概念的延伸和拓展[1]。近年来4G、云计算、高清、智能分析等新技术逐渐渗透环保行业的各个领域,环保监控与业务需求融合渐深[2]。利用物联网、传感器、全球定位系统、视频监控和大数据等技术能够助力智慧环保的推进,实现精确、精准的环境管理和决策[3]。

当今环保监测系统在发展中遇到很多问题,如,监测地区偏远、设备种类多、维护难等问题使监测环境时常对监测系统的集约智能化程度要求较高[4];数据传输的实时性和准确性有待提高;屡禁不止的环保监测数据造假问题亟待解决;接入环保云和环保大数据平台的功能欠缺[5];3S技术的应用需求[6]…这些问题决定了环保监测系统向高集成、智能化和强运算能力上发展。本文中,系统采用Zynq SoC作为硬件处理器的核心不仅可以解决产品性能与体积之间的矛盾,而且可以使信号处理更加高速化与功能化;LTE传输模块改善系统实时性;网络摄像头可助力环保监控现场视频监控应用的开发,集成GPS模块获得系统的位置信息方便应用GIS技术进行精确的平台管理。

1 基于ZYBO平台的硬件总体设计

Xilinx推出的Zynq SoC芯片由PS和PL两部分组成:PS(Processing System,处理系统)部分集成了两 个 ARM Cortex A9处理器,PL(Programmable Logic,可编程逻辑)部分为Xilinx 7系列28nm工艺的FPGA[7]。在Zynq的片上设计中,PS和PL之间的数据交互通过 AXI(Advanced eXtensible Interface)接口实现,同时是软硬件协同设计的关键[8]。

本文中应用的开发板是Digilent的一款接口丰富且低成本Zynq开发板ZYBO,在硬件工程中使用的资源包括:一颗Xilinx XC7Z010-CLG400芯片,两片Micron的MT41J128M16JT-125共计512M bytes的DDR3内存,10/100/1000M自适应以太网,USB OTG,USB转UART调试串口,micro SD卡和用以开发板扩展的Digilent Pmod接口连接器。在扩展板上实现的硬件功能包括为供电电源模块、LTE模块、2路UART转RS232模块、3路UART转RS485模块、北斗/GPS多模定位模块、温度传感器模块。硬件总体设计框图如图1所示。

图1 智慧环保硬件系统框图

2 硬件模块详细设计

2.1 Zynq硬件工程

Zynq SoC在设计思路上采用以ARM处理器为主,FPGA作为ARM的协处理器的方式[9]。本系统的设计为遵循这一设计思路,优先使用PS端的通用外设,当ARM资源不够用时使用PL端资源作为IO扩展。ZYBO开发板将1个USB控制器、1个以太网控制器和1个UART控制器通用外设端口由Zynq的PS部分引出,可以直接被用户配置使用。而面对多种类型环保监测设备的接入需求和智慧环保系统的集成度要求,只有这些外设接口数量是不够的,需要扩展接口。通过调研市场上环保检测设备的接口可知,多数的有线传输为RS232或RS485接口标准,即是在ZYBO原有PS端资源的基础上使用PMOD接口连接器扩展多个UART控制器接口,再将TTL或CMOS电平通过转换芯片转成RS232和RS485电平。

UART接口在Zynq SoC上实现有两种方法,一种是通过PS部分的外设资源,另一种是使用IP核。PS端有UART0和UART1两个UART控制器,其中UART1已经作为ZYBO开发板的调试串口(USBUART),因此可将UART0接口通过PS端剩余的MIO引脚或PL端的EMIO引脚引出。这两种PS端资源的引出方式体现了Zynq SoC PS+PL架构的灵活性。使用IP核的方法也是十分简单易用的,即使用Xilinx官方提供的UART Lite IP核。UART Lite IP核是面向AXI4-Lite协议且具有UART通信功能的软IP核,它具有全双工、16位收发FIFO、波特率和校验方式可配置的特点。本论文中同时使用了这两种UART的实现方式。UART Lite IP核如图2所示。

Zynq SoC的片上设计通过Vivado开发套件完成,首先添加Zynq-7000的IP核,导入ZYBO开发板的定义文件,并配置PL-PS共享中断端口,这样使PS端的资源与ZYBO开发板对应起来,同时允许PL端发起中断请求。根据环保监控系统的需求,在Vivado中添加了8个UART Lite IP核用于扩展8个UART口;一个8输入的Concat IP核和一个或门IP核用于UART控制器的中断请求功能。在进行Block Design的布线和布线优化并验证IP核连接的正确性后,进行管脚约束文件的编写。工程中使用了PL端的UART和EMIO功能,将这些用到的管脚约束到ZYBO开发板的JB、JC、JD PMOD连接器上,约束完成后进行综合、实现和生成比特流即可。

Vivado提供了工程实现后的资源查看功能,资源的利用情况,本文中PL部分实现后的硬件资源使用情况如表1所示。

图2 UART Lite IP核

表1 Zynq SoC PL端资源使用情况

Zynq-7010的PL部分采用了ATRIX 7系列FPGA。根据表格显示,在配置8个串口之后,PL端资源仍有很大利用空间。

2.2 LTE无线传输模块

本文中智慧环保系统数据上传至云平台(上位机)的方式为无线LTE。LTE较2G和3G网络传输有更高的传输速率,适合发送/接收实时并发的数据[10]。LTE模块硬件由无线数据终端模块和SIM卡组成,无线数据收发终端型号为:ME909s-821模块外观为mini PCIe,接口为标准USB2.0,通过公对公USB线与ZYBO开发板的USB-OTG口相连。模块接口连接如图3所示。

图3 LTE模块

由图3可知,除USB接口外,还使用了LTE收发终端用于复位的管脚PERST#。系统中LTE模块复位使用两个Zynq的GPIO资源,一个用于无线收发模块的复位脚,一个用于LTE供电的使能脚。

2.3 环境感知模块

2.3.1 网络摄像头

智慧环保系统的环境感知功能主要包括网络摄像功能、GPS定位功能和温度传感器功能。网络摄像头用于视频监控环境监测点仪器的现场情况,通过应用层的开发可以达到实时监测、异常判断、模式识别等作用,达到一定程度上防止人为对环保数据造假的目的[11]。在ZYBO开发板上,以太网PHY采用了10/100/1000M自适应的Realtek RTL8211E-VL芯片,该以太网接口作为视频的传输接口。

2.3.2 GPS/北斗定位模块

GPS和北斗定位可应用于GIS技术建立精确的环境空间数据库,结合大数据技术助力智慧环保的数据研究和数据共享[12]。本硬件系统的定位模块采用集成了ARK 699芯片的VK1613A9M3模块,它可以工作在 GPS,GALILEO,QZSS:L1 1575.42 MHz,C/A code BEIDOU:B1 1561.098 MHz的频率上,满足NMEA 0183 v2.3协议。该模块采用3.3 V供电,定位时工作电流约100 mA,通信接口为UART,默认波特率为9 600。基于模块的上述特性,在设计扩展板时使用ZYBO开发板PMOD口进行供电和通信,布局时尽量远离易产生干扰的电子元件,模块背面铺完整的铜使模块良好接地。模块的RF_IN为射频天线引脚,在POLAR SI软件上计算得到走线宽度和走线与铜皮间距后走50欧姆阻抗线连接至IPEX贴片天线座上,通过IPEX-SMA转接线连接到GPS专用天线上。

2.3.3 温度传感器

采用DS18B20温度传感器,用于监测整个硬件系统内的温度,配置一个PL部分的EMIO脚连接至DS18B20的DQ数据管脚。

2.4 RS232及RS485传输

RS485转UART功能采用3颗MAX13487e芯片实现。MAX13487e是+5 V供电、8引脚SO封装、半双工、具有±15 kV ESD保护的RS-485/RS-422兼容收发器,包含一路驱动器和一路接收器,低摆率驱动器能够减小EMI和不恰当的电缆端接所引起的反射,实现高达500 kbps的无差错数据传输。器件可工作于-40~+85°C工业级温度范围,支持热插拔和自动选向控制功能。RS485连接通常为2线(A+和B-线)或3线(A+、B-和GND线)制,因此采用螺丝式PCB接线端子的外观,接线顺序为A+,B-,GND。电路原理如图4所示。

图4 RS485模块电路图

RS232转UART功能采用MAX3232芯片实现。MAX3232采用专有低压差发送器输出级,利用双电荷泵能在3.0~5.5 V电压供电情况下,确保120kbPS数据速率同时保持RS232输出电平。器件需4个0.1 μF的外部小尺寸电荷泵电容,耗电0.3 mA。RS232连接器外观为DB9公头。电路原理如图5所示。

图5 RS232模块电路图

2.5 电源供电设计

扩展板电源适配器的输出参数为DC 12V 2A。扩展板采用两颗TI的TPS5450 DC-DC转换芯片,一颗是12 V转5 V,用于给ZYBO开发板、MAX3232芯片和MAX13487e芯片供电;另外一个用于12 V转3.8 V,用于给LTE模块供电。智慧环保硬件系统是功能比较复杂的体系,当某一功能模块发生异常时,可以通过将其供电芯片重新上电的方式达到对整个功能模块的可靠复位。常见的供电芯片在设计时都预留了使能引脚,在设计中将3.8V供电芯片TPS5450的ENA脚上拉后与Zynq PL端的EMIO相连,通过GPIO输出高低电平来控制整个LTE模块重启。

扩展板的外观如图6所示,尺寸与ZYBO开发板相同。

图6 扩展板实物图

3 嵌入式Linux操作系统配置

3.1 操作系统文件生成

嵌入式Linux是体积小巧、可裁剪、配置灵活、广泛应用于嵌入式设备开发的操作系统[13],基于ARM架构的嵌入式Linux系统应用非常广泛[14]。Zynq-7000 SoC与其他的Xilinx 7系列器件不同,在没有外部JTAG的情况下,整个SoC的PS和PL端都必须由PS部分的CPU来完成整个芯片的初始化配置[15],因此嵌入式Linux在PS端移植和启动。本文采用Xilinx Linux作为智慧环保的操作系统,它是针对Zynq AP SoC和MicroBlaze的嵌入式Linux免费发行版[16]。Xilinx官方提供了丰富的开发资源和文档,通过Vivado套件、Xilinx SDK和Linux虚拟机3个开发环境对ARM Cortex A9处理器及外设接口进行开发。

在Vivado中搭建硬件工程、生成硬件比特流后,导出到Xilinx SDK进行上层开发。在SDK中创建并生成 FSBL(First Stage Boot Loader)工程和设备树BSP工程,并应用SDK中的Create Zynq Boot Image工具生成BOOT.bin文件。在Ubuntu虚拟机上安装arm-xilinx-linux交叉编译环境后,下载DIGILENT官方Github账户提供的针对ZYBO开发板的u-boot文件和基于Linux 3.18.0版本的xlnx-linux内核文件,交叉编译后生成u-boot.elf文件和uImage内核文件。使用虚拟机中的dtc工具生成devicetree.dtb设备树文件,同时利用u-boot工具将Xilinx官方提供的ramdisk根文件系统加上u-boot头部生成uramdisk.image.gz。

3.2 操作系统配置

Xilinx Linux在配置默认的PS端资源基础上还需要根据实际工程进行相应修改,配置修改包括操作系统源码的修改、内核编译项的增加和设备树的修改。内核编译前的make menuconfig阶段的修改包括:在USB驱动配置的基础上配置PPP拨号、MBIM等驱动项来支持LTE模块功能;增加针对温度传感器DS18B20的1-wire总线驱动;添加Xilinx IP核的Linux驱动,uartlite IP核在嵌入式Linux中使用之前选中Xilinx uartlite serial port support这一项。

Xilinx SDK中生成的设备树文件包括system.dts、Zynq-7000.dtsi、skeleton.dtsi和 pl.dtsi文件。在执行dtc命令之前需要对system.dts文件进行修改后才能正确驱动开发板各功能,如在增加RTL8211EVL芯片的compatible属性用于驱动以太网,增加1-wire总线描述等。通过对操作系统进行配置的修改后,编译生成相应文件拷到SD卡上即可电自动运行Linux系统。

4 应用层开发及系统测试

智慧环保系统应用层的开发总体包括3个部分。首先是传统环保数采仪的应用程序开发,即T212标准的实现。T212标准即《污染源在线自动监测(监控)传输标准》,是应用层的协议,该协议对数采仪与上位机交互(上传、请求、反控等)的具体方法、传输格式等进行了详尽的描述。在实现之前与上位机交互之前需要实现存储、传输等功能,在Linux上移植轻量型数据库SQLite3用于对数据的存储功能,LTE实现TCP协议[17-18]传输前需要实现拨号功能等。然后是针对智慧环保的环境感知功能的程序实现,包括GPS/北斗定位信息和视频信息的获取与处理,涉及到定位坐标的获取、视频编解码库的移植和针对视频监控应用的开发等。第三部分是针对智慧环保云平台接口的应用程序开发,针对大数据、云平台的需求,对整个平台获取的信息进行处理最终整合到云平台。

应用程序经过编译后,生成Linux操作系统的可执行文件,拷贝到SD卡运行。进行实验时扩展板在ZYBO开发板下方用定位柱固定,如图7所示。

图7 实验开发环境图

5 结论

文中详细介绍了基于ZYBO开发板的智慧环保环境监测系统硬件和操作系统层的实现,以Zynq SoC作为处理核心进行了LTE传输、定位和视频功能的集成,从硬件上解决了智慧环保监测平台存在的一些诸如数据采集实时性、定位、现场视频监控的问题。目前智慧环保平台能够实现T212协议、定位和网络监控视频的获取。随着进一步的应用开发,Zynq SoC平台丰富的硬件资源和PS+PL的创新架构在系统集成度、实时数据处理能力和硬件设计灵活度方面的优势逐步展现。

参考文献:

[1]刘旭东.“智慧环保”物联网建设总体框架研究[J].淮北职业技术学院学报,2014,13(1):122-123.

[2]佚名.视频监控应用助力环境治理向智慧环保迈进[J].中国安防,2014(5X):21.

[3]丁浩,管致锦,沈兵.环保物联网中远程设备实时控制问题研究[J].计算机测量与控制,2014,22(6):1786-1789.

[4]蒋丰.视频监控在智慧环保中的应用与发展[J].中国安防,2014(10):22-24.

[5]唐国纯.环保云的体系结构及关键技术研究[J].软件,2014(1):101-103.

[6]冯广明.3S技术在智慧环保领域中的应用[J].河南科技,2013(5):170-171.

[7]Crockett L H.The Zynq book :embedded process⁃ing with the ARM Cortex-A9 on the Xilinx Zynq-7000 all programmable SoC[M].Strathclyde Aca⁃demic Media,2014.

[8]Xilinx Inc.Zynq-7000 All Programmable SoC TechnicalReferenceManual,v1.11 [EB/OL].(2016-09-27)[2017-01-31].https://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf.

[9]杨晓安,罗杰,包文博.基于Xilinx Zynq的物距测量系统设计与实现[J].现代电子技术,2014,37,422(15):123-126.

[10]朱武.LTE系统的切换及高速铁路环境下的改进研究[D].西安:西安电子科技大学,2013.

[11]王英杰.智慧环保之污染源视频监控[J].中国公共安全:学术版,2014(21):172-175.

[12]张巍,冯涛,朱锐.智慧环保物联网监控应用与系统集成研究[J].环境与发展,2012,27(5):194-197.

[13]叶棽,谢捷如.基于SoC和嵌入式Linux的数据采集系统设计[J].计算机技术与发展,2015(8):203-207.

[14]马小陆,刘晓东.基于ARM的嵌入式Linux开发与应用[M].西安:西安电子科技大学出版社,2016.

[15]陆佳华,潘祖龙,彭竞宇.嵌入式系统软硬件协同设计实战指南[M].北京:机械工业出版社,2014.

[16]陆启帅,陆彦婷,王地.Xilinx Zynq SoC与嵌入式Linux设计实战指南[M].北京:清华大学出版社,2014.

[17]杜岳涛.TCP/IP技术下的嵌入式测控终端设计及应用[J].自动化与仪器仪表,2016(6):55-56.

[18]韩明琦,党幼云,王湘涛,等.航空发电机交流畸变的测量与实现[J].西安工程大学学报,2016,30(4):458-463.

猜你喜欢
开发板嵌入式芯片
搭建基于Qt的嵌入式开发平台
Microchip最新推出两款PIC32 Curiosity开发板
浅析单片机开发板的设计与制作
嵌入式软PLC在电镀生产流程控制系统中的应用
多通道采样芯片ADS8556在光伏并网中的应用
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
74HC164芯片的应用