作者:mculover666
在实际玩zynq中断之前,先扯一扯中断这个神奇的东西~
实时性是一个嵌入式系统很重要的性能,实时性体现在一个系统对外部事件的响应能力和处理能力上,而cpu对一个事件的响应及处理主要依托于 —— 中断。
通俗的来说,中断的一个基本过程就是:当一个事件发生时(比如按键按下),产生一个可以发送到cpu的中断信号(上升沿或下降沿无所谓,是个信号就行),当cpu接收到这个中断信号后,对这个中断信号所表示的事件进行处理(跳转去执行中断服务程序,对按键按下这个事件进行处理)。
对这个基本过程抽象出来一个中断系统模型如图所示:
在上图中只是一个中断信号,那么当这个系统中存在很多中断信号时,群龙无首,整个系统就会乱套,cpu会像一只无头苍蝇一样到处去执行中断服务程序,结果可想而知,最后cpu肯定什么也干不了~
为了解决这个问题,需要派一个领导去管理这些各种各样的中断,这个管理者就是 —— 中断管理单元!所以,它只有一个功能 —— 管理这些中断信号!比如使能与失能 —— 让哪个中断信号通过或者让哪些信号不通过;“优先级” —— 谁先通过谁后通过,改进模型如下图:
这样一来,cpu永远只能接收到一个中断信号,所以cpu可以很舒服的去做他该做的事情了~
总结一下中断的编程思路:
配置外设可以产生中断信号
配置中断管理单元,使能信号通过,( 配置信号优先级 )
配置中断服务程序 ,确保cpu接收到中断信号可以及时处理
接下来依托这个抽象的中断模型玩一玩zynq的中断,具体化这个模型~
1.实验目的
探索zynq中pl->ps的中断,按下按键产生一个中断,这个中断被通用中断管理单元所处理,然后传递给zynq ps,将变量值递增然后将值显示在led上。
2.实验步骤
2.1.新建基于pynq-z2的工程
2.2.创建硬件块设计
2.2.1.添加所用ip并自动连线
添加两个axi_gpioip核,一个连接板载4个按钮,一个连接板载4个led
2.2.2.配置axi_gpio使能中断
这里因为4个按键是连接在axi_gpio_0上的,所以双击axi_gpio_0 ip核进行配置,如图,选择使能中断:
可以看到与未配置中断的axi_gpio_1有区别:
2.2.2.配置zynq ps系统接收中断请求
在配置之前需要对zynq中的中断信号有个大致的了解,其中ps和pl之间的中断信号如表所示:
根据上图,双击zynq ip核进行配置,因为这里需要接收的按键中断是从pl端到ps端的,首先选中fabric interrupts中断组织,然后选中irq_f2p[15:0],使能16-bit的pl->ps共享中断端口,以便于来自pl端的中断可以连接到ps的中断控制器上:
2.2.3.连接axi_gpio的中断请求和ps的中断端口
手动进行连线:
2.3.验证设计,创建hdl文件,生成bitstream,导出硬件设计文件
至此,中断信号的硬件数据通路构建完成,接下来是软件中配置中断管理单元和中断服务程序。
2.4.过渡到sdk上的软件设计
2.4.1.launch sdk
2.4.2.新建一个空的应用工程
2.4.3.导入已有c文件
因为在实际项目中需要分工协作,所以这里选择导入随书附带的c文件:
2.4.4.配置运行设置,板级验证
运行即可观察到现象。
2.添加定时器中断
2.1.实验目的
在已有一个按键中断的基础上,添加一个定时器中断,掌握添加多个中断到ps的方法。
2.2.实验步骤
2.2.1.添加axi timer ip核并自动连线
添加时搜索timer,选择axi timer添加,然后点击自动连线,结果如图:
2.2.2.连接axi timer的中断到ps端
因为ps端的共享中断接口已经连接了一个axi gpio中断,所以如果要继续连接一个中断信号,要通过一个另外的ip核 —— concat,在添加ip核时搜索添加,如图所示,将之前axi gpio 到ps的中断断开,然后将concat的dout信号连至ps端的irq_f2p[0:0],然后将axi gpio的中断信号连接至in0,将定时器的中断信号连接至in1,这样就完成了多个中断信号的共享。
生成bitstream,导出硬件文件
dfrobot麦昆编程机器人小车巡线地图简介
光宝科技瞄准未来主流趋势,推出车用LED与传感器产品
一种应用于射频卡的集成稳压电路的设计
C/C++之面向对象编程思想2
电子电路图为例解析集成电路画法
PYNQ学习案例——Zynq中断应用及编程思路
区块链能否解决物联网设备的不安全问题
“华为天才少年”稚晖君创业项目,刚被百度投资了!
商汤“日日新SenseNova”大模型体系问世
华为p10最新消息:华为P10雪上加霜,一夜之间跌至“最低价”!
基于MT9P031视频图像处理系统
科普一下MR双射频技术的相关知识
基于人工智能的自监督学习详解
华为成立“煤炭军团”,看5G如何赋能老行业?
DFRobot 编码器套件介绍
不同的天线波束及其用途
中国联通在六个方面的努力
打破众多技术瓶颈,语音识别拾音器重磅推出
苹果在线服务出现大规模未知故障
美国核武器实验室停用华为原合资公司设备 称存安全隐患