مقدمة إلى معمارية متحكم LPC2148 المستند إلى ARM7

جرب أداة القضاء على المشاكل





أطلقت ARM (Advanced RISC Machine) العديد من المعالجات التي لها ميزات مختلفة بالإضافة إلى النوى المختلفة لمجموعة متنوعة من التطبيقات. يحتوي أول تصميم معماري لـ ARM على معالجات 26 بت ، لكنه وصل الآن إلى معالجات 64 بت. لا يمكن تصنيف التوسع العام لمنتجات ARM في بعض المعلومات المعينة. لكن يمكن فهم منتجات ARM بناءً على بنيتها. تبدأ معالجات سلسلة ARM القياسية المتوفرة في السوق من ARM7 إلى ARM11. تحتوي هذه المعالجات على العديد من الميزات مثل ذاكرة التخزين المؤقت ، وذاكرة البيانات المقترنة بإحكام ، و MPU ، و MMU ، وما إلى ذلك. هذه المقالة مخصصة بشكل خاص لنظرة عامة على بنية وحدة التحكم الدقيقة LPC2148 القائمة على ARM7 والتي ستمنحك معلومات موجزة حول متحكم هندسة معمارية.

ARM7 على أساس LPC2148 معمارية متحكم

ARM7 هو 32 بت للأغراض العامة معالج دقيق ، ويقدم بعض الميزات مثل قلة استهلاك الطاقة والأداء العالي. تعتمد بنية ARM على مبادئ RISC . آلية فك التشفير المرتبطة ، بالإضافة إلى مجموعة تعليمات RISC سهلة للغاية عندما نقارن بها CISC المبرمجة الدقيقة - كمبيوتر مجموعة التعليمات المعقدة.




يتم استخدام طريقة خط الأنابيب لمعالجة جميع الكتل في العمارة. بشكل عام ، يتم تنفيذ مجموعة تعليمات واحدة ، ثم تتم ترجمة التابع لها ، و 3بحث وتطوير- يتم الحصول على تعليمات من الذاكرة.

حصري المخطط المعماري ARM7 يُطلق عليه الإبهام ، وهو مناسب تمامًا للتطبيقات ذات الحجم الكبير حيث يكون ضغط الكود أمرًا مهمًا ، كما يستخدم ARM7 بنية حصرية وهي الإبهام. يجعله مناسبًا تمامًا للتطبيقات المختلفة من خلال قيود الذاكرة حيث تكون كثافة الشفرة أمرًا مهمًا.



معمارية متحكم دقيق ARM7 (LPC2148)

معمارية متحكم دقيق ARM7 (LPC2148)

مصادر المقاطعة

يتكون كل جهاز طرفي من خط مقاطعة واحد متحالف مع VIC (جهاز تحكم المقاطعة المتجه) ، على الرغم من أنه يمكن أن يحتوي على أعلام مقاطعة مختلفة بالداخل. يمكن أن تشير إشارات المقاطعة الفردية أيضًا إلى واحد أو أكثر من موارد المقاطعة.


ذاكرة برنامج فلاش على الرقاقة

تشتمل وحدة التحكم الدقيقة LPC2141 / 42/44/46/48 على ذاكرة فلاش مثل 32 كيلو بايت ، و 128 كيلو بايت ، و 128 كيلو بايت ، و 256 كيلو بايت على التوالي. يمكن استخدام ذاكرة الفلاش هذه لتخزين البيانات بالإضافة إلى التعليمات البرمجية. يمكن عمل برمجة ذاكرة الفلاش في النظام من خلال المنفذ التسلسلي.

قد يتم مسح تطبيق البرنامج أيضًا أثناء تشغيل تطبيق البرنامج ، مما يسمح بمرونة تحسينات البرامج الثابتة في مجال تخزين البيانات ، وما إلى ذلك. / 44/46/48 32 كيلو بايت ، 128 كيلو بايت ، 256 كيلو بايت ، 500 كيلو بايت. توفر ذاكرة الفلاش الخاصة بهذه المتحكمات الدقيقة 1 ، 00000 مسح لكل دورة وحفظ البيانات لسنوات عديدة.

