कितनी तेजी से आंदोलन (चक्र / एस) मैं पीएसओसी 4 क्वाड्रेट डिकोडर के साथ मज़बूती से पढ़ सकता हूं?


7

PSOC4 एक चतुष्कोणीय डिकोडर कार्यक्षमता प्रदान करता है, लेकिन मैं डेटशीट में इसके प्रदर्शन पर बारीकियों को खोजने में असमर्थ था। निश्चित रूप से मुझे पता है कि मुझे इसके काउंटर ओवरफ्लो के 16 बिट्स तक गिनती को पढ़ने और उपयोग करने की आवश्यकता है, लेकिन यह मेरे कार्यक्रम के मुख्य लूप के कुछ 32k प्रति चलना है। यदि एक सटीक एनकोडर एक तेज मोटर से जुड़ा है, जो बहुत कम समय में बहुत सारे और बहुत सारे दालों का उत्पादन करता है, और मुझे चिंता है कि डिकोडर मॉड्यूल को बनाए रखने में सक्षम नहीं होगा।

तो, क्या किसी को पता है कि डिकोडर ब्लॉक का अधिकतम प्रदर्शन क्या है - इसके इनपुट का न्यूनतम समय?

जवाबों:


6

चतुष्कोण विकोडक

को देखते हुए PSoC 4 TCPWM डेटापत्रक काउंटर ब्लॉक की अधिकतम ऑपरेटिंग आवृत्ति 21ns के एक काउंटर संकल्प के साथ, 48MHz है।

यह मानते हुए कि आपके पास क्रान्ति के 10,000 काउंट के साथ उच्च रिज़ॉल्यूशन वृद्धिशील रोटरी एनकोडर है , और रोटर को 15,000 आरपीएम पर स्पिन करें, यह 2,500,000 काउंट प्रति सेकंड (2.5MHz) है, आराम से 48MHz अधिकतम से कम है। नमूनाकरण दर।

अफसोस की बात है, यह स्पष्ट नहीं है कि PSoC 4 TCPWM को 10x नमूनाकरण की आवश्यकता होती है क्योंकि साइमन जेनकींस के उत्तर में PSoC QuadDec का उल्लेख किया गया है । मुझे संदेह नहीं है, क्योंकि डेटाशीट में समय आरेखों पर घड़ी के संकेतों को शामिल नहीं किया गया है। इसका मतलब यह है कि PSoC 4 TCPWM किनारे चालित (काउंटर घड़ी द्वारा सीमित) है, जबकि PSoC QuadDec प्रत्येक घड़ी किनारे पर स्तर से संचालित होता है और इस प्रकार घड़ी आवृत्ति पर नमूने द्वारा सीमित होता है।

यहां तक कि अगर PSoC 4 TCPWM नमूने से अधिक की आवश्यकता होती है, तो अधिकतम 2.5MHz नाड़ी ट्रेन अभी भी दोनों के लिए 10x से कम 48MHz पर है PSoC 4 TCPWM और के लिए 28MHz PSoC QuadDec

यदि आपको केवल 6000 RPM पर 2000 PPR की जरूरत है (जैसा कि आपकी टिप्पणी में सुझाव दिया गया है), तो आपको केवल 200 KHz (2000 * 6000/60) का समर्थन करने की आवश्यकता है, इसलिए 2MHz की घड़ी पर्याप्त होनी चाहिए।

बाधा से निपटने

एक और चिंता यह है कि क्या सीपीयू इस उत्पन्न हो सकने वाले व्यवधानों का सामना कर पाएगा।

यदि हम मानते हैं कि आप डिकोडर ब्लॉक की सीमा पर क्वाडरेचर को सही तरीके से चला रहे हैं, यानी 48MHz एक 16bit काउंटर के साथ आपको प्रति सेकंड 1465 ओवरफ्लो बाधित हो रहा है, तो जब तक आप अपने रुकावट को सेवा नहीं दे सकते (जिसमें किसी भी संदर्भ में स्विच करना आवश्यक है) 682 माइक्रो सेकंड से, तो आप संघर्ष करने जा रहे हैं।

सौभाग्य से, ऐसा लगता है कि Cortex-M0 प्रोसेसर में बहुत ही कुशल ISR हैंडलिंग है (देखें एक शुरुआती गाइड ऑन इंटरप्ट लेटेंसी - और ARM® Cortex®-M प्रोसेसर का इंटरप्ट लेटेंसी ) ताकि जब तक आपका ISR बहुत अक्षम न हो जाए, यह सक्षम होना चाहिए इसे संभालने के लिए।

