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

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

3天内不再提示

英创信息技术嵌入式Linux主板EM9160支持ISO7816通讯协议介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2019-11-18 10:09 次阅读

在新的国家电网集抄终端相关标准中,规定了通过嵌入式安全控制模块,即通常所说的ESAM芯片,来保证设备数据安全性的方法,而设备主控单元与ESAM芯片采用了广泛应用的ISO7816通讯协议。为了适应这一新的技术需求,我们对嵌入式Linux主板EM9160的串口驱动进行了升级,使其多个串口都可支持ISO7816协议,为客户进行智能终端整机设计时,提供了灵活的选择。

对EM9160工控主板,可在其异步串口的基础上,通过简单的设置,就可把串口转为符合ISO7816协议的接口,实现与各种智能卡的通讯。EM9160共有6个异步串口,在Linux环境中为“/dev/ttyS1”-“/dev/ttyS6”,其中支持ISO7816的串口如下表所示:

串口

管脚配置

备注

“/dev/ttyS2”

TXD:半双工数据线
RXD:复位输出控制 低电平有效
GPIO14:作为SCK 输出频率与波特率参数有关

“/dev/ttyS4”

TXD:半双工数据线
RXD:复位输出控制 低电平有效
GPIO15:作为SCK 输出频率与波特率参数有关

“/dev/ttyS5”

TXD:半双工数据线
RXD:复位输出控制 低电平有效
GPIO15:作为SCK 输出频率与波特率参数有关

“/dev/ttyS6”

TXD:半双工数据线
RXD:复位输出控制 低电平有效
GPIO15:作为SCK 输出频率与波特率参数有关

EM9160在硬件上与ESAM芯片的连接很简单,如上表所示,只需要3条信号线,连接示意图如下:

为了简化EM9160对ISO7816协议的参数设置,其FI/DI比值固定为372,事实上这也是应用中最常用的比值,符合国电公司指定的ESAM芯片的要求。若所用串口的波特率为9600bps,则输出的SCK频率为3.5712MHz。

EM9160的“/dev/ttyS4”-“/dev/ttyS6”串口信号均为TTL电平,建议客户首选其中之一作为与ISO7816智能芯片的通讯接口。如果这些串口已分配给设备的其他功能,也可以考虑使用“/dev/ttyS2”口,需要注意的是“/dev/ttyS2”口出厂的缺省电平是RS232电平,若客户考虑配置“/dev/ttyS2”作为ISO7816协议端口,需在订购时通知厂方设置成TTL电平。另外当GPIO15或GPIO14一旦作为了ISO7816的工作时钟输出,就不能再用作其他的用途了。

为了方便设置ISO7816工作模式,在“em9x60_drivers.h”中定义了两个常量:

#define EM9X60_ISO7816_T0 (1 << 27)
#define EM9X60_ISO7816_RXD_RESET (1 << 23)

作为应用程序,在设置ISO7816模式的串口(以”/dev/ttyS4”为例)时,一般的流程如下:

1、按标准方法打开串口 fd = open(“/dev/ttyS4”, O_RDWR | O_NOCTTY);

2、获取数据结构 struct termios new_opt; tcgetattr(fd, &new_opt);

3、设置包括波特率、偶校验、8-bit数据等符合ISO7816规范的串口参数;

4、首先对ESAM芯片进行一次复位操作:
new_opt.c_cflag |= (EM9X60_ISO7816_T0 | EM9X60_ISO7816_RXD_RESET);
tcsetattr(fd, TCSANOW, &new_opt);
udelay(100); //延时100us
new_opt.c_cflag &= ~EM9X60_ISO7816_RXD_RESET;

5、再设置一次正常的ISO7816工作模式:
tcsetattr(fd, TCSANOW, &new_opt);
此时GPIO15已作为SCK输出3.57MHz时钟,若波特率为9600bps的话;

6. 按照ISO7816的协议规范,进行正常数据通讯;

7. 若需要把该串口恢复到正常模式,只需对参数进行设置一次即可:
new_opt.c_cflag &= ~ EM9X60_ISO7816_T0;
tcsetattr(fd, TCSANOW, &new_opt);

8. 按标准方法关闭串口close(fd)。

