深入理解7816(1)

深入理解78161----关于F/Detu

对于刚接触智能卡的工程师来说,在阅读7816-3规范的时候,常常被其中的一些术语迷惑,读起来会觉得有些别扭。尤其是在看到复位应答中的FD设置以及对应的etu的时候,会觉得有些复杂和难以理解。

其实从本质上说7816-3定义了智能卡(这里指的是接触式CPU卡,对于逻辑加密卡以及非接触IC卡不在此列)和读写设备之间的通讯协议,说白了就是数据位传输的格式。

如果学习或者接触过单片机,那么对于RS232一定不会陌生,它属于异步串行通讯接口(UART),通过RxDTxD进行数据的收发,RS232曾经是PC机的标配,但是目前在多数PC上基本不复存在了(当然还可以通过USB-232转换器来扩展)。

接下来我们看看7816-3定义的通讯协议,其实基本上可以说是RS232的翻版并在此基础上进行的改进,7816中只有一个IO同时兼具数据收发的功能,这点和RS232RxDTxD进行数据收发是不同的。在RS232中我们有9600波特率、起始位、奇偶校验位、停止位这些概念,而在7816-3中都完整地保留了下来,只不过7816-3中引入了etu,没有使用bps,但是基本原理是一致的。etu的定义可以更加精确地描述每个数据位在传输过程中收发双方的职责和角色转换。

根据定义在智能卡上电复位的时候 1 etu= 372 / f ,其中f =读写设备通过CLK管脚提供给智能卡的时钟频率,通常在1--5MHz之间。

etu的单位是时间单位秒(毫秒、微秒),等同于传输每个数据位所需的时间。对其取倒数得出来的就是每秒传输的数据位,也就是bps。我们取f = 3.579545MHz,用3579545除以372结果等于9622.4约为9600bps

通用的etu计算公式: 1 etu = (F / D)* (1 / f) FD的值根据7816-3规范中的约定来进行设置。对于上电复位时的取值 F = 372D =1即作为默认值FdDd。如果智能卡支持其他速率则需要在ATR中的TA1来指出其他的FD的值,比如设定F=372,可以把D分别设定为2/4,那么智能卡能支持的通讯速率可以分别为19200/38400

那么为什么要选择时钟频率为3.579545MHz?为什么默认的F值选择为372呢?首先3.579545MHz 是常用石英晶振的标称值,9600 * 372 = 3.5712 MHz,与之最为接近。再说为什么是372372 = 12 *31。标准的8051单片机每个指令周期为12个时钟周期,而且定时/计数器也按照1/12 进行分频后再计数的,这样设定对于智能卡芯片来说可以比较容易实现对IO数据通讯的控制,也可以更好地和PC机串口9600速率配合(当然这是指上个世纪80年代的时候,对于现在的智能卡芯片设计技术而言实现任意分频的控制都不是问题了)。

由此可见,这些参数的选择都是为了能够更好地利用当时既有的标准和技术,要知道7816-31989年的时候就已经制定了,按照当时的主流PC机配置把串口速率设为9600,用一个232接口芯片(比如Max232)再加上3.579545MHz的晶振,再配合几片74系列的门电路外加5伏的直流电源和几个阻容器件,这就是最基本的RS232串口读卡器了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《深入理解Android卷1》是一本关于Android系统的深入学习资料,适合有一定编程基础和对Android开发有兴趣的读者。这本书主要介绍了Android系统各个方面的知识,包括应用程序、系统架构、进程与线程、Binder机制等内容。 在这本书中,读者可以了解到Android系统的基本架构和组成部分。首先,介绍了Android的应用组件,包括活动、服务、广播接收器和内容提供器,详细解释了它们的特点和使用方法,帮助读者理解如何开发基于Android的应用程序。接着,作者介绍了Android系统的进程与线程管理,包括进程的创建与销毁、线程的创建与同步等内容,让读者了解到Android系统是如何管理多个应用程序同时运行的。 另外,本书还详细介绍了Android系统的核心技术——Binder机制。Binder机制是Android系统中用于进程间通信的重要技术,通过它,不同进程之间可以实现数据共享和通信。书中详细介绍了Binder机制的原理以及如何在应用程序中使用Binder进行进程间通信,为读者提供了理解和使用Binder的指南。 总的来说,这本《深入理解Android卷1》是一本很好的学习资料。通过学习这本书,读者可以深入了解Android系统的背后工作原理,掌握Android应用程序的开发技巧和底层实现细节,为进一步学习和开发Android应用奠定了坚实的基础。无论是对于初学者还是已经有一定Android开发经验的人来说,这本书都是一本不可多得的好书。 ### 回答2: 《深入理解Android卷1》是一本介绍Android系统原理与开发的经典著作。该书的作者是Bill Phillips和Chris Stewart。这本书主要分为四个部分,包括了从Android系统基础知识到高级开发技巧的内容。 第一部分主要介绍了Android系统的架构和组件,包括了应用程序结构、Activity、Fragment、布局和控件等。通过学习这些内容,读者可以对Android系统的基本构建有更深入的了解,为进一步的开发打下坚实的基础。 第二部分重点讲解了Android系统的核心组件,如Service、Content Provider和Broadcast Receiver。通过对这些组件的深入理解,读者可以更好地进行应用程序的开发,实现数据共享、接收系统广播等重要功能。 第三部分围绕Android系统的高级特性展开,包括了多线程和异步处理、通知、权限管理等相关知识。这些知识点对于开发复杂、功能丰富的Android应用至关重要,可以提高应用程序的性能和用户体验。 第四部分将Android开发推向了一个更高的层次,如数据库的使用、网络编程、地图与位置服务等。通过学习这些高级开发技巧,读者可以开发出更加复杂和实用的Android应用。 总之,《深入理解Android卷1》是一本很全面、深入的Android开发参考书籍。通过学习本书,读者可以更好地理解Android系统的原理,掌握基础和高级的开发技巧,提高自己在Android开发领域的技术水平。无论是初学者还是有经验的开发者,都可以从中受益匪浅。 ### 回答3: 《深入理解android卷1 pdf》是一本关于深入学习和理解Android开发的书籍,它详细介绍了Android系统的架构、应用程序的开发、组件的使用和调试等内容。 首先,本书详细介绍了Android系统的架构。它解释了Android的四层架构,包括Linux内核层、系统运行库层、应用框架层和应用程序层。读者可以通过学习这些架构了解Android系统的整体结构和每个层级的功能。 其次,本书全面介绍了Android应用程序的开发。它详细解释了Android的开发环境搭建、基本的应用程序结构和组件的使用。读者可以通过阅读本书,学习到如何创建Activity、Service、Broadcast Receiver和Content Provider等Android组件,并搭建并开发自己的应用程序。 此外,本书还对Android应用程序的调试进行了深入的介绍。它解释了如何使用Android调试工具来调试应用程序的代码,包括使用Logcat进行日志输出、使用DDMS进行监视和调试等。读者可以通过这些调试技巧提高自己的开发效率,快速排查和修复程序中的错误。 总之,《深入理解android卷1 pdf》是一本非常实用和全面的Android开发指南。通过阅读本书,读者可以系统地学习Android开发的基础知识和技巧,提高自己的应用程序开发水平。无论是初学者还是有一定经验的开发者,都可以从这本书中受益匪浅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值