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

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

3天内不再提示

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

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-15 14:49 次阅读

英利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 << 23) // D23 of termios.c_cflag
#define EM9X60_ISO7816_MODE (EM9X60_ISO7816_T0 | EM9X60_ISO7816_T1)

设置这些参数的方法和标准设置串口的波特率等其他通讯参数一样,直接调用标准函数tcsetattr( )就可完成。如:

int enable_iso7816(pport_info p_info)
{
struct termios cur_opt;
int status;
tcgetattr(p_info->port_fd,&cur_opt);
// 修改模式,启动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;
}

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

    关注

    87

    文章

    10994

    浏览量

    206772
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34623
收藏 人收藏

    评论

    相关推荐

    ADE7816 0x4380~0x43BF为什么无法写入数值?

    您好! ADE7816 0x4380~0x43BF 无法写入数值, 但 0xExxx 之后的 Register 均可写入读取正确, 将 0XE7FE 写入 0XAD, 0XE7E3 写入 0X
    发表于 12-27 07:46

    利用EM和边缘透视监测工业用电厂

    利用EM和边缘透视监测工业用电厂
    的头像 发表于 10-27 16:39 267次阅读
    <b class='flag-5'>利用</b><b class='flag-5'>EM</b>和边缘透视监测工业用电厂

    请问怎么利用单片机io口实现非均匀采样?

    怎么利用单片机io口实现非均匀采样?
    发表于 10-19 07:47

    带AT32 MCU的DM9051介绍

    DM9051 with AT32 MCU本应用指南将介绍如何在 AT32F4 xx 单片机上通过 DM9051 网卡芯片实现以太网通信,并提供基于AT32F4xx_StdPeriph_Lib 和 uIP 协议栈的源代码 。
    发表于 10-19 07:16

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    FM8301双界面读卡机产品说明书

    设备支持 USB 接口主要功能如下 支持符合 ISO/IEC 14443 Type A 的非接触智能卡读写器功能 支持符合 ISO7816 -3 协议 T=0 协议的 CPU 卡(包括
    发表于 09-14 06:30

    串口特殊用法—智能卡通讯

    我司某产品需要使用单片机访问7816接口的智能卡卡片,但是我们选型的单片机没有硬件7816接口,考虑到使用IO模拟超级麻烦,而且兼容性和通讯速率都无法保障,于是使用UART接口实现
    的头像 发表于 09-12 15:13 528次阅读
    <b class='flag-5'>串口</b>特殊用法—智能卡通讯

    X-Cube-SBSFU/STM32G0介绍

    X-Cube-SBSFU软件包的定位• ST提供给客户的,用于解决“安全启动”和“安全固件更新的”的,开源、免费的参考实现• 客户可以基于此,定制开发自己的实现,以满足实际应用的安全需求
    发表于 09-11 06:54

    集成电路是现代电子信息技术的基础

    集成电路是现代电子信息技术的基础 随着科技的不断发展,集成电路技术已成为现代电子信息技术的基础之一。它的应用范围已经涉及到电子、通信、计算机、军事等行业,已经为人们的生活和工作带来了极大的便利
    的头像 发表于 08-29 16:25 1285次阅读

    信息技术促使轨道交通全面升级

    有别于传统的铁公路系统,新型基础建设强调的是将新一代的信息技术纳入基建领域,在未来的交通系统中,智能化、信息化的轨道交通系统网络,搭配5G等技术的发展,将是实现智能城市轨道交通的主要驱
    的头像 发表于 08-21 11:11 481次阅读

    如何利用Intel Optanane技术优化资本市场

    如何利用Intel Optanane技术优化资本市场——金融信息技术生命中的一天,描述Intelé OptananeTM技术如何提供更多宝贵数据的白皮书
    发表于 08-04 06:30

    CSS3介绍(1)#web开发技术

    Web开发技术
    未来加油dz
    发布于 :2023年07月12日 14:49:37

    如何通过串口实现接收AT指令?

    比如通过串口实现接收AT指令,该如何做呢?
    发表于 06-27 08:45

    2023年中海达星推官系列直播再度启航,与您一起探讨空间信息技术

    信息技术
    中海达
    发布于 :2023年06月21日 11:45:49

    请问ML51是不是ISO 7816-3也是串口

    ML51 是不是ISO 7816-3也是串口? 所以原有串口总数就是 原来2个串口 加上 ISO
    发表于 06-16 07:49