Бұл мақалада мысал ретінде 25L8005 микросұлбасын пайдаланып Arduino көмегімен флэш-жадқа қалай жазуға және оқуға болатынын қарастырамыз.
Қажетті
- - 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 көмегімен жадыдан оқылатын массив секундына 1 рет көрсетіледі.