多参数室内环境智能监测系统设计
3.2 FPGA逻辑控制部分
本文引用地址:https://www.eepw.com.cn/article/262218.htm 在FPGA中设计了计数器和数据存储器RAM以及逻辑控制模块,以保证能够实时地将ADC转换过来的数据进行处理,FPGA逻辑控制模块如图8所示。
AD逻辑控制模块用来对AD转换器进行采样控制。EP1C12Q240C8在对ADC0809控制时产生START转换启动信号,ALE地址锁存允许信号(高电平有效),在工作过程中FPGA不断读入转换结束信号EOC判断ADC0809转换是否结束。当EOC发出一个正脉冲时,表示A/D转换结束,此时开启输出允许OE,打开ADC0809的三态缓冲锁存器将转换好的数据输入FPGA中。存储器RAM主要用来存储采集的数据,方便单片机直接调用。
3.3 串口通信
单片机将采集的数据进行处理后,通过RS485总线接口电路传输至监控平台。RS485通信距离为几十米到上千米,并且采用平衡发送和差分接收,具有抑制共模抗干扰的能力,在互连时可以省掉许多信号线。被广泛应用于单片机与PC之间的数据传输。
通信协议具体的要求如下:
(1) 上位机为主机,各节点采集模块为从机,上位机需要读出采集点的数据时,先发送设置指令,满足一定的条件后发送数据查询指令。
(2) 主从机之间采用多点总线型主从式结构、异步半双工通讯方式,波特率设为9600bps。
(3) 由主机以一定的周期按照地址顺序轮流向各从机发送查询或控制指令,从机根据指令中的地址码判断是否轮到自己发送数据,是则立即根据指令向主机返回相应的信息,不是则不得向总线发任何数据。
(4) 正常情况下主机所有的指令只发一次,从机在接收无误的情况下立即响应。如果主机在限定时间内(200ms)未收到应答,则继续向该从机发送,如果连续3次不正常,则判断该从机通讯故障,终止查询,如果连续4次未能接收到从机的回应则判断485出现故障并报警。
3.4 上位机显示程序设计
上位机要实现与下位机的通信,实现不同节点的选择,参数数据的上传,数据的实时显示,以及不同参数的趋势图绘制。上位机的工作流程如图9。
3.4.1 Visual Basic6.0中的串行通信控件MSComm
MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通信功能。它提供事件驱动方式和查询方式两种处理通信的方式。
MSComm控件通信的流程图如图10所示。编写程序时,只需要按照图10的流程图,即可实现通信功能。
评论