集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1422|回复: 2

Zynq SoC的中断

[复制链接]
羽蒙 发表于 2014-7-25 11:02:58 | 显示全部楼层 |阅读模式
注:本文摘自“如何使用Zynq SoC的中断”,作者是Adam Taylor,该文章发表在第87期XCell期刊上。Adam经常给XCell期刊投稿,在XCell期刊上,他的“MicroZed Chronicles”系列文章已经发表了近30期,最近他成为了e2v科技的系统工程主管。
实时系统设计通常需要一个中断驱动的工作方式,因为这些系统多数都会有一些输入(比如键盘、鼠标、按键、传感器等等)需要得到及时的处理。这些设备产生的输入信号与当前正在执行的任务通常都是异步关系,因此,根本无法预测这些事件什么时候会发生。
处理器越来越先进,中断来源也有很多。Zynq SoC使用一个通用中断控制器(GIC)来处理中断,处理的中断有以下来源:
•        软件产生的中断-每个处理器都有16个软件中断,能给其中一个或者同时给两个ARM Cortex-A9内核产生中断。
•        共享外设中断-总共有60个共享外设中断,这些中断信号可以由I/O外设产生,或者由器件的可编程逻辑(PL)产生和接收,这些中断信号是在Zynq SoC的两个CPU之间共享的。
•        私有外设中断-每个CPU都有5个私有中断,比如CPU 定时器、CPU 看门狗以及专用的PL-to-CPU中断。
下图显示,用红色圆圈标注的中断控制器处于Zynq SoC’s PS(处理系统)的中心区域。

共享中断信号非常有意思,它们的通路可以灵活配置,I/O外设(共44个中断信号)或者FPGA逻辑(共16个中断信号)的中断信号可以发送给任意一个CPU,同样,I/O外设的中断信号也可以发送给器件的可编程逻辑。
使用Xilinx软件开发套件(SDK)的板级支持包(BSP)可以实现裸机系统的中断操作。包括在以下头文件中:
•        Xparameters.h –这个文件包含了处理器的地址空间分配和器件的ID;
•        Xscugic.h –这个文件包含了配置和使用中断控制器的驱动函数;
•        Xil_exception.h – 这个文件包含了Cortex-A9的异常处理函数;
Zynq SoC有一些可用的定时器和看门狗资源,它们既可以隶属于某个CPU,也可以成为CPU之间的共享资源。如果在设计中需要有效地使用这些部件,就需要使用中断。系统中包括以下定时器和看门狗:
•        CPU 32位定时器(SCUTIMER),时钟频率是CPU时钟频率的一半;
•        CPU 32位看门狗 (SCUWDT),时钟频率是CPU时钟频率的一半;
•        共享的64位全局定时器(GT),时钟频率是CPU时钟频率的一半;(每一个CPU都有自己私有的64位比较器,它需要用到GT,会给每个CPU产生一个私有中断)
•        系统看门狗定时器(WDT),它可以使用CPU时钟或者外部时钟来工作;
•        两个三重定时计数器(TTCs),每一个都包含3个独立的定时器。TTC可以使用CPU时钟工作,也可以使用可编程逻辑中的MIO或者EMIO提供的外部时钟来工作;
许多工程师最初使用一个中断驱动的系统设计时都会感到担心,但使用包含了通用的中断控制器以及SDK软件驱动的Zynq SoC架构,可以帮助你得到一个运行速度快并且高效的中断驱动系统。
关于使用Zynq SoC器件的中断以及代码实例的详细信息,请阅读Adam Taylor的文章的完整版本,点击此处。
原文链接:
http://forums.xilinx.com/t5/Xcel ... on-the-Zynq-SoC/...
© Copyright 2014 Xilinx Inc.
zxopenljx 发表于 2020-7-2 10:17:27 | 显示全部楼层
Zynq SoC的中断
zxopenljx 发表于 2023-10-20 17:48:43 | 显示全部楼层
Zynq SoC的中断
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-27 20:36 , Processed in 0.057112 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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