当前位置:首页 > EDA > 电子设计自动化
[导读]针对嵌入式系统的精简特性,提出一种通过1个中断源高效管理多个串行口的有效方法。

   摘要:针对嵌入式系统的精简特性,提出一种通过1个中断源高效管理多个串行口的有效方法,不但节省系统资源,而且实现了多个串行口中断的无漏检测与服务。

    关键词:嵌入式系统 RS232 多串口 CPLD 中断

近几年来,随着后PC时代的来临,具有简洁、高效等特点的嵌入式系统得到了飞速的发展。嵌入式技术发展到今天已将各种计算机技术多层次、多方面的交叉融合在了一起。嵌入式系统加快了工业设计进程,降低了开发成本及其风险,使用简便,扩展灵活,高效精简,可方便地应用于各工业领域。

中断请求采用边沿触发来进行中断检测,通过将信号送到特定的引线来检测中断。每条引线对应一个可能的硬件中断,因为系统不能辨认哪个设备使用中断线,所以当多个1个的设备被设置成使用同一个特定中断时就产生了混乱。中断产生时,由专用的中断程序接管系统,首先把所有的CPU寄存器内容保存到堆栈里,并引导系统指向中断向量表。在中断程序执行后的一段时间中,中断控制软件把堆栈内容返回给寄存器,系统恢复中断发生之前 的状态。如此段时间中又有中断请求,将造成中断的设备判断混乱,从而会造成中断冲突、丢失,甚至使得设置无法正常工作。因此,每个中断通常被分配给单一的设备,使中断无法共享。

传统方法中,扩展多个串行口是利用多个中断源;但在嵌入式系统中,花费大量的中断源来扩展串口无疑是大量的资源浪费。针对这种情况,为了节省紧张的系统资源,本文提出一种实现高效多串口中断方案,可以利用单一的中断源来管理多个扩展串口,并保证多个串口中断的无漏检测与服务。

1 总体设计方案

基本原理结构如图1所示。RS232串口通过驱动芯片MAX202转换成TTL电平,通过串口异步通信器件16C554输出中断请求,通过或门获得多个串口的中断请求INTREQ,再通过CPLD与中断控制器相连接。中断线INTREQ通过CPLD主要是在CPLD中做了一个1位的控制寄存器INTEN,用作中断允许控制位,并且根据16C554的中断请求INTREQ和INTEN的状态来最终生成DLY_IRQ,向CPU发出请求。CPU实时响应中断请求DLY_IRQ。在中断服务过程中,CPU按顺序逐个检查多个扩展的串口中断源,有中断请求的就给予服务。当刚刚检查过的中断又出现时,一方面靠CPLD中的一位寄存器INTREQ锁存;另一方面,当上一中断服务完毕时,CPLD中的8位状态机保证了一定时间的延迟。此延时中,中断控制把堆栈内容返回给CPU寄存器,恢复能获得响应。这样,即使在多个串口中断密集发生的环境下,扩展的多个串行口仍可获得实时性和可靠性较高的中断响应。

2 硬件实现

(1)MAX202

Maxim公司的MAX202芯片是标准的RS232电平转换器,是符合RS232通信标准的接口芯片;功耗低,集成度高,只用单一5V电源,每片有2个驱动器和2个接收器,具有2组接收和发送通道;全部接口电路简单,可靠性高,可实现TTL电平和RS232电平的直接转换。

(2)16C554

16C554是集成异步通信元件。在FIFO模式,传输和接收前数据缓冲为16字节数据包,减了CPU的中断数量。包含4个改良16C550异步传输器件,使得串行I/O更加可靠。每个信道实现串行和并行2种连接方式的转换;每个信道的状态可以通过CPU的操作读取,可以获取操作情况或任何的错误状态。三态输出为双向数据总线和控制总线提供TTL驱动能力、优先级中断系统控制、可编程的串行接口特性。

(3)8259A

8259A是可编程的中断控制芯片。每块芯片可管理8级向量中断,具有8条中断请求输入线IRQ0~IRQ7,1条外中断请求输出线;具有4种主要工作方式,即全嵌套、循环优先级、特定屏蔽和程序查询方式;同时,还有4种从属工作方式,即结束中断、读状态、中断请求触发和数据缓冲方式。这些工作方式可以通过初始化命令字寄存器来实现。采用全嵌套方式时,芯片初始化后不必设置操作命令字。中断请求优先级是固定的:0级最高;7级最低。接受的8个中断请求信号为边沿触发。设定0级请求对应中断号为8,直至7级请求中断号为0FH。单片工作时,实际使用020H和021H两个端口。经过中断优先级分析器选中的当前请求的中断优先级。其相应的中断服务寄存器ISR位被置1,一直保持到中断服务程序在返回前发中断结束命令为止。在ISR置位期间,禁止同级或较低级的中断响应,开放较高级的中断请求。

(4)CPLD的编程

嵌入式系统都有灵活性的要求。因此,本系统选用了Lattice ispLSI系列产品,以适应不断扩展或开发新的产品以及1个硬件平台上多个品种的实现。使用可编程逻辑器件CPLD,有利于在系统设计和现场运行后对系统进行修改、调试、升级等。Lattice是带有在系统可编程(ISP)功能的可编程逻辑器件,即不需要重新修改PCB即可修改原有设计。