在实际的嵌入式应用系统中,一个串口一旦配置成与ESAM芯片相连,就不太可能还需要用作它用,因为复用串口会增加系统硬件的成本,更何况EM9160自身就有多达6个异步串口,完全可满足大多数智能终端的需求。


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

    关注

    87

    文章

    10986

    浏览量

    206723
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6064

    浏览量

    34604
收藏 人收藏

    评论

    相关推荐

    嵌入式主板的无线通讯解决方案

    WiFi模块。ETA6210模块继续保持了PPP拨号模式,使得无论是Linux平台的主板还是CE平台的主板,都能方便的使用。  下表列出了当前
    发表于 03-24 14:00

    主板中预装Modbus通讯协议

    modbus_Master.h,与原来的静态库保持不变,相应各个API函数的说明请参见网站技术天地文章《Wince下的Modbus主控通讯协议
    发表于 10-20 10:40

    嵌入式工控主板EM9160的PWM功能

    英创公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯
    发表于 04-09 15:49 36次下载

    英创嵌入式Linux工控主板如何实现ISO7816协议

    ISO7816在基于英创的工控主板上应用时,可将ISO7816智能卡简单的理解成一个串口设备。
    的头像 发表于 09-27 16:07 2967次阅读
    英创<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>工控<b class='flag-5'>主板</b>如何实现<b class='flag-5'>ISO7816</b><b class='flag-5'>协议</b>

    英创信息技术嵌入式工控主板EM9160的PWM功能使用方法

     英创公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯
    的头像 发表于 11-01 09:27 1359次阅读

    英创信息技术嵌入式主板EM9160精简ISA总线硬件中断的使用方法

     英创公司新近推出的嵌入式主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯
    的头像 发表于 11-01 09:42 1319次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>精简ISA总线硬件中断的使用方法

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

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

    英创信息技术ISO7816通讯协议在工控主板EM9160介绍

    在新的国家电网智能终端相关标准中,规定了通过专门的加密芯片来保证设备数据安全性的方法,而设备主控单元与加密芯片采用了广泛应用的ISO7816通讯协议
    的头像 发表于 11-18 09:56 1855次阅读

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

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

    英创信息技术工业主板EM9160介绍

    ,如I2C总线时钟芯片,I2C总线存贮器等。之前已对I2C总线操作铁电存贮器有过说明,相关文章请参考《工控主板支持铁电存储器的简易方案》。英创公司的EM9160工业主板的高性价比与高可
    的头像 发表于 01-14 11:09 1041次阅读

    英创信息技术嵌入式Linux工控板EM9160介绍

    I2C总线是一种2线制的主从通讯协议,主要运用于器件之间的数据通讯,在嵌入式系统中得到非常广泛的应用。作为一款高性价比的嵌入式
    的头像 发表于 01-14 10:57 1097次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>工控板<b class='flag-5'>EM9160</b><b class='flag-5'>介绍</b>

    英创信息技术嵌入式Linux工控板EM9160介绍

    嵌入式Linux主板EM9160主要应用之一就是可以作为智能终端的核心平台,智能终端总是带有一种显示单元。EM9160作为一种高效、低成本的
    的头像 发表于 01-14 11:20 1113次阅读

    英创信息技术主板EM9160硬件介绍

    英创工控主板上的精简ISA总线的主要应用,就是支持客户的专用电路单元的扩展,如数据采集等。在精简ISA总线中还包括了对外部硬件中断的响应输入,关于硬件中断的基本应用方法已在《嵌入式主板
    的头像 发表于 01-14 11:27 883次阅读

    英创信息技术主板EM9160测频功能的使用介绍

    英创公司的主流产品EM9160是一款功能强大的嵌入式工控主板,其主要应用是作为工业智能设备的核心平台。EM9160预装了Window CE5.0(正版)或
    的头像 发表于 01-15 14:15 1035次阅读

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

    为基础,并针对客户应用的需求,增加了更多通用数字IO,该产品继续保持了Linux操作系统作为客户应用程序的软件平台。这三款主板均具备6个串口,其中的4个串口可支持ISO7816,用户可
    的头像 发表于 01-15 14:49 2178次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>EM</b>9X60利用串口实现<b class='flag-5'>ISO7816</b><b class='flag-5'>介绍</b>