首页 > 嵌入式硬件 > 总线与接口

摘要:通过分析ISO/IEC 7816-3传输协议,设计该符合协议标准的接触式智能卡控制器,实现对字符传输和块传输这两种不同传输方式的智能卡的支持。该控制器集成于基于AMBA总线的Garfield系列芯片SEP4020中,采用硬件描述语言(verilog)实现。利用EDA工具VCS,Design Compiler对该控制器进行仿真、综合。设计采用Altera公司的FPGA进行验证,并采用SMIC 0.18μm工艺流片成功。在阐述该控制器设计原理的基础上,进行模块划分和具体设计,最后给出仿真、综合和FPGA验证结果。
智能卡(SMART card)通常指一张给定大小的塑料卡片,上面封装了集成电路芯片,用于存储和处理数据。随着嵌入式设备的普及,智能卡在金融、电信、单位考勤、公共事业、交通、医疗等领域得到广泛应用。本文通过对ISO/IEC 7816-3传输协议的分析,基于AMBA总线架构,提出一款智能卡设计方案,通过FPGA验证并采用SMIC 0.18μm工艺流片成功。
2 智能卡控制器工作原理
2.1 复位应答
当控制器检测到智能卡插入操作时对智能卡上电,并按照规范向智能卡发出冷复位信号,智能卡接收到该信号后向控制器发送复位响应,提供编码方式、协议选择、时钟转换因子、波特率调整因子、额外保护时间和最大工作等待时间等参数,后续的会话将按照这些参数进行。如果冷复位之后控制器没有收到符合格式的复位响应,控制器就发出热复位;如果智能卡对热复位仍然没有给出符合格式的复位响应,控制器将结束会话,并释放智能卡。
2.2 传输协议
智能卡控制器有字符传输方式(character transmission)和块传输方式(block transmission)两种传输协议。在字符传输方式中数据以字节单位发送,支持数据奇偶校验。块传输方式以多个字节组成的块为发送单位,发送连续的数据,不支持块中单个字节数据的校验,采用CRC/LRC软件校验。
2.3 基本时间单元ETU
智能卡会话过程中,每个数据位占用时间为1个ETU(Elementary Time Unit),ETU与智能卡的时钟频率呈线性关系:ETU=F/(D×f)。其中,f为控制器工作频率;F是时钟转换因子;D是波特率调整因子,支持2的次方数和负次方数。F和D的值,可以在智能卡的复位响应后根据响应提供的参数重新设定,如果智能卡没有提供相应的参数,将使用缺省值(F=372,D=1)。
2.4 数据帧
在字符传输方式时,数据帧由10个数据位组成(如图1所示),第一个是起始位(Start),后面跟8 b数据位,最后一个是奇偶校验位。在没有会话的时候,I/O信号线保持高电平。当出现奇偶校验错误时,控制器会重发数据,最多重发4次,如果连续5次都发送不成功,控制器发出中断,请求系统释放智能卡。

本文引用地址: http://embed.21ic.com/hardware/can/201806/63572.html

在块传输方式时,数据帧由1位起始位和8位数据位构成,没有校验位。块帧由起始域,信息域和终止域构成。起始域3个字节分别为节点地址、协议控制和长度;信息域为待发送的数据,终止域为CRC/LRC校验字节。
3 模块划分及硬件实现
智能卡控制器包括复位控制模块,收发控制模块,总线接口模块,读缓冲器模块,写缓冲器模块,通过APB接口和AMBA总线相连,对外是CLK,RST,和1根双向的I/O数据线(如图2所示)。

实现各模块功能需设置如下寄存器(如表1所示)。

3.1 复位控制模块
复位控制模块通过状态机的跳变完成对智能卡的复位(如图3所示)。当智能卡上电后,系统初始处于IDLE状态,控制器在使能后按照规范向智能卡发出冷复位信号。首先RST复位信号置低400个CLK以上对卡复位,然后进入等待复位响应状态。控制器经过1 860个CLK后还没有收到复位响应则可以选择进入时钟停止状态。当时钟恢复后,等待700个CLK后重新开始检测复位响应。当I/O数据线上检测到负跳变,则进入起始位接收状态,一个ETU后顺次进入数据接收,校验位接收状态。最后判断校验位正确与否,如果校验正确就保持I/O线为高等待下一个数据的接收;如果出错,则拉低I/O线1个ETU通知智能卡数据出错,请求重传,并设置错误次数计数器。
如果冷复位之后控制器没有收到符合格式的复位响应,控制器就发出热复位,热复位过程同上。如果热复位后40 000个时钟周期内,控制器仍未检测到复位响应,则控制器将结束会话,并释放智能卡。
3.2 数据收发控制模块
数据收发模块按照系统对控制寄存器,各时间寄存器和输出字节控制寄存器的设置来工作。与复位模块一样,数据收发模块也是由状态机跳变来完成。系统在复位响应完成后进人IDLE状态,根据协议选择字节传输方式(如图4所示)或是块传输方式(如图5所示)。