①在CPLD中设计1位寄存器INTEN原理图如图2所示。地址总线A对应INTEN的口地址,数据线D[0]对应INTEN的数据,数据在L的上升沿锁定。

②在CPLD中设计一个8位状态机。状态机由XCLK驱动,XCLK通过分频生成100kHz时钟,即Δt=10μs

3 设计构想

CPLD中做1个1位寄存器Reg,称为INTEN中断允许,由1个8位状态机根据16C554的中断请求线产生的INTREQ及INTEN状态来最终生成DLY_IRQ。

①INTREQ为n个中断的或;

②CPU对INTEN只写,操作过程分3步。

第1步,中断安装后设置INTEN=1。

第2步,进入中断服务程序后CPU设置INTEN=0。

第3步,退出中断服务程序的最后指令。

outportb(0x20,0x20);

outportb(INTEN_PORT,0x01);//INTEN_PORT为INTEN的口地址

③中断响应的时序如图3所示。

在ISR置位期间,有中断请求INTREQ产生时,此时如果触发了中断,则会使上次中断服务无法完成,因而造成中断丢失。因此,在ISR配置期间,将中断允许INTEN设置为0,防止其它中断请求触发中断,并用INTREQ锁存未被响应的中断请求。退出中断服务后,得中断允许INTEN设置为1,保证其它中断请求能够被响应,并延迟50μs,以确保此次中断服务完全退出。

④中断控制寄存器的状态图(描述8位状态机的转换)如图4所示。

在退出中断时,将INTEN设置为1,从状态S3转换到状态S0。时间上延迟了5Δt=50μs,确保当前中断完全退出。INTREQ锁存中断请求,以确保下一中断能获得响应。

4 软件设计

在设计中断服务程序时,要注意中断服务程序必须具备自我保护能力,并能访问到所有当前段地址和堆栈指针;接管中断向量前要关中断;在中断程序入口处要立即开中断;以允许较高级的中断产生;中断程序执行IRET指令前,应向中断控制器发出结束中断命令EOI。在安装中断时,将INTEN设置为1,在中断服务中轮流检查多个串口,如果有中断服务产生,则将INTEN设置为0;退出中断服务的时候,将INTEN设置为1。

上面基于嵌入式系统的精简特性,提出了一种高效多串口中断源的实现方案;大大节省了资源,确保中断请求的无漏检测和服务,并有效地解决了多个串口共享同一中断源时所造成的冲突和丢失等问题。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

共创包容性数字未来 新加坡2024年5月8日 /美通社/ -- 5月29日至31日,亚洲旗舰科技平台新加坡亚洲科技大会(Asia Tech x Singapore,简称AT...

关键字: 新加坡 ATX AN TE

深圳2024年5月6日 /美通社/ -- 从4月23日的一场大会开始,到24-26日的IOTE会展节,我们共同见证了物联网领域的最新技术、产品和解决方案的集中展示,感受到了AIoT释放数字经济潜力的巨大能量。今天以展商满...

关键字: IoT 物联网 TE AIOT

德国斯图加特和加利福尼亚州普莱森顿2024年4月16日 /美通社/ -- 全球高科技设施设计、工程和交付的领先企业Exyte宣布,计划收购全球领先的安装服务、设备和技术设施管理提供商—Kinetics集团(简称"Kine...

关键字: NET TI TE IC

正弦信号发生器是一种用于产生正弦波信号的电子设备,广泛应用于通信、测试和测量等领域。该发生器主要由两部分组成:正弦波信号发生器和调频、调相、键控等信号产生部分。

关键字: 正弦波信号发生器 CPLD

CPLD(可编程逻辑器件)无刷直流电机驱动设计是一种基于硬件可编程逻辑电路的电机驱动方法。CPLD无刷直流电机驱动设计的主要目的是实现高效率、高可靠性和精确控制。以下是CPLD无刷直流电机驱动设计及原理的一些基本信息:

关键字: 无刷直流电机 CPLD 可编程逻辑电路

上海2023年9月25日 /美通社/ -- 在9月20日举行的2023华为全联接大会(Huawei Connect 2023) TECH4ALL峰会,邀请全球TECH4ALL合作伙伴,针对科技与伙伴关系在支持创造更平等、...

关键字: 华为 TE AI SI

深圳2023年9月22日 /美通社/ -- 9月20 - 9月22日,全球物联网行业的重要盛会"IOTE 2023国际物联网展"在深圳国际会展中心 (宝安) 盛大启幕。全球领先的移动通信物联网平台 —...

关键字: 智能制造 物联网 TE IoT

科威特科威特城2023年9月21日 /美通社/ -- 秉承去年突破性科技、金融和数字银行创新峰会的势头,/MoneyTech将于11月12日重返科威特。  请在 aljaridasummits.com ...

关键字: MONEY TE BSP MIT

苏州太仓2023年9月21日 /美通社/ -- 2023年9月21日,施迈茨公司庆祝了以"施迈茨(中国)有限公司开业典礼暨施迈茨深耕中国20年"为主题的活动。 施迈茨集团成立于1910年,总部位于德...

关键字: 自动化 BSP 元器件 TE

- 经过升级后,MediaGo的IVT过滤器可以识别40多种无效流量 旧金山2023年9月21日 /美通社/ -- 百度国际事业部旗下基于深度学习的智能广告平台MediaGo今天宣布与世界领先的全渠道广告欺诈...

关键字: MEDIA TE PI GO
关闭
关闭