0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术:EM9x60串口通讯基本应用

英创信息技术 作者:英创信息技术 2019-10-17 11:17 次阅读

串口通讯,是工业自动化、智能终端、通信管理等领域传统且重要的通讯手段。最常用到的串口通信模式往往是两种:RS232RS485。其中RS232通讯方式有三线制和九线制两种。

英创所有型号的嵌入式主板均提供有串行通信接口(串口),根据不同的主板型号,串口的数量也不同,如: ETR232i、 ETR186提供有3个串口;EM9000、EM9161提供有4个串口;EM9260、EM9360、EM9160则直接提供多达6个串口。除了系统板载的串口以外,客户还可根据自己的应用进行灵活扩展。基于英创的嵌入式系统的精简ISA总线或专用的扩展底板,可扩展出更多的通用串口,现可用的扩展配件有:ETA502、ETA503、ETA504。所有的串口的通讯的最高波特率均能达到115200bps。

英创工控主板直接提供的串口既有标准的RS232接口,也有TTL电平的串行接口,这意味着,TTL电平的串口只需要添加简单的外围电路驱动,就可直接转换为标准RS232、RS485接口以及RS422接口。某些用户(如电力系统用户)还可以根据实际情况需要,在串口上添加光电隔离电路,以达到保护端口的目的。英创公司给用户提供的开发底板(随基本开发套件提供)就充分地考虑了用户对于串口应用的多方面要求,既引出了RS232接口,也引出了 RS485接口,满足了用户灵活使用的需要。

串口扩展模块

英创公司所提供的基于系统提供串口的嵌入式主板,均是通过嵌入式主板上的插针的方式,作为与用户的接口。这些串口,能够满足大多数的应用环境。除止之外,还可以使用英创公司的串口扩展模块进行扩展。

ETA503

ETA503是基于英创公司的嵌入式系统所特有的精简ISA总线,扩展4个串口的扩展模块。4个串口均是9线制通用RS232电平信号

该模块可以通过ISA总线在英创公司的所有嵌入式主板(X86系列及ARM系列)中使用,即可以通过短的排线连接在ISA总线上,这种方式可以快速实现功能评估,也可以将ETA503当作一个元器件一样,用插针插在应用系统中所提供的插座上(ARM9+ETA503应用方案示列参考:《WinCE系统多串口扩展方案》)。

RS485通讯接口

在很多的工业应用场合中,长距离的通讯,仍是采用RS485的通讯方式,这种方式的应用简单、通讯可靠、成本也很低。

其接法是:将通用的串行通讯口的接收(RX)与发送(TX)分别接至RS485接口芯片的接收输出(RO)与发送输入(TI)口,再用一个信号来控制RS485的收/发状态。英创公司提供的RS485通讯电路中,对RS485的收发控制采用了自动收/发控制电路。这样,一是减少了对系统资源的占用,二是保持与RS232一样的驱动程序,从而提高程序的执行效率。

自动收/发控制原理:

在通讯空闲状态,TXD(数据发送信号)为高, A点为高,B点经R21给C11充电,其充电时间为T1,该时间定为串口发送一个字节所需的时间,由R21与C11的参数来确认。充满后,R/T为低,RS485处于接收数据的状态。

在发送数据时,TXD起始位产生第一个下降沿,使A点为低,B点经过D5进行快速放电,使R/T很快变为高,RS485处于数据发送状态。在发送过程中,当TXD变成高电平时,C11通过R21缓慢充电,使R/T仍然保持在发送状态,可有效吸收总线上的反射信号。当RC充电结束,使R/T转入接受状态时,总线上的上拉、下拉电阻将维持TXD高电平的发送状态,直至整个bit发送结束。

当数据发送完毕以后,TXD变为高电平,RC又开始充电,即经T1时间后,RS485又转换为数据接收状态。

虽然RS485接口芯片具有一定的抗浪涌能力,但是在很多的工业现场,仍存在对接口芯片及系统有威胁的干扰。所以通常会采取一定的措施来进行系统的保护。如光电隔离与TVS等。需注意的是,如加了光电隔离,必须使其电源也隔开,这样才能起到隔离作用。

ETA232

在英创所提供的嵌入式主板中,即给了RS232电平信号的串行通讯接口,也给出了TTL电平信号的串行通讯接口,且TTL电平信号的串口支持MODEM控制。如用户在使用中,要用到TTL电平信号的串口来作RS232的通讯或是控制MODEM,则需要将TTL电平信号转换为RS232电平信号。为此,英创公司也提供了相应的转换模块ETA323,将TTL接口的信号转换为9线制标准的RS232接口。

基于英创公司的嵌入式系统的串口的基本应用

对于英创公司所提供的串口通讯的驱动,均是以中断服务的形式,实现与底层硬件间的通讯。

下面以X86系列为例,说明其最基本的应用原理:

中断服务程序的任务,就是对串口数据的接收及用户数据的发送进行处理并对数据环形BUFF管理的过程。

当有数据被接收时,中断服务程序便将所接收到的数据从硬件模块中取出,并按一定的规则送入到指定的串口的接收BUFF中存贮。用户使用GetInputData( )函数来读取接收BUFF中的数据。应注意的是,GetInputData( )函数一次只能从BUFF中读取一个字节的数据,所以,在应用程序中,应重复调用这个函数直到函数的返回值为-1时,才表明将接收BUFF中的数据全部读出。

当用户要发送数据时,调用PutOutputData ( )将用户已准备好的数据,依次填入数据发送BUFF中。在数据填完后,调用StartSend( )启动串口发送中断,这时数据的发送将由中断服务程序来完成。应注意的是,PutOutputData ( )函数一次也只能将一个字节的数据填入BUFF中,要反复调用该函数直到所有的数据都被填入BUFF。如PutOutputData ( )函数返回了-1,则表明BUFF已被填满,再往BUFF中填数据,将不会被接授。

对于用户的应用程序,可以参考以下的说明:

1、 用户可以用查询或定时或其它的方式,对串口的数据读取。如确认接收BUFF中有数据存在,建议一次将其全部读出。读取串口数据的参考程序如下:

int ReadRxdBuff( int ComIdx , unsigned char *RxBuff , int MaxLen )

{

int i1,i2;

for(i2=0 ; ; )

{

// 检查某个串口是否有数据,如没有数据则退出,否则,将数据放入缓存器以便使用

i1 = GetInputData( ComIdx );

if( i1==-1 )

break;

RxBuff[i2]=char ( i1 );

i2++;

if(i2==MaxLen)

break;

}

return i2;

}

函数的参数说明如下:

ComIdx 要读取的串口序号

*RxBuff 读出的数据要存放的数据缓存器

MaxLen 读出数据的最大长度,以限制一次性读取的长度

2、当用户有数据需要发送时,首先应将要发送的数据准备好,再依次将的要发送的数据一次性全部填入对应的发送BUFF中。再启动数据发送。应注意的是,要发送的数据的长度要有一定的限制,不能超出发送BUFF的长度。数据发送的参考程序如下:

int SendTxdBuff( int ComIdx , unsigned char *TxBuff , int TxLen )

