F28069教程3-中断 PIE

13 篇文章 6 订阅
订阅专栏


https://dev.ti.com/tirex/explore/content/c2000_academy_2.00.01.41_all/modules/Module_3_Deep_Dive/module_3_deep_dive.html


PIE:Peripheral Interrupt Expansion block

Interrupts

What are interrupts?

An interrupt is a response by the processor to an event that needs attention. The processor executes instructions that are defined within the interrupt service routine (ISR) as soon as is capable, and then goes back to normal operational tasks. Unlike idle loops where code waits for an event to occur, interrupts provide the opportunity to have non-idle code loops that execute based on the CPU’s availability and priority of tasks.

Interrupt Architecture within C2000 devices

Refer to the ‘Device Interrupt Architecture’ figure of the device’s Technical Reference Manual (TRM) for a visual representation of the interrupt architecture described below.

The internal interrupt sources include the general purpose timers 0, 1, and 2, and all of the peripherals on the device.

External interrupt sources include the five external interrupt lines. From the Input X-BAR, INPUT4 maps to XINT1, INPUT5 maps to XINT2, INPUT6 maps to XINT3, INPUT13 maps to XINT4, and INPUT14 maps to XINT5.

The Peripheral Interrupt Expansion block, known as the PIE block, is used to expand the core interrupt capability. Timer 0 is directly connected to the PIE block as well as the WAKEINT signal from the Watchdog module. For dual core devices, each core has its own PIE block and the XINTx signals are shared between the two cores as well as the peripheral interrupts, and inter-processor (IPC) signals.

The core has 14 interrupt lines (for dual core devices, each core has its own set of 14 interrupt lines). Interrupts 1-12 come from the PIE block, interrupt 13 is mapped to Timer 1 and interrupt 14 is mapped to Timer 2. The NMI module is directly connected to the NMI interrupt which is mapped to the core.

Peripheral Interrupt Expansion (PIE)

在这里插入图片描述
A Peripheral Interrupt Expansion (PIE) module multiplexes up to sixteen peripheral interrupts into each of the twelve CPU interrupt lines, further expanding support for up to 192 peripheral interrupt signals.

The PIE module also expands the interrupt vector table, allowing each unique interrupt signal to have its own interrupt service routine (ISR), permitting the CPU to support a large number of peripherals.

The PIE block consists of 12 groups. Within each group, there are sixteen interrupt sources. Each group has a PIE interrupt enable register and a PIE interrupt flag register.

Any interrupt lines that do not go through the PIE block are directly connected to the CPU like Timer 1/2 and NMI.

To view the PIE block mapping refer to the ‘PIE Channel Mapping’ table within the device’s Technical Reference Manual (TRM). Figure 4 shows an example of the PIE channel mapping for the F2838x device.
在这里插入图片描述
The PIE assignment table maps each peripheral interrupt to the unique vector location for that interrupt service routine. The interrupt numbers on the left (rows) represent the twelve core group interrupt lines and the interrupt numbers across the top (columns) represent the channel number within the core group interrupt line.

Each of the 12 PIE groups has a 16-bit flag register (PIEIFRx), a 16-bit enable register (PIEIERx), and a bit field in the PIE acknowledge register (PIEACK) which acts as a common interrupt mask for the entire group.

For a peripheral interrupt to propagate to the CPU, the appropriate PIEIFR must be set, the PIEIER enabled, the CPU IFR set, the IER enabled, and the INTM enabled. Note that some peripherals can have multiple events trigger the same interrupt signal, and the cause of the interrupt can be determined by reading the peripheral’s status register.

The enable PIE bit in the PIECTRL register is used to activate the PIE module. Note that when using the Driverlib function to enable and disable interrupts, both the PIEIER and CPU core IER registers are modified.

Driverlib functions to modify both the PIEIER and core IER registers:

    Interrupt_enable(interruptNumber);
    Interrupt_disable(interruptNumber);

PIE Block Initialization

Two separate functions are called to initialize the interrupt module and PIE block.

  Interrupt_initModule();
  Interrupt_initVectorTable();

