信号在点火控制器应用程序的速度问题。

J

john2020

Guest
大家好,我使用英飞凌的C167微控制器与点火控制器应用程序的Keil环境。我在CAPCOM单元捕捉输入信号的正跳变产生的服务中断,设置一个端口(端口2)高。我在写一个函数调用从ISR的代码是几个简单的开关case语句和一些浮点运算。但在输入端和端口设置一个积极的过渡之间所需的时间近700我们。即使算上中断延迟是非常大的,它首先是为我们的点火控制器容忍的极限。有人PL可以解释为什么需要这么长的时间??我检查了时钟速度(20兆赫)和我有7级优化编译器。感谢您的时间约翰
 
如果你可以尝试写(不重新写入)的直线型组装的代码..有些编译器都没有很好尽可能速度..的问候,IanP [报价]令人吃惊的是,人们会花很多钱购买一台机器,比他们自己的一个速度稍快,但他们不会花任何额外的时间,在大会写自己的代码,所以在相同的硬件上运行更快。有许多关于软件的速度与机器的速度肆虐的辩论,但一个事实仍然是:用户总是希望有更多的速度。任何给定的机器上,最快的可能方案将汇编语言编写的。[/QUOTE]
 
我猜你的问题是“一些浮点运算”。当然你用冰,这样就可以使一个跟踪。看看你的跟踪和时间,这是需要“一些浮点计算”;-)。尝试改变你的代码,在整数计算。它的速度更快。戈麦斯
 
您好IanP三江源为您reply.i将尝试assembly.can写的代码,你建议我这是为实时应用的最好的编译器,我不知道有关,无论是它的一些浮点运算,多数民众赞成戈麦斯这里所说的创造的问题任何建议?至于约翰
 
如果你没有ICE调试器,它是可能的,通过使用一个或更多的GPIO简单的调试。复位所有GPIO,当你进入不同的地方在你的ISR例程ISR的设置GPIO和检查由范围的负脉冲宽度。这将会给你明确的执行时间wihtout使用硬件调试器。浮点操作deferently lenghty的,如果没有FPU单元MCU实施。 ISR执行时间,如果你关心,如果有可能推迟浮点计算非ISR模式 - 做这些计算以外的ISR。如果你担心使用了计算精度浮点第一个数字。尝试写你自己的乘法和除法的路线查找表 - 这是快得多(但opccupies内存)。在谷歌搜索查找表与那些(如“乘法”)另一种方法是使用FPUm实施或外部硬件FPU的MCU(如果有这样或另一个MCU实施)。试着找到你的问题的启发式方法。
 
我认为如果在这里发布您的ISR代码会更好。如果你可以测量各点在ISR代码的执行时间由你冰 - 尝试找到什么代码的某些部分确实会影响执行。后者是方案优化的主题。
 
john2020,最可能的戈麦斯是正确的,和你的浮点运算是很长一段时间,以exacute。发现问题,你不必有一个冰,你可以在模拟器上模拟的代码,或由专人跟踪大会通过你的ISR(不好玩)。虽然我会做的第一件事情就是后ISR代码在这里,所以我们可以看看它。比其它尝试转换你的ISR函数定点数学(如果可能),如果延迟是更好/不够好。毛伊岛
 
[报价= john2020]感谢很多宝贵的suggestion.i TI找到一个好的冰now.can,你建议我一个解决我的问题呢?[/QUOTE]对不起,我还以为你使用的冰,因为工作“柯* IL点火控制器应用程序环境”听起来像是对我的专业应用。要检查你的代码的范围,是一个好主意,充分。 [报价= john2020]我会尽量写的代码,在assembly.can你建议我这是最好的编译器实时应用的吗? [/QUOTE]这很难说你的编译器的问题。克* IL编译器是非常优秀的,我敢肯定,数学例程是非常好的优化太多,但浮动例程的钙需要一点时间。希望你用汇编?要在汇编写你自己的浮点例程,并希望这将是更快?算了吧。我敢肯定,这是不是你想要真正。我的经验告诉我,大多是计算可以使整数和一个位情报。是多数民众赞成编程的精神。我不知道C167。也许它的硬件乘法单元,您可以使用它。想想看,但它会更好,在这里发表您的代码,那么我们会更有帮助。戈麦斯
 
您好戈麦斯,我做我的应用程序使用冰,上午Keil环境的工作,点火控制器application.but问题在于,在计算浮点routines.i的意思是问你,我是否可以用我的任何其他ICE,这套房的最佳应用程序?至于约翰
 
不幸的是,我不能说你什么为您的应用程序的最好的冰,因为我dosn't工作与C167。我决定只工作的R8C,M16C和M32C还,(coud ARM的很有趣,但这些内尚未有一些错误),因为这些都不是如此昂贵的支持是我最好(我还从来没有心脏病,我的客户要像外部存储器,因为它的价格昂贵,使得很多EMC问题,你不能肯定得到这个外部存储器,然后年)。反正为“实时应用程序”是很重要的说这些或那些功能需要的确切时间。所以它肯定是一个好主意,买东西有足够的跟踪存储器。我知道这是昂贵的。举例来说,我已经开发了两年前劳特巴赫( http://www.lauterbach.de )的冰块和H8控制器。这些冰成本12.000EUR。一个好的冰成本肯定不会下4000EUR。所以你看它是不是一个东西,你要天天买。我建议将要问Keil公司。从那里家伙肯定知道什么是为您的应用程序的最好的冰之一,他们可以给你最好的支持。也许他们还可以帮助您与您的浮点问题。戈麦斯
 

Welcome to EDABoard.com

Sponsor

Back
Top