8180|5

552

帖子

1236

TA的资源

纯净的硅(中级)

楼主
 

Hercules 之 高端定时器(N2HET) 了解入门学习 [复制链接]

        N2HET 模块是一个具有输入/输出功能的可编程定时器。
N2HET 被执行为一个带有指令集(专门用于定时
操作)
的简单RISC 处理器。复杂输入可被捕捉并由N2HET
行预处理,随后由CPU 处理。输出生成通
常为脉宽调
(PWM),但是也可以为简单通用输入/输出(GIO) 类型信号。

基本结构图

性能特点
可编程定时协处理器
占用极小的CPU开销实现高级和复杂的定时器功能
带奇偶校验功能的128word 指令内存空间
专门的DMA功能模块(HTU) 在无需CPU干预的
情况下 实现数据从NHET到RAM的转移
条件语句
的执行语句根据引脚状态与比较值决定
32输入输出通道可实现复杂或常用的定时器功能
例如 捕获 比较输出  PWM  GPIO功能 等
内部集成 抑制滤波器可消除输入干扰
信号
多路25bit虚拟计数器可实现定时器,事件计数器 以及角度计数器

NHET 的代码运行是通过专门的微型机械定时器来执行的
如下图
通用高端定时器 应用
  PWM
  单或者多通道PWM
同步或者异步占空比更新的PWM
异步周期更新的PWM
PWM 移相功能
带死区功能的 同步、异步PWM 这个是大家比较要常用到的
基本功能
频率调制输出
事件计数器
脉宽计数
脉宽累加器
时间戳
多分辨率选择
频率或者脉宽检测
单通道脉宽与周期测量
正交解码
特殊功能
模拟SPI
信号发生器

下面的 图示就比较明白了

最新回复

flag0是怎么赋值的呢? 使用edge相关的接口之前一定要先调用hetInit();这个动作应该有吧? Edge0引脚上的信号是否正常?如果你是想对内部的PWM进行计数的话,那么PWM的pin的状态要设置成输出才行。 Edge的中断不用打开,Edge功能是用ECNT指令实现的,设置好要检测的边沿后(在hetInit中)就立即开始生效了。 你再检查检查? [ 本帖最后由 renton 于 2013-1-11 09:24 编辑 ]  详情 回复 发表于 2013-1-11 09:17
 
点赞 关注(1)

回复
举报

40

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
N2HET作为事件计数器 有案例吗?

点评

有DEMO 程序 官方的  详情 回复 发表于 2012-12-27 08:50
 
 

回复

552

帖子

1236

TA的资源

纯净的硅(中级)

板凳
 

回复 沙发 ml0943 的帖子

有DEMO 程序  官方的
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(高级)

4
 
也可以用HALCoGen生成,配的时候在HET的页面里面配Edge功能即可,可以选上升沿、下降沿或都有效。
初始化完成后,直接调用edgeGetCounter(hetRAMBASE_t * hetRAM, uint32_t edge)这个接口,这个接口的返回值就是当前的事件计数值,如:

count = edgeGetCounter(hetRAM1, edge0);

点评

这个是不是还要设置 edge interrupt ? 我使用的是rti定时器100ms,在rti中断函数中 count0= edgeGetCounter(hetRAM1,edge0);在main函数中。 while(1) { if(count0!=0) { edgeResetCounter(  详情 回复 发表于 2013-1-10 21:48
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 renton 的帖子

这个是不是还要设置 edge interrupt  ?
我使用的是rti定时器100ms,在rti中断函数中 count0= edgeGetCounter(hetRAM1,edge0);在main函数中。       
        while(1)
        {
                if(count0!=0)
                {
                       edgeResetCounter(hetRAM1,edge0);                                                
                                      if(flag0==0)
                        {
                                LED3_ON();
                        }
                              else
                        {
                                LED3_OFF();
                        }
                      flag0 = 1 - flag0;
                      count0=0;
                  }
                  }
程序编译通过,,没有错误,但是烧录到板子后,LED灯都没有闪亮。

[ 本帖最后由 ml0943 于 2013-1-10 21:51 编辑 ]
 
 
 

回复

40

帖子

0

TA的资源

一粒金砂(高级)

6
 
flag0是怎么赋值的呢?
使用edge相关的接口之前一定要先调用hetInit();这个动作应该有吧?

Edge0引脚上的信号是否正常?如果你是想对内部的PWM进行计数的话,那么PWM的pin的状态要设置成输出才行。

Edge的中断不用打开,Edge功能是用ECNT指令实现的,设置好要检测的边沿后(在hetInit中)就立即开始生效了。

你再检查检查?

[ 本帖最后由 renton 于 2013-1-11 09:24 编辑 ]
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 11

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表