0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术嵌入式主板EM9160精简ISA总线硬件中断的使用方法

英创信息技术 来源:英创信息技术 作者:佚名 2019-11-01 09:42 次阅读

英创公司新近推出的嵌入式主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯接口,如以太、串口、USB,而且还配置了当前智能控制设备中常用的SPI、I2C以及脉宽调制输出PWM,以及精简ISA总线和外部中断,以方便客户做专用电路的扩展。本文主要介绍EM9160的外部中断使用上的特色,以帮助客户能快速完成自己的产品开发。

EM9160的精简ISA扩展总线,包括了2路独立的外部硬件中断输入ISA_IRQ1和ISA_IRQ2,平时输入电平应为低,当外部设备产生中断时,ISA_IRQ1或ISA_IRQ2变高,其上升沿将触发中断,在系统对中断进行响应前,中断请求信号需保持为高。当应用程序对外设进行相应的中断响应处理后,ISA_IRQ1或ISA_IRQ2应返回常规的低电平状态。

在WinCE下对于中断的处理是一个相对比较复杂的过程,当一个硬件中断发生时,首先是系统内核对中断进行诊别,再启动相应中断服务例程来处理这个中断,在具体实现中断处理的过程中,需要调用系统提供的中断相关的函数,就涉及到内核函数的调用。而用户在使用eVC等工具软件进行应用程序开发时,是不能直接调用这些内核函数的。针对这一情况,为了方便客户对于外部中断的使用,英创公司设计完成了在内核中直接加载外部中断的驱动程序,一旦中断事件发生,驱动程序的中断线程将响应硬件中断同时产生一个事件,以通知上层的用户模式线程。按照这种方式导出一个定制的用户接口(共4个函数),用户只需要在应用软件中直接调用这些定制的接口函数即可方便地实现对于中断的应用处理,下面就介绍这些相关的接口函数。

(1)HANDLE InstallExternIRQ( DWORD dwIRQNo );

功能描述:安装启动ISA总线外部中断。

输入参数 dwIRQNo: 需要启动安装的外部中断号,输入值为1或2,分别对应ISA总线上的IRQ1和IRQ2。

返回值 = NULL: 安装ISA总线外部中断失败。 != NULL: 启动ISA总线外部中断返回的句柄。

(2)HANDLE GetExternIRQEvent( HANDLE hIRQ );

功能描述:获取ISA总线外部中断的中断事件。

输入参数 hIRQ: 调用函数InstallExternIRQ( )所返回的外部中断句柄。

返回值 = NULL: 操作失败。 != NULL:ISA总线外部中断的中断事件。

(3)BOOL EnableExternIRQ( HANDLE hIRQ );

功能描述:使能ISA总线外部中断,允许下一次的中断。

输入参数 hIRQ:函数InstallExternIRQ( )所返回的外部中断句柄。

返回值 = TRUE:操作成功。 = FASLE:操作失败。

(4)BOOL UninstallExternIRQ( HANDLE hIRQ );

功能描述:卸载关闭ISA总线外部中断。

输入参数 hIRQ:函数InstallExternIRQ( )所返回的外部中断句柄。

返回值 = TRUE:操作成功。 = FASLE:操作失败。

这四个函数定义在IRQ_API.h文件下,相应的IRQ_API.LIB已经直接打包在SDK中,用户直接安装嵌入式工控主板EM9160的SDK文件即可。

作为应用程序来说,可以通过函数InstallExternIRQ( … )来启动外部中断,并通过GetExternIRQEvent( … )获取中断事件的句柄。应用程序应创建一个处理对应的外部中断处理线程,该线程等待中断事件来触发,一般用WaitForSingleObject( )来等待事件被触发,当硬件中断发生时,用户处理线程就可以完成必要的I/O操作来采集数据或处理数据了,再调用函数EnableExternIRQ( )再次开启硬件中断。

典型的应用程序中断处理线程如下:

DWORD WINAPI CEM9160_IRQ::IRQThreadFunc(LPVOID lparam)

{

CEM9160_IRQ *lpIRQ = (CEM9160_IRQ*)lparam;

for( ; ; )

{

WaitForSingleObject( lpIRQ-》hIRQEvent, INFINITE ); // 等待硬件中断事件

ExIRQHandler( ); // 硬件中断事件处理,用户可在此函数中添加中断处理代码

EnableExternIRQ( lpIRQ-》hIRQ ); // 再次开启硬件中断

}

}

需要注意的是,当具体的中断处理函数ExIRQHandler( )执行完毕时,硬件中断请求输入ISA_IRQ1或ISA_IRQ2的电平已回到低电平状态,并确保在系统再次使能外部中断前一直保持为低,即函数EnableExternIRQ( lpIRQ-》hIRQ )完成前一直保持为低,以防止中断嵌套。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6060

    浏览量

    34567
收藏 人收藏

    评论

    相关推荐

    工控主板产品选型指南

      成都信息技术有限公司是一家专注于嵌入式工控主板研发、销售与服务的高科技公司,在嵌入式领域
    发表于 02-28 11:28

    嵌入式工控主板EM9160的PWM功能

    英创公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯接口,如以太、串口、USB,而且还配置了当前
    发表于 04-09 15:49 36次下载

    基于EM9460的ETA501使用方法

    本文将以EM9460为例介绍ETA501的使用方法,该方法同样适用于英利的其他Linux嵌入式主板产品,如
    的头像 发表于 10-27 11:09 1647次阅读

    英创信息技术嵌入式工控主板EM9160的PWM功能使用方法

     英创公司新近推出的嵌入式工控主板EM9160是一款专门面向工业智能设备的高性价比ARM9+WinCE平台,该工控主板不仅配置了常规的标准通讯接口,如以太、串口、USB,而且还配置了当
    的头像 发表于 11-01 09:27 1328次阅读

    英创信息技术工控主板EM9360的GPIO介绍

    的WinCE驱动程序,支持应用程序通过WinCE相应的API函数来操作各路网络接口。此外EM9360还与英创公司其他ARM9主板一样,带有精简ISA扩展
    的头像 发表于 11-14 09:34 2097次阅读

    英创信息技术工控主板EM9160L的低功耗应用介绍

    EM9160L是一款与英创主力产品EM9160功能完全兼容,同时具有低功耗操作能力的高性能ARM9嵌入式主板产品。EM9160L主要应用是作
    的头像 发表于 11-14 09:59 1310次阅读

    英创信息技术工控主板EM9160对红外通讯用途介绍

    英创公司的EM9160是一款高性价比的工控主板,预装正版WinCE5.0操作系统,具有极强的通讯能力。在电力电表的应用中,红外通讯是一种非常重要的串口通讯方式,在EM9160中,可利用其丰富的串口资源,来实现红外通讯的功能。
    的头像 发表于 11-18 09:58 1016次阅读
    英创<b class='flag-5'>信息技术</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>对红外通讯用途介绍

    英创信息技术嵌入式Linux主板EM9160支持ISO7816通讯协议介绍

    新的技术需求,我们对嵌入式Linux主板EM9160的串口驱动进行了升级,使其多个串口都可支持ISO7816协议,为客户进行智能终端整机设计时,提供了灵活的选择。
    的头像 发表于 11-18 10:09 1866次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>支持ISO7816通讯协议介绍

    英创信息技术工业主板EM9160介绍

    ,如I2C总线时钟芯片,I2C总线存贮器等。之前已对I2C总线操作铁电存贮器有过说明,相关文章请参考《工控主板支持铁电存储器的简易方案》。英创公司的
    的头像 发表于 01-14 11:09 1006次阅读

    英创信息技术嵌入式Linux工控板EM9160介绍

    I2C总线是一种2线制的主从通讯协议,主要运用于器件之间的数据通讯,在嵌入式系统中得到非常广泛的应用。作为一款高性价比的嵌入式Linux工控板,EM9160的对I2C
    的头像 发表于 01-14 10:57 1074次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>嵌入式</b>Linux工控板<b class='flag-5'>EM9160</b>介绍

    英创信息技术嵌入式Linux工控板EM9160介绍

    嵌入式Linux主板EM9160主要应用之一就是可以作为智能终端的核心平台,智能终端总是带有一种显示单元。EM9160作为一种高效、低成本的产品解决方案,专门针对小型的单色LCD显示模
    的头像 发表于 01-14 11:20 1094次阅读

    英创信息技术主板EM9160硬件介绍

    英创工控主板上的精简ISA总线的主要应用,就是支持客户的专用电路单元的扩展,如数据采集等。在精简ISA
    的头像 发表于 01-14 11:27 858次阅读

    英创信息技术EM9170工控主板ISA总线数据介绍

    EM9170工控主板精简ISA总线包括8位数据总线、5位地址
    的头像 发表于 01-14 14:58 1083次阅读

    英创信息技术主板EM9160测频功能的使用介绍

    通讯接口配置了驱动程序,这些接口包括以太、串口、USB、SPI、I2C、PWM、AD、GPIO以及精简ISA扩展总线等。客户的应用程序可利用标准驱动程序的API函数,就可方便地操作接口,实现所需的功能。 本文主要介绍采用
    的头像 发表于 01-15 14:15 1007次阅读

    英创信息技术EM335x精简ISA扩展总线地址总线介绍

    英创公司新近推出的工控主板EM335x支持精简ISA扩展总线。由于主板管脚的限制,
    的头像 发表于 01-17 10:20 1114次阅读
    英创<b class='flag-5'>信息技术</b><b class='flag-5'>EM</b>335x<b class='flag-5'>精简</b><b class='flag-5'>ISA</b>扩展<b class='flag-5'>总线</b>地址<b class='flag-5'>总线</b>介绍