触摸式远程控制终端设计

2016-08-16 02:47阳俊王文虎
关键词:触摸屏总线远程

阳俊, 王文虎

触摸式远程控制终端设计

阳俊, 王文虎

(湖南文理学院 电气与信息工程学院, 湖南 常德, 415000)

设计的触摸式远程控制终端由主控制端和从控制端2部分所组成, 硬件结构包括STM32处理器、TFT触摸屏、CAN总线、nRF24L01模块、串口通信模块和电源模块。利用Keil MDK-ARM 5实现终端软件的开发, CAN总线通信网络进行数据通讯, nRF24L01无线通讯进行指令传输。实验结果表明, 触摸式远程控制终端能够可靠传输数据, 快速响应远程操作。

远程控制; 微处理器; TFT屏; CAN总线; nRF24L01模块

随着物联网、无线通信、控制等技术的发展, 远程控制技术正在深刻地影响人们的工作习惯和生活方式。远程控制是指计算机设备或移动终端通过网络技术传输指令控制远程终端设备, 并传回终端设备的运行状态信息, 达到监测与控制的目的。远程控制技术能使机器代替人在复杂恶劣的环境中完成工作任务, 达到降低工作危险系数、减轻劳动强度、提高工作效率的目的。触摸式远程控制终端在技术手段上是替换或弥补现有远程操作的有效措施。本设计运用 CAN总线实现数据的远程收发, 以及运用2.4G无线网络完成指令发送及执行状态监视的操作。

图1 触摸式远程控制终端结构

1 终端结构

触摸式远程控制终端结构如图 1所示。触摸式远程控制终端硬件系统包括主控制端和从控制端, 由STM32最小系统、TFT屏模块、CAN总线模块、nRF24L01

2 硬件设计

终端硬件包括STM32最小系统、TFT屏驱动电路、CAN总线电路、nRF24L01模块电路、从控制端电路及工作电源。

2.1STM32最小系统

STM32最小应用系统由复位、时钟、SWD下载和Boot程序引导等组成, 其中时钟采用8 MHz外部晶振, 程序下载选用SWD下载方式, 程序运行选择在flash存储器的工作模式[1-2]。

2.2TFT屏驱动电路

TFT屏模块包括TFT触摸显示屏、液晶显示控制器SSD1963QL9、触摸屏控制器XPT2046、SD卡槽等。由LED_A引脚控制背光, 可以采用PWM指令, 实现128级亮度调节, 也可以直接接高电平,但亮度不可调。使用STM32灵活的静态存储器控制器(FSMC)端口与TFT屏数据线连接, 使用SPI2端口与 XPT2046触摸屏控制器通信。STM32与 SD卡采用 SPI方式通信。SSD1963QL9嵌入了1 215 kB显示缓存。用STM32的FSMC做驱动, 可以利用其官方库函数使编程变得容易。为便于保存触摸屏校准数据, 在STM32上接一片EEPROM存储器AT24C16。

2.3CAN总线电路

STM32F103是基于高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核处理器芯片[3]。STM32F103的所有型号芯片都具有bxCAN控制器(Basic Extended CAN), 它支持CAN协议2.0A和2.0B。bxCAN接口可以自动地接收和发送CAN报文, 支持标准标识符和扩展标识符。CAN总线电路由高速光电耦合器、CAN收发器等组成, 电路如图2所示。6N136是高速光电耦合器, 隔离微处理器与CAN网络。TJA1050是CAN收发器, 用来驱动CAN总线下挂载的CAN总线器件[4-5]。

图2 CAN总线电路

2.4nRF24L01模块电路

nRF24L01是一种单芯片无线收发芯片, 工作在2.4~2.5 GHz的全球免申请(ISM)频段。芯片包括一个完全集成的频率合成器、功率放大器、晶体振荡器和调制器, 具有传输稳定可靠、距离远、功耗低、价格低廉等优点。nRF24L01无线模块的最大传输速度可以达到1 Mbps, 在楼房内传输距离小于200 m, 在空旷地小于1 000 m。无线模块通过间歇式方式接收指令和数据, 具有低功耗等特点, 通过微控制器设置不同地址, 可以区分不同无线通讯单元, 达到组网目的[6-8]。

