ዝርዝር ሁኔታ:

MTP Arduino Programming ምሳሌ - 5 ደረጃዎች
MTP Arduino Programming ምሳሌ - 5 ደረጃዎች

ቪዲዮ: MTP Arduino Programming ምሳሌ - 5 ደረጃዎች

ቪዲዮ: MTP Arduino Programming ምሳሌ - 5 ደረጃዎች
ቪዲዮ: Now You Can Program any Kind of IC With Arduino, (AVR, STM, P-IC) 2024, ህዳር
Anonim
MTP Arduino Programming ምሳሌ
MTP Arduino Programming ምሳሌ

በዚህ Instructable ውስጥ ፣ SLG46824/6 Arduino የፕሮግራም ንድፍ እንዴት ለ SLG46824/6 GreenPAK ™ ባለብዙ-ጊዜ ፕሮግራም (MTP) መሣሪያ መርሃ ግብር እንደሚጠቀም እናሳያለን።

አብዛኛዎቹ የግሪንፓክ መሣሪያዎች የአንድ-ጊዜ ፕሮግራም (ኦቲፒ) ናቸው ፣ ይህም ማለት የማይለዋወጥ ማህደረ ትውስታ ባንክ (NVM) አንዴ ከተፃፈ ፣ እንደገና ሊገለበጥ አይችልም። እንደ SLG46824 እና SLG46826 ያሉ የ MTP ባህሪ ያላቸው GreenPAKs ፣ ከአንድ ጊዜ በላይ በፕሮግራም ሊሠራ የሚችል የተለየ የ NVM ማህደረ ትውስታ ባንክ አላቸው።

በጥቂት ቀላል ተከታታይ ሞኒተር ትዕዛዞች ተጠቃሚው የ MTP GreenPAK ፕሮግራም እንዲያወጣ የሚያስችለውን የአርዱዲኖ ንድፍ ጽፈናል። በዚህ መመሪያ ውስጥ እኛ SLG46826 ን እንደ ግሪንፓኬ ከኤምቲፒ ጋር እንጠቀማለን።

በ C/C ++ ላይ የተመሠረተ ክፍት ምንጭ መድረክን በመጠቀም ለ Arduino Uno የናሙና ኮድ እንሰጣለን። ንድፍ አውጪዎች ለተለየ የመሣሪያ ስርዓታቸው በአርዱኖ ኮድ ውስጥ ጥቅም ላይ የዋሉትን ቴክኒኮች ወደ ውጭ ማውጣት አለባቸው።

የ I2C የምልክት መግለጫዎችን ፣ የ I2C አድራሻ እና የማስታወሻ ቦታዎችን በተመለከተ ለተለየ መረጃ ፣ እባክዎን በ SLG46826 ምርት ገጽ ላይ የቀረበውን የግሪንፓክ ውስጠ-ስርዓት ፕሮግራም መመሪያን ይመልከቱ። ይህ Instructable የዚህን የፕሮግራም መመሪያ ቀላል ትግበራ ይሰጣል።

የ GreenPAK ቺፕ እንዴት መርሃ ግብር እንደተደረገ ለመረዳት የሚያስፈልጉትን ደረጃዎች ከዚህ በታች ገልፀናል። ሆኖም ፣ እርስዎ የፕሮግራም ውጤትን ለማግኘት ከፈለጉ ፣ ቀድሞውኑ የተጠናቀቀውን የግሪንፓክ ዲዛይን ፋይል ለማየት የ GreenPAK ሶፍትዌርን ያውርዱ። ብጁ IC ን ለመፍጠር የግሪንፓክ ልማት ኪትዎን ወደ ኮምፒተርዎ ይሰኩ እና ፕሮግራሙን ይምቱ።

ደረጃ 1: Arduino-GreenPAK ግንኙነቶች

አርዱዲኖ-ግሪንፓክ ግንኙነቶች
አርዱዲኖ-ግሪንፓክ ግንኙነቶች
አርዱዲኖ-ግሪንፓክ ግንኙነቶች
አርዱዲኖ-ግሪንፓክ ግንኙነቶች

የእኛን SLG46826 GreenPAK NVM ን ከአርዱዲኖ ንድፍ ጋር ለማቀናጀት በመጀመሪያ አራት አርዱዲኖ ኡኖ ፒኖችን ከግሪንፓኬችን ጋር ማገናኘት አለብን። እነዚህን ካስማዎች በቀጥታ ከግሪንፓክ ሶኬት አስማሚ ወይም ከግሪንፓክ ወደታች ከተሸጠበት የመለያ ሰሌዳ ጋር ማገናኘት ይችላሉ።

