完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
设计的双机热备冗余结构设备,那切换时间该如何确定呢?
如果主机 ESM信号产生,在200ms定时器中断中检测到,并切换到备机。 那如何确定呢,指令周期都是us 级的, 比如执行sci()函数、can中断接收函数()等的时间大概是多少? |
|
相关推荐
10个回答
|
|
Hi ml0943,
由于不知道你设计的这个双机热备冗余系统是适用于什么样的安全标准。按照功能性安全系统的设计标准,是要求安全系统要在检测到故障发生后,在能接受的相应时间内,触发你的后备安全机制。这个可接受的时间范围一般都是安全标准定义,或是你们的终端客户要求的。 如果你要求的是,如何确定芯片内部运行的时间,这个一般有几种办法,第一种也是最常用的一种就是去设置定时器或是看门狗,这样比较容易实现定时响应机制。如果你对时间要求的更为严格,需要知道中断响应所需的时间或是指令周期的话,你可以通过我们的PMU模块去测试在中断函数里面从发出中断信号到响应中断并完成终端操作这整个过程运行了多少时钟周期,这是可以测得到的。 你可以在sci()或是can接收函数的调用开始前使能PMU模块,然后在函数接收停止该模块,然后相减得到函数运行的周期。当然如果你要求严格的话,还需要加上启动和停止PMU的补偿时间。这样会更为准确一些。 希望这些对你有所帮助。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-6-21 10:10 你好,论坛帖子 对PMU进行了简单描述,但是我在halcodegenor中并没有找到pmu模块,请问有没有这个模块的相关例程,学习哈,谢谢 http://www.deyisupport.com/question_answer/microcontrollers/hercules/f/70/p/51671/116344.aspx#116344 |
|
|
|
heks 发表于 2018-6-21 10:20 Hi ml0943, Ok, 没有问题。附件里面就是我上传的关于使用PMU模块测试函数运行周期的一个工程。 在这个工程的源代码里面,主要有两个操作,第一个是使能PMU,然后需要你添加你的测试程序到我上面指定的位置。 第二个操作就是单独使能和关闭PMU来测量启动这个功能的补偿值。 你可以参考我的例子,做做测试,如果有什么问题。我们再交流。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-6-21 10:40 你好,这个pmu的测试程序时在main函数中的,但是 我是在canmessagenotification()函数中接收数据,在rtinotification()函数中进行数据运算处理的。 |
|
|
|
lining870815844 发表于 2018-6-21 10:40 还有个问题是:我看手册中也有 watchdog,PMU单元在测试代码运行时间方面 比WATCHDOG有什么优势吗? |
|
|
|
heks 发表于 2018-6-21 10:52 Hi ml0943, 我们这个PMU的程序你可以放到任何的函数中,你只要把它的你要测试的程序的具体语句的两端。换句话就是,在被测函数真正执行之前使能PMU,然后再函数运行完以后,在结束PMU,然后读出它测试到的cycle数值。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-6-21 11:05 我只需要在rtinotification()函数中 ,测试定时器中断函数中的代码运算时间就行? PMU比watchdog有什么优势呢?看手册 也有watchdog |
|
|
|
Hi ml0943, 至于你说道的watchdog,你要使用这个功能模块是测试代码运行时间的话,相当于也是用一个定时器去计时,然后得到它的在这段时间内跑了多少cycyle。 其实这两种方法都是可以用的,本身方面来说差别也不大。但是有一个问题就是,如果你需要连续测试程序运行时间的话,如果用定时器的话,它需要使能,然后停止,然后再复位。操作起来会比PMU琐碎一点。 如果最简单的话,你还是可以采用翻转I/O口电平的方法,然后通过示波器去读取具体的数值。 谢谢 ken BR, KEN |
|
|
|
lining870815844 发表于 2018-6-21 11:05 这个运行得到的时间单位是?我计算定时器中断函数的执行时间, 观察变量time_PMU_code是2.27272734 E-1 这是? 2.27272734秒=227.272734毫秒? |
|
|
|
heks 发表于 2018-6-21 11:46 Hi Ml0943, 运行PMU程序,得到的cycles_PMU_code是测试得到的运行cycle 数, time_PMU_code是具体的运行时间,它的单位是us。 谢谢 ken BR, KEN |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
533 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
777 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
653 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1132 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
63浏览 29评论
159浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
253浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
202浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 20:42 , Processed in 1.528458 second(s), Total 95, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号