做终端时用了两块片子,一块带智能卡控制器,另一块没有,折腾了一周,终于这两种情况下PSAM卡模块的代码折腾了出来,说说自己的感想吧。。。
发送过程7816上写的很清楚啦,网上也一堆,先发个五字节的命令头,然后再发送Data Field或Le Field,没啥好说的,呵呵。。。
先说说不带控制器的吧,这个得自己配时序啦,把ETU要配对哎,然后时序肯定得用硬件定时器喽,这个模块对时序还是有点要求滴,其实也不难,根据芯片主频把ETU算出来就好啦,当然算出来的ETU不一定准确,所以还得调一下。数据的发送与接收也是一位一位的操作的,这得仔细参照7816协议,把时序和校验部分写好就OK啦。。。
如果片子是带智能卡控制器的话,那么就不必考虑时序的问题了,而且发送和接收也可以一次性搞定,不过有的片子貌似对每次发送的字节数是有限制的,像我用的片子就限制为每次最多发送8个字节,如果很长的命令可以分段发,如果当你发现一次性发不出去的时候表紧张,跟下代码试试就好啦。。。
还有一个问题就是我发命令的时候用控制器的速度至少比不用控制器的速度慢一倍,所以最后我那块带控制器的片子上PSAM模块的代码也是没有控制器的,浪费啊。。。
GMCOW
2010-09-18
做终端时用了两块片子,一块带智能卡控制器,另一块没有,折腾了一周,终于这两种情况下PSAM卡模块的代码折腾了出来,说说自己的感想吧。。。