韦根传感器是一种当交变磁场经过时产生输出电压脉冲的传感器。脉冲的幅度是由激励磁场的场强决定的。因此,韦根传感器不需要外界电源供电。韦根传感器的工作频率从0速率到20KHz,脉冲的极性由激励磁场的极性所决定。由于韦根传感器非常容易和数字系统相匹配,并且系统没有可动的部件或半导体器件,这使得它们能适用于恶劣的环境和长期无人监控的场所。
1 韦根信号简介
韦根信号是两根数据线传输二进制数据,在空闲时端,两线的对0V的电源都为TTL电平的水平,也就是5V,一般通过5K电阻上拉,当有数据传输时,两根线交替地发送400uS低脉冲,当Data0线发脉冲时,数据是0;当Data1发脉冲时,发送的数据是1,不能两根线同时发脉冲。脉冲的间隔时间是1mS。在设计读卡器时,为防止使用者连接错线,造成数据口损坏,在电路设计上一定要给数据输出上加驱动级并加电阻限流。
2 接口硬件构成
接收韦根信号的上层控制设备通常是一个单片机控制系统,承担了I/O口驱动、以太网通信、数据处理、液晶显示等任务。韦根信号脉冲宽度仅为40~100μs,如果采用扫描I/O口的方式,只有满足扫描周期<40 μs的条件(即采样频率高于25 kHz),才能够捕获一个信息帧内所有的下降脉冲信号,否则将因出现“脉冲遗漏”造成读数错误。如此高的扫描速度将极大地消耗CPU资源,阻塞单片机系统其他任务的正常执行,每个韦根接头都连接到CPU的一个中断信号引脚上,以中断触发的方式处理。由于CPU外部中断数量的限制,CPU包括运算逻辑部件、寄存器部件和控制部件。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字和特征码。有的指令中也直接包含操作数本身。
为了能够接收多路信号,可以由另一个独立的单片机构成一个从机系统,以循环扫描数据总线的方式工作,专门负责多路信号的采集与处理,并将处理后的ID信息通过串行或并行方式发给主控单片机。但是这种方式增加了系统的复杂度,从而给可靠性带来隐患,同时也增加了成本。
本设计中主控制器是NXP2214,采用中断触发综合扫描I/O的新方法,只用一个CPU的中断信号,实现多路韦根接口信号的采集。韦根接口硬件电路如图2所示。韦根接口是5 V的电平,而ARM内核的CPU是3.3 V的电平,因此韦根信号首先通过芯片SN74LVC4245转换成3.3 V电平。然后,输入到NXP2214的P0.8~P0.15引脚上,这些引脚通过I/O方式扫描信号。
当有任何一路韦根接口产生低电平时,经过SN74-HC30D都会产生中断;微控制器立刻响应中断,扫描输入信号获取完整的信号帧后退出中断。这样,只需要一个中断信号,只在有信号时扫描I/O,不但不会阻塞系统其他任务的正常执行,而且可以扩展出更多的韦根接口。