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

英创em9x60系列工控主板均板载高速全双工物理串口,其中除了ttys3引出方式为232电平以外,其余串口均以ttl电平引出,客户可以在应用底板上将这些串口扩展为标准rs232或rs485串口使用,也可以连接自己的串口外设。
em9x60的ttl串口除了ttys1以外,都是三线串口,提供rxd、txd、gnd这3路信号。为了提高电路的抗干扰能力,实际rs485串口应用中,客户可能需要使用grts#硬件方向控制。英创为此提供的方案是:使用板载gpio作为rts#信号线,并在内核串口驱动中增加相关的控制操作,客户只需在使用串口之前使能rts#功能,就可以启动rts#硬件方向控制功能。
em9x60支持这一功能的有ttys3、ttys4、ttys5、ttys6这4路串口,相应的用于模拟rts#信号线的gpio为gpio6、gpio8、gpio9、gpio10,具体对应关系如下:
串口名称 rts#使用的gpio
ttys3 gpio6
ttys4 gpio8
ttys5 gpio9
ttys6 gpio10
须注意的是,上述4路gpio一旦被用作rts#信号线,则无法同时作为gpio使用。
要使用这一功能,在应用底板制作的时候,除了引出txd、rxd,并将串口信号转换为差分信号以外,还需要进行一些电路扩展,如下图。
从图中可以看出,方向控制信号com2_rtsn(即rts#信号)是低电平有效的,有效时(低电平)串口处于发送状态,无效时(高电平)处于接收状态。 用户需要特别注意rts#信号是低电平有效的控制信号,这是因为:(1)在主板上电复位时,所有管脚均处于带上拉的输入状态,这时管脚的电平为高。采用低电平输出有效,防止了在上电复位过程中,rs485总线被无效信号干扰的问题;(2)若由于某种原因rts#信号与rs485驱动断开,因为悬空管脚在数字电路中是作高电平状态的,因此也避免了电路内部的故障影响rs485总线的情况发生。
em9x60内核中已经增加了rts#控制部分,在串口测试例程中也增加了相应结构定义和函数如下:
// d15 of termios.c_cflag
#define em9x60_rts_control_toggle (1 // 修改模式,进入rts toggle操作
cur_opt.c_cflag |= em9x60_rts_control_toggle;
status = tcsetattr(p_info->port_fd,tcsanow,&cur_opt);
if(status != 0)
{
perror('cannot set the serial port parameters');
return -1;
}
return status;
}
在提供的应用例程step2_serialtest中,可在初始化串口函数openport()中加上使能rts的代码,如:
// 使能 rts
if( enable_rts_toggle( &info )!=0 )
{
printf( 'enable rts toggle fail\n');
}
之后对于串口的读写操作和标准的rs232串口操作完全一致。
由于rts#的控制由驱动程序自动进行,因此无论是否打开这一功能,客户的应用程序开发是完全一样的,可参考英创光盘的step2_serialtest进行开发。

电池故障集中爆发,整车企业质保服务有何保障?
电动机2地控制电路图
全球万物互联将从Powered by Ayla开始
辟谣4G:规模商用除了牌照还需更成熟网络
我国核电机器人发展现状及未来趋势分析
英创信息技术EM9x60主板串口的RTS硬件方向控制方法
华为高管解读全球策略:以研发消灭批评与谣言
沃尔玛正在利用区块链来跟踪公司供应链中的产品
食品检测实验室仪器设备的产品性能介绍
空调内机发出哒哒声到底怎么回事
魅族16s正式开启预售搭载骁龙855平台后置4800W双摄像头支持光学防抖
印尼推出二维码标准 泰旅游局与支付宝合作
联发科发布G70处理器 红米9有望在今年第一季首发登场
威马汽车针对两起威马电动出租车自燃事件回应
2021版新iPhone的渲染图曝光,影像技术令人刮目相看
强固型智慧工厂解决方案:BOXER-6406-AND
5G基础设施在射频芯片内部开辟集成前沿
数字化加持汽车服务业,SRM供应商系统助推企业供应商精细化管理
如何设计酒店楼宇灯光亮化设计,酒店楼宇灯光亮化设计技巧
东芝欲售西屋电气,增发54亿美元新股躲避退市