前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇接口设计论文范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
从结构上,检测接口可以分为DAC单元、滤波放大单元、二线接口单元、混合单元、信号调理单元、ADC单元和FPGA系统单元。
1.1DAC与滤波放大单元DAC与滤波放大单元用于将数字信号转换为模拟信号,并完成对信号的调理、幅度调节与功率放大功能。其硬件电路如图2所示。该单元由3部分电路组成,分别是DAC芯片电路、无源滤波电路和差分放大电路。DAC芯片为ADI公司生产的高性能、低功耗CMOS数模转换芯片AD9762,AD9762为12位分辨率,支持最高125MS/s的更新速率。该芯片使用5V、3.3V可选单电源供电,最高功耗175mW,2mA~20mA差分电流输出,负载RLOAD为100Ω时输出电压范围为0.2V~2V[2]。FSADJ引脚连接外接电阻RSET,用于满量程电流输出调节。REFIO引脚用于基准电压VRFE输入/输出,选择内部1.2V基准电源时通过一个0.1μF电容与模拟地连接。其差分输出电压VDOUT与输入的12位数字代码(DCODE)的关系式为。无源滤波电路由电感与电容组成截止频率为20MHz的7阶巴特沃斯低通滤波器,用于信号整形和消除毛刺干扰。差分放大电路以全差分放大器AD8476为核心组成,用于将通过无源滤波电路的模拟差分信号进行增益调节和功率放大。AD8476是一款功耗极低的全差分精密放大器,其带宽为6MHz,使用±5V电源供电时的输出电压范围为-4.845V~4.82V[3]。检测激励信号的峰峰值为4.3V和6.2V,而DAC的输出峰峰值电压为2V,因而差分放大电路的增益应当大于3.1,这样才能使得激励生成通道的输出信号幅值符合检测需求。考虑到DAC的转换效率和可能存在的误差,可设计差分放大电路具有两个略大于满幅度输出的增益值。图2中使用外部扩展电阻R1~R6组成反馈电阻网络,其中R1=R2=10kΩ为输入电阻,R3=R6=24kΩ、R4=R5=33kΩ为两组反馈电阻。该电路的增益值分别为A1=R3/R1=2.4,A2=R4/R1=3.3。为了提高检测接口的自动化程度,使用1个2路2:1电子开关ADG736用于两组反馈电阻的切换,通过改变其控制端IN1和IN2的电平逻辑,完成开关动作。ADG736使用5V供电时,导通电阻RON为2.5Ω,带宽大于200MHz,通过峰值电压为5V。
1.2二线接口与混合电路单元二线接口与混合电路单元用于为信号激励与数据采集提供对外二线接口和实现收发信号的双工传输。其硬件电路如图3所示。二线接口电路由电压比为1的变压器以及电阻RS1、RS2和电容C9、C10组成,用于提供检测电路对外的二线接口,实现接收与发送信号的传输,同时可以隔离外部直流信号。RS1、RS2用于与线路负载阻抗匹配并隔离远端反射和提供线路的能量交换,电容C9、C10用于配合组成激励发送端扩展滤波电路。混合单元的功能是一阶模拟回波抵消,用于抵消本地发送信号。图2中R7~R10为输入电阻,同时与C3~C8组成一阶低通滤波器。两个仪表放大器AD8429用于将二线平衡信号转换为单端信号。AD8429为低噪声、高精度仪表放大器,其增益为1时增益精度为0.02%、CMRR为80dB、带宽为15MHz,使用±12V电源供电时其输出电压范围为-10.1V~10.7V,使用单个增益控制电阻RG能够控制其增益范围为1~1000,其增益控制关系为G=1+6kΩ/RG[4]。LT6600-10将一个全差分放大器与一个近似切比雪夫(Chebyshev)频率响应的四阶10MHz低通滤波器集成在一起。芯片为低噪声全差分输入/输出放大器,内部集成两个运算放大器、电阻电容网络,组成1倍增益放大电路和一个10MHz低通滤波器,使用±5V电源供电时其输出电压范围可达到±5V。若线路电阻RS与负载电阻RL完全匹配,则第二个AD8429的增益值为2时,混合电路的输出U′3=U3。考虑到阻抗失配现象的普遍存在,因此选择电位器作为第二个AD8429的增益控制电阻,在线路阻抗失配的条件下,通过调节增益控制电阻来实现混合单元消除近端信号的目的。根据前文所述,可以得到混合电路输出信号U′3与二线输入信号U3比值跟增益控制电阻RG之间的关系。因此只要知道RG的值,就能够通过式(5)准确地对通过混合单元造成的输入信号幅值的线性误差进行修正。为了提高检测接口的自动化程度和实现对RG值的实时感知,选择数字电位计AD5272作为第二个AD8429的增益控制电阻。AD5272为1024位分辨率、1%电阻容差误差、I2C接口和50-TP存储器数字变阻器,最大阻值为20kΩ,可使用5V电源供电[6],其阻值调节步长为1.95Ω。
1.3信号调理与ADC单元信号调理与ADC单元用于将混合电路输出的模拟差分信号转换为输入信号并输入到FPGA,该部分为数据采集的核心单元,其硬件电路如图4所示。由于被测信号的最高频率不超过2.048MHz,根据奈奎斯特采样定理,使用4.096MHz采样速率进行采样就能得到信号完整的信息,但是在工程中,通常使用5~10倍速率进行采样。因此ADC选择12位、10MS/s采样速率模/数转换器AD9220,其为+5V单电源供电,70dB信噪比,86dB无杂散动态范围,内置片内高性能、低噪声采样保持放大器和可编程基准电压源,并具有满量程输出指示功能[7]。使用1V基准电压时其输入范围为2V(峰-峰值)。信号调理电路应当具有抗混叠滤波和信号幅度调节的功能。该电路选择全差分放大器AD8476组成,考虑到检测时输入信号的幅值大于ADC的输入范围,因而选择其输入电阻为10kΩ,选择数字电位器AD5272为反馈电阻RF,则其增益值G4=RF/10kΩ,电路的增益值为0.0002~2可调。放大器输出经过2个100Ω电阻和2个电容组成的低通滤波器后送至ADC。同时,AD8476以ADC的基准电压VREF为共模参考电压。
1.4FPGA单元FPGA单元以Xilinx公司的FPGA芯片XC3S400为核心电路组成,其程序存储芯片为XCF02S,使用40MHz有源晶振,5V电源供电,使用稳压芯片提供电路所需的3.3V、2.5V和1.2V电源。USB接口作为微处理器常用的外部总线接口,目前已经得到了广泛的应用[8],因此考虑选用USB2.0接口作为FPGA与上位机之间的数据接口。同时采用JTAG接口用于FPGA和其配置芯片的程序烧写。关于FPGA电路的设计、开发技术已经较为成熟,本设计相比与其他通用FPGA电路的设计并无独特之处,因此不再对FPGA单元进行详细描述。
2FPGA程序设计
在检测接口电路的设计中,FPGA是检测接口电路的信息传输与控制单元的核心,其可编程配置能力和能够高速、并行处理数字信号的能力是检测接口的灵活性和升级性的关键。其内部程序使用Xilinx公司的FPGA开发环境ISE进行设计并完成烧写。程序设计使用模块化设计思想,其结构示意图如图5所示,可以分USB传输、管理控制、DAC传输、输出增益控制、混合单元控制、信号调理控制、ADC传输控制和增益补偿8个模块。下面就各个模块的功能分别进行介绍。(1)USB传输模块,用于通过FPGA单元上的USB接口电路实现FPGA芯片与上位机的信息传输,具有USB电路的配置功能,并实现标准USB信号封装、解封装功能,将接收到的上位机信号解封装为透明数据传送到管理控制模块和DAC传输模块,将管理控制模块、增益补偿模块输出信号封装为标准USB信号通过USB接口电路传输到上位机。(2)管理控制模块,是整个程序的主控单元。该模块用于接收USB传输模块输出的控制信号,对其余的通信模块进行控制,并输出检测电路的工作状态到USB传输模块,最终传输到上位机。同时用于控制其余模块的工作状态,接收混合单元控制模块、信号调理控制模块、ADC传输模块输出的反馈信息进行工作状判断,根据混合单元控制模块、信号调理控制模块反馈信息控制增益补偿模块的补偿量。(3)DAC传输模块,在管理控制模块的控制下工作,接收USB传输模块输出的激励信号,并将信号转换为DAC芯片的数据输入信号,同时为DAC芯片提供转换时钟。(4)输出增益控制模块,用于在管理控制模块输出的控制信号下工作,根据需求通过两路输出信号IN1和IN2分别控制差分放大电路的2个电子开关ADG736。(5)混合单元控制模块,用于在管理控制模块输出的控制信号下工作,根据需求通过输出I2C信号控制混合单元的数字电位计AD5272的阻值,完成信号混合功能,并将AD5272的阻值信息反馈给管理控制单元。(6)信号调理控制模块,用于在管理控制模块输出的控制信号下工作,根据需求通过输出2路I2C信号控制信号调理电路的2个数字电位计AD5272的阻值,完成信号调理功能,并将2个AD5272的阻值信息反馈给管理控制单元。(7)ADC传输模块,在管理控制模块的控制下工作,接收DAC芯片输出的采样数据,并将数据传输到增益补偿模块,同时为ADC芯片提供采样时钟。该模块同时接收ADC输出的满量程指示信号和数据输入指示信号,并传送给管理控制模块。(8)增益补偿模块,用于接收来自ADC传输模块的采样数据和管理控制模块输出的增益补偿信息,对ADC芯片采样获得的信号进行增益补偿,实现检测信号的完整性。
3结论
地面测试台的测试对象为某采编存储器。测试台的主要功能包括向采编存储器提供模拟信号供其采集,向采编存储器下发控制命令,接收采编存储器下发的高速LVDS实时数据并进行后续处理。测试台的整体结构如图1所示。CPCI总线上挂有3个CPCI板卡,分别为CPU卡、接口卡、信源卡。其中,CPU卡为处理系统,接口卡和信源卡为功能卡。本文将以接口卡为主要依据来介绍如何以FPGA逻辑控制来实现CPCI局部总线接口和高速LVDS接口。
2LVDS高速数据接口实现
2.1LVDS接口硬件电路设计由于趋肤效应和介质损耗,高速信号在传输过程中会衰减。因此,当传输距离较长时,往往要使用电缆驱动器和均衡器来保证高速数据传输的准确性。电缆驱动器将信号以最大功率耦合到电缆上[4],延长信号的传输距离,电缆均衡器可以对传输的信号进行高频补偿,以至达到标准逻辑电位。本设计中,LVDS串行器/解串器分别选用TI公司的SN65LV1203和SN65LV1224,信号驱动器/电缆均衡器分别选用NS公司的CLC001和CLC014。LVDS接口电路结构如图2所示,采编存储器的FPGA控制LVDS串行器将10bit并行数据转换成差分串行数据,再通过电缆驱动器将信号耦合到电缆上。地面测试台的电缆均衡器对接收到的信号进行高频补偿之后传送给解串器,解串器根据参考时钟将差分串行数据转换成10bit的并行数据,由FP-GA进行后续的处理。
2.2FPGA逻辑控制LVDS数据接收由于CPCI接口传输的时钟和LVDS数据接收电路的时钟不匹配,为了保证数据传输的可靠性,在编写VHDL语言程序时FPGA内部调用一个异步时钟控制的缓存FIFO[8]IP核来对接收到的LVDS高速数据进行缓存,如图2所示。上位机通过配置PCI9054的传输计数寄存器,将一次DMA传输的数据量设置为2kbyte。写FIFO的时钟为18.432MHz,读FIFO的时钟为36.864MHz,当FIFO内数据量达到2kbyte时,FPGA立即通知上位机启动一次DMA传输。经计算,从FIFO内读走2kbyte数据大约耗时54μs,在这个时间段内写入FIFO的数据量大约为1kbyte,所以,当DMA传输结束时,FIFO内数据不足2kbyte,上位机直到FIFO内数据量再次达到2kbyte时才会启动下一次的DMA传输。为了避免PCI9054不能立即执行DMA传输而导致FIFO数据溢出,FIFO容量要大于2kbyte。本设计中选择容量为4kbyte的FIFO,经验证,不会出现FIFO溢出现象。
3CPCI局部总线接口实现
实现CPCI接口协议一般有两种方法。其中一种方法为:利用FPGA实现接口逻辑。这种方法虽然可以充分利用FPGA的资源,减小成本,但PCI逻辑十分复杂,可靠性不能得到保证,且开发周期长。另外一种方法为:采用专用的PCI接口控制芯片。专用接口芯片功能强大,性能稳定,设计方便,很大程度上减少了设计者的工作量,缩短了开发周期。所以,本设计中选择使用PCI9054接口控制芯片与FPGA配合工作的方式来实现CPCI局部总线接口通信。
3.1EEPROM的配置在Windows环境下,为有效管理多块CPCI板卡资源,实现多卡协同工作。通过设置EEPROM配置选项中的ClassCode/REV值,解决使用同一驱动情况下,多块CPCI板卡识别问题。地面测试台含信源卡和接口卡两块CPCI功能板卡,图3为接口卡的EEPROM配置文件截图,各板卡需要设置不同的ClassCode/Rev(图中红色选框部分),上位机程序通过识别不同的ClassCode/Rev达到控制不同板卡的目的。ClassCode/Rev为一个32bit数据,规定高8bit作为不同板卡区分标志,低24bit保留。其中D31~D28功能标识,区分是否为信源卡、接口卡等功能卡。D27~D24数量标识,区分当前功能卡的数量,具体约束如下表1所示。
3.2CPCI局部总线实现方法
3.2.1PCI9054工作模式选择PCI9054总线控制芯片有3种工作模式,即M模式、C模式、J模式。其中,C模式最为简单,类似于单片机的工作方式,它的地址线和数据线分开使用,可以很方便地控制本地时序。所以本设计中PCI9054工作于C模式,由FPGA逻辑控制本地时序来完成CPCI局部总线与功能板卡之间的通信。
3.2.2CPCI总线访问本地总线PCI9054的访问方式选择DMA方式。PCI9054作为主控设备,通过内部的DMA控制器来实现局部总线上数据与CPCI总线上数据的传输。在DMA访问方式下,一个总线周期的时序如图4所示。当CPCI总线访问本地总线时,PCI9054内部的DMA控制器发出LHOLD信号来申请控制局部总线,当其收到响应信号LHOLDA后,才获得局部总线的控制权。当ADS#信号有效时,局部总线上的地址信号LA为有效地址;当BLAST#信号有效时,代表一次单周期访问开启;READY#为本地总线的状态反馈信号,只有当其有效时,表示本地总线已经准备好,才可以进行访问;当LW/R#为高时,代表单周期访问为写操作,当LW/R#为低时,代表单周期访问为读操作。在本设计中,FPGA通过识别地址信号LA来判断具体的操作类型。当上位机向接口卡下发控制命令时,为CPCI总线到本地总线的数据传输,具体的工作流程为:当上位机下发命令时,启动一次单周期写访问,同时下发特定的写地址LA1,FPGA反馈READY#信号,并判断到LW/R#信号为高,即得知上位机要下发数据,便从该特定地址LA1将命令代码读出,进行解码之后将命令下发给采编存储器。当接口卡向上位机传输LVDS高速数据时,为本地总线到CPCI总线的数据传输,具体的工作流程为:当图1中所示的LVDS数据缓存FIFO内数据量达到2kbyte,启动一次DMA传输,即一次DMA传输将2kbyte的数据上传给上位机进行实时显示与处理。上位机通过下发特定地址信号LA2来向FPGA查询FIFO内数据量是否达到2kbyte,一旦其得到缓存FIFO内数据量满足要求的信息,立即启动一次单周期读访问,并向FPGA下发数据传输地址LA3,FPGA反馈READY#信号,并判断到LW/R#信号为低,便将LVDS数据通过地址LA3上传给上位机。
4设计验证
将信源卡和接口卡分别插到背板上的2号和3号物理槽中,1号物理槽为系统槽,打开计算机系统,安装驱动之后,两块功能板卡均能够被识别。分别对两块板卡进行操作,均能实现各自的功能且互不影响,说明EEPROM的配置正确可行。以接口卡为例,用Chipscope来监测CPCI总线对本地进行读、写操作的实际过程,图5和图6分别为单周期读访问时序截图和单周期写访问截图。如图5所示,当FIFO内数据量达到2kbyte时,信号f_fifo_hf变高,此时启动一次单周期读访问,LW/R#为低,通过地址0008h将数据87h上传给上位机。实际时序与第3节介绍的本地总线向CPCI总线传输数据的理论时序一致,对接收到的数据文件进行分析,数据结构完整,数据包计数连续,没有丢数现象,验证了本设计中本地总线向CPCI总线传输数据的正确性。如图6所示,上位机向FPGA下发控制信号,此时启动一次单周期写访问,LW/R#为高,FPGA通过地址0004h获得命令代码67h。实际通信时序与第3节介绍的CPCI总线向本地总线传输数据的理论时序一致,且命令下发正确,验证了本设计中CPCI总线向本地总线传输数据的正确性。
5总结
关键词:CPUIC卡TDA8007ISO7816
IC卡(IntegratedCircuitcard)即集成电路卡,是将一个集成电路芯片镶嵌于朔料基片中,封装成卡的形式,外形与常用的覆盖磁条的磁卡相似。IC卡芯片具有写入和存储数据的能力。IC卡存储器中的内容根据需要可以有条件地供外部读取,或供内部信息处理和判定。根据卡中所镶嵌的集成电路的不同,可以分成存储器卡、逻辑加密卡、CPU卡三类。其中CPU卡即为由中央处理器CPU、EEPROM、随机存储器RAM以及固化在只读存储器ROM中的片内操作系统COS(ChipOperationSystem)组成的IC卡。IC卡按与外界数据传送的形式来分,有接触式和非接触式两种。
图1T=0的CPU卡APDU指令实现流程
1CPUIC卡T=0的协议介绍
目前大多数CPUIC卡采用T=0模式。所谓T=0,即CPUIC卡与接口设备(即读写器)中数据传输方式为异步半双工字符传输模式。
从T=0协议的功能出发,该协议的实现可以分为物理层、数据链路层、终端传输层和应用层。其中物理层和数据链路层可以具体参看ISO7816标准。在T=0协议应用,终端传输层和应用层实际上是不易分割来说明的,下面简单说明。
终端传输层根据卡片返回的过程字符和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回的过程字节和状态字节跟应用层发送给卡的APDU(ApplicationProtocolDataUnit,应用协议数据单元)和VPP使用等有关。表1为VPP未用时的终端传输层中返回的过程字节。
表1
字节值结果
ACKINSVPP空闲,所有其余的数据字节相继续被传送
INS+''''FF''''VPP空闲,下一个数据字节随后被传送
SW1SW2VPP空闲,接口设备等待SW2字节
应用层即为由CLA、INS、P1、P2、P3作为命令头组成的命令消息体的APDU响应和应答处理层。其中CLA为指令类别,INS为指令码,P1、P2为参数,P3为根据APDU的不同格式为发送给卡的数据长度或期望响应的数据长度。APDU的几种情况如表2所列。
表2
命令头发送数据长度发送的数据期望应答的数据长度
通用APDUCLAINSP1PLCDataLE
情况一CLAINSP1P
情况二CLAINSP1PLE
情况三CLAINSP1PLCData
情况四CLAINSP1P2LCDataLE
CPU卡对接口设备(即读写器)的应答APDU情况如表3所列。
表3
体尾
数据DataSW1SW2
其中体中的数据字节数由命令APDU中的LE指出;SW1、SW2是必备的,可以指明命令APDU执行正确或执行出错的错误类型。
2基于T=0传输协议的CPUIC的APDU指令流程
根据目前CPU卡的常用T=0协议、自带编程升压电路的应用情况,以及本读写器接收IC卡数据报文直接发送PC机处理的特点,本读写器可行的APDU命令和响应的处理流程如图1所示。
3读写器的硬件组成
读写器的硬件部分主要由IC接口管理芯片TDA8007、MCUAT89C52、外部数据存储器W24257S、串口电平转换芯片MAX3226、安全IC卡座(即SAM卡座)、应用IC卡座、键盘口供电的串口通信线及其它相关元器件组成。
图2所示为通过PC机控制管理的外置于PC机的接触式CPUIC卡读写器。通过定制的数据线,该读写器的5V直流电源可直接由键盘口提供,同时数据线还负责PC机与读写器的串行数据交换。在大部分IC卡读写应用中,都涉及到IC卡的认证和数据读写的国解密问题,所以本读写器除了提供一个供用户使用的IC卡接口卡座外,还内置了一个SAM卡,即安全IC卡卡座,以方便安装SAM卡,保证应用IC卡读写时的数据安全,保护用户的利益。
硬件的其它组成部分,如处理器,目前采用Atmel的89C52。其4KB的Flash程序存储器可以满足读写器的程序空间需要。由于PC机与89C52、89C52与TDA8007的数据交换要求的暂存数据空间比较大,89C52提供的256字节不够,需外加一片数据存储器。本读写器中使用的是华邦的W24257S。其有32KB存储容量,IC接口部分的主要芯片为Philips的TDA8007。
4IC卡接口芯片应用
下面介绍一下TDA8007及其应用。TDA8007的原理结构如图3所示。
TDA8007芯片能够提供两个能同时满足ISO7816标准及EMV和GSM11-11标准的IC卡读写接口。在本读写器中,一个用于与应用IC通信,另一个用于与安全IC卡通信。与上文CPU卡的触点图相对应,CLKi、RSTi、VCCi、I/Oi、GNDCi、PRESi、C4i、C8i(其中i=1,2;C4i、C8i未用;PRESi可用于检测IC卡是否插入。具体应用可参看TDA8007的技术文档)都直接由TDA8007提供给IC卡接口相连,MCU只需通过其接口控制并行通信来管理TDA8007,便可实现对IC卡的上电、下电及读写数据处理。其中,微处理器既可以通过总线复用把TDA8007内部的所有寄存器作为外部存储器,用MOVX寻址,也可以通过非总线复用方式访问,此时TDA8007用AD0~AD3来区分内部各寄存器。另外,TDA8007的片选信号和外部中断信号线可以方便读写器处理多个IC卡头。TDA8007的特别硬件ESD处理、接口短路处理、电源出错处理等也给IC卡和IC卡读写器提供了比较高的安全保护;同时,TDA8007内部集成的电源管理功能允许TDA8007的供电范围可达2.7~6.0V,并且TDA8007通过电源管理可以给IC卡提供5.0V、3.0V及1.8V的电源,以适合不同工作电压的IC卡应用。
图3IC卡接口芯片TDA8007的原理框图
本读写器是通过总线复用对TDA8007的寄存器进行控制的。其中MCU的P1.5为TDA8007的片选,P0口为与之通信的8位数据线,TDA8007的各寄存器预先被宏定义的成微处理器的一个外部数据单元(下面电程序处的定义),从而方便MCU访问。下面结合TDA8007寄存器的定义和位分配,给出应用TDA8007接口芯片对IC卡进行上电激活和下电的程序。TDA8007的寄存器主要三类。第一类,通用寄存器:①卡槽选择CSR;②硬件状态HSR;③定时器TOR1、TOR2、TOR3。第二类,ISO7816串行处理寄存器:①串行状态USR;②混合状态MSR;③串行发送UTR;④串行接收URR;⑤队列控制FCR。第三类,卡专属寄存器:①可编程分频PDR;②保护时间GTR;③串行控制UCR1、UCR2;④时钟配置CCR;⑤上电控制PCR。注意:对于卡专属的寄存器,即卡接口1、卡接口2分别对应的寄存器,逻辑上具有相同的名及访问地址,因而,对不同的瞳操作,需要通过CSR选择对应的卡槽来切换卡专卡属寄存器的映射的物理空间。所以,接口设备每次从一个卡的上下电或读写转向另一卡,都需要访CSR设定对应的卡槽。对于每个寄存器的位定义不再多述,主动性者可参看TDA8007的技术文档。
5上下电过程及具体程序
图4为IC卡的上电时序图。要实现之,需对PCR进行写操作。其中START=PCR.0,RSTIN=PCR.2,VUP上升表示激活了TDA8007中的电压转换电路。当START置高时,只要能检测到选定卡槽中的IC卡存在,且没有TDA8007能检测到并在HSR中指示的硬件错误出现,则对应IC卡接口的VCC1或VCC2将能被提供响应的电平(5V、3V或1.8V)。随后对应卡的I/O数据线被置成高状态(Z状态),给IC卡提供设定的时钟信号,常用为3.5712MHz。大约在START置高108ETU后,RSTIN置高。因为RST为RSTIN的拷贝,则对应卡的RST被置高。然后,用TDA8007提供的定时器TOR3、TOR2设定对ATR(AnswerToRequest)即复位应答首字节的最大等待时间120ETU(ElementTimeUnit),TOC设定定时器工作方式,便开始等待ATR首字节到来后做相应处理。至此,IC卡上电激活工作完成,随后可以根据ATR字节的要求的工作方式对IC卡进行相应的读写处理。具体见上电程序。
图4TDA8007产生满足ISO7816标准诉IC卡上电激活时序
TDA8007寄存器访问的预定义
#include<absacc.h>
#defineXXXXBYTE[0x8000]//XXX表示CSR等各寄存器上电程序如下:
P1.5=0;//片选TDA8007
CSR&=0xf8;
CSR|=ncard;//选择卡,ncard=1,2
CSR&=0xf7;
CSR|=0xf7;
CSR|=0x08;//复位UART的寄存器
UCR2&=0xf7;//异步模式,SAN=0
CCR&=0xdf;//时钟停止于低电平
UCR2|=0x60;//关闭附加中断及收发中断
GTR=0xff;//保持时间12ETU
If(v==1)//v为函数变量
PCR|=0x08;//1.8V卡用
elseif(v==3)
PCR|=0x02;//3V卡用
Else
PCR&=0xfd;//5V卡用
UCR2&=0xfc;//CKU=PSC=0,--31
FCR=0x00;//1奇偶校验1FIFO
PDR=0x0c;//Divider=12
CCR=0x00;//不分频
PCR&=0xfb;//RSTIN=0
UCR2|=0x04;//不自动转换
UCR1=0x01;//正向约定
UCR1&=0xf7;//接收模式
flag3=0;//复位定时标志
flagatr=0;//接收ATR首字节定时标志
PCR|=0x01;//激活
TOR2=0x6c;
TOR3=0x00;
TOC=0x61;//RST拉高前等待108ETU
while(flag3==0);//定时时间到,在中断中设置flag3=1
TOC=0x00;//关闭定时器
PCR|=0x04;//给复位拉高
TOR2=0x78;
TOR3=0x00;
TOC=0x61;//RST拉高前等待
flagatr=1;
ATR();//复位应答处理函数
图5为IC卡的下电时序图。相对于上电时序,下电过程对时间的要求不是很严格,只要设计者控制TDA8007按照一定的顺序置低START、RSTIN和停止CLK即可,然后TDA8007会自动逐步释放RST、I/O、Vcc及VUP。具体处理见下电程序。
下电程序:
P15=0;
PCR&=0xfe;//START=0;下电
PCR&=0xfb;//卡的复位脚保持0
CCR&=0xdf;//停止时钟于低
CCR|=0x10;//停止时钟
P15=1;
6使用TDA8007应当注意的问题
TDA8007对于Vcc、RST出错,芯片过热(如图IC卡为电源短路卡或金属片),或IC卡插入拔出时都会产生中断输出。每次中断处理结束,应注意把HSR中的值读入一个临时地址,以便清楚HSR中的标志。
每次发送数据到IC前,即接收IC卡的最后一个数据之前,应设置寄存器UCR1中的LCT位,以便接收完IC卡的数据后,自动切换成发送状态。
对TDA8007部分布线时应注意,时钟信号线与其它线的隔离:最好被地线包围。
对于电路板上TDA8007部分的电容应尽量靠近TDA8007,其中电容Cap、Cbp、Cup尤其如此,并最好不要在这些电容连向TDA8007引脚过程中使用过孔;同时,Cap、Cup、Cbp电容的ESR要尽量小。
对TDA8007处理的两个IC卡座中的任何一个执行上电、下电、读写卡操作之前,必须执行选择卡座的操作函数,以便选中具体的IC卡进行处理。
对IC卡操作中上电时序中的定时,读写卡字节间等待定时等都可使用TDA8007中的定时器及定时控制器操作,注意其定时器为向下计数方式。
关键词:非接触式IC卡高频接口电路整流稳压模块调制解调模块
引言
随着微电子和无线通信技术的发展,非接触式IC卡技术也得到蓬勃发展,但国内设计非接触IC卡的技术不够成熟。高频接口电路设计是非接触式IC卡设计的关键技术之一,文中将介绍一种高频接口电路的设计。
1IC卡的基本结构
图1是一个具有逻辑加密功能的非接触式IC卡的结构方块图。对于具有逻辑加密功能的非接触式IC卡,一般包括IC芯片和天线线圈(耦合线圈)。IC芯片又包括高频接口电路、逻辑控制电路、存储器等部分。
2高频接口模块设计
IC芯片内的高频接口电路是非接触式IC卡的模拟、高频传输通路和芯片内的数字电路之间的一个接口。它从芯片外的耦合线圈上得到感应电流,整流稳压后给芯片提供电源。从阅读器发射出来的调制高频信号,在高频界面经解调后重新构建一产生在逻辑控制电路中进一步加工的数字式串行数据流(数据输入)。时钟脉冲产生电路从高频场的载波频率中产生出用于数据载体的系统时钟。图2为具有负载调制器的高频界面方框图。
为了将芯片内处理后的数据传回到阅读器,高频界面也包括有负载波调制器或反向散射调制器。它们由传送的数字化数据控制。
图3为卡的模块结构框图。整流稳压模块主要是接收阅读器发来的载波,将载波信号转变成直流信号,以作为非接触IC卡内部芯片的电源使用;同时不能因为阅读器发来的不间断载波而使芯片内部电源电压无限增大。调制解调模块主要是将阅读器发来的信号从载波信号中取下来;在IC卡发送信号时将内部的数字信号转换成模拟信号,并上载到载波信号中以传输给阅读器。
(1)整流稳压模块的设计
该模块主要包括基准源电路、电压调节电路和电源开关电路。基准源电路由二级CMOS差分放大电路和晶体管电路构成的能隙基准源组成。其结构如图4。
有源电阻P0和多晶电阻R7组成偏置电路,为电路提供偏置电流。二级差分放大器的两个输入连接在Q1端和Q2端。由基准源原理可知,只有放大电路的输入失调电压很小,并且不受温度的影响时,基准源的输出才可以保持好的性能。根据放大器和能隙基准源原理可得:
I1R6=I2R4(1)
由(1)式可知,电路中放大器的输入失调电压几乎为零,故稳定后REF点的电压值为:
VREF=VQ1+VR6=VQ1+R6I1=VQ1+I2R4(2)
因PNP晶体管的基极和集电极相连,故VQ1值相当于晶体管中BE结二极管的正向压降VBE值,为0.6~0.8V。
晶体管中BE结温度系数为负,电阻温度系数为正,在(2)式中VQ1和VR6随温度的变化可以相互补偿,故该基准源的输出VREF对温度变化不敏感。电压调节电路是稳压电路中的核心部分,包括两个一级CMOS差分放大电路COMP和电压调节及反馈电路,如图5。
两个差分放大器的输入由分压电阻得到。比较放大后经反馈调节和限流保护电路得到MA1和MB1,以控制电源开关电路中开关管的开启和截止。
电源开关电路由储能电容,NMOS管构成的整流器及开关电路组成,如图6所示。P1、P2直接连到线圈L0的两端。通过电磁耦合在P1、P2上感应出交流电;经整流后,在储能电容C0端产生直流电压VDD。调压电容C5在N2管导通后构成放电回路,使P1、P2上的电流开始对C5充电而停止对C0充电,C0两端电压保持稳定,即为负载电路提供稳定的电源电压。
(2)调制解调模块
关键词:PLC,温度程序,可编程终端
1 引言
S7-200 是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。论文格式,PLC。因此S7-200系列具有极高的性能/价格比。
脉动真空蒸汽灭菌器的工作原理是采用设备自身的真空系统强制抽出灭菌室内的空气,再导入饱和纯蒸汽并维持一定的时间、一定的温度(压力)。当饱和纯蒸汽与被灭菌物接触时利用散热原理导致细菌微生物的蛋白质变性死亡,从而达到灭菌消毒的作用。当灭菌过程结束后,再排出灭菌室内的蒸汽,启动真空系统对内室抽真空,抽出内室的蒸汽及灭菌物品内水份,从而达到对灭菌物品干燥的作用。
2 设计方法
2.1电控系统的设计
根据设备运行的流程及所要控制的电气元件,安排PLC的接口,写出I/O地址分配表。
表1 PLC I/O地址分配
Table 1 PLC I/O addressassignment
触摸屏与PLC COM1口进行通讯,打印板通过PLC COM2口进行通讯。论文格式,PLC。
图1 人机界面联接
Figure 1 man-machine interface connection
2.2程序设计
该设备共设置六种灭菌方式,每种灭菌有三步骤,因此在设计程序时需要六个标志位(M储存区)来控制参数的传送和程序的运行。
设备采用温度压力双重控制运行步骤。下面就对温度与压力采集进行一下详解。
在灭菌室内用Pt100铂电阻检测室温,然后送给PLC的模拟量输入模块,经A/D转换后得到与温度成比例的数字量,CPU将它与温度给定值比较来控制进蒸汽阀门,实现对温度的控制。
图2 温度采集程序
Figure2 temperature collection procedures
在温度数据采集程序中我们可以看到,首先将EM231采集的模拟量数据传送至VW4814,然后进过计算与滤波处理得到温度值。论文格式,PLC。
在灭菌室内用压力传感器检测内室压力,然后送给PLC的模拟量输入模块,经A/D转换后得到与压力成比例的数字量,CPU将它与压力给定值比较来控制进蒸汽阀门,实现对压力的控制。
图3 压力采集程序
Figure3 pressure collection procedures
在压力数据采集程序中我们可以看到,首先将EM231采集的模拟量数据传送至VW4818,然后进过计算与滤波处理得到压力值。论文格式,PLC。
2.3控制画面的设计
该设备使用了MT6056i触摸屏,其参数为:400MHz CPU,128MB内存,5.6寸,TFT LCD,分辨率320x234,1个USB2.0接口。能实时监视系统和设备的运行状态、运行参数,及时报告设备的故障和解决方法,对现场设备进行操作。论文格式,PLC。
在画面设计时,我们可以通过6056的编程软件中的“PLC控制”元件来控制画面的跳转,如设置VW0为画面切换设置地址,将需要切换的画面号送入VW0即可切换画面。论文格式,PLC。
图3 运行画面
Figure 3Operation
画面中的文字显示可以在字符串中设置,并且在对应的数据区里写入各个字符的数值。其中温度和时间的可以通过数值显示元件进行显示。
3 结束语
在脉动真空灭菌器上应用PLC,提高了设备的自动化程度,使设备可靠、稳定地运行。存在不足之处就是在温度方面采用了开环控制,温度得不到很好的控制,其波动性较大。
参考文献
[1]SIEMENSSIMATICS7-200可编程序控制器
[2]殷洪义主编可编程序控制器选择设计与维护机械工业出版社2003
[3]宋伯生编著可编程控制器----配置编程联网中国劳动出版社1998
[4]朱善君等编著可编程序控制系统----原理应用维护清华大学出版社1994