请教STC8H1K系列外部中断响应速度
各位大佬们好!我想了解一下STC8H1K系列单片机的外部中断的响应速度。具体地说,就是假设外设向INT0引脚发出一个脉冲,从这一瞬间开始计算,到单片机开始执行INT0的中断服务函数的第一条指令为止,一共需要经历多少个时钟周期。
不考虑中断嵌套,即INT0中断的优先级为最高。
我目前遇到的实际问题是采集一个外设总线上的数据。根据外设手册的描述,如下图所示,我将外设的地址总线和数据总线直接挂在STC的GPIO口,外设的CLK接到INT0引脚。
我是希望通过INT0检测到CLK的上升沿后触发中断,然后在中断服务中直接读GPIO获取到数据,并且进行后续处理。
由于CLK频率相当高(1MHz),所以留给我的时间十分紧张。尤其是我并不知晓STC的外部中断的响应速度到底有多快,所以特意过来咨询一下诸位大佬,关于外部中断响应速度方面是否有确切的数据。
希望大佬们能够给予我一些指点和建议!谢谢!
我都忘了,
但按普通8051的来理解,当前指令执行完,去响应/LCALL ?的时间 ?
真忘了,下班时间也不想去问同事,望理解,基本《 6个时钟? 这么快 ? 我都不信了
内部认真仿真后写了如下文章
http://www.stcmcudata.com/STC8F-DATASHEET/STC8H.pdf
现在的STC8系列 MCU 是多级流水线的8位现代8051,如下
STC89C52RC/STC89C58RD+系列是传统的8051,如下
感谢大佬指点!
不过中断和普通的函数调用不一样吧?毕竟中断还有触发信号采样、优先级裁决、标志位置位复位等等一系列硬件工作,它绝不可能只是一个LCALL指令的时间。 我做过测试,6---8个时钟。
测试方法:pwm输出100Khz接P32,INT0中断函数对P54取反。用逻辑分析仪和示波器抓这几个信号。 取反也需要时间,指令执行完,实际/O外部由于分布电容的原因还不一定立即就测试到反了
====基本《 6个时钟? 这么快 ? 我都不信了
目测这3条指令需要的时钟数偏多
基本《 6个时钟? 这么快 ? 我都不信了
我都忘了,
但按普通8051的来理解,当前指令执行完,去响应/LCALL ?的时间 ?
真忘了,下班时间也不想去问同事,望理解,基本《 6个时钟? 这么快 ? 我都不信了
STC8系列,按最长的时间大约分析,只考虑操作步骤,实际PC的运行可能有点出入,但差别不大。响应中断是硬件全自动执行的。
1、1T。中断采样是一个时钟,也就是说,上升沿或下降沿出现后,最多一个时钟就能设置中断标志。
2、1~6T。MCU准备响应中断,等待当前执行的指令完成,指令长度是1~6T。
3、2T。然后MCU响应中断,将PC指针入栈,执行2条入栈指令,2T。
4、1T。装载中断服务地址到DPTR,1T。
5、3T。执行长跳转指令LJMP,进入中断服务入口,3T。
上述指令需要8~13个时钟,对于24MHz,就是0.33~0.54us。
由于STC8系列绝大部分指令都是单周期,少数PC转向指令是3周期,2个指令4周期,1个指令6周期,所以响应中断时大概率是8周期。
退出中断服务:
1、2T。将断点地址出栈给PC指针,执行2条出栈指令,2T。
4、3T。中断返回指令RETI。
用户可以看看STC8系列的汇编命令周期数,大部分指令基本就是1T的,真的是天花板了。 如果是如下算起:
(1)采样感测 INT0,2个时钟,要判断高低变化
(2)中断承诺 INT ACK, 0个时钟
(3)去INT vector 取资料(通常放的內容是call), 3个时钟
(4)执行LCALL, 3个时钟
(5)第7个时钟, 是ISR第一个命令被执行
STACK的处理,包含在(3)中
至少7个时钟
如果是如下算起:
(1)已判断到中断条件发生,不算这2个时钟
(2)中断承诺 INT ACK, 0个时钟
(3)去INT vector 取资料(通常放的內容是call), 3个时钟
(4)执行LCALL, 3个时钟
(5)第5个时钟, 是ISR第一个命令被执行
STACK的处理,包含在(3)中
至少5个时钟至少5个时钟
如上内部研发答复,大家只要加上我提的,当前指令执行完这个跑不掉的槛
内部认真仿真后写了如下文章
http://www.stcmcudata.com/STC8F-DATASHEET/STC8H.pdf
现在的STC8系列 MCU 是多级流水线的8位现代8051,如下
https://www.stcaimcu.com/data/attachment/forum/202310/15/180126v7iwf5whiihiihym.jpg
STC89C52RC/STC89C58RD+系列是传统的8051,如下
https://www.stcaimcu.com/data/attachment/forum/202310/15/180001n2azyyayevnnn51p.jpg
页:
[1]