Orodha ya maudhui:
- Hatua ya 1: Muunganisho wa Arduino-GreenPAK
- Hatua ya 2: Kusafirisha Takwimu za GreenPAK NVM Kutoka kwa Faili ya Kubuni ya GreenPAK
- Hatua ya 3: Tumia Mchoro wa Arduino
- Hatua ya 4: Vidokezo vya Programu na Mazoea Bora
- Hatua ya 5: Majadiliano ya Errata
Video: Mfano wa Programu ya MTP Arduino: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Katika Agizo hili, tunaonyesha jinsi ya kutumia mchoro wa programu ya SLG46824 / 6 Arduino kupanga Dialog SLG46824 / 6 GreenPAK ™ Multiple-Time Programmable (MTP) kifaa.
Vifaa vingi vya GreenPAK vinaweza kusanidiwa kwa wakati mmoja (OTP), ikimaanisha kuwa mara tu benki yao ya Kumbukumbu isiyo ya Tete (NVM) imeandikwa, haiwezi kuandikwa tena. GreenPAK zilizo na huduma ya MTP, kama SLG46824 na SLG46826, zina aina tofauti ya benki ya kumbukumbu ya NVM ambayo inaweza kusanidiwa zaidi ya mara moja.
Tumeandika mchoro wa Arduino ambao unaruhusu mtumiaji kupanga MTP GreenPAK na maagizo kadhaa rahisi ya kufuatilia mfululizo. Katika Agizo hili tunatumia SLG46826 kama GreenPAK yetu na MTP.
Tunatoa nambari ya sampuli kwa Arduino Uno kutumia jukwaa la chanzo wazi kulingana na C / C ++. Wabunifu wanapaswa kuzidisha mbinu zinazotumiwa katika nambari ya Arduino kwa jukwaa lao maalum.
Kwa habari maalum kuhusu uainishaji wa ishara ya I2C, anwani ya I2C, na nafasi za kumbukumbu, tafadhali rejelea Mwongozo wa Programu ya GreenPAK iliyotolewa kwenye ukurasa wa bidhaa wa SLG46826. Maagizo haya hutoa utekelezaji rahisi wa mwongozo huu wa programu.
Hapo chini tulielezea hatua zinazohitajika kuelewa jinsi chip ya GreenPAK imewekwa. Walakini, ikiwa unataka tu kupata matokeo ya programu, pakua programu ya GreenPAK ili kuona Faili ya Ubunifu wa GreenPAK iliyokamilishwa tayari. Chomeka GreenPAK Development Kit kwenye kompyuta yako na hit program ili kuunda IC ya kawaida.
Hatua ya 1: Muunganisho wa Arduino-GreenPAK
Ili kupanga NVM ya SLG46826 GreenPAK yetu na mchoro wetu wa Arduino, kwanza tutahitaji kuunganisha pini nne za Arduino Uno na GreenPAK yetu. Unaweza kuunganisha pini hizi moja kwa moja na Adapter ya Soketi ya GreenPAK au kwa bodi ya kuzuka na GreenPAK iliyouzwa chini.
Tafadhali kumbuka kuwa vipatanishi vya nje vya I2C havionyeshwi kwenye Kielelezo 1. Tafadhali unganisha kontena la 4.7 kΩ kutoka kwa SCL na SDA hadi pato la 3.3 V la Arduino.
Hatua ya 2: Kusafirisha Takwimu za GreenPAK NVM Kutoka kwa Faili ya Kubuni ya GreenPAK
Tutaweka pamoja muundo rahisi sana wa GreenPAK kuonyesha jinsi ya kusafirisha data ya NVM. Ubunifu hapa chini ni mabadiliko ya kiwango rahisi ambapo pini za bluu upande wa kushoto zimefungwa na VDD (3.3v), wakati pini za manjano upande wa kulia zimefungwa na VDD2 (1.8v).
Ili kusafirisha habari kutoka kwa muundo huu, unahitaji kuchagua Faili → Export → Export NVM, kama inavyoonyeshwa kwenye Kielelezo 3.
Kisha utahitaji kuchagua Faili za Intel HEX (*.hex) kama aina ya faili na uhifadhi faili.
Sasa, utahitaji kufungua faili ya.hex na kihariri cha maandishi (kama Notepad ++). Ili kujifunza zaidi juu ya muundo wa faili ya HEX ya Intel na sintaksia, angalia ukurasa wake wa Wikipedia. Kwa programu tumizi hii tunavutiwa tu na sehemu ya data ya faili kama inavyoonyeshwa kwenye Kielelezo 5.
Angazia na unakili kaiti 256 za data ya usanidi wa NVM iliyoko ndani ya faili ya HEX. Kila mstari ambao tunaiga una herufi 32 kwa urefu, ambayo inalingana na ka 16.
Bandika habari kwenye sehemu iliyoangaziwa ya nvmString ya mchoro wa Arduino kama inavyoonyeshwa kwenye Kielelezo 6. Ikiwa unatumia Mdhibiti Mdhibiti asiye wa Arduino, unaweza kuandika kazi ili kuchanganua nvmData iliyohifadhiwa kwenye faili ya GreenPAK. GP6. (Ikiwa utafungua faili ya GreenPAK na kihariri cha maandishi, utaona kuwa tunahifadhi habari za mradi katika fomati ya XML inayoweza kupatikana kwa urahisi.)
Ili kuweka data ya EEPROM kwa muundo wako wa GreenPAK, chagua kizuizi cha EEPROM kutoka kwa jopo la vifaa, fungua jopo la mali yake, na ubonyeze "Weka Takwimu."
Sasa unaweza kuhariri kila ka katika EEPROM kibinafsi na kiolesura chetu cha GUI.
Mara tu data yako ya EEPROM ikiwekwa, unaweza kuipeleka kwenye faili ya HEX ukitumia njia ile ile iliyoelezewa hapo awali kwa kusafirisha data ya NVM. Ingiza kaiti hizi 256 za data ya EEPROM kwenye sehemu ya eepromString ya mchoro wa Arduino.
Kwa kila muundo wa kawaida, ni muhimu kuangalia mipangilio ya ulinzi ndani ya kichupo cha "Usalama" cha mipangilio ya mradi. Kichupo hiki kinasanidi bits za ulinzi kwa rejista za usanidi wa tumbo, NVM, na EEPROM. Chini ya usanidi fulani, kupakia mlolongo wa NVM kunaweza kufunga SLG46824 / 6 kwenye usanidi wake wa sasa na kuondoa utendaji wa MTP wa chip.
Hatua ya 3: Tumia Mchoro wa Arduino
Pakia mchoro kwa Arduino yako na ufungue mfuatiliaji wa serial na kiwango cha baud cha 115200. Sasa unaweza kutumia msukumo wa MENU mchoro kutekeleza amri kadhaa:
● Soma - inasoma data ya NVM ya kifaa au data ya EEPROM kwa kutumia anwani maalum ya mtumwa
● Futa - inafuta data ya kifaa ya NVM au EEPROM kwa kutumia anwani maalum ya mtumwa
● Andika - Futa kisha uandike data ya kifaa ya NVM au data ya EEPROM ukitumia anwani maalum ya mtumwa. Amri hii inaandika data iliyohifadhiwa kwenye safu ya nvmString au eepromString.
● Ping - inarudisha orodha ya anwani za watumwa ambazo zimeunganishwa na basi ya I2C
Matokeo ya maagizo haya yatachapishwa kwa kiweko cha mfuatiliaji wa serial.
Hatua ya 4: Vidokezo vya Programu na Mazoea Bora
Katika kipindi cha kuunga mkono SLG46824 / 6, tumeandika vidokezo vichache vya programu kusaidia kuzuia mitego ya kawaida inayohusiana na kufuta na kuandika kwa nafasi ya anwani ya NVM. Vifungu vifuatavyo vinaelezea mada hii kwa undani zaidi.
1. Utekelezaji Sahihi ya 16-Byte NVM Ukurasa Waandika:
Wakati wa kuandika data kwa SLM46824 / 6's NVM, kuna mbinu tatu za kuepuka:
● Ukurasa unaandika chini ya ka 16
● Ukurasa unaandika zaidi ya ka 16
● Ukurasa unaandika kwamba hauanzi kwenye rejista ya kwanza ndani ya ukurasa (IE: 0x10, 0x20, n.k.)
Ikiwa mbinu yoyote hapo juu inatumiwa, kiolesura cha MTP kitapuuza uandishi wa I2C ili kuepuka kupakia NVM na habari isiyo sahihi. Tunapendekeza kufanya usomaji wa I2C wa nafasi ya anwani ya NVM baada ya kuandika ili kudhibitisha uhamishaji sahihi wa data.
2. Kuhamisha Takwimu za NVM kwenye Rejista za Usanidi wa Matrix
Wakati NVM imeandikwa, rejista za usanidi wa matrix hazipakizi kiatomati na data mpya iliyoandikwa ya NVM. Uhamisho lazima uanzishwe kwa mikono kwa kuendesha baiskeli PAK VDD au kwa kutengeneza upya laini ukitumia I2C. Kwa kuweka rejista katika anwani 0xC8, kifaa kinawasha tena mlolongo wa Power-On Reset (POR) na kupakia tena data ya rejista kutoka NVM kwenye sajili.
3. Kuweka tena Anwani ya I2C baada ya Kufuta NVM:
Wakati NVM inafutwa, anwani ya NVM iliyo na anwani ya mtumwa ya I2C itawekwa 0000. Baada ya kufuta, chip itahifadhi anwani yake ya sasa ya watumwa ndani ya rejista za usanidi hadi kifaa kiweke upya kama ilivyoelezwa hapo juu. Mara tu chip inapowekwa tena, anwani ya mtumwa ya I2C lazima iwekwe kwenye anwani 0xCA ndani ya rejista za usanidi kila wakati GreenPAK inaendesha baisikeli ya umeme au kuweka upya. Hii lazima ifanyike hadi ukurasa mpya wa anwani ya mtumwa wa I2C umeandikwa katika NVM.
Hatua ya 5: Majadiliano ya Errata
Wakati wa kuandikia "Ukurasa wa kufuta Byte" (Anwani: 0xE3), SLG46824 / 6 hutoa ACK isiyo ya kufuata I2C baada ya sehemu ya "Takwimu" ya amri ya I2C. Tabia hii inaweza kutafsiriwa kama NACK kulingana na utekelezaji wa bwana wa I2C.
Ili kuzingatia tabia hii, tulibadilisha programu ya Arduino kwa kutoa maoni juu ya nambari iliyoonyeshwa kwenye Mchoro 11. Sehemu hii ya ukaguzi wa nambari kwa I2C ACK mwishoni mwa kila amri ya I2C katika kazi ya eraseChip (). Kazi hii hutumiwa kufuta kurasa za NVM na EEPROM. Kwa kuwa sehemu hii ya nambari iko kwenye kitanzi cha "kurudi -1;" laini husababisha MCU kutoka mapema mapema kwenye kazi.
Licha ya uwepo wa NACK, kazi za kufuta za NVM na EEPROM zitatekelezwa vizuri. Kwa ufafanuzi wa kina wa tabia hii, tafadhali rejelea "Toleo la 2: Tabia isiyo ya kufuata I2C ya Ufuataji wa Nambari ya NVM na EEPROM Erase Byte" katika hati ya makosa ya SLG46824 / 6 (Marekebisho XC) kwenye wavuti ya Dialog.
Hitimisho
Katika hii Inayoweza kufundishwa tunaelezea mchakato wa kutumia programu iliyotolewa ya Arduino kupakia masharti ya NVM na EEPROM kwa GreenPAK IC. Nambari iliyo kwenye Mchoro wa Arduino imesemwa vizuri, lakini ikiwa una maswali yoyote kuhusu mchoro, tafadhali wasiliana na mmoja wa Wahandisi wa Maombi ya Shamba au tuma swali lako kwenye mkutano wetu. Kwa habari ya kina zaidi kuhusu sajili na taratibu za programu ya MTP, tafadhali rejelea Mwongozo wa Programu ya Maongezi ya Maongezi.
Ilipendekeza:
Jinsi ya Kuweka Kiwango au Programu ya ESP8266 AT Firmware kwa Kutumia ESP8266 Flasher na Programu, Moduli ya IOT Wifi: Hatua 6
Jinsi ya Flash au Programu ya ESP8266 AT Firmware kwa Kutumia ESP8266 Flasher na Programu, Moduli ya IOT Wifi: Maelezo: Moduli hii ni adapta / programu ya USB ya moduli za ESP8266 za aina ESP-01 au ESP-01S. Imewekwa vizuri kwa kichwa cha kike cha 2x4P 2.54mm ili kuziba ESP01. Pia inavunja pini zote za ESP-01 kupitia 2x4P 2.54mm kiume h
Arduino: Programu za Muda na Udhibiti wa Kijijini Kutoka kwa Programu ya Android: Hatua 7 (na Picha)
Arduino: Programu za Wakati na Udhibiti wa Kijijini Kutoka kwa Programu ya Android: Nimekuwa nikijiuliza kila wakati ni nini kinatokea na bodi zote za Arduino ambazo watu hawaitaji baada ya kumaliza miradi yao nzuri. Ukweli ni wa kukasirisha kidogo: hakuna chochote. Nimeona hii nyumbani kwa familia yangu, ambapo baba yangu alijaribu kujenga nyumba yake mwenyewe
[Prod] TS 2x20W - Programu za Programu za Bluetooth Mimina Enceintes Craft 'n Sauti: Hatua 9
[Prod] TS 2x20W - Vipindi vya Programu Bluetooth Pour Enceintes Craft 'n Sauti: Les enceintes Craft' n Sound intègrent un DSP (Digital Sound Processor = Traitement Numérique du Son), ni kwa nini wanasheria wengi wanaonyesha ishara hii mfumo wa utaftaji huduma, aina moja na aina nyingi za leseni, les
Programu ya Arduino Laser + Programu ya Kudhibiti: Hatua 8
Mradi wa Arduino Laser + Programu ya Kudhibiti: XY - skanning ya laser ya 2x 2x 35mm 0.9 ° stepper motors - hatua 400 / rev Usawazishaji wa kioo kiotomatiki Udhibiti wa kijijini (kupitia bluetooth) Programu ya Udhibiti wa kijijini na GUI Upakuaji wa Chanzo: github.com/stan
(Ascensor) Mfano wa Elevator Kutumia Arduino, Mvumbuzi wa Programu na Programu Nyingine ya Bure: Hatua 7
(Ascensor) Mfano wa Elevator Kutumia Arduino, Inventor ya App na Programu Nyingine ya Bure: ESPConstrucción, paso ya programu, de un ascensor a escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), mvumbuzi wa programu (para diseño de aplicación como panel ya kudhibiti del ascensor) na freeCAD na LibreCAD kwa ugonjwa.Abajo