DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 106|回复: 0
打印 上一主题 下一主题

多中断辨识技术实验

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-21 23:43:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1 引言    工控应用已遍及各行各业,特别是随着计算机的普遍降价,由PC机建构的控制系统已越来越多,该类控制系统的优点是可以用高级语言及大量的现有软件快速建构自己的软件系统。特别对航天控制类应用项目,中断引入及多中断辨识技术是测控软件中的关键技术,严格的时序是测控软件的必须嘲条件。通过试验讨论了2种商用带中断的I/0板卡的中断引入及多中断辨识技术,介绍研华及凌华的相应中断处理技术及中断编程的要点,希望读者在使用时少走弯路。2 研华中断引入方法    研华的中断支持卡为部分I/O卡,依据典型的PCIl75l为例,PCIl751为48路I/O卡,带两路中断支持功能,I/O端口地址分别为0~5,安装好驱动程序和设备管理器后,在设备管理器中加入PCIl751设备,这时在软件界面可以看到该卡对应的设备号,该号为用户访问时使用的设备号。下一段代码演示中断引入方法,研华的中断例子在设备初始化时太繁,前面一大段代码是作为搜索设备使用的,在设备管理器软件界面一般用户已经知道该设备号,所以可以在自己的代码段省略掉该部分,下一段为Delphi代码:



3 研华的中断处理及多中断辨识技术    研华的中断处理例子并没有多辨识部分,需要使用者自己想办法,通过多次试验,使用中断前读一次端口,中断后再读一次中断口的办法,判断读人数据变化即可以辨识哪个中断发生。



4 凌华的中断安装    依据PCIl48卡为例演示中断安装及处理,PCIl48卡提供144路I/O,其中提供4路中断,作者使用Visual C++代码展示,凌华给出的例子较旧,是SDK形式或者DOS形式,凌华的I/O所有端口均使用一个端口,该企业给出的中断安装例子容易产生误解,开始作者一直以为它的4个中断需要分别安装,经多次试验后才发现不是这样的:
                          
                       
                          
                               



5 凌华的中断处理及多中断辨识    从中断安装已知,所有中断以自己定义的WIN32事件对象Pb_hSvnchEvent20通知,所以在中断处理线程中,等待该事件即可,注意在电平的上升及下降沿中断都到来,使用时需要屏蔽掉下降沿触发的中断。4个中断都安排在2号端口,多中断辨识的实质就是在中断发生时,判断该口的值是否变化,怎样变化,这样,必须保存中断前的该端口值。



6 结语    严格的时序,无中断丢失的中断处理才可以保障整个系统的时序工作,在航天或者其他控制项目中,非常重要,在几个重大项目中,分别使用了几个中断卡,该文是经过工程实践后调试通过的产物,所以引用了许多关键的代码,希望该方法对读者有益。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-3 09:36 , 耗时 0.096130 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表