During processor initialization the interrupt vectors, as mapped in the PIE interrupt mapping table, are copied to the PIE RAM and then the PIE module is enabled by setting ENPIE to ‘1’.

When the CPU receives an interrupt, the vector address of the ISR is fetched from the PIE RAM, and the interrupt with the highest priority that is both flagged and enabled is executed.

Priority is determined by the location within the interrupt vector table. The lowest numbered interrupt has the highest priority when multiple interrupts are pending.

In summary, the PIE initialization code flow is as follows:

  1. After the device is reset and execution of the boot code is completed, the selected boot option determines the code entry point.

  2. The CodeStartBranch.asm file has a long branch instruction to the entry point of the runtime support library. After the runtime support library completes execution, main is called.

  3. In main, a function is called to initialize the interrupt process and enable the PIE module.

  4. When the CPU receives an interrupt, the vector address of the ISR is fetched from the PIE RAM, and the interrupt with the highest priority that is both flagged and enabled is executed.

  5. Priority is determined by the location within the interrupt vector table.

Interrupt Processing

在这里插入图片描述

LLC数字控制TMS320F28034,5-DSP的ADC及比较器配置介绍
sinat_30943509的博客
08-12 1020
内置两个采样/保持(S/H)电路的12位ADC内核同步采样模式或顺序采样模式模拟输入量:0V~3.3V(固定的),或者VREFHI~ VREFLO(比例模式)以全系统时钟运行,无需预分频多路复用输入16个通道16个SOC(Star-of-Conversion)配置16个结果寄存器(可单独寻址),用于存储转换值多个触发源 -S/W —软件立即启动 -ePWM 1~ePWM 7 -GPIO XINT2 -CPU定时器0/1/2 -ADCINT1/2。
DSP入门:中断PIE
热门推荐
剑起沧澜的博客
05-18 2万+
1、   DSP中断管理分为3个层次:外设级,PIE级,CPU级。 其中,外设级中断管理负责具体外设中断源的允许与禁止,PIE中断管理负责对外设级中断分组并按照优先级管理,CPU内核级中断管理则负责处理直接向CPU申请的中断请求。    DSP控制器的外设中断扩展模块(PIE),对中断进行集中化扩展,使每一级CPU中断均可以响应...
PIE: 外设中断扩展
booksyhay的专栏
08-15 1280
PIE Peripheral Interrupt Expansion 外设中断扩展
Dsp使用DELAY_US()进入非法中断
最新发布
weixin_42508683的博客
07-26 328
Dsp使用DELAY_US()进入非法中断
TMS320C28x的中断
booksyhay的专栏
09-17 2807
中断架构总览 说明: 总共有16路中断送入CPU。其中INT1~INT12的来源是ePIE,INT13和INT14是TIMER1和TIMER2.另外还有NMI和RTOSINT TIMER0中断TIMER1和TIMER2不同,它不是直接送给CPU,而是先送到ePIE。 外部输入中断:从GPIO口经过Input X-BAR的选择后送给XINT1~XINT5,再送到ePIE 其他外设的中断都是先经过ePIE中断传播路径 说明: 外设中断先到达外设中断标志寄存器中锁存:PIE...
DSP 280049 擦除FLASH时,Fapi_setActiveFlashBank进入中断illegalOperationHandler
m0_72166999的博客
07-30 632
查了好几天,翻看TI官方资料也没什么头绪,后来想到同样的boot程序只是修改了CAN和GPIO的配置就没问题,反复尝试发现把BOOT1脚配置一下就好了?BOOT0/1不是决定启动程序时候接口的吗?擦除FLASH时,用到F021.lib 里面的Fapi_setActiveFlashBank,一执行到这儿就进入中断illegalOperationHandler。现在也没懂是啥情况,只能先记录一下解决办法,有知道的大佬指导一下~在做280049 BootLoader升级时遇到的问题,
tms320f28335教程
01-09
### TMS320F28335 教程知识点总结 #### 一、TMS320F2833x与TMS320F2823x系列DSC概述 TMS320F2833x和TMS320F2823x是德州仪器(TI)生产的高性能数字信号控制器(DSC),专为满足工业应用中的复杂信号处理需求而设计。...
TMS320F2803X中文手册,值得收藏
10-21
12. 拥有可编程中断扩展(PIE)模块,用于灵活处理外设中断。 13. 多达三个32位CPU定时器,用于时间基准和事件计数。 14. 具有片载振荡器和外部时钟输入,支持动态锁相环(PLL)比率变化。 15. 低引脚数封装选项,...
tms320f28035(中文).pdf
09-30
- 拥有可编程中断扩展(PIE)模块,用于处理各种外设中断。 - 具有可编程的ePWM、eCAP、HRCAP、eQEP模块,以及12位模数转换器(ADC)和温度传感器。 3. 内存特性: - TMS320F2803x系列微控制器具备不同的内存...
28335GPIO及外部中断配置介绍
E_ROAD_BY_U的博客
11-08 1万+
弄了两周终于把28335的启动流程、寄存器及中断向量表的映射方法、内存的划分等有了一个全面的了解,今天看到久违的LED灯的闪烁,顿扫阴霾。特在此总结下28335GPIO及外部中断配置介绍。其实对于一个微控制器,只要能够独立实现这两个功能,也算是入门了。 一、GPIO口介绍 外界二进制信息(数字量)要被CPU处理,要给存储器存放,就需要外界信息源与两者之间的交换接口,这样的交换接口若用来
Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}
欢迎莅临o(* ̄▽ ̄*)ブ
09-18 1万+
现如今可以 使用MATLAB中的simulink模块 对DSP TI 28x系列芯片做详细的配置, 即使 使用者在 无代码编写经验仍能直接导出工程 和代码 本文可能适用于 使用Simulink 简化管理代码应用层,配置底层的 DSP工程师 入门电源行业的 应届大学生 无 C 语言基础的 相关领域的工程师
Interrupt Handler
elfylin的专栏
02-14 2660
1. interrupt flow Hardware->Interrupt Controller->Processor 2.Interrupt Handler a. Definition The function that the kernel runs, in response to a specific interrupt. b.Difference between other ke
【计算子系统】CPU中断处理
java_mlx的博客
05-02 1508
中断是一个系统过程,是计算系统中外部设备向CPU(或CPU之间)通知事件发生的一种机制。这种说法也许有些偏底层,可以从上层更直观的角度来理解:想象你正面对你的个人电脑,当你按下一个键盘按键时,你就触发了一个中断,随后屏幕上会出现你期望的字母;或者当你移动鼠标时,你也会触会一个中断,随后光标会随鼠标的移动而移动。
TI DSP的中断
逐日者
12-05 1154
TI DSP的中断
初学DSP(2)-TMS320F280049C代码探究
f的博客
02-08 6191
C2000软件包里面,TI提供了两套例程,其中寄存器编程的例程在C:\ti\c2000\C2000Ware_2_01_00_00\device_support\f28004x,库函数编程的例程在C:\ti\c2000\C2000Ware_2_01_00_00\driverlib\f28004x\examples。 本次实验参考的例程是Led_ex1_blinky 例程是针对ControlCARD开发的,如果想将其应用到LaunchPad上,自然需要更改引脚映射。具体的代码可以在devices.h中找到。
F28004X系列 实验SPI通信程序【记录】
Funny_beast的博客
09-19 1053
F28004X系列 实验SPI通信程序,对自己近期SPI模块通信的学习进行相关记录。
DSP F28系列 外部中断基本结构及启动方法
u013029689的博客
02-24 1467
中断概述 中断定义:由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。 但是中断服务程序独立于主程序,当有一部分资源在中断程序与主程序中均使用到时,应当注意中断服务程序与主程序之间的资源冲突。 中断事件通过一系列的flag and enable registers 传递到CPU。其中,Flag registers 保持中断标志直到该中断被执行,enab...
TMS320F2833x/DSC中断与任务管理教程
图3-5展示了外部和Pie中断源的复用情况,这表明TMS320F28335能够有效地管理和响应多种中断请求。 TMS320F28335家族还包括TMS320F28334和TMS320F28332,以及其对应的TMS320F2823x系列,这些器件具有相似但可能有所...
写文章

