Სარჩევი:

სარკის ჩვენება: 8 ნაბიჯი
სარკის ჩვენება: 8 ნაბიჯი

ვიდეო: სარკის ჩვენება: 8 ნაბიჯი

ვიდეო: სარკის ჩვენება: 8 ნაბიჯი
ვიდეო: რა ხდება კანონიერი ქურდების საკნებში 2024, ივლისი
Anonim
სარკის ჩვენება
სარკის ჩვენება
სარკის ჩვენება
სარკის ჩვენება
სარკის ჩვენება
სარკის ჩვენება

ამ პროექტის მიზანია შექმნას Smart Mirror გამოსახულების ჩვენების ფუნქცია. სარკეს შეუძლია აჩვენოს პროგნოზები (მზიანი, ნაწილობრივ მზიანი, მოღრუბლული, ქარიანი, წვიმა, ჭექა -ქუხილი და თოვლი) და ტემპერატურის მნიშვნელობები -9999 ° -დან 9999 ° –მდე. პროგნოზისა და ტემპერატურის მნიშვნელობები მკაცრად არის კოდირებული, თითქოს მათ მივბაძოთ ამინდის API- დან.

პროექტი იყენებს Zynq-Zybo-7000 დაფას, რომელსაც აქვს FreeRTOS და იყენებს Vivado 2018.2 აპარატურის დიზაინსა და პროგრამირებას.

ნაწილები:

Zynq-Zybo-7000 (FreeRTOS– ით)

19 LCD (640x480)

VGA კაბელი

12 "x 18" აკრილის სარკე

ნაბიჯი 1: Vivado– ს კონფიგურაცია

Vivado– ს კონფიგურაცია
Vivado– ს კონფიგურაცია
Vivado– ს კონფიგურაცია
Vivado– ს კონფიგურაცია

ჩამოტვირთეთ Vivado 2018.2 Xilinx– დან და გამოიყენეთ ვებ პაკეტის ლიცენზია. გაუშვით Vivado და "შექმენით ახალი პროექტი" და მიეცით სახელი. შემდეგი აირჩიეთ "RTL პროექტი" და შეამოწმეთ "არ მიუთითოთ წყაროები ამ დროს." ნაწილის არჩევისას აირჩიეთ "xc7z010clg400-1" და დააჭირეთ ღილაკს "დასრულება" მომდევნო გვერდზე.

ნაბიჯი 2: VGA დრაივერის IP შეფუთვა

VGA დრაივერის IP შეფუთვა
VGA დრაივერის IP შეფუთვა
VGA დრაივერის IP შეფუთვა
VGA დრაივერის IP შეფუთვა

დაამატეთ vga_driver.sv ფაილი დიზაინის წყაროებში. შემდეგი, დააწკაპუნეთ "ინსტრუმენტები" და აირჩიეთ "შექმენით და შეფუთეთ ახალი IP". აირჩიეთ "შეფუთეთ თქვენი მიმდინარე პროექტი". შემდეგ შეარჩიეთ IP ადგილმდებარეობა და "ჩართეთ.xci ფაილები". დააწკაპუნეთ "OK" ფანჯარაში და შემდეგ "დასრულება".

"შეფუთვის ნაბიჯებზე" გადადით "მიმოხილვა და პაკეტი" და აირჩიეთ "პაკეტის IP".

ახლა vga_driver ხელმისაწვდომი უნდა იყოს როგორც IP ბლოკი.

ნაბიჯი 3: Zynq IP

Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP
Zynq IP

"IP ინტეგრატორის" განყოფილებაში აირჩიეთ "ბლოკის დიზაინის შექმნა". დაამატეთ "ZYNQ7 დამუშავების სისტემა" და ორჯერ დააწკაპუნეთ ბლოკზე. დააჭირეთ ღილაკს "იმპორტი XPS პარამეტრები" და ატვირთეთ ZYBO_zynq_def.xml ფაილი.

შემდეგი, "PS-PL კონფიგურაციის" განყოფილებაში გახსენით ჩამოსაშლელი სია "AXI Non Secure Enablement" და შეამოწმეთ "M AXI GP0 ინტერფეისი."

შემდეგი, "MIO კონფიგურაციის" განყოფილებაში გახსენით ჩამოსაშლელი სია "განაცხადის პროცესორის ერთეულისთვის" და შეამოწმეთ "ტაიმერი 0" და "Watchdog".

დაბოლოს, "საათის კონფიგურაციის" ქვეშ გახსენით ჩამოსაშლელი სია "PL Fabric Clocks" და შეამოწმეთ "FCLK_CLK0" და 100 MHz.

ნაბიჯი 4: GPIO IP

GPIO IP
GPIO IP
GPIO IP
GPIO IP

დაამატეთ ორი GPIO ბლოკი ბლოკის დიზაინში. GPIO გამოიყენება პიქსელის მისამართისა და პიქსელების RGB კომპონენტების გასაკონტროლებლად. დააკონფიგურირეთ ბლოკები, როგორც ეს მოცემულია ზემოთ მოცემულ სურათებში. მას შემდეგ რაც დაამატებთ და დააკონფიგურირებთ ორივე ბლოკს, შემდეგ დააჭირეთ ღილაკს "გაუშვით კავშირის ავტომატიზაცია".

