基于触摸屏和DSP的串行通信系统设计

发布者:平和宽容最新更新时间:2014-09-18 来源: elecfans关键字:触摸屏  串行通信  人机接口 手机看文章 扫描二维码
随时随地手机看文章

  在现代工业控制中,最常用的人机接口界面依然采用的是键盘和液晶相结合的方式,要让触摸屏取代以前的人机接口界面,还存在一定的问题。在实际应用中,触摸屏一般是针对可编程控制器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 的站号和寄存器的类型以及起始地址。

  

  图2 触摸屏画面设计

  2.3 从站DSP 程序设计

  若要触摸屏和DSP 通信成功,在DSP 的串口初始化时就需要将串口参数设置的和触摸屏一致, 即波特率:38400Kbps,停止位:1 位,数据位:8位,无校验。一旦二者通信成功,触摸屏会根据部件设置向DSP 发送相应的数据命令, 如上节图2中的反馈电压和电流,触摸屏上需要显示从DSP中读出的数据,就会发送命令:07 03 00 03 0002 34 6D。DSP 接收到命令数据后的处理过程如图3 所示。

  

  图3 数据通信流程图

  从图3 可以看出,DSP 的程序设计主要包括初始化,接收和发送中断子程序,MODBUS 帧解析、处理及回应子程序,CRC 码验证子程序。其中接收和发送中断子程序的流程图如图4 所示。[page]

  

  图4 接收和发送中断子程序流程图

  

    3 试验调试

  DSP 和触摸屏的通信接口调试分步骤进行,包括:触摸屏串口测试、通信软件的调试以及触摸屏和DSP 通信的试验和调试。

  1)触摸屏串口测试:首先在LEVI Studio 组态软件中编写画面程序并且利用数据下载线将其下载到触摸屏中,然后利用串口调试线将触摸屏和PC 机连接起来,通过串口调试工具可以查看到触摸屏不断向串口发送命令, 同时串口调试工具也可以编写正确的返回数据给触摸屏。此时需要注意的是必须将触摸屏的串口参数和串口调试工具的串口参数设置的一致才能通信成功。

  2)通信软件的调试:利用串口线将DSP 电路板和PC 机连接,在CCS 中编写好C 语言程序后,利用仿真器和串口调试工具对主程序,数据接收和发送中断子程序,MODBUS 帧解析、处理及回应子程序,CRC 码验证子程序进行仿真调试。

  3)触摸屏和DSP 通信试验和调试:通过上述两个部分的调试后,按照图1 所示的硬件连接线路将DSP 和触摸屏连接起来。在此之前,需要将调试好的组态画面程序下载到触摸屏中,C 语言程序固话到DSP 的Flash 中。最后,若通信成功,可从触摸屏中看到相关数据,如图5 所示a 为实时曲线图,b 为PID 参数调节图,其中给定电压、电流,PID 参数可以在线修改,c 为权限设置界面,不同的工作人员权限不一致,在修改某些参数时需要输入密码。

  

  图5 实验结果图

  4 结束语

  本文设计了基于MODBUS 协议的触摸屏和DSP 串行通信的硬件电路和软件程序,经过试验调试说明该系统通信稳定可靠,速率可达38400Kbps,实时性强。以大功率晶闸管整流控制器的应用为例,得出了相关的实验数据,说明本文设计的系统满足工业控制监测显示需要,同时由于触摸屏在人机界面领域的显著优势, 本文提出的设计思路也可应用于其他工业控制器的人机接口通信。

关键字:触摸屏  串行通信  人机接口 引用地址:基于触摸屏和DSP的串行通信系统设计

上一篇:JTAG调试接口电路图设计
下一篇:带无缝本振接口的宽带6GHz有源混频器

推荐阅读最新更新时间:2024-05-02 23:11