nRF24L01有接收、发送、待机、掉电等4种工作模式, 其工作模式、工作频率、发射功率等可以通过4线SPI端口(CSN、SCK、MOSI、MISO)进行配置,电路如图3所示, 只有当模块有效配置后才能实现数据的发送与接收。

图3 nRF24L01模块电路

2.5从控制端电路

从控制端围绕实现远程通讯的电路结构与主控制端电路一致, 可以依据实际需要在从控制端设置控制输出或检测输入单元。

3 软件设计

3.1主程序系统上电(复位)后, 通过启动文件中的SystemInit()函数配置时钟, 并进入 main函数, 系统时钟在main函数执行之前就已经初始化完成, CPU主频为72 MHz。main函数的工作流程如图4所示。系统初始化包括延时函数初始化、中断优先级分组配置、串口初始化、LED初始化、LCD显示初始化和触摸屏初始化。LCD显示初始化是对SSD1963QL9进行参数设置, 如锁相环、颜色模式、屏幕大小等。触摸屏初始化是对XPT2046进行参数设置, 读取XPT2046控制器内部的模数转化数据以达到屏幕校准、坐标转换的目的, 触摸屏校准, 且校准数据存储在AT24C16中。完成初始化后, 在初始界面选择通信方式, 更新显示界面。

图4 main函数流程图

3.2TFT屏驱动程序

TFT屏驱动程序包含显示屏驱动程序、触摸屏初始化程序、触摸屏校准程序和触摸屏坐标采集滤波程序。

显示屏驱动程序包括写地址函数、写命令函数、显示初始化函数、画点函数、画线函数、字符显示函数和汉字显示函数等。

STM32通过可变静态存储控制器FSMC来控制SSD1963, 以间接控制TFT屏。FSMC接口是16位接口, 输入SSD1963的数据总线为24位, 需要将SSD1963输入数据总线的高8位悬空, 低16位和FSMC接口连接, 通过FSMC接口发给SSD1963驱动器的16位数据格式只能是RGB565数据格式。TFT屏的数据寄存器地址和控制寄存器地址由FMSC的地址线FMSC_A16和控制线FSMC_NE1决定,数据寄存器地址为0x60020000, 控制寄存器地址为0x60000000。

触摸屏与TFT显示屏是2个不同的物理器件, TFT屏的分辨率为480 × 272, 而触摸屏的分辨率是4 096 × 4 096, 两者融合时需要进行坐标转换。在安装触摸屏时, 不可避免存在一定的误差, 如旋转、平移, 因此在初次使用触摸屏前必须对触摸屏校准, 从而减少误差, 校准就是得到触摸屏坐标和 TFT屏坐标的转换关系。

触摸屏驱动程序是通过配置 XPT2046控制器完成屏幕坐标和触控坐标的相互转换, 触摸屏校准原理是二维几何变换中的平移、旋转和缩放。触摸屏的精确校准, 需要筛选指定位置读取到坐标是否达到校准标准, 其原理就是计算读到的5点坐标中任意2点之间的距离, 判断相对应的线段长度的比值是否在 0.94 和1.06之间。如果超出此范围则重新采集5点坐标重新计算, 直到达到校准标准, 退出校准坐标筛选。由于AD采样的数据具有不确定性、多变性, 因此每个采样点需要采集10次坐标数据, 将采集得到的X坐标与Y坐标分成 2组, 并按从大到小排序, 去掉每组中的最大值和最小值, 求取该点的X坐标平均值和Y坐标平均值。

图5 nRF24L01工作流程图

3.3通信程序

CAN总线驱动程序主要是配置CAN总线引脚、配置CAN总线中断、中断服务程序、设置标识符。nRF24L01的工作流程如图5所示。按照nRF24L01的数据手册初始化SPI总线, 编写发送函数和接收函数。

4 实验调试

