সুচিপত্র:

আয়না প্রদর্শন: 8 টি ধাপ
আয়না প্রদর্শন: 8 টি ধাপ

ভিডিও: আয়না প্রদর্শন: 8 টি ধাপ

ভিডিও: আয়না প্রদর্শন: 8 টি ধাপ
ভিডিও: Lesson 8.5: আলোর প্রতিফলন - অবতল আয়নায় প্রতিবিম্ব | Physics | SSC 2024, নভেম্বর
Anonim
আয়না প্রদর্শন
আয়না প্রদর্শন
আয়না প্রদর্শন
আয়না প্রদর্শন
আয়না প্রদর্শন
আয়না প্রদর্শন

এই প্রকল্পের লক্ষ্য হল স্মার্ট মিররের ইমেজ ডিসপ্লে কার্যকারিতা তৈরি করা। আয়না পূর্বাভাস (রোদ, আংশিক রৌদ্রোজ্জ্বল, মেঘলা, বাতাস, বৃষ্টি, বজ্রপাত এবং তুষারপাত) এবং -9999 ° থেকে 9999 temperature পর্যন্ত তাপমাত্রার মান প্রদর্শন করতে সক্ষম। পূর্বাভাস এবং তাপমাত্রার মানগুলি কঠিন কোডেড করা হয় যেন আবহাওয়া API থেকে বিশ্লেষণ করা হয়।

প্রকল্পটি একটি Zynq-Zybo-7000 বোর্ড ব্যবহার করে যা ফ্রিআরটিওএস চালায় এবং হার্ডওয়্যার ডিজাইন এবং প্রোগ্রাম করার জন্য ভিভাদো 2018.2 ব্যবহার করে।

অংশ:

Zynq-Zybo-7000 (FreeRTOS সহ)

19 LCD (640x480)

ভিজিএ কেবল

12 "x 18" এক্রাইলিক আয়না

ধাপ 1: ভিভাদো কনফিগার করা

ভিভাদো কনফিগার করা হচ্ছে
ভিভাদো কনফিগার করা হচ্ছে
ভিভাদো কনফিগার করা হচ্ছে
ভিভাদো কনফিগার করা হচ্ছে

Xilinx থেকে Vivado 2018.2 ডাউনলোড করুন এবং ওয়েবপ্যাক লাইসেন্স ব্যবহার করুন। ভিভাডো চালু করুন এবং "নতুন প্রকল্প তৈরি করুন" এবং এটির একটি নাম দিন। এরপরে "আরটিএল প্রকল্প" নির্বাচন করুন এবং "এই সময়ে উত্স নির্দিষ্ট করবেন না" চেক করুন। একটি অংশ নির্বাচন করার সময়, "xc7z010clg400-1" নির্বাচন করুন এবং পরবর্তী পৃষ্ঠায় "সমাপ্তি" টিপুন।

ধাপ 2: ভিজিএ ড্রাইভার আইপি প্যাকেজিং

ভিজিএ ড্রাইভার আইপি প্যাকেজিং
ভিজিএ ড্রাইভার আইপি প্যাকেজিং
ভিজিএ ড্রাইভার আইপি প্যাকেজিং
ভিজিএ ড্রাইভার আইপি প্যাকেজিং

Vga_driver.sv ফাইলটি ডিজাইন সোর্সে যুক্ত করুন। পরবর্তী, "সরঞ্জাম" ক্লিক করুন এবং "নতুন আইপি তৈরি করুন এবং প্যাকেজ করুন" নির্বাচন করুন। "আপনার বর্তমান প্রকল্পটি প্যাকেজ করুন" নির্বাচন করুন। তারপর একটি আইপি লোকেশন বেছে নিন এবং ".xci ফাইল অন্তর্ভুক্ত করুন।" পপআপে "ওকে" ক্লিক করুন এবং তারপরে "শেষ করুন"।

"প্যাকেজিং স্টেপস" এ "রিভিউ এবং প্যাকেজ" এ যান এবং "প্যাকেজ আইপি" নির্বাচন করুন।