دبوس ربط بلوك

تسمح هذه الكتلة بدبابيس مختارة من متحكم LPC2148 القائم على ARM7 لوجود عدة وظائف. معددات الإرسال يمكن التحكم فيه من خلال سجلات التكوين للسماح بالوصلة بين الدبوس والأجهزة الطرفية الموجودة على الشريحة.

يجب أن تقترن الأجهزة الطرفية بالدبابيس المناسبة قبل تشغيلها ، وقبل السماح بأي مقاطعات متصلة. يمكن تحديد وظيفة وحدة التحكم الدقيقة بواسطة وحدة التحكم في الدبوس من خلال تحديدها للسجلات في بيئة أجهزة معينة.

بعد إعادة ترتيب جميع دبابيس المنافذ (المنفذ 0 والمنفذ 1) يتم ترتيبها كـ i / p حسب الاستثناءات المقدمة. إذا تم السماح بالتصحيح

إذا تم السماح بالتصحيح ، فإن دبابيس JTAG ستخمن وظائف JTAG. إذا تم السماح بالتتبع ، فسوف تخمن دبابيس التتبع وظيفة التتبع. المسامير المتصلة بمسامير I2C0 و I2C1 مفتوحة التصريف.

GPIO- إدخال / إخراج متوازي للأغراض العامة

تتحكم سجلات GPIO في أطراف توصيل الجهاز غير المرتبطة بوظيفة طرفية معينة. يمكن ترتيب دبابيس الجهاز كـ i / p [s أو o / ps. تسمح السجلات الفردية بمسح أي عدد من o / p بشكل متزامن. يمكن قراءة قيمة تسجيل الإخراج ، والحالة الحالية لدبابيس المنفذ. تبدأ وحدات التحكم الدقيقة هذه وظيفة متسارعة على أجهزة LPC200.

يتم نقل سجلات الإدخال / الإخراج للأغراض العامة إلى ناقل المعالج المستخدم لأفضل وقت إدخال / إخراج محتمل.

  • هذه السجلات قابلة للعنونة بايت.
  • يمكن أن تكون القيمة الإجمالية للميناء
  • يمكن كتابة القيمة الكاملة للميناء في التعليمات الوحيدة

10 بت ADC (محول تناظري إلى رقمي)

تشتمل وحدات التحكم الدقيقة مثل LPC2141 أو 42 على اثنين محولات ADC ، وهذه ليست سوى 10 بتات لها واحدة و LPC2144 / 46/48 لها اثنين من ADC ، وهذه ليست سوى 10 بتات تقريبية مباشرة ADC. على الرغم من أن ADC0 يتضمن 6 قنوات وأن ADC1 يحتوي على 8 قنوات. وبالتالي ، فإن عدد ADC i / ps الذي يمكن الوصول إليه لـ LPC2141 أو 42 هو 6 و 14 لـ LPC2141 أو 42.

10 بت DAC (محول رقمي إلى تناظري)

تسمح DAC لهذه المتحكمات الدقيقة بإنتاج تناظرية قابلة للتغيير o / p و V.المرجعهو أقصى إخراج لملف رقمي إلى تناظري الجهد االكهربى.

جهاز تحكم - USB 2.0

يتكون الناقل التسلسلي العالمي من 4 أسلاك ، وهذا يوفر الدعم للاتصال بين عدد من الأجهزة الطرفية والمضيفين. تسمح وحدة التحكم هذه بعرض النطاق الترددي لـ USB لتوصيل الأجهزة باستخدام بروتوكول يعتمد على الرمز المميز.

يدعم الناقل فصل التوصيل الساخن والتجميع الديناميكي للأجهزة. يتم بدء كل اتصال من خلال جهاز تحكم المضيف. تم تصميم وحدات التحكم الدقيقة هذه بوحدة تحكم جهاز ناقل تسلسلي عالمي تسمح باستبدال بيانات 12 ميجابت / ثانية بوحدة تحكم مضيفة لـ USB.

UARTs

تشتمل وحدات التحكم الدقيقة هذه على وحدتي UART للإرسال القياسي والحصول على خطوط البيانات. على النقيض من المتحكمات الدقيقة السابقة (LPC2000) ، فإن UARTs في المتحكمات الدقيقة LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 تبدأ مولد معدل الباود الجزئي المستخدم لكل من UARTs ، مما يسمح لهذه الأنواع من المتحكمات الدقيقة لتحقيق معدلات باود نموذجية مثل 115200 لكل تردد بلوري فوق 2 ميجاهرتز . بالإضافة إلى ذلك ، يتم تنفيذ وظائف التحكم مثل CTS / RTS بالكامل في الأجهزة.

تحكم I / O التسلسلي لناقل I2C

يتضمن كل متحكم من LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 اثنان I2C متحكمات الحافلات ، وهذا ثنائي الاتجاه. يمكن إجراء التحكم بين الدوائر المتكاملة بمساعدة سلكين هما SCL و SDA. هنا SDA & SCL هما خط الساعة التسلسلي وخط البيانات التسلسلي

يتم تحديد كل جهاز من خلال عنوان فردي. هنا ، يمكن أن تعمل أجهزة الإرسال والاستقبال في وضعين مثل الوضع الرئيسي / الوضع التابع. هذه حافلة متعددة المستويات ، ويمكن إدارتها بواسطة واحد أو أكثر من سادة الحافلات المرتبطين بها. تدعم وحدات التحكم الدقيقة هذه معدلات بت تصل إلى 400 كيلوبت / ثانية.

SPI Serial Input / Output Controller

تشتمل وحدات التحكم الدقيقة هذه على وحدة تحكم SPI واحدة وتهدف إلى التعامل مع العديد من الأساتذة والعبيد المرتبطين بحافلة محددة.

ببساطة يمكن للسيد والعبد التحدث عبر الواجهة طوال عملية نقل البيانات المحددة. أثناء ذلك ، ينقل السيد باستمرار بايت من البيانات نحو العبد ، وكذلك ينقل العبد البيانات باستمرار نحو السيد.

SSP Serial Input / Output Controller

تحتوي هذه المتحكمات الدقيقة على SSP واحد ، ووحدة التحكم هذه قادرة على المعالجة على SPI أو ناقل Microwire أو SSI رباعي الأسلاك. يمكنه التواصل مع الحافلة الخاصة بالعديد من الأسياد وكذلك العبيد

ولكن ، ببساطة ، يمكن لسيد معين ، وكذلك تابع ، التحدث في الحافلة خلال عملية نقل بيانات محددة. يدعم هذا المتحكم الدقيق عمليات النقل ثنائية الاتجاه ، من خلال إطارات بيانات 4-16 بت المستخدمة لتدفق البيانات من السيد - العبد وكذلك من العبد - السيد.

مؤقتات / عدادات

الموقتات والعدادات تم تصميمها لحساب دورات PCLK (الساعة الطرفية) واختيارياً إنتاج المقاطعات بناءً على سجلات 4 مباريات.

وهو يتألف من أربعة التقاط i / ps للقبض على قيمة الموقت عندما تتغير إشارات i / p. يمكن اختيار عدة دبابيس لتنفيذ التقاط معين. يمكن لهذه المتحكمات الدقيقة حساب الأحداث الخارجية على مدخلات الالتقاط إذا كان أقل نبضة خارجية مكافئة. في هذا الترتيب ، يمكن اختيار خطوط الالتقاط الخامل كالتقاط المؤقت المعتاد i / ps.

مؤقت جهاز المراقبة

يُستخدم مؤقت المراقبة لإعادة ضبط المتحكم الدقيق في فترة زمنية معقولة. عندما يُسمح بذلك ، سينتج الموقت إعادة تعيين النظام إذا لم ينجح برنامج المستهلك في إعادة تحميل المؤقت في فترة زمنية محددة.

ساعة الوقت الحقيقي RTC

الغرض من RTC هو توفير عدادات لحساب الوقت عند اختيار طريقة التشغيل الخاملة أو العادية. يستخدم RTC مقدارًا صغيرًا من الطاقة ومصممًا للترتيبات المناسبة التي تعتمد على طاقة البطارية حيث لا تعمل وحدة المعالجة المركزية باستمرار

التحكم في الطاقة

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

في وضع خفض الطاقة ، يتم إلغاء تنشيط المذبذب ولا يحصل IC على ساعات داخلية. يتم الاحتفاظ بالسجلات الطرفية ، وحالة المعالج مع السجلات ، وقيم SRAM الداخلية أثناء وضع خفض الطاقة وتظل دبابيس إخراج مستويات منطق الشريحة ثابتة.

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

مغير عرض النبض PWM

تعتمد PWM على كتلة المؤقت العادية وتأتي أيضًا في جميع الميزات ، على الرغم من أن وظيفة معدل عرض النبضة مثبتة على المتحكمات الدقيقة مثل LPC2141 / 42/44/46/48.

الغرض من المؤقت هو حساب دورات PCLK (الساعة الطرفية) وإنتاج المقاطعات اختياريًا عندما تظهر قيم مؤقت معينة بناءً على سجلات ذات 7 مباريات ، وتعتمد وظيفة PWM أيضًا على أحداث تسجيل المطابقة.

تسمح القدرة على التحكم الفردي في زيادة وتناقص المواضع الحدودية باستخدام تعديل عرض النبضة في العديد من التطبيقات. على سبيل المثال ، يستخدم التحكم النموذجي في المحرك متعدد الأطوار 3 مخرجات غير متداخلة من PWM عن طريق التحكم المنفصل في كل عرض للنبضة وكذلك المواضع.

حافلة VPB

يعمل مقسم VPB على حل الارتباط بين CCLK (ساعة المعالج) و PCLK (الساعة المستخدمة بواسطة الأجهزة الطرفية). يستخدم هذا الحاجز لغرضين. أول استخدام هو توفير الأجهزة الطرفية بواسطة PCLK المفضل باستخدام ناقل VPB حتى يتمكنوا من العمل بالسرعة المحددة لمعالج ARM. من أجل تحقيق ذلك ، يمكن تقليل سرعة الناقل هذه من معدل ساعة المعالج من 1⁄ 2 -1⁄ 4.

لأن هذا الناقل يجب أن يعمل بدقة عند التشغيل ، والحالة الافتراضية في RST (إعادة التعيين) هي أن تعمل الحافلة عند 1/4 من معدل ساعة المعالج. الاستخدام الثاني لهذا هو السماح بتوفير الطاقة عندما لا يحتاج التطبيق إلى أي أجهزة طرفية للعمل بمعدل المعالج الكامل. نظرًا لأن VPB-divider مرتبط بإخراج PLL ، يظل هذا نشطًا خلال وضع الخمول.

مضاهاة وتصحيح

المتحكم الدقيق (LPC2141 / 42/44/46/48) يحمل مضاهاة وتصحيح الأخطاء من خلال المنفذ التسلسلي- JTAG. تصريح منفذ تتبع يتتبع تنفيذ البرنامج. تتعدد وظائف التتبع ومفاهيم التصحيح باستخدام المنفذ 1 و GPIOs.

كود الأمن

تسمح ميزة أمان الكود لهذه المتحكمات الدقيقة LPC2141 / 42/44/46/48 بوظيفة للتحكم في إمكانية حمايتها أو تصحيح أخطائها من الفحص.

وبالتالي ، فإن هذا كله يتعلق ببنية متحكم LPC2148 القائمة على ARM7. أخيرًا ، من المقالة أعلاه ، يمكننا أن نستنتج أن ARM هي بنية مستخدمة في العديد من المعالجات بالإضافة إلى وحدات التحكم الدقيقة. إليك سؤال لك ، ما هي بنية معالج ARM؟