




什么是串行通信?
所谓串行通信是指外设和计算机间使用一根数据信号线一位一位地传输数据,每一百位数据都占据一个固定的时间长度。“串行”是指外设与接口电路之间的信息传送方式度,CPU与接口之间仍按并行方式工作。串行数据在传输过程中,由于干扰可能引起信息的出错。如何发现传输中的错误,叫检错;发现错误后,如何消除错误,叫纠错。
(1) 串行数据传输方式
1) 全双工方式通讯双方能同时进行发送和接问收操作
2) 半双工方式只有1根数据线传送数据信号,要求通讯双方的发送和接收由电子开关切换。由于只有一条信道,所以数据不能同答时在两个方向上传送。

3) 单工方式只允许数据按照一个固定的方向传送。
(2) 串行通信可以分为两种类型:同步通信和异步通信
异步通信:一个字符一个字符地传输,每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,后以停止位结版束该字符的传输。一次传输的起始位、字符各权位、校验位、停止位构成一组完整的信息,称为帧(Frame-)。帧与帧之间可有任意个空闲位。起始位之后是数据的位。
IC卡的制作流程(五)
(1)过程
为启动对卡的操作,接口电路应按图1所示顺序电路:
◇RST处于L状态;
◇根据所选择卡的类型,对VCC加电A类或B类,
◇VPP上升为空闲状态;
◇接口电路的I/O应置于接收状态;
◇向IC卡的CLK提供时钟信号(A类卡1~5MHz,B类卡1~4MHz)。
在t’a时间对IC卡的CLK加时钟信号。I/O线路应在时钟信号加于CLK的200个时钟周期(ta)内被置于高阻状态Z(ta 时间在t’a之后)。时钟加于CLK后,保持RST为状态L至少400周期(tb)使卡复位(tb在t’a之后)。在时间t’b,RST被置于状态H。I/O上的应答应在RST上信号上升沿之后的400~40 000个时钟周期(tc)内开始(tc在t’b之后)。
在RST处于状态H的情况下,如果应答信号在40 000个时钟周期内仍未开始,RST上的信号将返回到状态L,且IC卡接口电路对IC卡产生释放。

(2)释放过程
当信息交换结束或失败时(例如,无卡响应或卡被移出),接口电路应按图2所示时序释放电路:
◇RST应置为状态L;
◇CLK应置为状态L(除非时钟已在状态L上停止);
◇VPP应释放(如果它已被);
◇I/O应置为状态A(在td时间内没有具体定义);
◇VCC应释放。
IC卡的制作流程(六)
电源电压
IC卡接口电路应能在表1规定的电压范围内,向IC卡提供相应稳定的电流。
时钟信号
IC卡接口电路向卡提供时钟信号。时钟信号的实际频率范围在复位应答期间,应在以下范围内:A类卡,时钟应在1~5MHz;B类卡,时钟应在1~4MHz。
复位后,由收到的ATR(复位应答)信号中的F(时钟频率变换因子)和D(比特率调整因子)来确定。
时钟信号的工作周期应为稳定操作期间周期的40%~60%。当频率从一个值转换到另一个值时,应注意保证没有比短周期的40%更短的脉冲。

驱动模块
(1)数据结构的确定
编辑头文件ICDATA.H,确定在驱动模块程序中应用的公用数据结构。驱动模块的终目的是读取和写入卡数据处理,所以规范整齐的数据结构是必须的。可以定义一个数据结构体来实现卡数据的存储区域、数据地址索引、控制标志位等,如右图图示:
这样在驱动模块中,只需要STruct ICDATA iccdata;一条语句便可定义全部的卡处理数据结构定义;而Ic_fops则定义了设备操作映射函数结构。从这个数据结构看,我们实现了IC卡设备的打开、读、写和监控函数。
(2)硬件接口控制线控制子函数
以开发的硬件系统平台为例的硬件控制接口操作函数之一,用于控制IC卡的复位信号置。针对不同硬件平台,函数内部操作方法不尽相同。类似的其它操作函数还有:模块初始化函数是模块开发过程中必不可少的处理函数,用于实现设备的初始化、中断初始化及处理、设备注册等。在上面函数中,首先应用Initicdata实现了卡数据的初始化,然后定义了队列数据。再进行了中断处理函数的绑定、中断申请以及中断初始化。后实现了IC卡字符设备的申请,设备名为IC。