热门文章

  • 查看当前系统的glibc版本 84373
  • CMAKE的一些编译选项 29924
  • 禁忌搜索算法简介 23641
  • 出色的html滑动效果库 swiper -例子5 横向自由滑动 可以滑动部分 22182
  • 出色的html滑动效果库 swiper -例子4 超长单栏横向滑动 20034

分类专栏

  • Mujoco 25篇
  • TI 13篇
  • 机器人 16篇
  • lua 3篇
  • can 1篇
  • matlab 3篇
  • ATRIAS 1篇
  • SUNDIAL 27篇
  • 资料收集 8篇
  • 多核 1篇
  • control 2篇
  • XML 4篇
  • STL 1篇
  • 其他 19篇
  • 图形图像 8篇
  • 操作系统 6篇
  • 界面 3篇
  • 算法和数据结构
  • 组件 3篇
  • 编程语言
  • sp
  • C++ 24篇
  • LINUX 11篇
  • C 5篇
  • 逐日之途 10篇
  • web 4篇
  • android 1篇
  • ios
  • kernel
  • mysql 1篇
  • net 3篇
  • eclipse 2篇
  • 蓝颜 10篇
  • js 11篇
  • css
  • html 3篇
  • 心中有石 1篇
  • embedded 5篇
  • 资讯website 5篇
  • cmake 1篇
  • java 1篇
  • php 19篇
  • yii 24篇
  • android