এখন vga_driver আইপি ব্লক হিসেবে পাওয়া উচিত।

ধাপ 3: Zynq আইপি

Zynq আইপি
Zynq আইপি
Zynq আইপি
Zynq আইপি
Zynq আইপি
Zynq আইপি
Zynq আইপি
Zynq আইপি

"আইপি ইন্টিগ্রেটর" বিভাগের অধীনে, "ব্লক ডিজাইন তৈরি করুন" নির্বাচন করুন। "ZYNQ7 প্রসেসিং সিস্টেম" যোগ করুন এবং ব্লকে ডাবল ক্লিক করুন। "XPS সেটিংস আমদানি করুন" এ ক্লিক করুন এবং ZYBO_zynq_def.xml ফাইল আপলোড করুন।

পরবর্তীতে, "PS-PL কনফিগারেশন" এর অধীনে "AXI Non Secure Enablement" এর জন্য ড্রপডাউন খুলুন এবং "M AXI GP0 ইন্টারফেস" চেক করুন।

পরবর্তী, "এমআইও কনফিগারেশন" এর অধীনে "অ্যাপ্লিকেশন প্রসেসর ইউনিট" এর জন্য ড্রপডাউনটি খুলুন এবং "টাইমার 0" এবং "ওয়াচডগ" চেক করুন।

অবশেষে, "ক্লক কনফিগারেশন" এর অধীনে "PL Fabric Clocks" এর জন্য ড্রপডাউন খুলুন এবং "FCLK_CLK0" এবং 100 MHz এ চেক করুন।

ধাপ 4: জিপিআইও আইপি

জিপিআইও আইপি
জিপিআইও আইপি
জিপিআইও আইপি
জিপিআইও আইপি

ব্লক ডিজাইনে দুটি জিপিআইও ব্লক যুক্ত করুন। জিপিআইওগুলি পিক্সেলের ঠিকানা এবং পিক্সেলের আরজিবি উপাদানগুলিকে নিয়ন্ত্রণ করতে ব্যবহৃত হবে। উপরের ছবিতে দেখানো ব্লকগুলি কনফিগার করুন। একবার আপনি উভয় ব্লক যোগ এবং কনফিগার করুন তারপর "সংযোগ অটোমেশন চালান" ক্লিক করুন।

GPIO 0 - চ্যানেল 1 পিক্সেল ঠিকানা নিয়ন্ত্রণ করে এবং চ্যানেল 2 লাল রঙ নিয়ন্ত্রণ করে।

জিপিআইও 1 - চ্যানেল 1 সবুজ রঙ নিয়ন্ত্রণ করে এবং চ্যানেল 2 নীল রঙ নিয়ন্ত্রণ করে।

ধাপ 5: ব্লক মেমরি

ব্লক মেমরি
ব্লক মেমরি
ব্লক মেমরি
ব্লক মেমরি
ব্লক মেমরি
ব্লক মেমরি

ব্লক ডিজাইনে একটি ব্লক মেমরি জেনারেটর আইপি যোগ করুন এবং উপরে দেখানো হিসাবে কনফিগার করুন। পিক্সেল রঙগুলি মেমরির ঠিকানায় লেখা হয় যা পরে ভিজিএ ড্রাইভার পড়ে। ঠিকানা লাইনটি যে পরিমাণ পিক্সেল ব্যবহার করা হচ্ছে তার সাথে মেলাতে হবে তাই এটি 16 বিট হতে হবে। 16 টি রঙের বিট থাকায় তথ্যগুলিও 16 বিট। আমরা কোন স্বীকৃতি বিট পড়ার বিষয়ে চিন্তা করি না।

ধাপ 6: অন্যান্য আইপি

সংযুক্ত পিডিএফ সম্পূর্ণ ব্লক ডিজাইন দেখায়। অনুপস্থিত আইপি যোগ করুন এবং সংযোগগুলি সম্পূর্ণ করুন। এছাড়াও VGA রঙ আউটপুট এবং উল্লম্ব এবং অনুভূমিক সিঙ্ক আউটপুটগুলির জন্য "বাহ্যিক তৈরি করুন"।

