ამ სტატიაში ჩვენ განვიხილავთ, თუ როგორ უნდა დაწეროთ და წაიკითხოთ ფლეშ მეხსიერება Arduino– ს გამოყენებით, როგორც 25L8005 მიკროციკლი, მაგალითად.
აუცილებელია
- - ფლეშ მეხსიერების ჩიპი SPI მხარდაჭერით;
- - ადაპტერი მეხსიერებისათვის ან პანელი, რომელსაც აქვს ნულოვანი მომატება (ZIF- პანელი);
- - არდუინო;
- - კომპიუტერი;
- - სადენების დამაკავშირებელი.
ინსტრუქციები
Ნაბიჯი 1
პირველ რიგში, ჩვენ უნდა გავაკეთოთ ისე, რომ მარტივად შევძლოთ მიკროსქემასთან დაკავშირება. ამისათვის შეგიძლიათ გამოიყენოთ სპეციალური ადაპტერი, რომელზეც უნდა მიკროცირკულატის შესაკრავად, ან (სასურველია) გამოიყენოთ ნულოვანი მომატების პანელი (ე.წ. ZIF პანელი).
ნაბიჯი 2
მოდით ერთად მოვაწყოთ ელექტრული დიაგრამა ფლეშ მეხსიერების ჩიპის Arduino- ს დასაკავშირებლად. ჩვენ გამოვიყენებთ SPI ინტერფეისს მეხსიერების პროგრამირებისთვის, ასე რომ, ჩვენ დავაკავშირდებით სტანდარტულ პინებს:
- CS - ციფრული პინი 10, - MOSI - ციფრული პინი 11, - MISO - ციფრული პინი 12, - SCK - ციფრული პინი 13.
ნაბიჯი 3
მეხსიერებისათვის მონაცემების წერის წინ აუცილებელია წაშალოთ სექტორი ან გვერდი, რომელზეც ვაპირებთ წერას. თუ ბევრი დასაწერი მასალა არ არის (ჩვენს სამეურვეო მაგალითში ეს იქნება მხოლოდ 16 ბაიტი), მაშინ საკმარისია 1 სექტორის წაშლა. მიკროცირკის დოკუმენტაციიდან ვხედავთ, რომ წაშლის თანმიმდევრობა შემდეგია: დააყენეთ ჩაწერის ნებართვა (1 ბაიტი), გაგზავნეთ წაშლის ბრძანება (1 ბაიტი) და მისამართი (3 ბაიტი), დააწესეთ აკრძალვის ჩაწერა (1 ბაიტი). ზუსტად ამას აკეთებს ზემოხსენებული ესკიზი. მოდით, ჩავტვირთოთ არდუინოში. ესკიზის დასრულების შემდეგ, ფლეშ დრაივი მზად არის ჩაწერისთვის.
ნაბიჯი 4
ახლა მოდით დავწეროთ მონაცემები. მაგალითად ავიღოთ 16 ბაიტის მცირე მასივი. როგორც დოკუმენტაციიდან ჩანს, ჯერ უნდა დააყენოთ წერის ნებართვა (1 ბაიტი), შემდეგ გაგზავნეთ ბრძანება (1 ბაიტი), საწყისი მისამართი (3 ბაიტი) და მონაცემები (ჩვენს მაგალითში, 16 ბაიტი), ბოლოს დადგენილია ჩაწერის აკრძალვა (1 ბაიტი).
ატვირთეთ ესკიზი Arduino- ში. ამ ესკიზის შესრულების შემდეგ, ჩვენი საცდელი მასივი უნდა დაწერილიყო მეხსიერების მეხსიერებაზე. მოდით გადავამოწმოთ, ასეა თუ არა.
ნაბიჯი 5
მოდით, დავწეროთ ესკიზი, რომ 16 ბაიტი წავიკითხოთ ფლეშ მეხსიერებიდან. მოდით ჩავტვირთოთ Arduino– ში და გავხსნათ სერიული პორტის მონიტორი. მონიტორში, როგორც მოსალოდნელი იყო, Arduino– ს მეხსიერებიდან წაკითხული ჩვენი მასივი გამოჩნდება წამში 1 ჯერ.