वास्तविक समय app समस्या

J

john2020

Guest
हाय सब,

मैं Keil पर्यावरण के साथ Infineon C167 Microcontroller एक प्रज्वलन नियंत्रक आवेदन के लिए उपयोग कर रहा हूँ.मैं CapCom इकाई में इनपुट संकेत के सकारात्मक परिवर्तन को पकड़ने और उत्पादन, सेवा के लिए एक बंदरगाह (2 बंदरगाह) उच्च सेट अंतरायन.कोड जो मैं ISR से एक समारोह फोन में लिखा है कुछ सरल स्विच मामले बयान और कुछ चल बिन्दु परिकलन है.पर निवेश में सकारात्मक परिवर्तन हो रहा है और बंदरगाह की स्थापना के बीच लगने वाले समय हमें करीब 700 है.विलंबता यह बहुत बड़ी बाधा है के लिए भी लेखांकन और यह हमारे प्रज्वलन नियंत्रक के लिए सहनशीलता की सीमा से ऊपर है.किसी को समझाने क्यों इतने लंबे समय लगता pl सकते हैं?मैं घड़ी की गति (मेगाहर्टज 20) की जाँच की और मैं 7 के स्तर तक संकलक अनुकूलित है.

आपके समय के लिए धन्यवाद
जॉन

 
यदि आप लिखने की कोशिश कर सकते पुनः (लिख नहीं) सीधे विधानसभा में .. कोड
कुछ compilers के रूप में अभी तक बहुत अच्छा नहीं कर रहे हैं के रूप में गति का संबंध है ..
सादर,
IanP
उद्धरण:

यह आश्चर्यजनक है कि लोगों के पास बहुत पैसा खर्च करने के लिए एक मशीन एक वे खुद के मुकाबले ज्यादा तेजी से थोड़ा खरीदेंगे है, लेकिन वे किसी भी अतिरिक्त समय खर्च नहीं विधानसभा में अपने कोड लिखने तो यह एक ही हार्डवेयर पर तेजी से रन जाएगा.
कई सॉफ्टवेयर की गति बनाम मशीन की गति के बारे में उग्र बहस कर रहे हैं, लेकिन एक तथ्य है: उपयोगकर्ताओं को हमेशा और अधिक गति चाहता हूँ.
किसी भी मशीन पर, सबसे तेजी से संभव कार्यक्रम विधानसभा भाषा में लिखा जाएगा.
 
मैं तुम्हारी समस्या लगता है कुछ चल बिन्दु परिकलन है "".
निश्चित रूप से क्या तुम एक बर्फ के साथ काम कर सकते हैं ताकि आप एक निशान.देखो तुम्हारी का पता लगाने और समय, जो आपके "कुछ चल बिन्दु परिकलन के लिए की जरूरत है"

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="पलक" border="0" />

.

पूर्णांक के लिए गणना में आपके कोड बदलने की कोशिश करो.यह तेज है.

गोमेज़

 
हाय IanP

अपने reply.i के लिए thankyou कोड में assembly.can तुम मुझे सुझाव है जो वास्तविक समय आवेदन के लिए सबसे अच्छा संकलक है जिसके बारे में मैं निश्चित नहीं हूँ?, चाहे उसके कुछ चल बिन्दु परिकलन समस्याएं पैदा thats यहाँ के रूप में गोमेज़ here.any उल्लेख किया है लिखने का प्रयास करेंगे सुझाव?

सादर
जॉन

 
अगर तुम न बर्फ डिबगर इसे एक या अधिक 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 के लिए बहुत कुछ है ती एक अच्छा बर्फ now.can तुम मुझे एक सुझाव है कि अपनी समस्या को हल मिला?
 
हाय गोमेज़

के लिए अपने आवेदन मैं एक बर्फ का प्रयोग करते हैं, और प्रज्वलन नियंत्रक application.but समस्या के लिए Keil पर्यावरण पर काम कर रहा हूँ चल बिन्दु routines.i गणना में निहित है मतलब आप से पूछना, कि क्या मैं किसी अन्य बर्फ जो मेरे आवेदन के लिए सबसे अच्छा SUITES इस्तेमाल कर सकते हैं?

सादर
जॉन

 
दुर्भाग्य से मैं यह नहीं कह सकते आपके क्या बर्फ आपके आवेदन के लिए सबसे अच्छा है, क्योंकि C167 के साथ मैं dosn't काम करते हैं.एआरएम (मैं R8C, M16C और M32C के साथ ही अभी तक काम करने का फैसला किया है, coud रोचक है, लेकिन इन कीड़ों के भीतर कुछ है मेरे लिए अभी तक) और महंगी नहीं है क्योंकि इन का समर्थन कर रहे हैं तो बेहतर है (मैं भी कभी नहीं किया है दिल, कि मेरे ग्राहकों के बाह्य स्मृति की तरह चाहते हैं, क्योंकि यह महंगा है, यह EMC समस्याओं का एक बहुत बनाता है और आप तो बाह्य स्मृति में इस साल अभी तक प्राप्त नहीं यकीन है कि हो सकता है).
वैसे भी 'के लिए वास्तविक समय app "यह जो समय ठीक कहना जरूरी है या इन लोगों के लिए कार्य की जरूरत है.तो यह निश्चित रूप से एक अच्छा विचार है करने के लिए पर्याप्त स्मृति का पता लगाने के साथ कुछ खरीदते हैं.मुझे पता है कि महंगा है.उदाहरण के लिए मैं दो साल पहले के लिए Lauterbach से (http://www.lauterbach.de) और एक H8 नियंत्रक एक बर्फ के साथ विकसित किया है.ये बर्फ की लागत 12.000EUR है.
निश्चित रूप से नहीं 4000EUR के तहत एक अच्छा बर्फ लागत.तो तुम देखना यह बात नहीं है, क्या तुम हर दिन खरीदना चाहता हूँ.
मेरा Keil पूछना होगा सलाह.वहाँ से लोगों को निश्चित रूप से पता है कि बर्फ आपके आवेदन के लिए और जो के साथ एक वे तुम्हारे लिए सबसे अच्छा समर्थन दे सकते हैं अच्छा है.शायद वे भी अपने अपने चल बिन्दु समस्याओं से मदद कर सकता है.

गोमेज़

 

Welcome to EDABoard.com

Sponsor

Back
Top