संकल्प

संयोग से, ऐसा लगता है कि आपको X4 मोड का उपयोग करने की आवश्यकता होगी यदि आप व्यक्तिगत द्विघात अवस्था परिवर्तन को गिनना चाहते हैं। यदि आप X1 का उपयोग करते हैं तो आपको केवल पूरे चतुष्कोणीय चक्र (4 राज्य) दिखाई देते हैं, जबकि यदि आप X2 का उपयोग करते हैं तो आप केवल आधे राज्यों को देखते हैं।


मैं सहमत हूं, ऐसा लगता है कि यह मेरे द्वारा प्राप्त डेटा शीट से अलग है, इसलिए इसका नमूना नहीं लिया गया है इसलिए इसमें 10x नमूना आवश्यकता नहीं है। जैसा कि आप कहते हैं कि समय आरेखों पर कोई घड़ी नहीं है, वे सिर्फ यह दिखाते हैं कि कौन सा किनारा काउंटर को ट्रिगर करता है। इसके अलावा डी-ग्लिचिंग (जो इनपुट्स के नमूने पर आधारित था) मौजूद नहीं है।

इंटरप्ट हैंडलिंग काफी कुशल हो सकती है; इसकी सभी जरूरतों को 32-बिट या 64-बिट वेरिएबल में (संकेत के साथ) जोड़कर गिनती को उतारना है। तो, एक 32 या 64 बिट जोड़, एक लिखना (शून्य), और व्यवधान समाप्त हो सकता है।
एसएफ।

5

यह पीएसओसी क्वाडट्रेट डिकोडर घटक के लिए कुछ प्रलेखन में उल्लिखित नहीं है, लेकिन अन्य संस्करणों में (जैसे यहां ) यह बताता है कि:

घड़ी इनपुट आवृत्ति अधिकतम ए या बी इनपुट आवृत्ति 10x से अधिक या उसके बराबर होनी चाहिए।

यह देखते हुए कि AFAICT आप मल्टी-मेगाहर्ट्ज आवृत्तियों पर डिकोडर को क्लॉक कर सकते हैं, मुझे लगता है कि यह संभवतः अधिकांश प्लाज़ो मोटर्स के साथ रख सकता है।

संपादित करें: ऐसा लगता है कि जिस घटक के लिए मुझे डेटा मिला, वह ऐसा नहीं था, जिसके बारे में कोई सवाल नहीं था, जबकि यह उत्तर किसी दिन किसी के लिए उपयोगी हो सकता है, यह शायद उच्चतम मत होना चाहिए और न ही यहां स्वीकार किया जाना चाहिए।


6000RPM पर 2000 पीपीआर पहले से ही सिग्नल का 12KHz है, इसलिए इसे संभालने के लिए घड़ी 120KHz होनी चाहिए। फिर भी, मेरा मानना ​​है कि 1MHz भी उपलब्ध था।
एसएफ।

हाय @SF। यदि वह आपके सिस्टम युक्ति का हिस्सा है, तो आपके प्रश्न को संपादित करना अच्छा होगा। मुझे इस जानकारी के बिना अपना उत्तर लिखते समय कल रात बहुत अधिक धारणाएँ बनानी पड़ीं ।
मार्क बूथ

@MarkBooth: यह उत्तर को बहुत विशिष्ट बना देगा। मैं बहुत पसंद करता हूं कि एक डेटा के बजाय शीर्ष रेटिंग देता है "आप सहिष्णुता के भीतर / बाहर हैं"। सिस्टम को बिना किसी बड़े नुकसान के चश्मे के अंदर फिट करने के लिए गला घोंटा जा सकता है।
एसएफ।

स्टैक एक्सचेंज पर आम तौर पर अधिक विशिष्ट प्रश्न पूछना बेहतर होता है और फिर उनमें से अधिक सामान्यीकृत उत्तरों को बाहर निकालने की अनुमति होती है। इसी तरह हम डुप्लिकेट को संभालते हैं। हम एक प्रश्न को एक डुप्लिकेट के रूप में बंद नहीं करते हैं जब प्रश्न किसी अन्य प्रश्न का दोहराव करता है जब एक प्रश्न पहले से ही दूसरे प्रश्न द्वारा उत्तर दिया गया हो।
मार्क बूथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.