Professional Documents
Culture Documents
الهدف:
الهدف من هذا الفصل قب ل أن نبل غ قلب األم ر ه و تق ديم ( FPGAحق ل مص فوفة البواب ة القاب ل للبرمج ة) لكي
نتعرف على هذا النوع من الدوائر وفي النهاية نقدم مساهمتهم في نمذجة المولدات الضوئية ،ثم نقدم في الجزء الث اني من
هذا الفصل وصفا ً لدوائر ،DSpaceوهنداتها ،ومبادئ تشغيلها.
III.1ما هو FPGA؟
( FPGAمصفوفة البوابة القابلة للبرمجة ميدانياً) هي دائرة منطقية تحتوي على مجموعة من البواب ات المنطقي ة
ومقاييس Dوشبكة من أسالك التوصيل .في طريقة تصويرية ج داً ،يمكنن ا أن نق ول إن ه ن وع من «لوح ة االختب ار م ع
الثقوب» التي وضعت على عدد كبير جداً من األبواب األولية (والذهب ،XOR ،ليس) والهزازات د .هذه األب واب غ ير
متصلة ببعضها البعض ،وبالتالي ،ال تؤدي الدائرة الكهربائية بأي وظيفة.
برمجة FPGAتتكون من إنشاء اتصاالت بين أبواب معينة ومعالم هزاز من أجل أداء وظيفة إلكترونية
(العداد ،جهاز فك التشفير ،إلخ) .يتم توزيع األبواب المنطقية والمقاييس Dبطريقة منظمة في مجموعات تسمى
( CLBكتل منطقية قابلة للتكوين) .وبالتالي ،فإن الوظيفة اإللكترونية ،بنBBا ًء على تعقيBBدها ،سBBوف تسBBتخدم عBBدد من
،CLBsو CLBsالتي سيتم توصيل كل منها سلكيًا داخليًا (تعيين) ،ثم يتم توصيلها ببعضها البعض بواسطة أسالك
التوصيل (التوجيه)]31 [ .
يعود مبدأ المنطق القابل للبرمجة إلى أوائل الس تينات ،وق د اق ترح اس ترين ه ذا المفه وم .ولكن لم يتم تق ديم أول
إنجازات مادية في السوق حتى ثمانينيات القرن العشرين.
وق د ظه ر ه ذا الن وع من ال دوائر ألول م رة من خالل دوائ ر منطقي ة بس يطة قابل ة للبرمج ة من الن وع ( PALمنط ق
المص فوفة القابل ة للبرمج ة) ،وال تي تمت برمجته ا ك ذاكرات من الن وع ROMوتس تخدم لتنفي ذ وظ ائف بس يطة قابل ة
للبرمجة مثل أجهزة فك تشفير العناوين أو وحدات التحكم في الناقل.
وم ع التط ورات في مج ال اإللكتروني ات الدقيق ة ،ظه رت ع ائالت مختلف ة من ال دوائر القابل ة للبرمج ة :الجه از القاب ل
للبرمجة المنطقي المعقد ( ،)CPLDثم ( FPGAصفيفات البوابة القابلة للبرمج ة مي دانيًا) ،ال تي ق دمتها ش ركة Xilinx
في عام .1985ومع ظهور دوائر أكثر كفاءة ،وإعادة برمجته ا كم ا ينبغي ،تم تص نيع وتس ويق ه ذا الن وع من ال دوائر
على نطاق واسع .في الوقت الحاضر،
37
الفصل الثالث دوائر FPGA/DSpace
ومن الواضح أن السوق تهيمن عليها شركات مثل زيلينكس ،ألترا (دوائر قابلة إلعادة البرمجة) ،وأكتل (دوائر غير قابلة
إلعادة البرمجة) .وتسوق هذه الشركات حاليا دوائر من نوع ،FPGAوالتي ت وفر حالي ا م ا يع ادل عش رة ماليين ب اب
منطق قابل للبرمجة في ترددات التشغيل تصل إلى 200ميجا هرتز]31[ .
تحت وي دوائ ر FPGAعلى بني ة مص فوفة من ن وعين من الكت ل (أو الخالي ا) .كت ل اإلدخ ال/اإلخ راج القابل ة
للبرمجة والكتل المنطقية .يتم االنتقال من كتل ة منطقي ة إلى أخ رى بواس طة توجي ه قاب ل للبرمج ة .كم ا تتض من بعض
دوائر FPGAذاكرات RAMومضاعفات وحتى تقنديل المعالج]32[]31[ .
الشكل الثالث 1 -الهيكل الداخلي لرابطة محترفي الجولف المحترفين
في ما يلي ،سنصف البنية التي يستخدمها ،Xilinxألنه في دوائر Xilinxسننفذ برنامجنا .إن البنية التي
اختارها Xilinxهي في شكل طبقتين:
طبقة تسمى الدائرة القابلة للتكوين،
طبقة شبكة ذاكرة الوصول للقراءة الثابتة (.)SRAM
ثالثا 1-3-دائرة قابلة للتهيئة
مصفوفة من الكتل المنطقية القابلة للتهيئة ( )CLBألداء وظائف وحدات التركيب والتتابع (الشكل الثالث .)2 -
وفي كل ما يتعلق بهذه الكتل المنطقية القابلة للتكوين ،توجد كتل إدخال/إخ راج ( )IOBتتمث ل دوره ا في إدارة
المدخالت-اإلخراج مما يجعل الواجهة مع الوحدات الخارجية (الشكل الثالث.)1-
38
الفصل الثالث دوائر FPGA/DSpace
اف
ستتألف برمجة دائرة ،FPGAالمعروفة أيضًا باسم ( LCAمصفوفات الخاليا المنطقية) ،من تطبيق جه د ك ٍ
على شبكة ترانزستور تأثير مجال معين يُستخدم لتوصيل عناص ر CLBو ،IOBولتنفي ذ الوظ ائف المطلوب ة ولض مان
نشر اإلشارة .ويتم تخزين هذه اإلمكانات ببساطة في شبكة ذاكرة ( SRAMالشكل الثالث ]32[ .)3 -
الشكل الثالث 3 -حالة شبكة ذاكرة الوصول العشوائي ( )SRAM
برمجة دائرة FPGAمتطايرة ،لذا يتم تخزين تكوين الدائرة على طبق ة ش بكة SRAMويتم تخزينه ا في ذاك رة
ROMخارجي ة .يس مح جه از داخلي لك ل تش غيل بتحمي ل ذاك رة SRAMالداخلي ة (الش كل الث الث )3 -من ذاك رة
.ROMومن ثم فمن السهل تصور الدائرة نفسها التي يمكن تشغيلها على التوالي باستخدام ذاكرة ق راءة فق ط مختلف ة الن
برمجتها الداخلية ليست نهائية أبدا .وهنا نرى كل الفوائد التي يمكن جنيها من هذه المرونة ،وخاصة عندما
39
الفصل الثالث دوائر FPGA/DSpace
مرحلة التطوير .إن الخطأ ليس قاتال ،ولكن من الممكن إصالحه بسهولة.
يتم تطوير التكوين في خطوتين :تتمثل الخطوة األولى من البرنامج المحض في الرسم ثم محاكاة ال دائرة المنتهي ة
بشكل منطقي .في الخطوة الثانية ،سيتم إجراء محاكاة لألجهزة عن طريق تك وين دائ رة حقيقي ة .ومن الممكن بع د ذل ك
التحقق مما إذا كانت العملية الفعلية تتوافق مع توقعات المصمم ،وإذا لزم األم ر تحدي د الح االت الش اذة المرتبط ة بش كل
عام بأوقات النقل الفعلية بشكل مختلف قليالً عن تلك المفترضة أثناء محاكاة البرنامج ،فإن هذا قد يؤدي إلى ح االت غ ير
مستقرة أو حتى خاطئة.
وهي الوحدة األساسية للكتلة المنطقية التي توفر عناصر المنفعة للمنطق القتالي والمنطق المتزامن ،بما في ذلك
عناصر التخزين األساسية :المخازن المؤقتة المكونة من 3حاالت والتي يتم ربطها بكل .CLBتتضمن CLBsأربعة
أجزاء متطابقة تسمى ( Sliceالشريحة) ومخازن التخزين المؤقت ثالثي الحالة ( .)bufferالشكل الثالث . 5 -كل
السيليكا مكافئة وتحتوي على:
عنصران للتخزين. •
أبواب المنطق الحسابي. •
مضاعفة اإلرسال الكبيرة. •
منطق ضبط النفس السريع. •
سلسلة شالل أفقية (باب أو). •
40
الفصل الثالث دوائر FPGA/DSpace
41
الفصل الثالث دوائر FPGA/DSpace
أوالً ،تمر إشارة اإلدخال ع بر مخ زن م ؤقت ،وال ذي يمكن ه اكتش اف ح دود TTLأو CMOSوفقً ا لبرمجت ه.
يمكن توجيهها مباشرة إلى
42
الفصل الثالث دوائر FPGA/DSpace
مدخل مباشر لمنطق FPGAأو مدخل مسور .يتم إجراء هذه المزامنة باستخدام تبديل النوع د ،يمكن تغيير الحال ة على
جبهة صاعدة أو تنازلية .باإلضافة إلى ذلك ،يمكن تأخير هذا اإلدخال بضع نانوثانية لتعويض التأخير الذي تأخذه إش ارة
الساعة عند مرورها عبر مضخم الصوت .يتم اختيار تكوين اإلدخ ال من خالل مض اعفة اإلرس ال (مض اعفة اإلرس ال
الذي يتم التحكم فيه بواسطة البرنامج) .تتحكم وحدة البت الموجودة في صندوق الذاكرة في الثانية]31[ .
ويلخص الشكل الثالث 9 -مختلف خطوات البرمجة في المنظمة .يقوم برنامج ت ركيب أدوات CADفي البداي ة
بإنشاء Netlistالذي يصف توصيل البنية .ثم تق وم أداة توجي ه الموض ع بوض ع كاف ة المكون ات بش كل مث الي وإج راء
التوجيه بين الخاليا المنطقية المختلف ة .تق وم هات ان الخطوت ان بإنش اء مل ف تك وين لتنزيل ه إلى ذاك رة تك وين .FPGA
يسمى هذا الملف بـ .bitstreamيمكن تحميله مباشرة إلى FPGAمن كمبيوتر مضيف]32[ .
43
الفصل الثالث دوائر FPGA/DSpace
الشكل الثالث 9 -خطوات مختلفة في برمجة رابطة محترفي الجولف المحترفين ( )FPGA
لقد أحدثت رابطة محترفي الجولف ( )FPGAثورة في مجاالت معينة من التحكم الرقمي واستخدمت بشكل
متزايد لدمج البنى الرقمية المعقدة .وأصبحت أكثر الدوائر شعبية في مجال إنشاء الدوائر الرقمية وكتابتها بعد ظهورها
في السوق في عام . 1984والمفتاح إلى نجاح هذه البرامج يتلخص في الجانب البرنامجي .وتشمل استخداماتهم الحالية
كال من المجالين المدني والعسكري .وتشمل هذه التطبيقات :الكمبيوتر :األجهزة المتخصصة.
الماكينات الصناعية :التحكم في الماكينات.
االتصاالت السلكية والالسلكية :معالجة الصور ،التصفية.
أجهزة القياس :المعدات الطبية ،تغيير خطوط طوطم.
النقل :السيطرة على الطائرات والمترو.
الفضاء الجوي :السواتل.
الجيش :الرادار أو االتصاالت المحمية أو االكتشاف أو المراقبة .غير ذلك
لغة وصف األجهزة ( VHDL - HSICدائرة متكاملة عالية السرعة للغاية) ،طلبت وزارة ال دفاع األمريكي ة (
)DODوصف الدوائر المعقدة ،من أجل تأسيس لغة مشتركة مع مورديه ا .وهي لغ ة ،معي ار IEEE 1076من ذ ع ام
،1987والتي كان من المفترض أن تضمن إمكانية النقل
44
الفصل الثالث دوائر FPGA/DSpace
كود ألدوات العمل المختلفة (محاكاة ،تركيب لجميع الدوائر والشركات المصنعة).
ولكن من المؤسف أن هذه ليست الحال في الوقت الحالي ،على الرغم من أن العديد من البائعين يميلون إلى
االقتراب من VHDLالتي يستخدمها .Synopsis
وقد تم تحديث لغة VHDLفي عام )IEEE 1164( 1993وفي عام 1996تم توحيد توليف VHDLبمعايير
]34[]33[ .1606.3
يتكون الهيكل النموذجي لوصف VHDLمن جزأين ال ينفصالن هما :الكيان والبنية.
الكيان
ويُنظر إلى الكيان (الكيان) على أنه صندوق أسود يحتوي على مدخالت ومخرجات تتميز بالمعلمات .وهو يمثل طريقة
عرض خارجية للوصف.
المعمار
تحتوي البنية (البنية) على تعليمات VHDLلوصف وتنفيذ العملية المتوقعة .وهو يمثل الهيكل الداخلي للوصف.
وتُسمى الكيانات والبنى بوحدات التصميم األساسية والثانوية.
يقدم زوج الكيان/الهيكل وصفا ً كامالً لعنصر ما؛ ويطلق على هذا الثنائي اسم الطراز.
تحدد هذه العملية اسم وصف VHDLباإلضافة إلى المدخالت والمخرجات المستخدمة ،والتعليمات التي تعرّف هذه
المدخالت هي المنفذ:
45
الفصل الثالث دوائر FPGA/DSpace
ثالثا-----------------------
يستخدم VHDLنمطين للتشغيل :وضع ال تركيب (أو الم تزامن) والوض ع التسلس لي .يتم اس تخدام ك ل وض ع من ه ذه
األوضاع في حاالت معينة]34[]33[ .
Le mode séquentiel utilise les process dans lesquels le temps est une variable
essentielle. Un process est une partie de la description d’un circuit dans laquelle les
instructions sont exécutées séquentiellement, c’est-à-dire les unes à la suite des autres. Il
permet d’effectuer des opérations sur les signaux en utilisant les instructions standard de la
programmation structurée comme dans les systèmes à microprocesseurs. Dans le mode
: séquentiel, on distingue
46
Chapitre III Les circuits FPGA/DSPACE
Le mode séquentiel asynchrone, dans lequel les changements d'état des sorties
peuvent se produire à des instants difficilement prédictibles (retards formés par le
,basculement d'un nombre souvent inconnu de fonctions)
Le mode séquentiel synchrone, dans lequel les changements d'état des sorties se
produisent tous à des instants quasiment connus (un temps de retard après un front actif de
.l'horloge)
Optimisation Simulation
placement et routage temporelle
Circuit
FPGA cible
Figure III.10 Les étapes de développement d’un projet sur circuit FPGA
47
Chapitre III Les circuits FPGA/DSPACE
La saisie du texte VHDL se fait sur le logiciel « ISE Xilinx Project Navigator ». Ce
logiciel propose une palette d’outils permettant d’effectuer toutes les étapes nécessaires au
développement d’un projet sur circuit FPGA. Il possède également des outils permettant de
mettre au point une entrée schématique ou de créer des diagrammes d’état, qui peuvent être
.utilisés comme entrée au lieu du texte VHDL
Cette étape est effectuée en appuyant sur le bouton « check syntax ». Elle permet de
vérifier les erreurs (errors) de syntaxe du texte VHDL et d’afficher les différentes alarmes «
warnings » liées au programme, par exemple des signaux déclarés mais non utilisés dans le
programme. S’il y’a des erreurs dans le programme, il ne peut pas être synthétisé, mais la
présence d’alarmes n’empêche pas de poursuivre normalement les autres étapes du
.développement
Cette étape permet donc de valider la syntaxe du programme et de générer la « netlist », qui
.est un fichier contenant la description de l’application sous forme d’équations logiques
III.8.3 Synthèse
III.8.4 Simulation
48
Chapitre III Les circuits FPGA/DSPACE
49
Chapitre III Les circuits FPGA/DSPACE
fichiers sont créés en terme de code VHDL c'est-à-dire avec des architectures et des entités.
Le code est alors optimisé pour prédéfinir une architecture. Cette architecture choisie, est
.alors vérifiée par une simulation numérique
Lorsque la phase vérification a donné les résultats escomptés, nous pouvons synthétiser le
code VHDL. La synthèse permettra d’avoir une netlist pour le placement/routage. C’est à
partir de cette étape que l’on peut choisir la cible de production (FPGA ou ASIC). [35]
3.5
2.5
Filter #1: Quantized
Filter #1: Reference
2
1.5
50 40 30 20 10 0
Samples
50
Chapitre III Les circuits FPGA/DSPACE
FPGA
D/A
LUT
D/A Ic
PWM
Vin Vc Charge
L’inconvénient major de cette méthode est que le simulateur développé n’est pas
flexible aux changements des conditions de fonctionnement climatique (changement de
température et l’irradiation solaire). les bases de donné enregistré sont des points de
fonctionnement d’un générateur photovoltaïque simuler pour des valeurs de température et
ensoleillement fixé au paravent par l’opérateur donc toute variation en temps de
température ou de gisement solaire par l’utilisateur est n’est pas possible est ce la ne fait pas
objet de notre étude pour cet raison nous avons préféré d’exploité un autre moyen pour
réaliser le simulateur tel que le dSPACE vu sa disponibilité au niveau de labo LAS, et la
possibilité de modélisation des générateur photovoltaïque sous MATLAB
52
Chapitre III Les circuits FPGA/DSPACE
: III.13.2 L’Offre dSPACE : dSPACE propose des systèmes matériels et des logiciels
a) Carte et systèmes
Cette société développe des systèmes mono- carte et des systèmes modulaires, ainsi
.qu’un système de développement embarquable sur véhicule
53
Chapitre III Les circuits FPGA/DSPACE
Les logiciels d’implémentation : Real-Time Interface (RTI) qui est une interface
entre un système développé sous Simulink et la carte dSPACE. Il se charge de toutes les
.taches d’implémentation
DS 1104 est un système mono-carte contenant deux processeurs (maitre, esclave) des
contrôleurs d’interruption, des mémoires, des temporisateur et des interfaces. L’illustration
suivante donne une vue générale de l’architecture du DS1104. [36]
PC
PCI Bus
PWM
PCI Interface
1x 3 phase
-MB SD 32 Intrrupt Controller TMS320 F 4x1 phase
RAM Timers DSP 240
Capture 4
Memory Contoller Inputs
MD flash
Dual Port
memory Power Pc
RAM Serial
Peripheral
Interface
bit I/O Bus -24
Digital I/O
bits 14
AD C DA C Incr.Encoder Digital I/O Serial Interface
Slave DSP I/O
4ch. 16-bit قنوات8 channels 2 bits 20 /RS232/RS485
features
4ch. 12-bit بت16 RS422
DS 1104
Master PPC I/O features
Figure III.11 Vue générale de l’architecture du DS1104
54
Chapitre III Les circuits FPGA/DSPACE
55