CN1229734C - 采用复杂可编程逻辑控制器实现扩充中断的装置 - Google Patents

采用复杂可编程逻辑控制器实现扩充中断的装置 Download PDF

Info

Publication number
CN1229734C
CN1229734C CN 02120038 CN02120038A CN1229734C CN 1229734 C CN1229734 C CN 1229734C CN 02120038 CN02120038 CN 02120038 CN 02120038 A CN02120038 A CN 02120038A CN 1229734 C CN1229734 C CN 1229734C
Authority
CN
China
Prior art keywords
register
interrupt
interruption
correspondence
gpio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 02120038
Other languages
English (en)
Other versions
CN1459734A (zh
Inventor
刘鹏
颜洪涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Motorola Mobile Communication Technology Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN 02120038 priority Critical patent/CN1229734C/zh
Publication of CN1459734A publication Critical patent/CN1459734A/zh
Application granted granted Critical
Publication of CN1229734C publication Critical patent/CN1229734C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Bus Control (AREA)

Abstract

一种采用复杂可编程逻辑控制器实现扩充中断的装置,包括:挂在嵌入式控制器的数据总线和地址总线上的复杂可编程逻辑控制器,其特征在于该复杂可编程逻辑控制器包括控制系统输入中断的多个寄存器,所述复杂可编程逻辑控制器的中断触发端连接到嵌入式控制器的中断触发源上。本发明降低了系统的设计复杂性,使系统的后期修改性能得到增强。不需要修改系统的硬件,只需要修改系统的软件就可达到修改系统的目的。本发明提高了系统的运行速度,降低了CPU的负担。

Description

采用复杂可编程逻辑控制器实现扩充中断的装置
技术领域
本发明涉及嵌入式系统的微处理器的外围扩展装置,特别涉及采用CPLD(复杂可编程逻辑控制器)实现扩充中断的装置。
背景技术
虽然目前一些嵌入式系统的微处理器的外围扩展非常丰富,但是在一些应用场合,其控制器的外围功能在一定的范围内还是比较缺乏的。例如,在嵌入式控制器的输入输出管脚比较缺少的情况下,给应用带来了极大的不方便。如图1所示,现有技术对于系统的输出可以实现很好的性能,但是对于系统的输入,则性能比较低。主要原因是该扩充的逻辑器件需要CPU不断的对其进行读操作,降低了系统的性能。另外,当系统处于休眠状态的时候,由于系统不能定期监测到系统的扩充输入,所以系统的扩充输入不能够唤醒系统。当系统的扩充输入要实现中断的功能,每一个中断的输入需要对应不同的设置(例如,是上升沿触发还是下降沿触发,是高电平触发还是低电平触发等等),都没法设置,使用起来相当不便。
发明内容
本发明的目的是提供一种采用CPLD给嵌入式微控制器的GPIO(一般输入/输出)输入输出功能进行扩展的装置。
为实现上述目的,一种采用复杂可编程逻辑控制器实现扩充中断的装置,包括:挂在嵌入式控制器的数据总线和地址总线上的复杂可编程逻辑控制器,其特征在于该复杂可编程逻辑控制器包括控制系统输入中断的多个寄存器,所述复杂可编程逻辑控制器的中断触发端连接到嵌入式控制器的中断触发源上。
本发明降低了系统的设计复杂性,使系统的后期修改性能得到增强。不需要修改系统的硬件,只需要修改系统的软件就可达到修改系统的目的。本发明提高了系统的运行速度,降低了CPU的负担。
附图说明
图1是现有技术实现扩充终端的示意图;
图2是本发明采用CPLD实现扩充终端的示意图;
图3是CPLD内寄存器的示意图;
图4是本发明应用实施例的示意图;
图5是系统运行流程图;
图6是中断流程图。
具体实施方式
由于目前的微处理器的内部都有中断控制器,所以在其外部的扩充的中断控制器和GPIO的功能都是一个二级控制器,它的工作原理是建立在系统的一级中断控制器的工作基础上的,这就决定了其有以下的特点:
1.扩充中断和GPIO控制器的是挂在该嵌入式控制器的数据线和地址总线上的,该扩充的中断和GPIO控制器的CPLD会有一个中断触发信号连接到该嵌入式中断控制器的中断触发信号上的,作为二级中断与一级之间的申请信号。
2.该扩充的中断和GPIO控制器的逻辑器件是可以编程的,其上的功能具有可以随着系统的程序变化而变化。
3.为了简化系统的设计,该中断和GPIO控制器的中断级别只有一个级别,没有级别的高低之分,这样在一定的程度上节约了系统的资源,达到降低成本的目的。
4.为了操作上的灵活,该中断和GPIO控制器具有中断屏蔽,中断的触发条件设置如沿触发还是电平触发,高电平触发还是低电平触发等都是功能上的设置。
5.由于采用了CPLD所以中断和GPIO控制器本身是可以更新的,这样就可以根据系统的情况进行灵活配置了。
6.中断和GPIO控制器里面的一些寄存器的内容可以读写的,从而系统通过读写中断和GPIO控制器的寄存器来达到控制该中断和GPIO控制器的目的。
7.该中断和GPIO控制器的功耗应该是非常低的,适合于手持产品。
结合以上的一些特点,如图2所示,本发明采用可编程逻辑控制器实现扩充中断。在系统的输出方面,本发明和现有技术没有本质的区别。但在系统的输入方面,本发明和现有技术的最本质的区别是本发明采用了中断的方式,而现有技术采用了查询的方式。在本发明的CPLD中,可以对于系统的输入定义一系列不同的寄存器,来达到系统输入中断的控制目的。本发明仅仅多占用了CPU的一个中断源,可以扩充设计者想要的任何中断,在实际的工作中具有非常大的意义。
如图3所示,中断和GPIO控制器的工作原理是这样的,当输入信号产生了一个变化,并且该变化符合中断沿或者中断电平以及电平的高低等等的条件,就可以把中断传递到中断响应寄存器,如果该中断是被屏蔽掉的,则该中断只传递到中断响应寄存器,如果该中断是非屏蔽的,则传递到中断状态寄存器,然后通过CPLD_IRQ给系统的中断控制器申请中断。
首先,定义该中断和GPIO控制器的寄存器,其包括GPIO_IN_VALUE,GPIO_IN_STATUS,GPIO_IN_POLARITY,GPIO_IN_EDGE,GPIO_IN_MASK,GPIO_IN_PENDING以及GPIO_OUT_VALUE寄存器,由于系统总线的缘故,它们的位数定义为16位,具体含义如下:
GPIO_IN_VALUE输入信号数值寄存器,该寄存器的数值反映了输入信号线上的即时状态,信号为高时为1,为低时为0。
GPIO_IN_MASK中断屏蔽寄存器,其对应的信号为GPIO_INO到GPIO_IN15,当该寄存器对应位为O的时候,在符合中断条件的时候,GPIO_IN_STATUS寄存器对应的位不标志(为O),当其对应位为1的时候,在符合中断的条件的时候,GPIO_IN_STATUS对应的位设置标志(为1)。
GPIO_IN_PENDING中断响应寄存器,当中断已经触发了之后,如果中断屏蔽寄存器的对应位的数值为1的时候,GPIO_IN_STATUS对应的位设置标志(为1),GPIO_IN_PENDING对应的位设置标志(为1),如果中断寄存器对应的位的数值为0时候,GPIO_IN_STATUS对应的位不设置标志,GPIO_IN_PENDING对应的位设置标志为0。
GPIO_IN_STATUS中断状态寄存器,当中断已经触发了之后,如果中断屏蔽寄存器的对应位的数值为1的时候,GPIO_IN_STATUS对应的位设置标志(为1),GPIO_IN_PENDING对应的位设置标志(为1),如果中断屏蔽寄存器对应的位的数值为0时候,GPIO_IN_STATUS对应的位不设置标志,GPIO_IN_PENDING对应的位设置标志为0。
GPIO_IN_EDGE中断沿检测寄存器,当GPIO_IN_POLARITY对应的位为0的时候,如果GPIO_IN_EDGE为0时候,其中断的触发条件为低电平触发,如果GPIO_IN_EDGE为1的时候,其中断为下降沿触发。当GPIO_IN_POLARITY对应的位为1的时候,如果GPIO_IN_EDGE为0时候,其中断为高电平触发,如果GPIO_IN_EDGE为1的时候,其中断为上升沿触发。
GPIO_IN_POLARITY中断极性寄存器,当GPIO_IN_POLARITY对应的位为0的时候,如果GPIO_IN_EDGE为0时候,其中断的触发条件为低电平触发,如果GPIO_IN_EDGE为1的时候,其中断为下降沿触发。当GPIO_IN_POLARITY对应的位为1的时候,如果GPIO_IN_EDGE为0时候,其中断为高电平触发,如果GPIO_IN_EDGE为1的时候,其中断为上升沿触发。
GPIO_OUT_VALUE输出信号的数值寄存器,该寄存器的数值反映了输出管脚上的信号的高低,当位数为1的时候,表示该对应的管脚为高,当为O的时候,表示对应的管脚电平为低。
其次,该中断和GPIO控制器首先必须初始化,其初始化的内容包括以上所列的除了GPIO_IN_VALUE寄存器外的所有寄存器,以便中断寄存器可以正确工作。
再者,如果系统需要设置一些输出信号,则可以直接访问GPIO_OUT_VALUE寄存器的内容。
最后,如果系统发生了中断响应,则中断响应的流程如下:
1.读取并清除GPIO_IN_STATUS和GPIO_IN_PENDING寄存器;
2.读取GPIO_IN_VALUE寄存器;
3.响应相应位的中断服务程序。
实施例
本发明采用了XILINX的COOLRUNNER系列的XCR3128CS144型号的CPLD已经在以INTEL的STRONGARM SA1110为核心的嵌入式系统中得到了应用,该应用如图4所示。
首先介绍一下INTEL SA1110和INTERRUPT AND GPIO CONTROLLER之间的连接信号如下:
CLK提供中断和GPIO控制器工作所需要的时钟,信号的方向为SA1110输出,中断和GPIO控制器输入;
BD是数据总线,其带宽为16位,信号的方向为双向;
BA是地址总线,其带宽为5位,信号的方向为SA1110输出,中断和GPIO控制器输入;
SA_CS3是中断和GPIO控制器的片选信号,信号的方向为SA1110输出,中断和GPIO控制器输入;
SA_OE是中断和GPIO控制器的输出使能信号,信号的方向为SA1110输出,中断和GPIO控制器输入;
SA_WE是中断和GPIO控制器的输入使能信号,信号的方向为SA1110输出,中断和GPIO控制器输入;
CPLD_IRQ是中断和GPIO控制器的中断请求信号,表明该控制器目前给SA1110发出中断请求信号信号的方向为中断和GPIO控制器输出,SA1110输入;
中断和CPIO控制器及外围设备之间的信号为16路输入信号,16路输出信号,输入信号的工作方式采用了中断控制的方式,输出信号的工作方式采用了系统直接访问的方式。由于对于整体系统而言,输入信号之间的区别不大,输出信号之间的区别也不大,所以在这里对于输入信号盒输出信号的具体含义就不做详细的说明。图5是系统运行流程图;图6是中断流程图。

Claims (6)

1.一种采用复杂可编程逻辑控制器实现扩充中断的装置,包括:挂在嵌入式控制器的数据总线和地址总线上的复杂可编程逻辑控制器,其特征在于该复杂可编程逻辑控制器包括控制系统输入中断的多个寄存器,所述复杂可编程逻辑控制器的中断触发端连接到嵌入式控制器的中断触发源上。
2.按权利要求1所述的装置,其特征在于所述多个寄存器包括:
输入信号数值寄存器,该寄存器的数值反映了输入信号线上的即时状态,信号为高时为1,为低时为0。
3.按权利要求1所述的装置,其特征在于所述多个寄存器包括:
中断屏蔽寄存器,其对应的信号为通用输入接口信号;
中断状态寄存器,当中断屏蔽寄存器对应位为0的时候,在符合中断条件的时候,中断状态寄存器对应的位不标志,当中断屏蔽寄存器对应位为1的时候,在符合中断的条件的时候,中断状态寄存器对应的位设置标志为1。
4.按权利要求3所述的装置,其特征在于所述多个寄存器包括:
中断响应寄存器,当中断已经触发了之后,如果中断屏蔽寄存器的对应位的数值为1的时候,中断状态寄存器对应的位设置标志为1,中断响应寄存器对应的位设置标志为1,如果中断屏蔽寄存器对应的位的数值为0时候,中断状态寄存器对应的位不设置标志,中断响应寄存器对应的位设置标志为0。
5.按权利要求1至4任一所述的装置,其特征在于所述多个寄存器包括:
中断极性寄存器和中断沿检测寄存器,当中断极性寄存器对应的位为0的时候,如果中断沿检测寄存器为0的时候,其中断的触发条件为低电平触发,如果中断沿检测寄存器为1的时候,其中断为下降沿触发;当中断极性寄存器对应的位为1的时候,如果中断沿检测寄存器为0的时候,其中断为高电平触发,如果中断沿检测寄存器为1的时候,其中断为上升沿触发。
6.按权利要求1所述的装置,其特征在于所述多个寄存器包括:
输出信号的数值寄存器,该寄存器的数值反映了输出管脚上的信号的高低,当数值为1的时候,表示该对应的管脚电平为高,当为0的时候,表示对应的管脚电平为低。
CN 02120038 2002-05-21 2002-05-21 采用复杂可编程逻辑控制器实现扩充中断的装置 Expired - Fee Related CN1229734C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02120038 CN1229734C (zh) 2002-05-21 2002-05-21 采用复杂可编程逻辑控制器实现扩充中断的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02120038 CN1229734C (zh) 2002-05-21 2002-05-21 采用复杂可编程逻辑控制器实现扩充中断的装置

Publications (2)

Publication Number Publication Date
CN1459734A CN1459734A (zh) 2003-12-03
CN1229734C true CN1229734C (zh) 2005-11-30

Family

ID=29426925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02120038 Expired - Fee Related CN1229734C (zh) 2002-05-21 2002-05-21 采用复杂可编程逻辑控制器实现扩充中断的装置

Country Status (1)

Country Link
CN (1) CN1229734C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012877B (zh) * 2010-11-26 2012-11-14 成都智科通信技术有限公司 利用cpld扩展嵌入式处理器的gpio的嵌入式程控交换机
CN102436432A (zh) * 2011-09-15 2012-05-02 中兴通讯股份有限公司 一种嵌入式微处理器的读写方法及系统
CN105426336A (zh) * 2015-11-09 2016-03-23 上海斐讯数据通信技术有限公司 数据处理系统、数据读取输出方法
CN109460378B (zh) * 2018-10-30 2021-01-15 新华三信息安全技术有限公司 一种接口电路、信号处理方法、器件及介质
CN111723032B (zh) * 2019-03-21 2021-09-24 杭州宏杉科技股份有限公司 一种中断管控方法及电子设备
CN111221755B (zh) * 2019-12-28 2020-11-10 重庆秦嵩科技有限公司 一种FPGA2子模块的io中断控制方法
CN115643223B (zh) * 2022-12-21 2023-02-28 新华三信息技术有限公司 一种中断信号传输方法及装置

Also Published As

Publication number Publication date
CN1459734A (zh) 2003-12-03

Similar Documents

Publication Publication Date Title
CN1229734C (zh) 采用复杂可编程逻辑控制器实现扩充中断的装置
US6505263B1 (en) Bus controller operating code in system memory
CN1318171A (zh) 具有串行连接外围组件互连接口的系统总线
CN1189828C (zh) 图形控制器以及图形控制器中使用的电源管理方法
US7231468B2 (en) Future activity list for peripheral bus host controller
CN1286038C (zh) 基于双环形队列、非中断式pci通信方法
KR920010975B1 (ko) 입출력 제어 시스템 및 그 방법
CN1296830C (zh) 中央处理单元启动的方法及系统
CN1556474A (zh) 软件的在线升级方法及装置
CN1570887A (zh) 预取数据控制器及其方法
CN100365574C (zh) 一种嵌入式芯片及其程序空间扩展的方法
JP3621497B2 (ja) コンピュータシステム及び同システムにおけるクロック停止信号制御方法
CN1438583A (zh) 监测计算机系统资源的装置及串行总线和该资源相通方法
CN1255717C (zh) 用于在盘驱动器接口之间共享中断的方法和设备
CN1684030A (zh) 码流播放卡和码流采集卡的驱动方法
CN1252546A (zh) 电脑装置及其由省电模式进入运作模式的方法
CN2743897Y (zh) 基于can总线的燃料电池汽车整车控制器监控系统
CN1535427A (zh) 用于芯片上系统设计的有效中断系统
CN1735855A (zh) 用于处理数据传送的方法和装置
US5713041A (en) Computer system having a host CPU and a logic for integrating peripheral control functions into the host CPU
CN1225707C (zh) 具有管理外围i/0控制装置功能的系统
CN1776569A (zh) 省电模式调整方法及其应用的逻辑芯片与计算机系统
CN1277199C (zh) 加速处理器读写暂存器的方法及装置
CN1434385A (zh) 从二次存储介质读出数据并写入一次存储介质的微机系统
CN1567367A (zh) 智能卡的存储器结构及其控制方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: LIANXIANG (BEIJING) CO. LTD.; HUMANTEC INDUSTRIAL

Free format text: FORMER OWNER: LIANXIANG (BEIJING) CO. LTD.

Effective date: 20080808

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20080808

Address after: No. 6, Pioneer Road, Beijing, Haidian District: 100085

Co-patentee after: Lenovo Mobile Communication Technology Ltd.

Patentee after: Lenovo (Beijing) Co., Ltd.

Address before: No. 6, Pioneer Road, Beijing, Haidian District: 100085

Patentee before: Lenovo (Beijing) Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20051130

Termination date: 20210521

CF01 Termination of patent right due to non-payment of annual fee