xlconcat_0 - ব্লক র into্যামে খাওয়ানো একটি 16 বিট আরজিবি সংকেত গঠনের জন্য পৃথক রংগুলিকে সংযুক্ত করে।

xlconcat_1 - VGA ড্রাইভার থেকে কলাম এবং সারি সংকেতগুলিকে সংযুক্ত করে এবং ব্লক RAM এর পোর্ট B তে খাওয়ানো হয়। এটি ভিজিএ ড্রাইভারকে পিক্সেল রঙের মানগুলি পড়তে দেয়।

ভিডিডি - কনস্ট্যান্ট হাই ব্লক র‍্যামের লেখার সক্ষমতার সাথে সংযুক্ত যাতে আমরা সর্বদা এটির কাছে যেতে পারি।

xlslice_0, 1, 2 - RGB সিগন্যালকে পৃথক R, G এবং B সিগন্যালে ভাঙ্গার জন্য স্লাইস ব্যবহার করা হয় যা VGA ড্রাইভারকে খাওয়ানো যায়।

একবার ব্লক ডিজাইন সম্পূর্ণ হয়ে গেলে, একটি HDL মোড়ক তৈরি করুন এবং সীমাবদ্ধতা ফাইল যোগ করুন।

*ব্লক ডিজাইনটি বেনলিন 1994 এর লেখা টিউটোরিয়ালের উপর ভিত্তি করে তৈরি করা হয়েছে*

ধাপ 7: SDK

এই ব্লক ডিজাইনটি যে কোডটি চালায় তা নীচে অন্তর্ভুক্ত করা হয়েছে। Init.c ফাংশন রয়েছে যা অঙ্কন পরিচালনা করে (পূর্বাভাস, সংখ্যা, ডিগ্রী প্রতীক ইত্যাদি)। Main.c- এর প্রধান লুপ হল যখন বোর্ড প্রোগ্রাম করা হয় তখন দৌড়ে যায়। এই লুপ পূর্বাভাস এবং তাপমাত্রার মান নির্ধারণ করে এবং তারপর init.c এ ড্র ফাংশনগুলিকে কল করে। এটি বর্তমানে সাতটি পূর্বাভাসের মাধ্যমে লুপ করে এবং একের পর এক প্রদর্শন করে। এটা সুপারিশ করা হয় যে আপনি লাইন 239 এ একটি ব্রেক পয়েন্ট যোগ করুন যাতে আপনি প্রতিটি ছবি দেখতে পারেন। কোডটি মন্তব্য করা হয়েছে এবং আপনাকে আরও তথ্য দেবে।

ধাপ 8: উপসংহার

বর্তমান প্রকল্পের উন্নতির জন্য, কেউ ব্লক মেমরি জেনারেটরগুলিতে COE ফাইলের আকারে প্রিলোড পূর্বাভাসের ছবি আপলোড করতে পারে। তাই সি কোডের মতো ম্যানুয়ালি পূর্বাভাস আঁকার পরিবর্তে, ছবিগুলি পড়তে পারে। আমরা এটি করার চেষ্টা করেছি কিন্তু এটি কার্যকর করতে পারিনি। আমরা পিক্সেল মান পড়তে এবং তাদের আউটপুট করতে সক্ষম ছিলাম কিন্তু এটি নোংরা ছবি তৈরি করেছিল যা আমরা RAM- এ আপলোড করার মতো ছিল না। ব্লক মেমরি জেনারেটর ডেটশীট পড়ার জন্য দরকারী।

প্রকল্পটি মূলত অর্ধেক স্মার্ট মিরর কারণ এতে ইন্টারনেট সংযোগের দিকটি অনুপস্থিত। এটি যোগ করা একটি সম্পূর্ণ স্মার্ট মিরর দেবে।

প্রস্তাবিত: