AVR on Linux – 3 FUSE bits සහ ප්‍රෝග්‍රෑමරයට සම්බන්ධ කිරීම

0

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux | Posted on 23-11-2012

Tags: , , ,

කලින් පෝස්ට් එකෙන් කීවනෙ මේ පාර FUSE bits ගැන කියනව කියල. PIC පාවිච්චි කරන අය දන්නව නේද configuration bits ගැන. AVR වලදි FUSE bits කියන්නෙත් ඒ වගේ දේකට තමයි. High fuse, Low fuse කියල දෙකක් තියනව. AVR එකේ oscillator එක, Bootloader එකක් වගේ පාවිච්චි කරනවනම් boot වලට අදාල සැකසුම්, කොයි කොයි programming interfaces වලටද සහය දක්වන්නෙ (ISPද, JTAGද නැත්නම් දෙකටමද), RESET pin එකත් I/O පින් එකක් කරගන්නවද වගේ සැකසුම් සකස්කරන්නෙ FUSE bits වලින්. මේ ගැන වැඩිදුර තොරතුරු මේ ලින්ක් එකෙන් ගිහින් බලන්න. FUSE වැරදුනා කියන්නෙ නම් ඉතින් කරදර ගොඩක්. ආයෙ ගොඩදාගන්න විදි නම් තියනව. ඒත් මම අතෙත් FUSE නිසා වැඩකට ගන්න බැරි වෙලා තියන Atmega8 ඒව තියනව. මේ වගේ වැඩ නිසා AVR වල FUSE bits සැකසුම් වෙනස් කරගන්න ලේසි වෙන්න AVR Fuse calculators තියනව. මම පාවිච්චි කරන්නෙනම් ගොඩක් වෙලාවට www.engbedded.com/fusecalc. තව Android app එකක් පාවිච්චි කරල තියනව. අපි කරන්න යන වැඩ වලට නම් පොඩි වෙනස් කමක් විතරයි default settings වලින් වෙනස් කරගන්න ඕනෙ. Oscillator එකට crystal එකක් සම්බන්ධ කරල පාවිච්චි කරන නිසා External Crystal,Resonator High frequency වලට වෙනස් කරගන්න ඕනෙ. එතනදිත් startup time වලට වෙනස් වෙනස් අගයන් කීපයක් තියනව. ඒ ගැන නම් මම වැඩිපුර කියන්න යන්නෙ නෑ. මට ආව අගය HFUSE = 0xD9 සහ LFUSE = 0xCE.

AVR වලදි programming interfaces ගත්තොත් දෙකක් තියනව ISP (පින් 6 සහ පින් 10 විදියට සම්මත කනෙක්ටර් දෙකක්) සහ JTAG (පින් 10) කියල. හැම AVR එකම මේ දෙවිදියටම ප්‍රොග්‍රෑම් කරන්න බැරි අවස්ථා තියනව. ආයෙ මේ interfaces අපිට ඕනෙනම් FUSE bits සැකසුම් වෙනස් කරල අයින් කරල ආන්න පුළුවන්. ඒ කියන්නෙ FUSE calculator එකේ ISP වලට කියන check boc එක uncheck කලොත් ISP interface එකෙන් program කරන්න බෑ ඒ වගේ. මේ ඉන්ටෆේසස් ගැන හල තියන පින්තූර වලින් බලාගන්න.

AVR-ISP-connectors

JTAG layout

සමහර ISP ප්‍රොග්‍රෑමර්ස් වල තියෙන්නෙ 10 pin connector එකක්. ඒත් අපිට ඕනෙ 6pin connector එකක් පාවිච්චි කරල program කරන්න. ඒ වගේ වෙලාවට 10 pin to 6 pin converter එකක් පාවිච්චි කරන්න පුළුවන්. ඔය පහල තියෙන්නෙ ඒ වගේ එකක්.

10 pin to 6 pin converter

පහල රූපයෙ 6 pin ISP connector එකකට Atmega8 කොහොමද සම්බන්ධ කරගන්නෙ කියල තියනව. මෙතනදිනම් මම ISP වල VCC මයික්‍රොකන්ට්‍රෝලරයට සම්බන්ධ කරල නෑ. ඒ වෙනුවට පිටින් වෙනම power දීල තියෙන්නෙ. එතකොට මොකක් හරි ප්‍රශ්නයක් තිබුනොත් USB port එක, ප්‍රෝ‍රග්‍රැමර් එක ආරක්ෂා වෙනව. මතක තියාගන්නම ඕනෙ කාරණයක් තමයි අපි Crystal එකක් හරි external oscillator එකක් හරි පාවිච්චි කරනව කියල FUSE වෙනස් කරල crystal එක හරි extrernal oscillator එක හරි AVR එකකට සම්බන්ධ කරන්නෙ නැතුව programmer එක කනෙක්ට් කලොත් AVR එක අඳුනගන්නෙ නෑ. රූපය අපැහැදිලි වගේ නම් රූපය උඩ ක්ලික් කරල බලන්න.

ඊලඟ පෝස්ට් එකෙන් පලවෙනි ප්‍රොග්‍රෑම් එක ලියමු. ජයෙන් ජය!!!

Write a comment