基于FPGA的智能运输车系统设计
扫描二维码
随时随地手机看文章
引 言
随着经济的发展, 人们对生活质量的要求越来越高2017 年 1 月和 2 月家用空调的销量比去年同期增长了 39.5% 因此从空调组装开始,建立有效的空调数据统计系统十分必要。针对当前空调组件运输车的普遍使用,以及传统统计系统对运输车相关数据采集不够全面等问题,本文设计了一种可实时显示运输车车组位置信息、运输车负载信息的系统,实现了运输车车组的有效调度以及单位时间内最大效率的运输,保证了运输车工作的流畅性和安全性,同时也为空调的数据统计工作提供了可靠有效的参考标准,提高了空调的整体生产效率
系统整体概述
本文主要基于 FPGA、电阻应变式压力传感器、无线收发模块等软硬件设备,设计了一种能实现智能运输车车组位置定位的系统 [1,2]。地面操作人员可通过 PC 机了解各车组的位置分布,方便调度;系统采集并同步检测某一车组中单辆运输车所负载的相关空调组件重量信息并判断其是否满载,若未满载则相应的硬件报警电路会发出提示性报警声,地面操作人员可从 PC 机上清楚看到未满载运输车的序列号,便于及时通知工作人员采取相应的弥补措施,有效提升运输车的运输效率系统整体结构如图 1 所示
系统工作流程如下
将采集到的运输车位置及负载的相应信息传送至中央处理模块进行相应的处理和判断,处理后的信息构成一个信息帧并传给无线收发模块
无线收发模块自动为此信息生成相应的前导码和CRC校验码
最后,将处理后的信息传给接收器,经接收器处理后传给 CAN总线 [3] 接口卡,最终显示在上位机
本文系统中无线收发模块选用挪威 Nordic 公司生产的单片射频发射器芯片 nRF905 单片无线收发器 [2]
2 系统硬件设计
系统的硬件电路主要由信息采集模块、中央处理模块满载检测报警电路及无线收发模块构成。系统硬件结构如图 2 所示
2.1 负载信息采集模块
负载信息采集模块主要包括电阻应变式压力传感器电路和 HX711AD模块电路两部分。电阻应变式压力传感器电路如图 3所示,当力敏型弹性元件受力产生变形时,电桥电路产生相应的应变,并转化成电阻变化。该力引起的电阻变化最终使测量电路的电压发生变化,通过测量输出电压的数值传给HX711AD模块电路。HX711AD模块电路如图 4所示,该电路是一种可选择差分输入的两路电路,工作电压为 2.6~5.5V 上电可自动复位,并能简化开机的初始化过程,具有集成度高响应速度快、抗干扰能力强等特点,主要对输出电压进行采样最高可达 128 倍信号增益,输出电压可放大 128 倍),输出 24 bit A/D 转换的值至 FPGA 进行相应处理。根据电机车运输参数,为了保证采集数据的准确性,本文系统中的车组重量按电机车的粘着重量计算
图 3 电阻应变式压力传感器电路
图 5 无线收发模块
2.2 中央处理模块
考虑到空调组装车间的生产环境,为保证系统正常工作该系统的核心部分采用Altera 公司生产的 Cyclone-II 系列的EP2C8Q208C8N 器件。该装置采用 TSMC90 nm 低 K 绝缘材料工艺技术,使用低绝缘体过程确保了器件的快速有效性和低成本。EP2C8Q208C8N 包含 8 256 个 LE(逻辑单元),提供 182 个可用的 I/O 引脚和 16 588 bit 嵌入式寄存器以及两个锁相环(PLL)。其具有数据速率最高可达 668 Mbps 的高速外部寄存器接口,支持可编程总线以及复杂的数字系统,可实现数据信息的快速处理和可靠传输
运输车负载信息传送给中央处理模块后,FPGA 芯片结合软件编程判断运输车的负载是否达到预先设计的满载标准若未满载,则中央处理模块控制满载检测报警电路发出未满载报警声,提示工作人员进行相应处理
2.3 无线收发模块
无线收发模块如图 5 所示。由于 nRF905 模块的全部配置信息均要经过 SPI 接口,因此,无线收发模块首先接收经中央处理模块处理再由SPI 编程后的车组位置及负载信息nRF905 无线收发芯片的工作电压为1.9 ~3.6 V,22 引脚QFN 封装,本系统工作在 433 MHz ISM 频段,具有多种低功率工作模式,可实现低能耗。此外,该芯片还具有可靠的无线数据传输特性,被应用于工业数据采集、无线标签、身份识别以及数字音频传输等领域,能够满足多种无线通信场合的需要
3 系统软件设计
利用 EDA技术中最常用的“自顶向下”的设计方法完成系统的软件设计,该方法的优点是具有完全独立的芯片结构可缩短开发周期。另外,此设计具有可重复利用性,有效提高了设计的适用范围。本系统中顶层文件和底层文件的程序编写均使用 VerilogHDL语言 [4],其中底层文件包含运输车位置及负载信息处理程序,SPI接口程序 [5,6],无线接收和发送程序以及满载判断程序等
3.1 顶层文件设计
顶层文件程序主要负责调用底层文件及实现相应功能充当中央枢纽的角色,其流程如图 6 所示。顶层文件首先调用采集信息处理子程序,对数据做相应处理后,进入满载判断子程序,判断单辆运输车负载量是否达到满载参考标准。若达到,则直接将数据信息发送至无线收发模块 ;若未满载则先驱动满载报警电路报警,然后把数据信息传给无线收发模块,最后程序返回采集信息处理子程序,反复循环上述操作
3.2 SPI 接口程序设计
SPI(串行 periphearal接口)是同步串行外设接口,全双工总线,由于其速度快及接口协议简单,因此被广泛应用在A/D转换、数字信号处理和数字信号解码等领域。SPI接口由CS,SCLK,SDO和SDI四根信号线构成。其中,CS为从设备使能信号 ;SCLK为串行时钟信号;SDO,SDI分别为串行数据输出和输入。该接口主从工作方式,有一个主设备、一个或多个从设备。在本文系统的准备阶段,在配置模式下,SPI 接口为FPGA配置高频头的工作参数;在接收 /发射模式下SPI接口接收和发送数据。SPI接口接收/发射模块如图7所示其中,SPI_in对应 SDI,同时也是 FPGA的输出;SPI_out对应 SDO,为传给无线收发模块的数据;sk 对应 SPI 接口中的SCLK ;clkin 为系统时钟输入信号;cs 对应CS ;resetin 作为复位信号,且低电平有效
4 结 语
本文基于 FPGA 设计了智能运输车系统,有效实现了空调组件运输车车组定位及负载信息的统计、显示。针对复杂多变的车间环境检测,中央处理模块采用 Altera 公司集成度较高的 FPGA 芯片,在缩短系统开发周期的同时也使系统的稳定性大大提高,有效保证了整个系统的正常运转。本系统的出现有利于提高空调组装的工作效率及运输车的安全运输,对整个空调生产量的准确评估和订单计划的合理规划都有积极的参考价值。此外,本系统便于安装调试,操作简单,易于维护和升级,具有较大的实用性