Arduino එක්ක වැඩ කරන හැමෝම Transistors, Integrated circuits, Microcontroller, Microprocessor ගැන එහෙම අහලා ඇති. එ් වගේම Transistors එකතු වෙලා Integrated circuits හැදෙන හැටි වගේම IC එකතුවෙලා Microcontroller හැදෙන හැටිත් අහලා ඇති.
නිකමට හිතලා බලන්න IC එකතු කරලා Microcontroller එකක්, හැදුවෙත් කොහොම තියෙයි ද ? පල්ලෙහා පිංතූරේ තියෙන්නේ අන්න ඒ වගේ පරිපථයක්. තවත් සරලව කිව්වොත් IC පාවිච්චි කරලා හදපු පොඩි Microcontroller එකක්.
ඕනැම Microcontroller එකකට නිර්මිතියක් (Architecture) තියෙනවා. නිතරම ඇහෙන PIC, AVR, ARM වගේ නම් වලින් කියවෙන්නේ ඒ වගේ ජනප්රිය architectures කීපයක් තමයි.
මේ නිර්මාණයට පාදක වුණේ SAP-I (Simple As Possible) කියන Architecture එක. මේක ගැන වැඩි විස්තර පොස්ට් එකේ අන්තිමට තියෙන ලින්ක් වලින් දැනගන්න පුළුවන්.
ලොකුවට පෙනෙන පරිපථ පුවරුවේ තව පොඩි පොඩි මොඩියුල 11 ක් තියෙනවා. ඒවා ගැන හැදින්වීමක් ඉදිරි ලිපියකින් කරන්නම්. දැනට නම් විදිහට පමණක් ඉදිරිපත් කරන්නම්.
- Clock Module
- Program Counter
- Registers (RegA, RegB, Instruction Register, Memory Address Register)
- ALU (Arithmetic and Logic Unit)
- Output Module (4 digit 7 Segment display)
- RAM
- Programmer
- Control Sequencer (Control Unit)
මේක නිර්මාණය කරන්න IC 46 ක් පාවිච්චි කරලා තියෙනවා. ඒ වගේම Indicators විදිහට LED Bulbs 76කුත් පාවිච්චි කරලා තියෙනවා.
- 39 x 7400 Series ICs
- 4 x 555 IC
- 3 x AT28C16 EEPROM
- 76 x LED
Circuit Design කරන්නයි, PCB ටික Fabricate කරන්නයි මාස දෙකක් විතර මහන්සි වෙන්න වුණා. ඒ ටික ඉවර වෙලා මේක වැඩකරන තත්වෙකට ගන්න තව මාසයක් විතර මහන්සි වුණා.
මේකේ Performance ගැන කිව්වොත්,
Data Bus
>> 8-bit Bus Architecture
Clock Speed
>> min 1Hz, max 5Hz
Memory
>> RAM : 16 bytes (16x8 bits)
>> Storage: 2 bytes (Register A, B)
Arithmetic Unit
>> Addition, Subtraction only
ඇත්තටම මේ අගයයන් සංසන්දනය කලාම Arduino Uno Board එකේ තියෙන “Atmega328” AVR IC එක මේක වගේ x16,000,000 ගුණයක් වේගවත්. Memory එක (Flash Memory) x2,000,000 ගුණයක් විතර වෙනවා.
Atmega328
> Clock Speed ----- 16 MHz
> Flash Memory --- 32 KB
> SRAM -------------- 2 KB
> EEPROM --------- 1 KB
හැබැයි Digital Logic Design, Computer Architecture, Microcontrollers ගැන ඉගෙනගන්න කැමති කෙනෙක්ට නම් මේ වගේ දෙයක් හදලා ගන්න Experience එක සෑහෙන වටිනවා.
මේක වැඩකරන විදිහ , Machine Language එකෙන් Programming කරන විදිහ ගැන වෙලාව ලැබෙන විදිහට කියාදෙන්න බලන්නම්. Eater.net කියන site එකේ සහ Ben Eater' Youtube Channel එකෙනුත් මේ ගැන හොද පැහැදිලි විස්තර හොයාගන්න පුළුවන්.
මේ Project එක කලේ පේරාදෙණිය ඉංජිනේරු පීඨයේ Computer Engineering Project (2nd Year) එකක් විදිහට. මේ වගේ නිර්මාණයක් කරන්න මුලින්ම අදහසක් දුන්න Dr. Kamalanath Samarakoon සර්ටත්, නිර්මාණ කටයුතු සදහා උදව් කරපු Digital Design Lab එකේ Instructors ලා හැමෝටමත්, මගේ Project Team එකේ හැමොටමත් ස්තූතිවන්ත වෙනවා.
Special thanks to
- Dr. Kamalanath Samarakoon for giving the idea & source materials about SAP-I
- Dr. S.D. Dewasurendra
- Miss. Narmada Balasooriya, Miss. Thilini Dahanayaka and all the instructors on the Department of Computer Engineering
- My team members; Suneth Samarasinghe, Pubudu Premathilake, Dilshani Karunarathne, Wishma Herath, Pasan Thennakoon & Irfan Mohommad
References: