ملامح تشكيل ترددات الساعة في PSoC 5LP



عند تطوير أجهزة مجمع REDD الموضحة في هذه المقالة ، أخذنا في الاعتبار خيارات التنفيذ المختلفة. تم الأخذ في الاعتبار PSoC ، لأنه يوجد نسخة موحدة نسبياً من محول USB-I2C ، وإن كان الأمر الواقع. لسوء الحظ ، للأسباب الموضحة في مقالة حول DMA ، لم يكن من الممكن فعل شيء صعب لهذا المجمع المعين على PSoC ، والبساطة ليست مجدية اقتصاديًا. اتضح أن يكون أرخص لاتخاذ رقائق من FTDI. ولكن بينما كانت تجري تجارب مع PSOC ، تم الكشف عن تفاصيل مثيرة للاهتمام أنه من المنطقي نشرها.

التجربة الأساسية


دعونا نجعل مشروع بسيط. دعونا تكوين توقيت الكتل على النحو التالي:



اختار PLL أدنى تردد ممكن (بيئة التطوير لن تعطي أقل). الحافلة هي مسافة السباق به. يتم ذلك عن قصد. سيتم التحكم في نتائج العمل من خلال الذبذبات ، وفي التعليقات على هذه المقالة أظهرت أنه من الأفضل عدم الاقتراب من الحد العلوي لنطاق المرور ، خاصة إذا كان الذبذبات صيني: سيتم حظر الجبهات بحيث يمكنك ارتكاب خطأ في القياسات. لذلك من الأفضل أن تأخذ ترددًا أقل. الحد الأدنى هو 24 ميغاهيرتز ، ونحن نأخذ ذلك.

مخطط التصميم تافه. مصدران لنبضات الساعة متصلان بأرجل الرقاقة.



تنص الوثيقة AN60631 على أن النظام سوف يقوم بتردد ترددات Clock_1 و Clock_2 من القاعدة ، ويمر عبر الفواصل:



في مشروعنا ، سنرسل دائمًا إشارة بتردد 24 ميجاهرتز إلى المحطة Pin_1 ، ونحاول تطبيق إشارة ذات تردد أقل على Pin_2. في البداية كل شيء يسير بشكل متوقع. عند التردد المطلوب من 23 إلى 18 ميغاهيرتز ، نحصل على ما يساوي 24.



عن طريق تقليل التردد المطلوب إلى 17 ميجاهرتز ، نحصل على 12. يمكن تحقيق كل شيء. الفاصل ليس PLL. يجب أن يكون ثابت القسمة عددًا صحيحًا. فقط تأكد من عدم وجود مفاجآت.



اضبط التردد المطلوب على 12 ميجا هرتز. نقوم بتجميع مشروع (لا يلزم كتابة رمز) وإلقاء نظرة على النتيجة.



الشعاع الأصفر هو التردد الأساسي ، والأزرق منقسم. مرة أخرى لا الصيد. إذن ما هو الغرض من المقال؟ نحن فقط نصل إلى الأكثر إثارة للاهتمام. ما هو عامل التقسيم القادم؟ الثلاثة. التردد القابل للتحقيق التالي هو 24/3 = 8 ميغاهرتز. نغير إعدادات المشروع ، "امض" ، ننظر ...



يرجى الحب والرضا ، على إشارة زرقاء إشارة ساعة مع دورة العمل غير 50 ​​٪ مرئية. هل يتوقع مبرمج بسيط أن يوفر له مصدر الساعة هذا؟ بالكاد. لكنه أصدرها.

القسمة على 4 جميلة بشكل متوقع. نتحقق من القسمة على 5 (التردد المطلوب هو 4.8 ميغاهيرتز):



الاتجاه واضح. تعمل PWM بوضوح كمقسم. كلما ارتفعت نسبة الانقسام الفردي ، كلما كانت دورة العمل أقرب إلى 50٪ ، ولكن بشكل عام ، سيكون هناك بعض التباينات بين فترات النصف الإيجابية والسلبية. إذا كانت الدائرة مسجلة فقط بواسطة جبهات موجبة ، فهذا ليس مخيفًا. ولكن إذا كان المطور قد قام ببعض المكونات الخاصة به ، حيث يتم استخدام الحواف الإيجابية والسلبية لإشارة الساعة ، فإن الفروق الدقيقة ممكنة ، وأحيانًا تكون هناك عيوب فاصلة.

بشكل عام ، يتم وصف هذه الحالة بشكل أو بآخر في TRM في الشكل 14-12 ، لذلك مرة أخرى ، لا أحد يخفي أي شيء:



ولكن هناك شيء ما يخبرني أن قلة من الناس سوف تدرس هذا النمط قبل التقاط الصورة المقابلة على الذبذبات. ولن يلحقها إلا بعد محاولات طويلة لاكتشاف سبب تعطل النظام. لذلك ، أعتقد أنه من الضروري التحذير من هذه الميزة لمكون Clock في PSoC.

معلومات ساعة PSoC إضافية


درجة حرارة الاعتماد على تردد المولد الداخلي


اتضح بطريقة أو بأخرى لفترة وجيزة جدا. دعنا نستكشف قضية أخرى متعلقة بسرعة الساعة. ذات مرة ، كنت أقوم بتنفيذ مشروع واحد على AtMega8. لتقليل تكلفة النظام ، تم أخذ الساعة من مولد داخلي. تم تصحيح المشروع في الحامل ، ولكن بعد ذلك تبين أنه عندما تدخل اللوحة في البيئة المستهدفة ، فإنها لا تعمل إلا بشكل صحيح بعد تشغيل الطاقة. بعد بضع دقائق ، كل شيء مع ارتفاع درجات الحرارة ، يطفو التردد ويبدأ فك تشفير البيانات التسلسلية المستلمة بشكل غير صحيح. وإذا قمت بضبط الملاجئ تحت هذا الوضع - كل شيء يكمن قبل الاحماء. في هذا المشروع ، تم تحديد كل شيء بأمان: كانت البيانات في كود مانشستر ، وكانت مزامنة ذاتية. أنا فقط فعلت التزامن ليس من بداية الحزمة ، ولكن من كل بت. لكن بالنسبة للمستقبل تعلمت أنه عند استخدام المولدات الداخلية في وحدات التحكم ، من الضروري التحقق من ثباتها الحراري. سنتحقق من ذلك باستخدام PSoC ، نظرًا لعدم وجود مرنان كوارتز على السبورة الحالية ، لذلك يتم تسجيل النظام من المذبذب الداخلي الموجود في وحدة التحكم. وحدة التحكم نفسها ، لمهامي ، لم يتم تسخينها بالنسبة لي ، لكن يمكن تسخينها بواسطة مكونات موجودة على نفس اللوحة.
على تردد 24 ميغاهيرتز ، يتم تقريب الجبهات تمامًا ، يمكنك ارتكاب خطأ. دعونا نأخذ في التجارب تردد الحصول عليها f / 5.



بالمناسبة ، هذا ليس 4.8 ، ولكن 4.78 ميغاهيرتز. لا يهم! يمكن معايرة المولد! يقول AN60631 أنه بشكل عام ، يكون السجل 11 بت الموجود في المنافذ IMO_TR0 و IMO_TR1 مسؤولاً عن هذا. تم وصف كيفية حساب القيمة المثلى تلقائيًا باستخدام مولد مرجع خارجي في الوثيقة CE219322. مثال على ذلك مرفق بهذه الوثيقة. لكن على لوحتي لا يوجد مولد منفصل ، لذلك على سبيل المثال ، كان من الأسهل بالنسبة لي تحديد القيمة بشكل تجريبي ، مع التركيز على قراءات الذبذبات. إضافة الكود التالي إلى الوظيفة الرئيسية () (خطوة الزيادة هي 0x20 ، حيث لا يتم استخدام البتات الأقل 5):

volatile uint16_t* ptr = (uint16_t*) CYREG_IMO_TR0; ptr[0] += 20 * 0x20; 

لقد حققت نتيجة جيدة:



نحن نمسك بالألواح على الشرفة ، حيث يصل اليوم إلى الصفر. تطفأ التردد قليلاً ، لكن من الصعب قياسه على الذبذبات الموجودة. مرئيًا بالعين (عند تقاطع المؤشر الأيسر مع الحزمة الصفراء).



الآن نقوم بتسخين اللوحة على البطارية. أيضا على الاختلافات الجهاز غير مرئية.



حتى في PSoC المولد هو بالحرارة جدا. لا ينبغي أن نتوقع منه الخروج عنيفة من التردد الذي يبدأ به نظام العمل في ارتكاب أخطاء كبيرة.

اعتماد تردد المولد الداخلي على امدادات التيار الكهربائي


لقد كتبت هذا المقال بالفعل وقرأته لقراءة تقريبية ، حيث ظهر عامل آخر مثير للاهتمام يتعلق بترددات الساعة. في مشروع واحد ، ذهب قياس التردد مع خطأ حوالي 2 ٪ ، وهو أمر ضروري لهذه المهمة. علاوة على ذلك ، تم تنفيذ المنطق المطبق في UDB بشكل صحيح. لم تكن هناك أخطاء في المنطق. السيطرة على كل شيء مع الذبذبات ، لاحظت أن التردد المرجعي يكذب في تلك 2 ٪ فقط.

لكن لماذا؟ لا يزال كان رائعا! عندها تذكرت مشروع المادة. الاعتماد ليس فقط على درجة الحرارة ، ولكن أيضا على امدادات التيار الكهربائي. وفي مرحلة ما قمت بخفضها من 5 إلى 3.3 فولت. معايرة تردد المولد ، ذهب الخطأ.

ولكن بعد ذلك كانت هناك رغبة في العثور على التبعيات في الوثائق. اتضح أنهم جميعا مدرجون في ورقة البيانات لشريحة معينة. هنا هو اعتماد درجة حرارة خطأ المولد



جدول أعمالي أزرق. بشكل عام ، كل شيء يتوافق مع النتائج العملية. وهنا هو اعتماد الجهد:



هنا ، الجدول الزمني المطلوب هو أحمر إلى حد ما. من الواضح أنه لا يسحب بنسبة اثنين بالمائة ، لكن الزيادة الخطية في الخطأ واضحة.

استنتاج


عند استخدام مكون Clock القياسي في PSoC Creator ، يجب أن تكون مستعدًا لحقيقة أن دورة العمل للنبضات لن تكون 50٪. هذا مهم إذا كان المشروع لا يستخدم فقط الجبهات ، ولكن أيضًا يشير إلى الشرائح. لمكافحة هذا التأثير ، يجب تقسيم التردد الأساسي حتى على المعاملات.

بالنسبة للتطبيقات الحساسة لأخطاء التردد ، يوصى باستخدام الساعة الداخلية (IMO) فقط مع جهد تزويد ثابت ، ولكل منتج محدد بعد التجميع ، يوصى بمعايرة التردد. إذا كانت الطاقة غير المستقرة للبطارية متوقعة ، فمن الأفضل استخدام مرنان كوارتز خارجي.

Source: https://habr.com/ru/post/ar443554/


All Articles