እባክዎን ያስተውሉ የውጭ I2C መጎተቻ መከላከያዎች በስእል 1. የማይታዩ መሆናቸውን እባክዎ ልብ ይበሉ። ከሁለቱም SCL እና SDA 4.7 kΩ የመሳብ ተከላካይ ወደ አርዱinoኖ 3.3 ቮ ውፅዓት ያገናኙ።

ደረጃ 2: ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ

ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ
ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ
ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ
ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ
ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ
ከግሪንፓክ ዲዛይን ፋይል የ GreenPAK NVM ውሂብ ወደ ውጭ መላክ

የ NVM ውሂቡን እንዴት ወደ ውጭ መላክ እንደሚቻል ለማብራራት በጣም ቀላል የሆነ የግሪንፓክ ንድፍ እናዘጋጃለን። ከዚህ በታች ያለው ንድፍ በግራ በኩል ያሉት ሰማያዊ ፒኖች ከ VDD (3.3v) ጋር የተሳሰሩበት ቀለል ያለ ደረጃ መቀየሪያ ሲሆን በቀኝ በኩል ያሉት ቢጫ ካስማዎች ከ VDD2 (1.8v) ጋር የተሳሰሩ ናቸው።

መረጃውን ከዚህ ንድፍ ወደ ውጭ ለመላክ ፣ በስእል 3 እንደሚታየው ፋይል → ወደ ውጭ → N ኤክስፖርት ላክ።

ከዚያ የ Intel HEX ፋይሎችን (*.hex) እንደ ፋይል ዓይነት መምረጥ እና ፋይሉን ማስቀመጥ ያስፈልግዎታል።

አሁን የ.ሄክስ ፋይልን በጽሑፍ አርታኢ (እንደ ማስታወሻ ደብተር ++) መክፈት ያስፈልግዎታል። ስለ ኢንቴል የ HEX ፋይል ቅርጸት እና አገባብ የበለጠ ለማወቅ የዊኪፔዲያ ገጹን ይመልከቱ። ለዚህ ትግበራ እኛ በስዕሉ 5 ላይ እንደሚታየው በፋይሉ የውሂብ ክፍል ላይ ብቻ እንፈልጋለን።

በ HEX ፋይል ውስጥ የሚገኙትን 256 ባይት የ NVM ውቅረት ውሂብ ያደምቁ እና ይቅዱ። እኛ የምንገለብጠው እያንዳንዱ መስመር 32 ቁምፊዎች ርዝመት ያለው ሲሆን ይህም ከ 16 ባይት ጋር ይዛመዳል።

በስዕሉ 6 ላይ እንደሚታየው አርዱinoኖ ንድፍ ላይ መረጃውን ወደተደመቀው የ nvmString ክፍል ይለጥፉ። አርዱinoኖ ያልሆነ ማይክሮ መቆጣጠሪያ የሚጠቀሙ ከሆነ በግሪንፓኬ. GP6 ፋይል ውስጥ የተቀመጠውን nvmData ለመተንተን ተግባር መፃፍ ይችላሉ። (ከጽሑፍ አርታዒ ጋር የ GreenPAK ፋይል ከከፈቱ ፣ የፕሮጀክት መረጃን በቀላሉ ተደራሽ በሆነ የኤክስኤምኤል ቅርጸት እንደምናከማች ያያሉ።)

ለእርስዎ የግሪንፓክ ንድፍ የ EEPROM ውሂብን ለማቀናጀት ፣ የ EEPROM ብሎክን ከክፍሎች ፓነል ይምረጡ ፣ የባህሪያቱን ፓነል ይክፈቱ እና “ውሂብ አዘጋጅ” ን ጠቅ ያድርጉ።

አሁን በእኛ GUI በይነገጽ እያንዳንዱን ባይት በ EEPROM ውስጥ በተናጥል ማርትዕ ይችላሉ።

አንዴ የ EEPROM ውሂብዎ ከተዋቀረ የ NVM ውሂብን ወደ ውጭ ለመላክ ቀደም ሲል የተገለጸውን ተመሳሳይ ዘዴ በመጠቀም ወደ HEX ፋይል መላክ ይችላሉ። እነዚህን 256 ባይት የ EEPROM ውሂብ ወደ አርዱዲኖ ንድፍ ስዕል eepromString ክፍል ውስጥ ያስገቡ።

