引言
随着中国城市现代化的发展,在拥挤的市区里汽车与停车位之间的问题越来越突出。停车场日渐无法满足越来越多的停车需求,如何充分利用有限的资源满足车辆的泊车需求,成为当前急需解决的问题。基于STM32F107的停车引导系统可以通过提供停车场位置、车位使用及其相关路线等信息,引导出行者快速有效地找到停车位,充分发挥停车场的使用率,并具有低功耗、稳定性强、通信距离远、传输速度快、误码率低等特点。
1 总体方案设计
系统的设计主要由6部分组成:上位PC机、RFID读卡器、微控制器STM32F107、RFID标签、TU8001模块、灯光引导模块。每辆汽车都会配发一个RFID标签,标签上有唯一的地址,每0.5 s发射一次信号。在汽车行驶过程中,标签内的信息被RFID读卡器接收,RFID读卡器通过RS485总线上传到上位机,上位PC机提供操作界面,通过modbus协议控制STM32F107模块的高低电平,STM32F107控制指示灯的亮灭。微控制器STM32F107通过的接口电路向RS485总线发送指令和接收RS485总线各个节点的信息;TU8001模块是串口服务器模块,使RS485信号可以转成网络信号;上位机和设备之间可以直接通过网线连接。系统结构框图如图1所示。
图1 系统结构框图
2 硬件设计
2.1 控制器选型
采用STM32F107网络处理器作为系统核心单元,此芯片具备72 MHz运行频率和90 DMIPS的处理性能,集成了以太网、CAN总线、RS485、RS232、USBOTG等各种高性能工业标准接口,其标准外设包括10个定时器、16路12位1 Msps的A/D转换器、2路12位D/A转换器等,可以应用于多种工业场合。
2.2 RS485接口电路
RS485接口组成的半双工网络,一般是两线制,多采用屏蔽双绞线传输。这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。RS485最大的通信距离约为1 219 m,最大传输速率为10 Mbps。传输速率与传输距离成反比,如果需更长的传输距离,可增加485中继器,以满足停车场的通信要求。
ADM2582E/ADM2587E是具备±15 kV ESD保护功能的完全集成式隔离数据收发器,适合用于多点传输线路上的高速通信,ADM2582E/ADM2587E包含一个集成式隔离DC/DC电源,不再需要外部DC/DC隔离模块。该器件针对均衡的传输线路而设计,符合ANSI/TIA/EIA RS485A98和ISO 8482:1987(E)标准;采用ADI公司的iCoupler技术,在单个封装内集成了一个三通道隔离器、一个三态差分线路驱动器、一个差分输入接收机和一个isoPowerTM DC/DC转换器;采用5 V或3.3 V单电源供电,从而实现了完全隔离的RS485解决方案。设计电路如图2所示。
图2 RS485接口电路
2.3 标签和读卡器设计
标签和读卡器都采用nRF24LE1模块。nRF24LE1采用了Nordic公司无线和超低功耗技术,具有掉电和等待多种低功率工作模式。当以-6 dBm的功率发送时,工作电流只有8.8 mA;当以0 dBm功率发射时,工作电流仅11.1 mA;而在2 MHz接收时,工作电流仅13.3 mA。因此,nRF24LE1模块在一个极小封装中集成了2.4 GHz nRF24L01+和增强型8051Flash高速单片机,具有丰富的外设资源,内置128位AES硬件加密器、32位硬件乘除协处理器、6~12位ADC、两路PWM、I2C总线、UART接口、硬件随机数产生器件、WDT、RTC、模拟比较器等。在室内距离可达30~40 m, 室外可达100~200 m。空中速率最高达2 Mbps,为开发应用带来了方便,很适合应用于各种2.4 GHz的产品设计。原理图如图3所示。
图3 标签和读卡器电路原理图
RFID读卡器加RS485芯片隔离,读卡器中的nRF24LE1模块接收到标签中nRF24LE1模块的信号之后,向上位机发送读卡器的地址信息,则上位机可以控制读卡器附近的地面指示灯亮起。对于nRF24LE1通过设置RF_SETUP寄存器中的RF_DR,可将空中速率设置为250 kbps、1 Mbps、2 Mbps。使用高速率可以获得较低的平均电流,从而减少空中受干扰和碰撞的机率;使用较低的速率将会获得更好的接收灵敏度。注意接收方和发送方必须设定为同一速率方可通信。
2.4 串口通信模块
采用TU8001DC模块,这款是RS485转TCP/IP串口联网服务器,TCP/IP转串口RS485、RS422,TCP/IP串口服务器/串口联网模块,支持双向传输。具有10/100M自适应以太网接口,支持 AUTO MDI/MDIX,可使用交叉网线或平行网线连接,波特率在 115.2 kbps以上并且可以选择手动或自动设置。可选择TCP Sever、TCP Client、UDP工作模式,支持虚拟串口工作模式、工作端口、目标IP地址和端口号均可以用管理软件轻松设定,可以使用AT指令通过串口配置模块参数,使网络断开后可以自动断开连接,保证整个网络可靠地建立TCP连接、灵活的串口数据分帧设置,满足用户各种分包需求,UDP方式下禁止了包广播、在高速收发数据的情况下,发热比较低,支持DNS动态域名远程连接。
3 软件设计
主流程图如图4所示。系统初始化完成后,RS485总线通过TU8001模块发送给上位机指令,上位机收到指令后快速寻找停车位。二进制搜索算法是一种典型的确定性防碰撞算法,通过多次比较逐一读出所有标签的序列号。为了从一组标签中读出一个标签的序列号,上位机软件首先发送阅读命令,检查碰撞情况,如果发生碰撞,则将响应的标签进行分组,选择其中的一组进行下一轮搜索,直到读出一个完整的序列号为止。
图4 主程序流程图
4 设计具体实现
通过TU8001的转接口实现RS485总线与PC机串口的数据交换。读卡器在未检测到标签信息时,每2 s检测一次,当读卡器检测到标签信息时,改为每秒上传一次信息。
读卡器读到标签的数据后,通过Socket(Socket调试工具是一款网络TCP/UDP通信调试工具)上传给上位机,上位机接收到标签的数据后与数据库内的信息进行比对,计算出持有标签的该车的停车位,检测到标签信息的读卡器附近的指示灯会亮起,从而指引汽车顺利到达指定的停车位。
当车行驶过去之后,读卡器检测不到标签的信息,指示灯就会自动熄灭。具体实现如图5所示。
图5 设计实现图
结语
本设计以STM32F107微控制器为核心,同TU8001通信转换器、RFID以及上位机组成引导系统,实现了RS485通信,采用了内部嵌入单片机的射频收发芯片nRF24LE1实现数据采集和检测,达到了对灯光设备的可控性和闭环自身调节的目的。基于STM32F107微控制器,通过RS485总线控制的智能停车引导系统,具有功能强大、实时性强、稳定可靠、便于扩展等特点,应用前景良好。