我正在尝试与使用T = 1的ISO 7816协议的设备进行通讯。我的硬件设置是使用在SIM卡模式下配置的USART的微控制器。我已经阅读了相关文档,但不清楚ATR之后会发生什么。


据我了解,输入频率用于ATR中的初始F = 372,D = 1。因此,如果我的输入频率为3.571MHz,则ATR响应会以9600波特返回。这是我在监视USART的示波器和TTL电缆上看到的。这样对吗?
查看ATR的结果,它显示F = 372,D = 12。这是否意味着与卡通信的波特率仍然是9600波特,还是我应该在收到ATR @返回的波特率参数(即115 kbaud)之后发送所有消息?似乎PPS在9600波特率下可以工作,但是为什么F和D返回的波特率与卡实际运行的接口的波特率不同是没有意义的。
答案很可能不是,但是PPS和ATR的波特率是否与ISO7816其余命令的波特率不同?

最佳答案

是的,ATR以9600波特发送。
除非并且直到您发送PPS请求更改它,否则波特率保持在9600波特。这必须是发送到卡的第一个命令。 ATR中的F和D参数是卡支持的最大值-您可以选择较低的值。 (但是该卡没有义务支持所有可能的中间值-如果它通过返回带有空INF字段的PPS响应来拒绝这些较低的值,则可以继续使用9600波特率,或者重置卡并尝试不同的值。)
PPS响应以9600波特发送,下一个命令以新的波特率发送。
否(或仅当您通过PPS请求更改波特率时)。

关于iso - ISO 7816(SIM卡)协议(protocol),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26480780/

10-14 13:15