在字节传输方式下,当系统设置了输出字节控制寄存器后控制器就处于发送状态。首先进入Prepare状态,将发送FIFO中的数据放入移位寄存器,并计算出数据的奇偶校验位,为数据传输做好准备。1个ETU之后进入Start状态,拉低I/O数据线1个ETU来发送数据起始位。接着进入数据发送状态,将移位寄存器中的数据按1 b/ETU的速率串行发出。然后发送1 b奇偶校验位。数据发送完毕后按照系统设置的保护时间将I/O线拉高若干个ETU。最后检测是否已经发出了指定的字节数(Trig_num)。如果数据发送完毕,则跳入IDLE状态等待新的发送设置或转入数据接收;否则进入Prepare状态开始下一个字节的发送。
当系统处于数据接收状态时,首先进入等待起始位状态,在此状态设置超时计数器判断卡是否有响应。当I/O线拉低后就进入接收起始位状态,在该状态的0.5ETU时刻判断I/O数据线是否仍然拉低。如果I/O线跳高则说明是由于I/O线抖动造成的起始位误判,状态跳回等待起始状态;如果I/O线仍然为低,则起始位接收成功,并在0.5个ETU后进入数据接收状态。8 b数据按照1 b/ETU的速率接收,完成后转入接收校验位状态。硬件根据接收的8 b数据计算出校验位并与收到校验位比较,如果不同则I/O线拉低告知智能卡数据错误请求重发,相同则进入IDLE状态等待接收下一个数据或是进入发送状态。
块传输(如图5所示)的接收过程和字符传输类似,按照起始位、8 b数据位的状态机接收数据。一个字节接收完毕后返回IDLE,当没有发送任务时就进入下一次起始位等待。一个字节数据发送完毕后有若干个ETU的保护时间,然后进入Prepare状态准备发送下一个字节数据。当所有数据发送完毕后,系统维持一个块保护时间BGT(Block Guard Time),然后进入IDLE等待新任务。
3.3 读写数据缓冲器模块
由于APB总线上连接多个功能模块,如USB,UART等都需要占用总线进行数据传输,智能卡控制器只能通过发出总线请求在有限时间占有总线。这使得在进行智能卡读写操作时会申请不到总线从而来不及存储已收到的数据或者来不及获取新的发送数据,增加读写数据缓冲器实现数据暂存可以很好地解决这个问题。缓冲器采用宽度为8位,深度为16的同步FIFO。该FIFO通过在最高位额外设置1 b来判断空/满标志位。当读写指针的8 b数据位和1 b最高位都相同时,FIFO为空。当读写指针的8 b数据位相同并且1 b最高位相反时,FIFO为满。根据FIFO的空满状态来请求或停止新的数据。
3.4 APB总线接口模块
ARM内核通过APB总线读写智能卡控制器,完成了对寄存器的设置、中断状态的读取以及收发数据的读写,读写时序需要符合AMBA APB总线协议。
系统通过总线接口模块设置了控制器工作频率,传输方式、编码方式、时钟转换因子、波特率调整因子。当解析出智能卡为异步半双工字符传输模式时,设置字符发送完毕后的保护时间和最大等待时间。当解析出智能卡为异步半双工块传输模式时,设置块之问保护时间,最大等待之间,以及块内字符间的最大等待时间。系统按照上述设置工作。
系统在设定的参数下完成对接收FIFO的读取和对发送FIFO的写人,并且发出读写使能信号控制FIFO读写。
在收发控制模块产生中断后,对中断状态寄存器设置并交由软件处理。
4 仿真结果及FPGA验证
智能卡控制器采用RTL级的Verilog实现,在系统仿真过程中编写智能卡仿真模型。使用Synopsys公司VCS对控制器进行功能仿真和验证。对智能卡的数据收发波形如图6所示。

从仿真结果可以看出,智能卡控制器符合ISO7816-3协议,可以对智能卡进行复位及读写操作。
在FPGA验证中,采用Altera公司的StratixⅡ芯片。将智能卡控制器、AMBA总线等模块的RTL代码烧录到ARM开发板的FPGA中,并且将外接一块带有智能卡插槽的扩展板与ARM开发板连接。使用ARM的调试软件ARMulator对控制器进行功能测试。测试结果表明该控制器可以成功完成对智能卡的复位和数据读写操作。
5 结 语
根据上述VCS仿真和FPGA验证的结果,说明该智能卡控制器已经达到功能要求,实现了ISO/IEC7816-3传输协议。利用Design Compiler对该模块进行综合并编写脚本对芯片的面积和时序进行优化,最终逻辑单元为1 368 cells,符合设计目标,实现了对智能卡的数据复位及收发操作。

换一批

延伸阅读

[趣科技] Stycom Dockcard for Samsung Galaxy S III 和 配备 LED 灯的 microUSB

Stycom Dockcard for Samsung Galaxy S III 和 配备 LED 灯的 microUSB