最新评论

  • 流形上的扩展卡尔曼-姿态估计

    天堑小雨润如酥: yaw要用加速计处理下吧

  • 将机器人的urdf文件转为Mujoco模型

    Wlof_grey: 想问一下大佬,报错2怎么解决啊

  • 四元数姿态计算

    buaalyh: 感谢作者分享,这里指出几条个人发现的,存疑的地方:公式(1)矢量部分是否需要加负号?由于四元数与旋转矩阵变换形式常用格式与式(6)不一致,导致式(7-9)存在一些不同;按照参考文献里面的内容,式(11)是不是表示传感器坐标系相对于世界坐标系的姿态变化速率?

  • Mujoco Simulate例子笔记

    guofeng509: 您好,uitools.h和uitools.c两个文件在哪里能找到

  • 使用C++进行SVG开发

    chenjs2019: tinyxml无法处理dtd,所以无法处理标准的svg。可以用msxml,生成的exe文件很小。

大家在看

  • Leetcode 每日一题:Diameter of Binary Tree

最新文章

  • DSP的PWM
  • TI DSP的中断
  • F28069的cpu定时器
2022年87篇
2021年33篇
2014年58篇
2013年66篇
2011年1篇
2009年1篇
2008年70篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家大型玻璃钢佛像雕塑厂家地址广州楼盘玻璃钢雕塑铜仁商场美陈施工上海大型商场创意商业美陈品牌玻璃钢卡通动漫雕塑哪家好上海玻璃钢人物雕塑厂家推广公园玻璃钢景观雕塑河南公园景观玻璃钢雕塑制作宁波玻璃钢牛仔雕塑玻璃钢关公雕塑房地产玻璃钢彩绘雕塑加工吉林玻璃钢仿铜雕塑玻璃钢花盆的种类深圳季节性商场美陈市场报价玻璃钢10米啤酒瓶雕塑进口罗马柱玻璃钢雕塑房地产玻璃钢人物雕塑设计进口北石玻璃钢雕塑湖南欧式玻璃钢雕塑定做价格雕塑玻璃钢火力乌图片莆田玻璃钢人物雕塑价格范围深圳常用玻璃钢花盆西宁玻璃钢卡通雕塑哪家好镇江玻璃钢雕塑生产厂家玻璃钢卡通雕塑图片漳平狗狗玻璃钢雕塑商场开业美陈文案曲阳玻璃钢卡通雕塑厂家山西玻璃钢仿真水果雕塑厂家武汉玻璃钢雕塑定做价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化