GPIO 0 - არხი 1 აკონტროლებს პიქსელის მისამართს და არხი 2 აკონტროლებს წითელ ფერს.

GPIO 1 - არხი 1 აკონტროლებს მწვანე ფერს და არხი 2 აკონტროლებს ლურჯ ფერს.

ნაბიჯი 5: მეხსიერების ბლოკირება

მეხსიერების ბლოკირება
მეხსიერების ბლოკირება
მეხსიერების ბლოკირება
მეხსიერების ბლოკირება
მეხსიერების ბლოკირება
მეხსიერების ბლოკირება

დაამატეთ ბლოკის მეხსიერების გენერატორის IP ბლოკის დიზაინს და დააკონფიგურირეთ, როგორც ეს ნაჩვენებია ზემოთ. პიქსელის ფერები იწერება მეხსიერების მისამართებზე, რომლებსაც შემდეგ კითხულობს VGA დრაივერი. მისამართის სტრიქონი უნდა შეესაბამებოდეს გამოყენებული პიქსელების რაოდენობას, ამიტომ ის უნდა იყოს 16 ბიტი. მონაცემები ასევე არის 16 ბიტი, რადგან არსებობს 16 ფერის ბიტი. ჩვენ არ გვაინტერესებს რაიმე სახის ცნობის წაკითხვა.

ნაბიჯი 6: სხვა IP

თანდართული pdf აჩვენებს ბლოკის დასრულებულ დიზაინს. დაამატეთ დაკარგული IP და დაასრულეთ კავშირები. ასევე "გააკეთეთ ექსტერნალები" VGA ფერის გამოსავლებისთვის და ვერტიკალური და ჰორიზონტალური სინქრონიზაციის გამოსასვლელებისთვის.

xlconcat_0 - აერთიანებს ინდივიდუალურ ფერს და ქმნის ერთ 16 ბიტიან RGB სიგნალს, რომელიც იკვებება ბლოკის ოპერატიული მეხსიერებით.

xlconcat_1 - აერთიანებს სვეტისა და რიგის სიგნალებს VGA დრაივერისგან და იკვებება ბლოკის ოპერატიული მეხსიერების B პორტში. ეს საშუალებას აძლევს VGA დრაივერს წაიკითხოს პიქსელის ფერის მნიშვნელობები.

VDD - მუდმივი მაღალი, რომელიც დაკავშირებულია ბლოკის ოპერატიული მეხსიერების ჩაწერის ჩართვასთან, რათა ჩვენ ყოველთვის შეგვეძლოს მასზე უფლება.

xlslice_0, 1, 2 - ნაჭრები გამოიყენება RGB სიგნალის შესამცირებლად ცალკეულ R, G და B სიგნალებად, რომლებიც შეიძლება შევიდეს VGA დრაივერში.

ბლოკის დიზაინის დასრულების შემდეგ შექმენით HDL შეფუთვა და დაამატეთ შეზღუდვების ფაილი.

*ბლოკის დიზაინი ემყარება benlin1994– ის მიერ დაწერილ სახელმძღვანელოს*

ნაბიჯი 7: SDK

კოდი, რომელიც მუშაობს ამ ბლოკის დიზაინზე, მოცემულია ქვემოთ. Init.c შეიცავს ფუნქციებს, რომლებიც ამუშავებენ ნახატს (პროგნოზები, რიცხვები, ხარისხის სიმბოლო და სხვა). Main.c– ში მთავარი მარყუჟი არის ის, რაც დაფის დაპროგრამებისას ხდება. ეს მარყუჟი ადგენს პროგნოზისა და ტემპერატურის მნიშვნელობებს და შემდეგ იძახებს გათამაშების ფუნქციებს init.c. ის ამჟამად ახორციელებს შვიდივე პროგნოზს და აჩვენებს ერთმანეთის მიყოლებით. მიზანშეწონილია დაამატოთ შესვენების წერტილი 239 სტრიქონში, რათა ნახოთ თითოეული სურათი. კოდი არის კომენტარი და მოგაწვდით დამატებით ინფორმაციას.

ნაბიჯი 8: დასკვნა

მიმდინარე პროექტის გასაუმჯობესებლად, თქვენ შეგიძლიათ ატვირთოთ წინასწარი პროგნოზირების სურათები COE ფაილების სახით ბლოკის მეხსიერების გენერატორებში. ასე რომ, იმის ნაცვლად, რომ პროგნოზები ხელით დავხატოთ, როგორც ეს გავაკეთეთ C კოდში, შეიძლებოდა სურათების წაკითხვა. ჩვენ შევეცადეთ ამის გაკეთება, მაგრამ ვერ შევძელით მისი მუშაობა. ჩვენ შევძელით პიქსელის მნიშვნელობების წაკითხვა და მათი გამომუშავება, მაგრამ მან შექმნა ბინძური სურათები, რომლებიც არაფრით ჰგავდა მათ, რაც ჩვენ RAM- ზე ავტვირთეთ. ბლოკის მეხსიერების გენერატორის მონაცემთა ფურცელი სასარგებლოა წასაკითხად.

პროექტი არსებითად ნახევარი ჭკვიანი სარკეა, რადგან მას აკლია ინტერნეტთან დაკავშირების ასპექტი. ამის დამატება მისცემს სრულ ჭკვიან სარკეს.

გირჩევთ: