你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 9048|回复: 6

请教一个有关STM32中断处理和执行效率的问题

[复制链接]

3

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-31
发表于 2010-5-19 13:42:18 | 显示全部楼层 |阅读模式
        我采用的处理器为STM32F103VC,在对PCM语音的2.048M时钟进行IO采样时感觉很吃力呀。
        例如:我用PB0做上升沿外部中断,一旦触发中断,就将PB1的IO线拉低。进中断后,不做任何操作,直接将PB1的IO拉低了,对于PB1的数据输出寄存器的操作不使用官方带的库函数(库函数确实有些低效),而直接通过位带区来访问PB1数据输出寄存器的BIT1位(减少了位操作的时间)。并且代码采用了编译器的最高级优化。但是,从示波器看,从上升沿触发中断,到PB1的IO拉低,中间过了500ns,感觉时间还是好长啊,请问有没高手能解答这个是否正常?是我哪里出问题了么?如果正常,那么处理器中间做了什么花费了这么多的时间?
        在上面的基础上,我在触发中断和拉低电平之间加入了一句读取RAM中数据的操作,加入该操作后,能看到PB1的IO拉低的时间推迟了大概200ns以上。请问这个是否正常呢?看汇编,其中第一句语句是到PC位置后面的某处获取该RAM中变量的地址,然后将该RAM读取到寄存器中,也就2个指令,应该不用花费这么久的时间,非常疑惑。望高手解答。感谢之至!
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2010-5-19 14:15:54 | 显示全部楼层

RE:请教一个有关STM32中断处理和执行效率的问题

首先确认几个方面:
1、主频是多少?如果是72MHZ,那么执行一条指令的理论时间为14ns;
2、确认开启程序前面初始化IO口的频率是多少。
回复 支持 反对

使用道具 举报

61

主题

75

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-5-19 14:22:59 | 显示全部楼层

回复:请教一个有关STM32中断处理和执行效率的问题

中断的响应时间                             
回复 支持 反对

使用道具 举报

3

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-31
 楼主| 发表于 2010-5-19 15:06:34 | 显示全部楼层

RE:请教一个有关STM32中断处理和执行效率的问题

我主频是72MHZ,GPIO的初始化频率都是设置为50MHZ的。
我看了资料,里面说STM32的中断响应时间为12个指令周期,感觉500ns好像有点长呀。
回复 支持 反对

使用道具 举报

1

主题

39

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-5-19 17:17:50 | 显示全部楼层

RE:请教一个有关STM32中断处理和执行效率的问题

你的这种处理方法有问题,对2.048M时钟通过中断进行IO采样基本是不现实的,即使能够实现,软件上也没有时间做其它事情了。
请考虑使用其它方法吧,比如使用SPI。
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2010-5-19 17:32:43 | 显示全部楼层

RE:请教一个有关STM32中断处理和执行效率的问题

按楼上所说,也就是相当于2Mhz,中断的理论时间为:500ns,也就符合了你的测试时间。建议使用楼上的建议。
回复 支持 反对

使用道具 举报

3

主题

6

回帖

0

蝴蝶豆

新手上路

最后登录
2018-5-31
 楼主| 发表于 2010-5-19 19:42:50 | 显示全部楼层

回复:请教一个有关STM32中断处理和执行效率的问题

        楼上您理解错了,2M是我用IO去采样的时钟,这个时钟不是用来触发我程序的外部中断的,外部中断是由另外一个线上的同步信号触发的(8K HZ),我的任务是触发同步信号后去根据这个2M的时钟去采样PCM语音的数据,采样16bit。
        正如楼上的楼上所说,用这种方式去采样的时候无法做别的事情了,不过目前我采用这样的方式正好能够实现PCM的录音,但是PCM放音却一直无法实现,我尝试下使用SPI的方式。
        谢谢各位的指点!谢谢!^^
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版