·上一文章:高压变频器中功率驱动PWM信号的远距离传送实现
·下一文章:微处理器的二次引导加载方案
为了快速响应,使用最高级的中断优先级,当外部4路韦根接口有任何一路信号产生有效电平时,NXP2214都可以产生中断。在中断处理程序中,并行扫描4路韦根接口,并分别保存到变量。如果大于脉冲周期的时间间隔内(如2.5 ms),都没有发现任何一路信号产生有效电平,则认为传输完毕。接着处理数据和发送消息通知其他任务,然后退出中断。并行I/O扫描的流程如图3所示。
具体的扫描判断过程如下:在定时器没有超时时,首先读入韦根信号引脚的电平到cur变量;接着判断pre是否等于(cur&pre),即判断是否产生1到0变化的有效电平,通过下降沿判断的方式,防止误把1次0当成多个0读入。如果产生了下降沿,则判断信号是哪路韦根信号,对应存入变量WG[0]~wG。如果是DATA0产生,则直接把变量左移1位;如果是DATA1产生,则变量加1后再左移。
该并行扫描处理的方法,能够保证韦根接口在同时有多路信号产生的情况下,也可以正确操作。中断触发扫描过程,一个扫描结束后信号都保存到WG[0]~WG[3]中。
本文采用的是标准韦根输出,信号帧由26位二进制数组成,帧格式如下:
奇偶校验判断正确后,将变量中的数据去除校验位变成有效数据;然后调用OSMboxPost函数发送消息,以通知其他任务处理。
4 结 论
本文的程序和硬件均在实际产品中调试通过。实验表明,在8个通道同时完成输入连续的韦根信号的情况下,微控制器NXP2214不仅能够全部正确接收读卡器的韦根数据,还能同时完成处理TCP/IP、液晶显示以及其他任务,达到了设计要求。