Friday, June 15, 2012

პროგრამატორი Atmel მიკროკონტროლერებისათვის


პროგრამატორი Atmel მიკროკონტროლერებისათვის

ინტერნეტში საკმარისი რაოდენობით არის წარმოდგენილი პროგრამატორები მიკროკონტროლერების დასაპროგრამებლად. ნებისმიერი პროგრამატორი შესდგება ორი კომპონენტისაგან:
1. პროგრამული ნაწილი (Software), რომელიც უზრუნველყოფს მთელი პროგრამატორის მუშაობას – პროგრამული კოდის  კომპიუტერიდან წაკითხვას, მის ჩაწერას მიკროკონტროლერში, ჩაწერის სისწორის შემოწმებას, მიკროკონტროლერის FlashROM მახსოვრობის წაშლას და ა.შ.
2. აპარატურული ნაწილი (Hardware), რომელიც მოიცავს ელექტრონიკას, კაბელებს, შემაერთებლებს და ა.შ.  სწორედ ეს კომპონენტი ახორციელებს კავშირს კომპიუტერსა და მიკროკონტროლერს შორის. კავშირი ხორციელდება კომპიუტერის რომელიმე საკომუნიკაციო მოწყობილობის –
პარალელური პორტის, მიმდევრობითი საცომუნიკაციო პორტის  ან USB პორტის საშუალებით.
გრაფიკული კომპილატორი Algoritm Builder შეიცავს პროგრამატორის მუშაობისათვის საჭირო პროგრამულ ნაწილს, რომელიც საშუალებას იძლევა ამავე კომპილატორში შექმნილი პროგრამები ჩაწერილ იქნან მიკროკონტროლერში. საჭიროა, მხოლოდ აპარატურული ნაწილის დამზადება. ქვემოთ მოყვანილია პროგრამატორის პრინციპული სქემა.
სქემა შეიცავს 7 რეზისტორს, რომელთა წინაღობა 1 კილოომის ტოლია და 3 დიოდს. სქემაზე მითითებულის გარდა შეიძლება გამოიყენოთ ნებისმიერი სხვა, მცირე სიმძლავრის იმპულსური დიოდები. ყურადღება მიაქციეთ დიოდების სქემაში ჩართვის პოლარობას (იხ. ნახ.).
პროგრამატორის ერთი მხარე უერთდება კომპიუტერის მიმდევრობით პორტს 9 კონტაქტიანი კონექტორის საშუალებით.
პროგრამატორის მეორე მხარეს უნდა მიუერთდეს დასაპროგრამებელი მიკროკონტროლერი. რა თქმა უნდა, მიკროკონტროლერისა და პროგრამატორის გამომყვანების შესაბამისობა ზუსტად უნდა იყოს დაცული. ნახაზზე მოცემულია Atmega8 მიკროკონტროლერის გამომყვანების სქემა. მიკროსქემა გამოსახულია ზედხედში, ანუ წარწერების მხრიდან. გამომყვანების ნუმერაციის თანმიმდევრობის განსასაზღვრავად, მიკროსქემის კორპუსზე დატანილია სპეციალური ჭდე (წითელი ისარი).
როგორც ნახაზიდან ჩანს, მიკროკონტროლერის ცალკეულ გამომყვანებს რამოდენიმე დანიშნულება აქვთ. მაგ., ნომერი 1 გამომყვანი 2 ფუნქციას ასრულებს: ერთის მხრივ იგი წარმოადგენს C პორტის მე-6 თანრიგის გამომყვანს PC6, ხოლო მეორე მხრივ, ასრულებს RESET გამომყვანის ფუნქციას. მიკროკონტროლერის ნორმალური მუშაობისათვის საჭიროა RESET გამომყვანზე მიეწოდებოდეს ლოგიკური “1″. ამ გამომყვანზე უარყოფითი იმპულსის მიწოდება ( ანუ “1″-დან “0″-ში გადართვა და ისევ უკან “1″-ში დაბრუნება) იწვევს მიკროკონტოლერის პროგრამის შესრულების თავიდან დაწყებას. როგორც წესი, მიკროკონტროლერის სქემაში ჩართვისას ამ გამომყვანს რთავენ ქვემოთ მოყვანილი სქემით:
იდეა მდგომარეობს შემდეგში: კვების წყაროს ჩართვის მომენტიდან რაღაც დროის განმავლობაში, იმის გამო, რომ კონდენსატორი ჯერ არ არის დამუხტული, RESET გამომყვანზე არ არის ლოგიკური “1″. ამიტომ მიკროკონტროლერის პროგრამა არ მუშაობს. ეს საშუალებას იძლევა დაველოდოთ კვების ჩართვის თანმხლები გარდამავალი პროცესების დამთავრებას. გარკვეული დროის შემდეგ, კონდენსატორი დაიმუხტება, RESET სიგნალი მიაღწევს ლოგიკური “1″ დონეს და მიკროკონტროლერის პროგრამა ამუშადება.
პროგრამატორის დასაკავშირებლად მიკროკონტროლერთან სასურველია გამოვიყენოთ სპეციალური ბუდეები, რომლებიც სურათზეა ნაჩვენები. ეს თავიდან აგვაცილებს დაპროგრამების დროს სარჩილავის ხმარების აუცილებლობას.




აი, როგორი პროგრამატორი ავაწყვე მე ჩემთვის:
დაპროგრამებისას მიკროკონტროლერის ყველა გამომყვანი აღნიშვნით “GND” მიერთებული უნდა იყოს სქემის საერთო მავთულთან და კვების წყაროსმინუსგამომყვანთან, ხოლო ყველა გამომყვანი “VCC” აღნიშვნით მიერთებული უნდა იყოს კვების წყაროსპლუსგამომყვანთან. კვების ძაბვა უნდა იყოს 4.5 – 5 ვოლტი.
შევუდგეთ მიკროკონტროლერის დაპროგრამებას. მიუერთეთ პროგრამატორი კომპიუტერის მიმდევრობით პორტს (COM Port), ჩასვით ბუდეში მიკროკონტროლერი, ჩართეთ მიკროკონტროლერის კვების წყარო (ბატარეა). Algorithm Builder -ში გახსენით თქვენი ალგორითმი და მენიუში აირჩიეთ “Options ” “Environment Options” “Port” და მიუთითეთ პორტის ნომერი, რომელთანაც მიერთებულია პროგრამატორი.


მენიუში აირჩიეთ “Program” “Run with Chip”. მოყვანილ სურათზე ნაჩვენებია, რომ ამორჩეულია მიკროკონტროლერის შემოწმება, მისი წაშლა და FLASH ROM მახსოვრობის დაპროგრამება. EEPROM მახსოვრობის დაპროგრამება, აგრეთვე ფუზ ბიტების დაპროგრამება და სხვა ოპციები ამორჩეული არ არის. დააჭირეთ “Start”. რამდენიმე წამში დაპროგრამება დასრულდება.

ახალ, ჯერ კიდევ დაუპროგამებელ მიკროკონტროლერში ფუზ ბიტების კონფიგურაცია შეესაბამება ტაქტირებას შიდა გენერატორიდან, რომლის სიხშირეა 1 მგჰც. სიხშირის შესაცვლელად მონიშნეთ “Write fuse bits” და დააჭირეთ ლურჯად მონიშნულს “Fuse bits…”
“Clock source” წარწერის გასვრივ ლურჯად მონიშნულ წარწერაზე დაჭერა იწვევს ტაქტირების პარამეტრების ცვლილებას. ამოირჩიეთ 2 მგჰც და დააჭირეთ “Write”. თქვენი მიკროკონტროლერი გადაპროგრამდა 2 მგჰც სიხშირეზე სამუშაოდ.
დაპროგრამება დასრულებულია. შეგიძლიათ ჩასვათ მიკროკონტროლერი სქემაში, ჩართოთ სქემა და ნახოთ რა გამოვიდა.სქემის აწყობის და მისი გამართვის შესახებ შემდეგ სტატიებში.

No comments:

Post a Comment