如果你手上拿着的是 iPhone 4S 或 Samsung Galaxy S III,那请留意一下上面这款看起来像卡片的东西,因为它并不是卡片,而是一个同时兼顾充电与连接同步功能的便携底座 - Stycom DockCard。这款产品有两个......

关键字:Dockcard microUSB Samsung Stycom

[趣科技] 香港 PCCW 推出 Smart Living 组合,智能型家居普及化时代来临?

香港 PCCW 推出 Smart Living 组合,智能型家居普及化时代来临?

曾几何时,利用计算机网络和平板控制家中的电器只是梦想而已,不过近年坊间开始有相关的设备和安装服务推出,而 Wi-Fi、DLNA 和 AirPlay 等的流行让这个梦想距实现更接近。只是,智能型家居在同一组设备中,牵涉到包......

关键字:Living Smart PCCW 组合

[新鲜事] Google、Amazon 与 Facebook 等多家网络巨头确认名列 Internet Association 游说组织之中,未来动向值得观察

Google、Amazon 与 Facebook 等多家网络巨头确认名列 Internet Association 游说组织之中,未来动向值得观察

自诩为第一个针对网络商业议题所组成的民间组织,Internet Association(网际网络协会)正式宣布旗下成员名单与其组织任务,包括 Facebook、Amazon、Google、eBay 等网络商业巨头们皆有参与。这个位于美国华......

关键字:Association Facebook Internet Google

[趣科技] 苹果发布新的 iPad Smart Case,这次连后盖一起保护

苹果发布新的 iPad Smart Case,这次连后盖一起保护

如果你早前买了 Smart Cover ,还在为后背会刮擦烦恼的话,苹果这次算是听到了你的呼声。官方宣称 iPad Smart Case 能为 iPad 提供全面保护,这次是前后均有,实际上是多了一个后盖保护套。其也具备了 Smart C......

关键字:Smart iPad Case 苹果

[新鲜事] CES上的黑科技:可帮助中风患者康复的智能手套

CES上的黑科技:可帮助中风患者康复的智能手套

北京时间1月6日消息,据美国财经网站CNNMoney报道,在父亲和两个叔叔相继中风后,Hoyoung Ban决定开发一款设备,帮助中风患者重新获得对双手的控制。这款由Neofect公司推出的白色智能手套,正式名称为“Rapael Smart......

关键字:CES2017 Rapael Smart Glove 医疗 智能手套

[图酷] QD-DSP2407开发板

QD-DSP2407开发板

DSP处理器TMS320LF2407A,最高工作频率40MHz; DSP芯片内置2.5k字SRAM; DSP芯片内置32k 字FLASH; 外扩32k×16bit的程序RAM,32k×16bit......

关键字:

[真心话] 苹果曝新专利:未来Smart Keyboard或配置屏幕

苹果曝新专利:未来Smart Keyboard或配置屏幕

8月8日消息,Smart Keyboard是苹果为iPad Pro推出的一款键盘配件,可提高iPad Pro的生产效率,那么未来的Smart Keyboard将会怎样进化呢?也许会增加一个屏幕。美国专利和商标局日前曝光的一项苹果专利申请显......

关键字:iPad Pro Smart Keyboard

[新鲜事] Google 正式在美国推出 Google Play gift card,其它地区仍是未定

Google 正式在美国推出 Google Play gift card,其它地区仍是未定

先是出现在应用,后来又现了真身,最近一直在传的 Google Play gift card 今天终于是登场亮相了。Google 今天正式宣布将于未来几周内开始在美国 Target、RadioShack 和 GameStop 零售店销售 G......

关键字:Google Play gift card

[趣科技] 有一只机器鸟SmartBird,它能自己飞,所以很鸟

有一只机器鸟SmartBird,它能自己飞,所以很鸟

Festo 是世界上著名的气动元件、组件和系统的生产厂商。这次他们带来的这只智能海鸥,只有450克(15.87盎司),翼展1.96米(6.4英尺),能够完成鸟类的大多数动作,可以根据气流做出相应的调整,躯干内包括有充电电池......

关键字:SmartBird 机器

[猎聘集] 优秀嵌入式DSP工程师是怎样炼成的?

优秀嵌入式DSP工程师是怎样炼成的?

1、工作多年,总结您的经验和工作经历,您最想与想要或已经从事嵌入式电子行业新人说的话是什么?我当初进入DSP领域,是一个师兄的带领下进入的,但是我初学不久,他就离开学校,开始工作,因此我的DSP学习也暂时结束......

关键字:DSP工程师 嵌入式

[新鲜事] Toyota Smart Insect 电动概念车,融合 Kinect 体感控制器和语音识别技术

Toyota Smart Insect 电动概念车,融合 Kinect 体感控制器和语音识别技术

这次我们来认识下 Toyota 的 Smart Insect 概念车,这是款电力驱动的车型,还有独特的鸥翼车门。比较特别的是,它还在车子的顶部前方安装了 Kinect 体感控制器,可以识别人脸和体型,然后和系统中的资料进行比对,还......

关键字:Toyota Insect Kinect Smart
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14