基于DSP和触摸屏的串行通信系统研究
针对目前市场上无DSP和触摸屏直接通信的产品这一缺口,介绍了基于MODBUS协议的维控触摸屏与TMS320F2812的串口通信系统。通过将DSP的SCI串口和触摸屏的串口连接,完成DSP的软件编程和触摸屏的组态画面设计。经过实验调试,该系统能够实现工作人员不同权限登录密码设置,实时数据、故障报警的显示,闭环PID参数的在线修改等功能,且系统能够稳定的运行。
在现代工业控制中,最常用的人机接口界面依然采用的是键盘和液晶相结合的方式,要让触摸屏取代以前的人机接口界面,还存在一定的问题。在实际应用中,触摸屏一般是针对可编程控制器PLC设计的,所以DSP与触摸屏不能直接通信,必须根据触摸屏的通信协议开发相应的通信程序。本文研究基于MODBUS协议的触摸屏和DSP的通信方法,其中DSP使用TI公司的TMS320F2812,触摸屏使用维控科技的LEVI700L.
1 DSP与触摸屏的硬件电路连接
TI公司的TMS320F2812芯片有两组SCI模块,SCIA和SCIB.根据不同的需要,可以将这两个串口分别设计转换成RS232和RS485.本文采用RS485实现DSP和触摸屏的串行通信,RS485通讯相对于RS232通讯来说有抗电气干扰和传输距离远的优点,所以在工业控制现场,利用RS485串口和触摸屏LEVI700L进行通信。如图1所示是将SCIB口通过MAX3485芯片设计成半双工方式的RS485接口,即数据可以在两个方向传输,可是不能同时传输。图中RE、DE引脚为发送和接受使能端。DSP通过将引脚PWM2(A1)口设置成通用数字I/O口来控制使能端为1或0,即接收或发送。A、B引脚通过静电保护芯片PSM712连接到RS485的接收端RS485A和发送端RS485B.图中D1和D3发光二极管是为了监测DSP正在接受或者发送数据。
触摸屏LEVI700L带有一个DB9串口,支持RS232/RS485/RS422,其中2、3、5用于RS232通信,1、6用于RS485通信。本设计中DSP和触摸屏的通信采用RS485,因此,只需将图1中的RS485A和触摸屏DB9口的1引脚连接,RS485B与6引脚连接即可。
图1 RS485串口通信电路设计
2基于MODBUS协议的通信程序设计
2.1 MODBUS协议的主从编程方法
触摸屏和DSP按照MODBUS协议通信,将触摸屏作为主站,DSP作为从站,串口连接采用RS485.触摸屏和DSP的通信是有触摸屏发起的,DSP采用中断方式响应触摸屏发送来的数据,非通信情况下DSP可以做其它更多的工作。当触摸屏有数据发送给DSP时,触发DSP接收中断,DSP进入接收中断服务子程序,此时,触摸屏发送给DSP的是一个完整的数据帧,至少包含8个字节的数据长度,在完整读取这组数据后,DSP对其进行处理。首先进行从设备站号匹配(本文中DSP站号设为07),如果匹配不成功则DSP不响应触摸屏的查询,DSP不回送任何信息;如果匹配成功则进行CRC校验,若CRC校验出错,则查询失败,不返回数据信息;若CRC校验正确,则进行下一步的命令解析,并返回给触摸屏对应的数据信息。
下面简要介绍如何从DSP中读取几个模拟量并显示在触摸屏上,读可读写模拟量寄存器的功能码是03.
触摸屏发送的命令为:[设备地址] [功能码03] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位][CRC校验的低8位] [CRC校验的高8位].
例如:07 03 00 03 00 02 34 6D.此命令说明要从DSP的起始地址为00 03的寄存器中读取两个模拟量。
此时,若设备地址匹配且CRC校验正确,则DSP会返回数据给触摸屏。
DSP返回的数据为:[设备地址] [功能码03] [返回的字节个数][数据1][数据2]…[数据n][CRC校验的低8位] [CRC校验的高8位].
例如响应上面的命令返回的数据为:07 03 04 00 10 0020 9C 2E.说明返回的模拟量为16和32.
2.2触摸屏介绍及组态画面的设计
触摸屏LEVI700L是维控科技生产的7英寸真彩TFT,主板规格:RISC CPU 400MHz,128M Flash,64DDRAM.拥有一个DB9串口,支持RS232/RS485/RS422通信,另外包括一个USB Host和一个USB Slave.
触摸屏LEVI700L配套的组态软件为LEVI Studio,用户界面友好,易于操作,支持离线和在线模拟。本文以触摸屏在大功率晶闸管整流控制器中的应用为例,说明触摸屏的画面设计。主要有主界面、实时曲线查看整定画面、参数调节画面、工作模式查询画面,图2给出主界面和实时曲线查询画面。可通过通讯口配置设置触摸屏和DSP以及其他控制器进行连接,同时可选择相应的通信协议,本设计中采用Modbus协议,串口参数设置为波特率:38400Kbps,停止位:1位,数据位:8位,无校验。另外还需要配置各个部件的地址。如图2中反馈电压和电流的查看是个数字输入/显示部件,根据MODBUS协议要对其读取地址进行编辑,使用功能码3对其读数据。从上节中触摸屏发送数据的命令格式可知,需要设置DSP的站号和寄存器的类型以及起始地址。
DSP Modbus协议 触摸屏 TMS320F2812 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)