基于FPGA的汽车衡称重数据远程采集系统设计
针对汽车衡数据管理系统对采样精度、传输方式及功能扩展等要求,设计了基于FPGA的汽车衡称重数据远程 采集系统。该系统利用XC2S30型FPGA作为智能控制器,根据道闸、红外定位、信号灯等模块逻辑时序控制24位高精度 AD7787芯片采集称重数据,并通过GSM模块MC35i远程发送至管理中心。该系统精度高、易移植,具有较好的实用价值和应用前景。
0.引言
随着汽车衡从机械式向电子式、静态称重到动态计量方向 发展,基于计算机、单片机、嵌人式、DSP等主控制器的传统汽车衡数据采集系统已不能满足高称量精度和功能扩展要 求。为此,文中利用现场可编程门阵列(FPGA)可靠性强、 运算速度快、易移植等特点,及GSM网络的短消息业务功能 (SMS),设计了基于FPGA的汽车衡称重数据远程采集系统。 系统采用FPGA作为智能控制器,根据道闸、红外定位、信号灯 等模块逻辑时序控制24位高精度AD7787芯片采集称重数据, 并通过GSM模块远程发送至管理中心。该系统可髙效、可靠 地实现远程数据采集及管理中心对汽车远程调度’对提高工作 效率,实现磅房无人值守具有重要意义。
1.系统总体设计
1.1系统结构
系统由数据采集终端和管理中心2部分组成。数据采集 终端实现各模块工作时序切换、A/D采样存储及GSM远程通 信,包含智能控制器(FPGA)、称重传感器、射频卡系统、道闸、 红外定位和GSM通信模块。管理中心接收远程称重数据、发 送控制命令及打印报表,包含称重上位机和数据库服务器。数 据采集终端与管理中心间通过GSM网络进行数据远程传输,系统结构如图1所示。
1.2数据采集流程
人口配置非接触式射频读卡器;中间是称重传感器,其左 右边沿分别配置红外光电开关,两侧引坡均安装道闸、地感线 圈,两侧对角处安装有监控摄像机;车辆迎面方向安装有信号 灯、扬声器及大屏幕。数据采集流程如下:
每个采集终端GSM模块配备有唯一 SIM卡,当贴有电 子标签车辆驶人汽车衡时,驾驶员可向该SIM卡发送短信“要 称重”。FPGA接收短信后,立即启动射频读写系统读卡,并将 读卡信息传至主控制器验证车辆是否注册,若已注册,控制信 号灯绿灯亮,允许上衡称重;若没注册,则语音提示“到射频卡 管理中心注册”。
车辆通过地感线圈1产生检测信号。FPGA根据该信 号启动扬声器“请上镑”、控制道闸1升起、启动红外光电开关 工作、触发2台摄像机采集车辆上磅图像。
红外光电开关1检测到车辆上磅时,信号黄灯亮,禁止 下一车辆驶人车道。车辆完全上衡后,人口红灯亮、道闸1落 下。采集车辆称重数据并通过大屏幕显示,扬声器播报称重信 息。
红外光电开关2检测到车辆下衡后,道闸2升起,FP- GA驱动GSM模块将车辆称重信息发送至远程管理中心数据 库。地感线圈2检测到车辆通过时信号灯灭,称量过程完成, 进人下一次称量的等待状态。
2.系统硬件设计
2.1 A/D采集电路
选用QS30型称重传感器,额定载荷30 t,额定输出(2± 0. 002% )mV/V. A/D转换选用高分辨率、低功耗、低噪声的24 位模数转换器AD7787,内部集成1个Z-A调制器、1个缓冲 器和1个片内数字滤波器。核心控制器采用Spartan II系列 的XC2S30型FPGA芯片,带有972个单元、30 000门,工作频率 为2 00 MHz.设计的A/D采集电路如图3所示。
图3中,称重传感器内电阻应变片(基体)受到拉伸或压缩 时,惠斯通电桥失去平衡从而产生差分电压输出,当激励电压 取5 V(DC)时,输出电压满量程为10 mV(激励电压与灵敏度 乘积)。因模拟信号为mV级,为提高A/D采集精度,选用高精 度仪器运放AD620将模拟信号放大,放大后的模拟信号接至 AD7787的单端输入端AIN2(引脚6)。AD620采用单电源供 电,为使输出电压随输入电压变化时不超出线性工作区,同时 抵消部分电源波动,采用AD705电压跟随器为AD620提供输 出电压零点REF(第5脚),此电压与AD705反向输人端、同相 输入端电压均相同,由20 kO电阻分压得到2 V,即AD620信号 放大后输出电压范围为[2,2+ G* Fin]V,其中^为传感器输出差分电压,G为AD620放大倍数。AD7787电源电压VDD取 5 V,为去除电源噪声,增加系统可靠性,采用0. 1 m,F电容旁路 掉高频成分,同时并联1个10|xF钽电容旁路低频成分。 AD7787芯片参考电压Fref由REFIN输入为3 V,地参考点 GND为AD705电压跟随器输出电压2 V,则AD7787可接受单 极性输人信号范围为2 ~3 V.由于AD620输出电压范围为[2, 2 + G ? Fin ] V,故G取值100。根据AD620放大倍数G与Rc (AD620引脚1、8间电阻)关系式,RC为499 n.
AD7787 有石、DIN、SCLK 和 D0UT/S5Y4 个串行接口,分 别与!PGA的I/O 口相连,由采样控制器控制AD7787信号采 集。&为片选信号;AD7787片内有5个寄存器(通信寄存器、 状态寄存器、模式寄存器、滤波器寄存器和数据寄存器),通过 AD7787串行接口对片内寄存器工作方式进行读/写操作实现 对AD7787设置和控制。DIN用于向AD7787的寄存器写人数 据;SCLK用作FPGA与AD7787间数据传输的串行时钟; D0UT/I5Y用于从AD7787寄存器读出数据,RDY当电平为低 时指示新的转换数据生成。
2.2数据传送电路
数据传送采用GSM/GPRS双模模块MC35i。MC35i接口 支持AT指令集,支持Text和PDU格式的SMS, FPGA可通过 UART对MC35I模块写人AT命令,实现对GSM引擎的控制。 同时,管理中心的各种信息也可以通过GPRS网络,经MC35I 由UART反馈给主控制器。由于FPGA是系统,可使用 SP3232E进行RS232电平转换。
2.3电源电路
XC2S30型FPGA芯片所需+ 3. 3 V电源直接由+ 5 V电源 经过+3.3 VLD0芯片SPX1117 - 3.3稳压并滤波得到, SPX1117系列LD0芯片输出电流可达800 mA,输出电压精度 在±1%以内,具有电流限制和热保护功能,为改善瞬态响应和 稳定性,其输出端接1个10 #钽电容,电路图如图4所示。
3.系统釆集与传输软件设计
3.1主控制器设计
数据采集流程由状态机(ASM)实现,系统ASM图参见文 献[8]。首先上电初始化,判断是否接收到“要称重”短信。FP- GA接收到信号后,立即启动射频读写系统工作。车辆通过地 感线圈1产生检测信号,FPGA根据此信号启动扬声器、道闸1、 红外光电开关、摄像机工作。通过地感线圈1、2和红外光电开 关1、2状态组合来判断汽车是否完全上衡,若上衡FPGA内采 样控制器控制AD7787采集称重数据,启动大屏幕、扬声器工 作,一定时间后启动MC35i模块发送至远程管理中心数据库.
车辆下衡,根据红外光电开关2检测信号启动道闸2升起。根 据地感线圈2检测信号判断车辆下衡,一次称量过程完成,进 人下一次称量等待状态。
3.2采样控制器设计
AD7787具有单转换、连续转换和连续读3种工作模式,通 过模式寄存器即可设置。该系统基于连续转换模式设计,对应 模式寄存器“MD1MD0”设为“00”,时序图如图5所示。
启动片选&信号后数据开始转换,根据DOUT/S5Y值或状态寄存器内RDY值变低判断数据转换是否结束。转换结束后 施加SCLK脉冲,依次写人通信寄存器“00111001” (因模拟信 号从AIN2输人,通信寄存器及状态寄存器内“CH1CH0”应设 为“01”),因写人数据是8位,可采用8位计数器判断数据写人 是否完毕,设置下一步从数据寄存器读取数据。当再施加 SCLK有效脉冲后,数据依次从DOUT/输出,待24位数据 读取完后DOUT/S5Y变为高,一次数据读取完毕。根据 AD7787的A/D转换控制要求,采样过程用Moore型状态机来 实现,状态转换图如图6所示。
该过程共6个状态:ST0为空闲等待状态,置石为低则转人 状态ST1;ST1为数据转换状态,S5Y为数据转换标志,当= l 保持状态ST1,3RDY = 0时表示当前转换结束,进人状态ST2, 即用户向通信寄存器写人指令表示准备读取数据寄存器;向 AD7787施加SCLK有效脉冲,转人ST3;ST3为向通信寄存器串 行写人8位数据,data_input_end为ST3转人ST4的条件;ST4为 数据读取准备状态,施加SCLK有效脉冲后,转人数据读取状态 ST5;通过data_mitPut_end判断是否读满24位,若满足则转入 ST6;ST6为数据读取完状态,若_变高则转入初始状态ST0。
设计选用单极性数据采集方式,即模式寄存器内“ U/B"设 为“ 1 ”,对应编码为 214 x ( AIN/Tref )。
3.3 GSM通信模块软件设计
MC35i支持标准的RS -232接口,有固定的参数:8位数据 位和1位停止位、无奇偶校验位,通信波特率支持300 bps ~ 230 400 kpS,通过RXD、TXD和GND引脚与FPGA芯片实现串 口通信W。MC35i通过AT指令实现数据和指令的双向传输, 系统通过正确的AT指令对MC35i进行初始化和短消息发送及 接收。程序开始时要发送AT指令初始化MC35i。短消息服务 中心地址设置指令AT + CSCA = “ < SCA > ” ,江苏南通的SCA 为“ +8613800513500”。根据 GSM07.05 的定义,MODEM 通过 通信接口实现对SMS控制共有3种接入协议:Block Mode.PDU Mode和Text Mode[9]。系统采用16bit编码PDU Mode进行短 消息收发,通过编码格式指令AT + CMGF = <0>设置。称重 数据传输短消息格式:操作功能+被叫号码+称重信息内容 (可调),其中信息内容如“X号汽车衡:车牌号:XX ? XXXXX 称重:XX吨时间:XXXX年XX月XX日”。PDU编码时,中文 直接采用汉字的Unicode编码,可调用Visual Basic软件的Hex (八8(:贾(“汉字”))函数获取。字母和数字则在8位的ASC码 前面补0,统一成十六进制编码。
4结束语
采用FPGA为核心控制器,通过对24位模数转换器 AD7787、GSM/GPRS双模模块MC35i的控制,设计了具有精度 高、速率快、网络化等特点的汽车衡称重数据远程采集系统。该 系统工作稳定、可靠、可移植性强,实验表明能高效、精准地采集 称重数据,并能实时远程发送,具有较好的实用价值和应用前 景。