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

英利em9160、em9460系列产品,均以丰富的串口资源为特色,已大量地应用于工业环境中,特别是在电力系统中应用。最近公司即将推出一款新的产品em9560工控主板,该主板是是以em9460工控主板为基础,并针对客户应用的需求,增加了更多通用数字io,该产品继续保持了linux操作系统作为客户应用程序的软件平台。这三款主板均具备6个串口,其中的4个串口可支持iso7816,用户可以通过简单的设置,即可将异步串口转换为符合iso7816的接口,从而方便地实现和各种智能卡之间的通讯。本文将详细介绍在em9160、em9460、em9560工控主板上设置iso7816的方法。
1、iso7816接口资源配置
可支持iso7816的串口资源包括:ttys2 + gpio14、ttys4 + gpio15、ttys5 + gpio15、ttys6 + gpio15,其中的gpio14和gpio15分别作为iso7816的工作时钟输出,需要注意的是ttys4、ttys5、ttys6这三个串口共用的是一个工作时钟输出,如果需要同时使用的话,要求波特率是一致的。以下为资源列表:
串口 管脚配置 备注
ttys2 txd:半双工数据线
rxd:复位输出控制 低电平有效
gpio14:作为sck 输出频率与波特率等参数有关
ttys4 txd:半双工数据线
rxd:复位输出控制 低电平有效
gpio15:作为sck 输出频率与波特率等参数有关
ttys5 txd:半双工数据线
rxd:复位输出控制 低电平有效
gpio15:作为sck 输出频率与波特率等参数有关
ttys6 txd:半双工数据线
rxd:复位输出控制 低电平有效
gpio15:作为sck 输出频率与波特率等参数有关
其中ttys4-ttys6缺省为ttl电平,所以建议客户首选其中之一作为iso7816接口。ttys2缺省出厂配置为rs232电平,如果选择了该串口,需要特别通知我们公司在出厂时将该串口设置为ttl电平。一旦gpio14、gpio15作为iso7816的工作时钟,就不能再做其他用途使用。
2、硬件接口电路
需要注意的是我们将串口的rxd作为对iso7816接口的复位信号,相应的在串口驱动中已实现了该功能,在后续应用程序介绍中会介绍对iso7816进行复位的方法。
3、应用程序设置方法
对于iso7816设置我们已经在底层的串口驱动中完全实现,因此上层的应用程序在进行iso7816设置、通讯时,和使用标准的串口方法是类似的。也是按照标准的方式打开串口,只是在设置串口的通讯参数时增加对iso7816的设置即可,然后就可以按照串口数据收发的标准方式进行iso7816的数据读写,只是需要注意的是iso7816的半双工通讯模式。
根据iso7816协议类型以及帧应答规范,所定义的iso7816的相关参数均定义在我们公司提到个em9x60_drivers.h文件中。
#define em9x60_iso7816_t0 (1 << 27) // d27 of termios.c_cflag
#define em9x60_iso7816_t1 (1 << 26) // d26 of termios.c_cflag
#define em9x60_iso7816_rxd_reset(1 // 修改模式,启动iso7816复位操作
cur_opt.c_cflag |= ( em9x60_iso7816_t0 | em9x60_iso7816_rxd_reset );
status = tcsetattr(p_info->port_fd,tcsanow,&cur_opt);
if(status != 0)
{
perror('cannot set the serial port parameters');
return -1;
}
// 修改模式,进入iso7816
cur_opt.c_cflag &= ~em9x60_iso7816_rxd_reset;
status = tcsetattr(p_info->port_fd,tcsanow,&cur_opt);
if(status != 0)
{
perror('cannot set the serial port parameters');
return -1;
}
return status;
}

如何让残障人士在互联网世界得到公平和平等?
移动互联时代专属人工耳蜗科利耳N7声音处理器----一机掌控,高效管理
多线程两种同步方式的操作方法分析
苹果秋季第三场发布会,除了M1处理器还有新一代MacBook Air
打破偏远地区医疗瓶颈的局限——数字化听诊
英创信息技术EM9X60利用串口实现ISO7816介绍
基于PEDOT触控技术以提升驾驶体验
各种分布式系统平台背景及开发中的应用
万用表怎样测三相电机的好坏 三相电机如何测量好坏
如何确定电脑是否中毒
测量SiC MOSFET栅-源电压时的注意事项
TCL将在香港推出新款Palm手机搭载骁龙435支持IP68级防水防尘
英特尔中国率先站出?称和华为紧密合作
UPS设计:挑战与考量
BMS_SOH算法模块-在线离线估算模块(模型)介绍
10倍变焦,潜望式镜头大热 或成未来智能手机标配?
什么是Windows CE,LynxOS是什么操作系统
5G商用步伐加快,云网融合成为未来的发展趋势
区块链将从三方面去改革网络安全
机器人行业整体发展迅速 发展前景广阔