首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何在Zynq SoC上使用中断

如何在Zynq SoC上使用中断

实时计算经常要求中断针对事件快速做出响应。只要掌握Zynq SoC中断结构的工作原理,就不难设计出中断驱动型系统。
在嵌入式处理中,中断表示暂时停止处理器的当前活动。处理器会保存当前的状态并执行中断服务例程,以便对引起中断的原因进行寻址。中断可能来自下列三个地方之一:
硬件 – 直接连接处理器的电子信号
软件 – 处理器加载的软件说明
异常情况 – 发生错误或异常事件时处理器出现的异常情况
无论中断的来源在何处,都可将中断的类别归为可屏蔽和不可屏蔽两种。您可通过在中断掩码寄存器中设置相应的位来安全地忽略可屏蔽中断。但不能忽略不可屏蔽中断,因为这类中断通常用于定时器和看门狗监控器。
中断的触发既可以是边缘触发也可以是水平触发。我们将在后面部分看到,赛灵思Zynq®-7000 All Programmable  SoC支持中断的这两种配置方式。
为什么使用中断驱动方案?
实时设计通常要求采用中断驱动方案,因为众多系统都会有很多输入单元(如键盘、鼠标、按钮、传感器以及类似设备等)偶尔需要处理。这些设备的输入单元通常会被异步至当前正在执行的进程或任务,因而用户不可能始终准确预测事件的发生时间。
使用中断,处理器能继续进行处理,直到事件发生,这时处理器便可处理这一事件。此外,与轮询方案相比,中断驱动方案对事件的响应时间更短,在中断驱动方案中,程序会以同步的方式主动对外部设备的状态进行采样。
Zynq SoC的中断结构
随着处理器技术不断进步,中断的来源也多种多样。如图1所示,Zynq  SoC可使用通用中断控制器(GIC)来处理中断。GIC可处理源自以下方面的中断:
                                                                                                                                                            
I/O外设通用设置            

应用处理器单元(APU)

            
系统级控制寄存器            

窥探控制单元

            
64b 
AXI
ACP
从系统
            

512KB L2 高速缓存与控制器

            
端口
FLASH 存储器接口中央互联DMA8存储器接口 
通道
CoreSightDR2/3,LPDDR2控制器
 SMC 时序计算Calulation组件
到存储器互联点的可编程逻辑
 
复位时钟生成
扩展MIO (EMIO)PS-PL时钟端口32b GP32b GP 
AXIAXI
主系统端口从系统端口
DMA 同步配置高性能处理系统 (PS) 
DMA 通道AES/AXI 32b/64b 从系统端口 
 SHA 可编程逻辑 (PL)
继承事业,薪火相传
返回列表