ለእያንዳንዱ ብጁ ዲዛይን በፕሮጀክቱ ቅንጅቶች “ደህንነት” ትር ውስጥ የጥበቃ ቅንብሮችን መፈተሽ አስፈላጊ ነው። ይህ ትር ለማትሪክስ ውቅረት መመዝገቢያዎች ፣ ለኤንቪኤም እና ለ EEPROM የመከላከያ ነጥቦችን ያዋቅራል። በተወሰኑ ውቅሮች ስር የ NVM ቅደም ተከተል መስቀል SLG46824/6 ን አሁን ወዳለው ውቅረት መቆለፍ እና የቺፕውን የ MTP ተግባር ማስወገድ ይችላል።

ደረጃ 3: አርዱዲኖ ንድፍ ይጠቀሙ

አርዱዲኖ ንድፍ ይጠቀሙ
አርዱዲኖ ንድፍ ይጠቀሙ

ንድፉን ወደ አርዱinoኖ ይስቀሉ እና ተከታታይ ማሳያውን በ 115200 ባውድ መጠን ይክፈቱ። አሁን ብዙ ትዕዛዞችን ለማከናወን የስዕሉን MENU ጥያቄዎችን መጠቀም ይችላሉ-

● ያንብቡ - የተገለጸውን የባሪያ አድራሻ በመጠቀም የመሣሪያውን NVM ውሂብ ወይም የ EEPROM ውሂብ ያነባል

● አጥፋ - የተገለጸውን የባሪያ አድራሻ በመጠቀም የመሣሪያውን NVM ውሂብ ወይም EEPROM ውሂብን ያጠፋል

● ይፃፉ - ያጠፋዋል ከዚያም የተጠቀሰውን የባሪያ አድራሻ በመጠቀም የመሣሪያውን NVM ውሂብ ወይም EEPROM ውሂብ ይጽፋል። ይህ ትዕዛዝ በ nvmString ወይም eepromString ድርድሮች ውስጥ የተቀመጠውን ውሂብ ይጽፋል።

Ing ፒንግ - ከ I2C አውቶቡስ ጋር የተገናኙ የመሣሪያ ባሪያ አድራሻዎችን ዝርዝር ይመልሳል

የእነዚህ ትዕዛዞች ውጤቶች ወደ ተከታታይ ማሳያ ኮንሶል ይታተማሉ።

ደረጃ 4 - የፕሮግራም ምክሮች እና ምርጥ ልምዶች

SLG46824/6 ን በሚደግፍበት ጊዜ ፣ ወደ ኤንኤምኤም አድራሻ ቦታ ከመደምሰስ እና ከመፃፍ ጋር የተዛመዱ የተለመዱ ወጥመዶችን ለማስወገድ የሚያግዙ ጥቂት የፕሮግራም ምክሮችን በሰነድ አዘጋጅተናል። የሚከተሉት ንዑስ ክፍሎች ይህንን ርዕስ በበለጠ ዝርዝር ይዘረዝራሉ።

1. ትክክለኛ 16-ባይት NVM ገጽ ማስፈፀም ይጽፋል-

መረጃን ወደ SLG46824/6 NVM በሚጽፉበት ጊዜ ፣ ለማስወገድ ሦስት ቴክኒኮች አሉ-

● ገጽ ከ 16 ባይት ባነሰ ይጽፋል

● ገጽ ከ 16 ባይት በላይ ይጽፋል

በአንድ ገጽ ውስጥ በመጀመሪያው ምዝገባ የማይጀምሩ ገጽ ይጽፋል (IE: 0x10 ፣ 0x20 ፣ ወዘተ)

ከላይ ከተዘረዘሩት ቴክኒኮች ውስጥ አንዳቸውም ጥቅም ላይ ከዋሉ ፣ የኤን.ቲ.ኤም.ን በተሳሳተ መረጃ ላይ ላለመጫን የ MTP በይነገጽ የ I2C ፃፉን ችላ ይላል። ትክክለኛውን የውሂብ ሽግግር ለማረጋገጥ ከፃፉ በኋላ የ NVM አድራሻ ቦታ I2C ን እንዲያነቡ እንመክራለን።

2. የ NVM መረጃን ወደ ማትሪክስ ውቅረት መመዝገቢያዎች ማስተላለፍ

ኤንኤምኤም ሲፃፍ ፣ የማትሪክስ ውቅረት መመዝገቢያዎች በአዲሱ የጽሑፍ NVM ውሂብ በራስ -ሰር አይጫኑም። በ PAK VDD በብስክሌት ወይም I2C ን በመጠቀም ለስላሳ ዳግም ማስጀመር በማመንጨት ዝውውሩ በእጅ መጀመር አለበት። በአድራሻ 0xC8 ውስጥ ምዝገባን በማቀናበር መሣሪያው የኃይል-ላይ ዳግም ማስጀመሪያ (POR) ቅደም ተከተልን እንደገና ያነቃቃል እና የመመዝገቢያውን መረጃ ከኤንኤምኤም ወደ መመዝገቢያዎቹ እንደገና ይጫናል።

3. ከ NVM ደምስስ በኋላ የ I2C አድራሻውን ዳግም ማስጀመር ፦

ኤንቪኤም ሲደመሰስ ፣ የ I2C ባሪያ አድራሻ የያዘው የ NVM አድራሻ ወደ 0000 ይቀናበራል። ከመጥፋቱ በኋላ ፣ ቺ chip መሣሪያውን ከላይ እንደተገለፀው እስኪስተካከል ድረስ በማዋቀሪያ መመዝገቢያዎቹ ውስጥ የአሁኑን የባሪያ አድራሻ ይይዛል። ቺፕው እንደገና ከተጀመረ በኋላ ፣ ግሪንፓኬ በኃይል በሚሽከረከርበት ወይም እንደገና በሚጀምርበት ጊዜ የ I2C ባሪያ አድራሻ በውቅረት መመዝገቢያዎች ውስጥ በአድራሻ 0xCA ውስጥ መቀመጥ አለበት። አዲሱ የ I2C ባሪያ አድራሻ ገጽ በ NVM ውስጥ እስኪፃፍ ድረስ ይህ መደረግ አለበት።

ደረጃ 5 የኤራታ ውይይት

የኤራታ ውይይት
የኤራታ ውይይት

ወደ “ገጽ አጥፋ ባይት” (አድራሻ 0xE3) ሲጽፉ ፣ SLG46824/6 ከ I2C ትእዛዝ “ውሂብ” ክፍል በኋላ I2C ን የማያከብር ACK ያወጣል። በ I2C ማስተር ትግበራ ላይ በመመስረት ይህ ባህሪ እንደ NACK ሊተረጎም ይችላል።

ለዚህ ባህሪ ለማስተናገድ ፣ በስዕሉ 11 ላይ የሚታየውን ኮድ በመተንተን የአርዲኖ ፕሮግራመርን አሻሽለነዋል። ይህ የኮድ ክፍል በእያንዳዱ የ I2C ትዕዛዝ መጨረሻ ላይ በ IECC () ተግባር ውስጥ ለ I2C ACK ይፈትሻል። ይህ ተግባር የ NVM እና EEPROM ገጾችን ለማጥፋት ያገለግላል። ይህ የኮድ ክፍል በ For Loop ውስጥ የሚገኝ ስለሆነ “ተመለስ -1”; መስመሩ MCU ተግባሩን ያለጊዜው እንዲወጣ ያደርገዋል።

NACK ቢኖርም ፣ NVM እና EEPROM የመደምሰስ ተግባራት በትክክል ይፈጸማሉ። ለዚህ ባህሪ ዝርዝር ማብራሪያ ፣ እባክዎን በ “SLG46824/6 errata” ሰነድ (ክለሳ XC) ውስጥ “እትም 2 ፦ I2C ን የማያከብር ACK ባህሪ ለ NVM እና EEPROM ገጽ Erase Byte” ን ጠቅ ያድርጉ።

መደምደሚያ

በዚህ መመሪያ ውስጥ ብጁ የ NVM እና EEPROM ሕብረቁምፊዎችን ወደ ግሪንፓክ አይሲ ለመስቀል የቀረበውን የአርዱዲኖ ፕሮግራመር የመጠቀም ሂደቱን እንገልፃለን። በአርዱዲኖ ንድፍ ውስጥ ያለው ኮድ በጥልቀት አስተያየት ተሰጥቶታል ፣ ግን ንድፉን በተመለከተ ማንኛውም ጥያቄ ካለዎት እባክዎን አንዱን የመስክ ማመልከቻ መሐንዲሶችን ያነጋግሩ ወይም ጥያቄዎን በእኛ መድረክ ላይ ይለጥፉ። የ MTP ፕሮግራም መመዝገቢያዎችን እና የአሠራር ሂደቶችን በተመለከተ የበለጠ ጥልቀት ያለው መረጃ ፣ እባክዎን የዲያሎግ ውስጠ-ስርዓት መርሃ ግብር መመሪያን ይመልከቱ።

የሚመከር: