الأنظمة القابلة للبرمجة في دارة متكاملة واحدة

PSoC


1- تعريف بالأنظمة PSoC :
أنتجت شركة Cypress الأنظمة القابلة للبرمجة في دارة واحدة “Programmable Systems on Chip” وهي عبارة عن دارات متكاملة تضمّ بداخلها متحكّماً صغرياً بالإضافة إلى بعض الوحدات الوظيفية التماثلية والرقمية “Modules”، حيث يمكن للمستثمر أن يصمّم نظاماً كاملاً باستخدام دارة متكاملة وحيدة، أو أن يصغّر حجم النظام بشكل كبير باستخدام الوحدات الرقميّة والتماثليّة الخاصّة بدارة الـ PSoC .
يمثّل الشكل -1- نظام PSoC من الجيل الأوّل حيث يظهر المتحكم الصغري كما تظهر الوحدات الوظيفيّة الرقميّة والتماثليّة القابلة للبرمجة.




الشكل -1- تمثيل للنظام PSoC1.gif (20.97 KiB) شوهد 13668 مرات


الشكل -2- مقارنة بين المعالجات التقليدية و الأنظمة PSoC


2- بنية النظام PSoC :
يتكون نظام PSoC من ثلاث طبقات وهي من الخارج إلى الداخل كما يلي :
- طبقة البوابات الخارجية والتوصيلات القابلة للبرمجة الخاصة بها.
- طبقة من الكتل الرقميّة والكتل التماثليّة تُستخدم في تشكيل الوحدات الوظيفيّة “Modules” .
- طبقة وحدة التحكّم CPU وملحقاتها .




الشكل -3- الطبقات المختلفة المكوّنة للنظام PSoC



لدى تصميم نظام PSoC يتم التعامل مع هذه الطبقات تباعاً من الخارج إلى الداخل، فبعد اختيار الوحدات الوظيفيّة المناسبة للتطبيق يتم بدايةً ربط البوابات (دخل/خرج) مع كتلة التوصيلات الخاصة بها “Programmable Routing and Interconnect”، من ثمّ يتم توصيل هذه الأخيرة مع الوحدات الوظيفية “Modules”، ليتمّ أخيراً تجهيز البرنامج الذي يتمّ فيه تشغيل الوحدات الوظيفية وإجراء العمليّات الحسابيّة المختلفة، وإعطاء الأوامر اللازمة.
يبيّن الشكل التالي بنية النظام PSoC من الجيل الأوّل أو ما يسمّى PSoC1:




الشكل -4- بنية نظام PSoC1



كما يظهر في المخطط فإنّ الكتل الرقميّة نوعان هما BB “Base Block” و CB “Communication Block”، وهما تتماثلان في البنية إلا أن الكتلة CB تحوي جزءاً خاصّاً بالاتصال عبر UART يظهر الشكل التالي تمثيلاً لكتلة رقمية :



الشكل -5- كتلة رقمية


أمّا الكتل التماثليّة فهي أيضاً نوعان CT “Continuos Time” و SC “Switched Capacitance”، في الكتل SC يتمّ استبدال المقاومة بمكثفة وقواطع تفتح وتغلق بتردّد معيّن لتحقّق ممانعة تكافئ قيمة المقاومة.
وفيما يلي تمثيل لكل من النوعين :




الشكل -6- كتلة تماثلية (a- CT) (b- SC)



3- الوحدات الوظيفيّة الرقميّة والتماثليّة “Modules” في نظام PSoC:
ضمن النظام PSoC1 يمكن استخدام الوحدات الوظيفيّة الرقميّة التالية:
• 8, 16, 24, 32-bit Timer
• 8, 16, 24, 32-bit Counter
• 8, 16-bit PWM
• 8, 16-bit Dead Band Generator
– (2 Phase Underlapped Clock)
• Pseudo Random Source (PRS)
• Cyclic Redundancy Check (CRC) Generator
• I2C Master
• I2C Slave
• SPI Master
• SPI Slave
• Full Duplex UART
• IrDA receiver and transmitter


ويمكن استخدام الوحدات الوظيفيّة التماثليّة التالية:
• A/D Converters
– 8-bit Successive Approximation
– 8-bit 11-bit Delta Sigma
– 12-bit Incremental
– 7-13 bit Variable Incremental
– Dual input 7-13 bit Variable Incremental
– Tri input 7-13 bit Variable Incremental
• D/A Converters
– 6, 8, and 9-bit
– 6 and 8 bit multiplying
• Filters
– 2-pole Low-pass filter
– 2-pole Band-pass filter
• Amplifiers
– Programmable Gain Amplifier
– Instrumentation Amplifier
– Inverting Amplifier
• Programmable Threshold Comparator
• DTMF Dialer


4- أجيال الأنظمة PSoC :
أصدرت شركة Cypress ثلاثة أجيال من الأنظمة PSoC وهي :“PSoC1, PSoC3, PSoC5” تختلف هذه الأجيال عن بعضها البعض بشكل أساسي بنواة وحدة المعالجة، كما تختلف بتردّد العمل والتغذية والوحدات الوظيفيّة المتاحة ، يبيّن الشكل التالي مقارنة بين الأجيال الثلاثة من حيث وحدة المعالجة المركزية وقدرتها الحسابيّة:




الشكل -7- أجيال PSoC



5- برمجة الأنظمة PSoC :
تُبرمج الأنظمة PSoC بواسطة البرنامج PSoC Designer الذي له الواجهة التالية:


الشكل -8-البرنامج PSoC Designer8.gif (28.13 KiB) شوهد 1923 مرات


يبيّن الشكل التالي مثالاً على نظام مصمّم بواسطة هذا البرنامج:





الشكل -9- نظام مصمّم بواسطة PSoC Designer


حيث يتم اختيار الوحدات الوظيفية المناسبة وتوضيعها وتوصيلها، وبعد الانتهاء من ذلك يتم كتابة البرنامج المناسب في ذاكرة الـ flash للمتحكم الصغري كما يلي:



الشكل -10- كتابة برنامج المتحكم الصغري بواسط