借助STM32F103开发板搭建实验平台, 触摸屏能够正常读取点坐标, 能够显示点、横线、矩形、圆形图块、图片、字符、汉字。主控制端预置数据通过CAN总线发送给从控制端, 从控制端接收到数据后又通过CAN总线将数据发送给主控制端, 主控制端将接收到的数据显示到屏幕上, 所接收到的数据和发送的数据完全一致, CAN总线数据的准确性值得信赖。主控制端通过nRF24L01模块发送指令给从控制端, 从控制端接收到指令后, 从控制端继电器动作,并通过 nRF24L01模块将特定的一组数据发送给主控制端, 主控制端将接收到数据显示到屏幕上, 测试结果符合要求。

5 结论

针对触摸屏技术和远程控制技术, 提出一种基于CAN总线和nRF24L01的触摸式远程控制终端设计方案, 并利用 STM32开发板进行了整机调试, 通过对显示测试、触摸测试、CAN总线通信测试、nRF24L01通信测试等测试结果进行分析, 触摸屏能清晰地显示英文字符、汉字、图形、图片、按钮等控件; 用触摸笔点击菜单按钮, 响应延时不超过 1 s; 能显示被控对象的控制状态; 可以有线与无线方式传输信号; 能对控制对象进行有效控制。装置性能达到设计预期要求。

[1] 王文虎, 杨峰. 基于μCOS-II技术的考勤机设计[J]. 湖南文理学院学报(自然科学版), 2014, 26(3): 79-82.

[2] 王文虎, 杨峰, 胡杰. 料台超载远程报警装置设计[J]. 自动化技术与应用, 2014, 33(8): 73-76.

[3] Joseph Yiu. Cotex-M3权威指南[M]. 宋岩, 译. 北京: 北京航空航天大学出版社, 2009.

[4] 乔啸乾. 基于CAN总线的触摸式汽车空调控制器的研究及应用[D]. 天津: 天津大学, 2012.

[5] 贾南. 基于CAN总线的多传感器监测系统设计[J]. 廊坊师范学院学报(自然科学版), 2016, 16(1): 51-54.

[6] 唐先登, 杨经国, 李贺威, 等. 基于nRF24L01的多点无线环境监测系统的设计[J]. 电子设计工程, 2015, 23(5): 81-83.

[7] 沈飞. 基于nRF24L01的无线温度监控系统设计[J]. 自动化应用, 2016(1): 33-34.

[8] 刘红亮. 局域网远程移动控制系统研究[D]. 南昌: 南昌航空大学信息工程学院, 2014.

(责任编校: 刘刚毅)

Design for touch remote control terminal

Yang Jun, Wang Wenhu
(College of Electrical and Information Engineering, Hunan University Arts & Science, Changde 415000, China)

Touch remote control terminal can effectively implement remote operation. The control terminal is composed of two parts, the main terminal and the slave terminal, and the hardware structure includes STM32 processor, TFT touch screen, CAN bus, nRF24L01 module, serial communication module and power module. Using MDK-ARM Keil 5 to achieve the development of terminal software, CAN cable communication network for data communications, nRF24L01 wireless communications to carry out the instruction transmission . Experimental results show that the touch remote control terminal can transmit data reliably, and respond to the remote operation rapidy.

remote control; microprocessor; TFT screen; CAN bus; nRF24L01 module

TP 368; TN 919.7

1672-6146(2016)03-0034-04

10.3969/j.issn.1672-6146.2016.03.008

阳俊, huxiangfengyun@foxmail.com。

2016-04-18

国家自然科学基金项目(61403136); 湖南省自然科学基金项目(14JJ5008)。模块、串口通信模块(编程调试用)和电源模块等组成。利用触摸屏上的控制键, 主控制端发出控制信号或数据, 经过有线或无线信道发送到从控制端, 从控制端响应动作。主控制端由微处理器、触摸屏、信号发送装置和工作电源组成。从控制端由信号接收处理装置、被控对象接口和工作电源组成。微控制器运行主程序驱动触摸屏以及收发信号。触摸屏显示图形界面, 被用来输入控制指令, 反映被控对象的状态。

猜你喜欢
触摸屏总线远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
远程诈骗
一种基于CAN总线的误码测试方法
皮肤“长”出触摸屏
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
宝马F02车总线系统