博世推出专为智能家居虚拟触摸屏BML100PI模块
在中国上海举行的慕尼黑上海电子展上,Bosch Sensortec展示了BML100PI,这是一款能够为智能家居各类表面增加虚拟触摸屏的互动投影模块,可将普通储物架变为个人助理。 BML100PI模块为交互式投影提供了一套完整的即用型解决方案,可实现高度灵活的虚拟触摸屏。所生成的激光束可在任何表面上创建无需聚焦图像,然后逐行扫描以检测任何手势或手指移动。准确的手势和触摸识别无需校准或调整。Bosch Sensortec的交互式投影模块为所有智能家居设备增添触摸屏,并可实现高度直观的用户体验,与静态物理屏幕相比,可谓是一种完全灵活的替代产品。 智能家居的私人助理 家用设备制造商可以使用BML100PI来创建“智能储物架”,包
[嵌入式]
博世推出专为智能家居虚拟<font color='red'>触摸屏</font>BML100PI模块
串行通信在永磁同步电机控制系统中的应用
引 言   TMS320LF2407是 TI 公司开发的、适用于电机控制的数字信号处理器(DSP),在原有DSP内核的基础上添加了脉宽调制(PWM)、A/D、D/A模块,从而实现对电机系统的全数字控制。它在电机控制系统中得到了广泛应用,并取得了明显效果。在开发一套以DSP为核心的永磁同步电机控制系统时,需要及时观察驱动系统中的各个变量,同时还要对一些程序进行控制,修改特定参数。DSP在实际运行中不能用外接的端口进行控制,需要用DSP自带的串行通信模块来解决这一问题。通过一台上位计算机和以DSP为核心的电机控制系统构成整个监控系统,Pc机通过串口来改变DSP程序中转矩、磁链给定,以及调节PI参数等,电机控制系统完成对电机的控制,并采集
[嵌入式]
S3C2440裸机------触摸屏_电阻触摸屏硬件原理
1.电阻触摸屏原理 2.电阻触摸屏等效电路 2.1触摸屏空闲状态 平时触摸屏没有被按下时,等效电路如图14.5所示。S4、S5闭合,S1、S2、S3断开,即YM接地、XP上拉、XP作为模拟输入(对CPU而言)、YP作为模拟输入、XM高阻。 平时触摸屏没有被按下时,由于上拉电阻的关系,Y_ADC为高电平,当x轴和y轴收挤压而接触导通后,Y_ADC的电压由于连通道y轴接地而变为低电平,此低电平可作为中断触发信号来通知CPU发生“Pen Down”事件。 2.2采样X_ADC电压 采样X_ADC电压,得到x坐标,等效电路如图14.6所示。 S1、S3闭合,S2、S4、S5断开,即XP 接上电源、XM接地、YP作
[单片机]
S3C2440裸机------<font color='red'>触摸屏</font>_电阻<font color='red'>触摸屏</font>硬件原理
欧菲光触摸屏出货量全球第一
   欧菲光8月27日晚发布了2014年半年报,报告期内,公司实现营业收入83.10亿元,比上年同期增长151.57%,已接近2013年全年91亿的营收规模;实现营业利润3.07亿元,比上年同期增长34.71%;实现净利润3.15亿元,比上年同期增长42.71%。同时,欧菲光预计今年前三季度归属上市公司股东净利润5.1亿至6.25亿元,同比增长35%至65%。   欧菲光营业收入增长幅度高于净利润增幅,主要是因为毛利率较低的触控显示全贴合产品销售同比大幅增长509.30%,占主营业务收入的比例大幅提升至55.84%,导致上半年公司主营业务毛利率同比下降5.91个百分点。   目前,欧菲光触摸屏出货量已位居全球第一,并与三星、联想
[手机便携]
语音回示在GSM-R手持终端中的实现
GSM-R手持终端功能概述   铁道部已确定以GSM-R系统作为中国铁路无线通信平台,因此,以GSM-R为平台建立综合无线通信系统,为GSM-R网络的各种作业提供无线通信手段和设备已迫在眉睫。   GSM-R手持终端在编组站中有着特殊的应用。编组站的作业以小组为单位,完成调车、编组工作。小组的每位成员均配备GSM-R专业手持终端,并根据职务要求的不同,具有各自的功能。本文主要介绍语音回示功能的实现方式。调车长发出的调度指令种类是有限的,因此,GSM-R手持终端可以先预存相应指令的语音信息,然后根据收到的调度指令,播放出相应的语音。这个功能是编组站手持终端必备的功能,本文采用Atmega128和ISD4003完成此功能,并采用一种全新
[单片机]
语音回示在GSM-R手持终端中的实现
人机界面在智能化可控硅整流装置中的应用
1 系统组成与工作原理 1.1 系统组成 系统由5部分组成:变送器、PLC主机、模拟量输入输出模块、触摸屏、可控硅整流部分等组成,系统控制结构如图1所示。在控制部分,选用SIEMENS 的S7-200 PLC 对采样信号进行快速、可靠的处理,编程软件为STEP 7-MicroWIN 32 V3.2;选用SIEMENS 的TP270B触摸式人机界面(HMI)对实时温度值和各种故障信息进行显示、记录,组态软件为SIMATIC Pro-Tool V6.0。HMI 和PLC 之间采用MPI( 多点)通讯方式,通过对HMI 画面上所设元件属性和与PLC 的数据交换地址的定义,实现HMI 上相关元件对应的暂存器对PLC 存储单元的读写
[模拟电子]
RS232C/RS422/RS485串行通信标准
一、RS232C串行接口标准简介 RS232C是1969年有电子工业协会(EIA)公布的标准,RS是推荐标准(recommended standard)的缩写。该标准的用途是定义数据终端 设备 (DTE)与数据通信 设备 (DCE)接口的电气特性。图1是个人计算机通过RS232C 、调制解调器访问远程计算机的应用框图。RS232C接口在个人计算通信中起着极为重要的作用。 图1 RS232C接口应用图例 1、RS232C信号特性、电缆长度及波特率 为了确保正确的发送二进制数据和正确的执行设备控制,RS232C标准为数据和管制信号提供了电压标准及范围。当RS232C的线路上没有通信的数据信号时,DTE端的发送信号保持-1
[嵌入式]
单片机(AT89C51)的串行通信实验
实验一(将一个简单的字符串输出到单片机中): 实验目的: 实现输出“201805021123 YEYUEHNG ” 用VIRTUAL TERMINAL显示出来 实验一-----电路图: 实验图比较的简单明了,主要要注意的就是单片机的晶振要设置为11.0592MHz,不然不会出现预想的结果,如下图设置: 实验一-----代码段: #include reg51.h unsigned char code str = 201805021123 YEYUEHNG ; //定义一个发送的数据 //函数的功能是:向PC端发送一个字节数据 void send(unsigned char dat) {
[单片机]
单片机(AT89C51)的<font color='red'>串行通信</font>实验
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved