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

描述

EM9280是英创公司即将推出的新型工控主板产品。EM9280作为第一款板载8个独立的异步串口(UART),而有别于公司的其他主板产品。8个串口的配置,可满足在绝大多数应用场合的需求,从而帮助客户进一步降低整机成本,加快产品的入市时间。本文主要是介绍EM9280各个串口的应用特色。

在Window CE6.0系统中EM9280的8个串口分别命名为“COM2:”-“COM9:”,其基本特性如下表所示:

EM9280串口 物理接口 简要说明
  “COM2:”   RTS/CTS流控   作为GPRS模块接口,RTS/CTS与GPIO复用
  “COM3:”   RX/TX三线制   独立串口,缺省配置为RS232电平
  “COM4:”   RX/TX三线制   独立串口,最高波特率可达3Mbps
  “COM5:”   RX/TX三线制   独立串口,最高波特率可达3Mbps
  “COM6:”   RX/TX三线制   与GPIO10–GPIO11复用管脚
  “COM7:”   RX/TX三线制   独立低速串口,适合作RS485,
  推荐波特率 1200bps–19200bps
  “COM8:”   RX/TX三线制
  “COM9:”   RX/TX三线制

在标准的EM9280中,只有COM3的接口是RS232电平(±9V),其他的都是3.3V的TTL电平信号,在无数据收发时均为高电平。EM9280为了突出串口的应用,大部分串口都采用独立管脚引出,这样同时还可提高其GPIO的利用率。在8个串口中,COM2–COM6为iMX283芯片内部的串口单元,由于DMA的支持,因此可实现高达3Mbps的波特率。在使用高波特率时,需注意接口驱动芯片的速度及传输距离的影响。

COM7–COM9则属于低速串口,尽管最高波特率可达57600bps,但推荐使用的波特率为1200bps–19200bps。由此可见COM7–COM9特别适合作为RS485来使用。在EM9280的评估底板中,COM7 – COM9都配置成RS485接口,以方便用户评估。

在RS485的应用中,用户还可以设置某一位GPIO作为硬件RTS方向控制,具体编程方法如下:

1. 设置DCB参数块中的fRtsControl为RTS_CONTROL_TOGGLE。

DCB SerDCB;
        SerDCB.DCBlength = sizeof( DCB );
        GetCommState( m_hSer, &SerDCB ); // 读取当前DCB
        SerDCB.fRtsControl = RTS_CONTROL_TOGGLE;
        SetCommState( m_hSer, &SerDCB ); // 再设置回串口驱动

2. 通过DeviceIoControl来指定具体作为RTS的GPIO管脚。以GPIO24为例:

#include “bsp_drivers.h”
        DWORD dwRTSPin = GPIO24;
        bRet = DeviceIoControl(m_hSer, // file handle to the driver
                IOCTL_SET_UART_RTS_PIN, // I/O control code
                &dwRTSPin, // in buffer
                sizeof(DWORD), // in buffer size
                NULL, // out buffer
                0, // out buffer size
                NULL, // pointer to number of bytes returned
                NULL); // ignored (=NULL)

可用作硬件RTS方向控制的GPIO管脚有:GPIO6–GPIO7;GPIO20–GPIO31。若应用程序选择其他GPIO作为RTS,设置函数将返回FALSE。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分