根据定义,在智能卡上电复位的时候 1 etu = 372 / f。其中 f 代表读写设备通过 CLK 管脚提供给智能卡的时钟频率,通常在1--5 MHz之间。372是什么我们先不管。
etu的单位是时间单位秒、毫秒、微秒都可以,等同于传输每个数据位所需的时间。这里又引出一个概念——波特率。例如:传输一个位需要0.1秒,那么1秒钟可以传输10个位,那么etu就是0.1秒,波特率就是10。
刚才举的例子为了计算方便,数值都是我瞎编的。下面举个例靠谱点的例子,我们取f = 3.579545 MHz,用3579545(3.579545MHz -> 每秒3579545次)除以372结果等于9622.4约为9600。9600,多么熟悉的波特率。
可不可以理解为:etu的倒数就是波特率。我也不知道这样理解是否严谨。
但是突然得知,通用的etu计算公式为: 1 etu = (F / D) * (1 / f)。那 1 etu = 372 / f 又怎么解释呢?难道是山寨版的?
372的由来:因为对于上电复位时的取值 F = 372,D = 1即作为默认值,所以有:1 etu = (F / D) * (1 / f) = (372 / 1) * (1 / f) = 372 / f 。
-
F - 时钟速率转换因子。用于修改复位应答之后终端所提供的时钟频率。
-
D - 位速率调节因子。用于调整复位应答之后所使用的位持续时间。
到现在为止终于理清了etu是什么,以及它和波特率的关系,最后总结一下:
etu:传输一个数据位所需要的时间。
波特率:每秒可以传输多少个位。