{

int i1,i2;

for( i2=0; i2 <>

{

i1=PutOutputData( ComIdx ,TxBuff[i2] );

// 每填入一个数据,建议检查一下BUFF是否被填满

if( i1==-1 )

break;

}

// 数据被填入BUFF后,应启动发送中断。让中断程序来完成数据的发送

StartSend( ComIdx );

return i2;

}

函数的参数说明如下:

ComIdx 要发送数据的串口序号

*TxBuff 要发送的数据

TxLen 发送数据的长度

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35198
收藏 人收藏

    评论

    相关推荐

    利Linux工控主板使用必读(EM9x60

    EM9x60系列工控主板包括两个型号:EM9160和EM9260。为便于读者了解和使用利产品,本手册中一些部分会以
    发表于 11-09 21:47 34次下载

    利Linux工控主板EM9x60使用手册免费下载

    本文档的主要内容详细介绍的是利Linux工控主板EM9x60使用手册免费下载。用户第一次使用 EM9x60 往往是购买开发评估套件,开发评估套件包括如下几部分: EM9x60 工控主
    发表于 11-21 08:00 3次下载

    信息技术EM9X60系列嵌入式主板与122x32点阵液晶的硬件连接浅谈

    公司的EM9X60系列嵌入式主板能够自动识别市面上常用的128x64、240x128、320x
    的头像 发表于 11-04 09:39 1843次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM9X60</b>系列嵌入式主板与122<b class='flag-5'>x</b>32点阵液晶的硬件连接浅谈

    信息技术工控主板EM9000串口扩展介绍

    EM9000工控主板是公司的主流产品之一,以突出的综合性性能为特色,特别是Windows CE平台与EM9000较强的显示硬件单元相匹配,使其得到了越来越广泛的应用。在工业应用中,
    的头像 发表于 11-15 09:19 1749次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控主板<b class='flag-5'>EM</b>9000<b class='flag-5'>串口</b>扩展介绍

    信息技术工控主板支持电力终端标准显示介绍

     公司EM9X60系列工控主板广泛应用于电力行业,在最新的国家电网公司技术标准《电力用户用电信息系统功能规范》中,对电力终端的显示单元有
    的头像 发表于 11-15 09:59 1665次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>英</b><b class='flag-5'>创</b>工控主板支持电力终端标准显示介绍

    信息技术工控主板EM9161对ISO7816协议的支持概述

    在当前的金融POS终端及相关领域,ISO7816通讯协议得到了广泛应用。的工控主板EM9161,可在其异步串口的基础上,通过简单的设置,
    的头像 发表于 11-17 11:50 1699次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控主板<b class='flag-5'>EM</b>9161对ISO7816协议的支持概述

    信息技术工控主板EM9160对红外通讯用途介绍

    公司的EM9160是一款高性价比的工控主板,预装正版WinCE5.0操作系统,具有极强的通讯能力。在电力电表的应用中,红外通讯是一种非常
    的头像 发表于 11-18 09:58 1227次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控主板<b class='flag-5'>EM</b>9160对红外<b class='flag-5'>通讯</b>用途介绍

    信息技术主板EM9360 IRIG-B码校时方案

    EM9360是公司推出的基于AT91SAM9260的同时支持3网,6串口和CAN通讯接口的
    的头像 发表于 01-14 14:31 1465次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>主板<b class='flag-5'>EM</b>9360 IRIG-B码校时方案

    信息技术EM9X60利用串口实现ISO7816介绍

    EM9160、EM9460系列产品,均以丰富的串口资源为特色,已大量地应用于工业环境中,特别是在电力系统中应用。最近公司即将推出一款新的产品EM
    的头像 发表于 01-15 14:49 2823次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM9X60</b>利用<b class='flag-5'>串口</b>实现ISO7816介绍

    信息技术EM9280串口技术特色及应用介绍

    EM9280是公司即将推出的新型工控主板产品。EM9280作为第一款板载8个独立的异步串口(UART),而有别于公司的其他主板产品。8个
    的头像 发表于 01-15 14:41 1297次阅读

    信息技术Linux调试串口转换为应用串口的方法

    公司的EM9X60系列工控主板(包括 EM9160、EM9360、EM9460、
    的头像 发表于 01-16 09:28 1584次阅读

    信息技术EM928x串口的RTS硬件方向控制方法

    EM928x系列主板包括板载8路物理串口EM9281和EM9280,以及板载7路
    的头像 发表于 01-16 10:21 1627次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM928x</b><b class='flag-5'>串口</b>的RTS硬件方向控制方法

    信息技术EM9x60主板串口的RTS硬件方向控制方法

    EM9x60系列工控主板均板载高速全双工物理串口,其中除了ttyS3引出方式为232电平以外,其余串口均以TTL电平引出,客户可以在应用
    的头像 发表于 01-17 08:59 1945次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM9x60</b>主板<b class='flag-5'>串口</b>的RTS硬件方向控制方法

    信息技术EM9460 USB虚拟串口应用简介

    ,最方便的方法就是利用EM9460中的USB device设备和PC机的USB主控相连,在EM9460的USB device驱动实现将其映射为一个虚拟
    的头像 发表于 02-03 08:59 1682次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b><b class='flag-5'>EM</b>9460 USB虚拟<b class='flag-5'>串口</b>应用简介

    信息技术ISA扩展通讯接口简介

    ETA508 八串口通信扩展模块 ETA503 四串口通信扩展模块 ETA508是一款8路标准UART串口通信扩展模块,它通过精简ISA总线与
    的头像 发表于 02-14 09:41 1862次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>ISA扩展<b class='flag-5'>通讯</b>接口简介