a*****8 发帖数: 261 | 1 硬件中断的方式一般有两种:level-triggered and edge-triggered。
请问他们之间有什么区别?
google 了一下,还是不明白。好像是level 不会miss中断请求,等等。
又懂得的朋友给说说。。 |
i*****t 发帖数: 24265 | 2 level就是电平0 1来决定中断
edge就是上升沿或下降沿来决定中断 |
t*****3 发帖数: 81 | 3 edge中断,就是信号的跳变作为触发源。 level则维持一个电平的时候都会触发中断,
除非mask掉。 |
a*****8 发帖数: 261 | 4 谢谢。
那么在什么情况下使用level or edge 中断呢?各有什么优缺点? |
i*****t 发帖数: 24265 | 5 举个例子,你做bus,拉住绳子表示下车或特殊服务request,假设拉住绳子期间会有
1khz或2khz信号声音提醒司机,信号频率表示不同request type
1 你要下车,可是司机在听音乐且request灯坏掉,司机不一定听得到,那么你肯定会
拉住绳子直到司机回应才松手,这时候别的有特殊要求的乘客的按钮request就不起作
用了,因为共享一个音频发生器资源,先来的播放先来的信号频率
2 无需一直拉绳,因为司机100%能听到,就会停,而且其他乘客不同频率的request都
不会错过,当然司机没听到就不行了,这时候一般用信号灯锁定信号,然后司机检查信
号灯,类似于检查中端寄存器的bit
【在 a*****8 的大作中提到】 : 谢谢。 : 那么在什么情况下使用level or edge 中断呢?各有什么优缺点?
|
a*****8 发帖数: 261 | 6 这么说,就是edge 比level 好了。那么为什么要level呢?
【在 i*****t 的大作中提到】 : 举个例子,你做bus,拉住绳子表示下车或特殊服务request,假设拉住绳子期间会有 : 1khz或2khz信号声音提醒司机,信号频率表示不同request type : 1 你要下车,可是司机在听音乐且request灯坏掉,司机不一定听得到,那么你肯定会 : 拉住绳子直到司机回应才松手,这时候别的有特殊要求的乘客的按钮request就不起作 : 用了,因为共享一个音频发生器资源,先来的播放先来的信号频率 : 2 无需一直拉绳,因为司机100%能听到,就会停,而且其他乘客不同频率的request都 : 不会错过,当然司机没听到就不行了,这时候一般用信号灯锁定信号,然后司机检查信 : 号灯,类似于检查中端寄存器的bit
|
i*****t 发帖数: 24265 | 7 如果噪声很大,edge会如何呢?例如bus里面有很多小孩乱故意乱拉stop request,难
道每一站都停?这时候司机需要回头验证到底是否真有人需要下车。
【在 a*****8 的大作中提到】 : 这么说,就是edge 比level 好了。那么为什么要level呢?
|
z*****n 发帖数: 7639 | 8 有时候你的edge会被其他的中断mask掉。
【在 a*****8 的大作中提到】 : 这么说,就是edge 比level 好了。那么为什么要level呢?
|
z*****n 发帖数: 7639 | 9 这个一般都用降噪硬件搞定吧
【在 i*****t 的大作中提到】 : 如果噪声很大,edge会如何呢?例如bus里面有很多小孩乱故意乱拉stop request,难 : 道每一站都停?这时候司机需要回头验证到底是否真有人需要下车。
|
h******e 发帖数: 908 | 10 使用SCHIMITT TRIGGER,这个就是处理这种边沿噪声很大的情况。
电压可调,老少皆宜。
【在 i*****t 的大作中提到】 : 如果噪声很大,edge会如何呢?例如bus里面有很多小孩乱故意乱拉stop request,难 : 道每一站都停?这时候司机需要回头验证到底是否真有人需要下车。
|