Awọn anfani:
- Agbara lati mu yara egungun famuwia microcontroller, awakọ ati awọn iyaworan ẹrọ ipinlẹ pẹlu AI
- Agbara lati ṣe ayẹwo idalọwọduro, akoko, ajafitafita ati ọgbọn agbara kekere pẹlu atilẹyin AI
- Agbara lati jẹrisi koodu famuwia ti AI ti ipilẹṣẹ nipasẹ itupalẹ aimi, idanwo lori ohun elo, ati awọn ibeere aabo
Eto ti a fi sii jẹ ẹrọ itanna ti a ṣe ni ayika microcontroller (kọmputa kekere kan ti o ni ero isise, iranti ati awọn agbeegbe lori chirún kan) ti a ṣe lati ṣe iṣẹ kan pato: thermostat, modẹmu, oju sensọ, awakọ motor. Famuwia jẹ sọfitiwia ti o nṣiṣẹ ni taara ohun elo ẹrọ yii. Ninu ẹyọ yii iwọ yoo rii bii o ṣe le lo AI bi ohun imuyara ni idagbasoke famuwia (kikọ awakọ, ẹrọ ipinlẹ, idalọwọduro ati ọgbọn akoko, iṣakoso agbara kekere). AI lagbara gaan ni ifaminsi; Ṣugbọn ni agbaye ifibọ, koodu ti wa ni intertwined pẹlu hardware, gidi akoko, ati igba aabo. Nitorinaa gbogbo laini ti AI ṣejade gbọdọ lọ nipasẹ itupalẹ aimi, forukọsilẹ / ṣayẹwo iwe data, ati idanwo gangan ni ohun elo.
Nibo ni agbara, nibo ni eewu ni famuwia AI
AI lagbara pupọ lori “egungun” ati “ku” apakan ti famuwia: ilana ti awakọ I2C/SPI, ilana ti ẹrọ ipinlẹ kan (ero ti o ṣalaye awọn ipinlẹ ati awọn iyipada ti ẹrọ), imuse ifipamọ oruka, parser itọnisọna, egungun idanwo. O le ka tabili iforukọsilẹ ninu iwe data eka kan ati ṣe ipilẹṣẹ koodu ibẹrẹ. Le ṣe alaye aṣiṣe, tumọ ikilọ alakojọ kan.
Ibi ti o ti lewu ni pataki ti eto ti a fi sii:
- Forukọsilẹ adirẹsi ati bit aaye: AI le misremember kan ni ërún ká Forukọsilẹ map; Àdírẹ́sì kọ̀ọ̀kan àti bit gbọ́dọ̀ jẹ́rìí sí láti inú ìwé ẹ̀rọ náà.
- Akoko ati akoko gidi: Awọn iṣẹju-aaya melo ni iṣẹ ṣiṣe gba, iye igba ti idalọwọduro ba de, da lori ohun elo; AI sọtẹlẹ, o wọn.
- Iyipada owo: Ti awọn oniyipada ba pin laarin iṣẹ ṣiṣe idalọwọduro (ISR) ati lupu akọkọ ko ni aabo nipasẹ iyipada ati iraye si atomiki, ipalọlọ, awọn aṣiṣe ti kii ṣe atunwi.
- Awọn opin orisun: Aponsedanu akopọ, jijo iranti, akoko aago ajalu tumọ si jamba ninu ifibọ.
Idilọwọ, akoko ati oluṣọ
Idilọwọ jẹ nigbati iṣẹlẹ ba waye (data ti de, aago ti pari), ero isise naa fi iṣẹ akọkọ silẹ o si fo si ilana iṣẹ kan (ISR: Iṣeduro Iṣẹ Idilọwọ). Awọn ISR jẹ awọn koodu ifarabalẹ julọ julọ ninu eto ifibọ. Awọn ofin ipilẹ: ISR yẹ ki o jẹ kukuru (iṣẹ pipẹ ti fi silẹ si lupu akọkọ), ko yẹ ki o jẹ awọn iṣẹ idinamọ (duro, tẹjade) ninu rẹ, awọn oniyipada pin yẹ ki o ni aabo.
Watchdog jẹ ẹrọ aabo ti o tun pada ẹrọ laifọwọyi ti sọfitiwia ba kọlu; Famuwia naa "nfunni" nigbagbogbo, ti kii ba ṣe bẹ, eto naa ti tunto. AI ṣe agbekalẹ awọn ẹya wọnyi, ṣugbọn iye akoko oluṣọ, da gbigbi awọn iwulo, ati eto isuna eto nilo lati ni ifọwọsi lodi si ẹru gangan lori eto rẹ.
Imọran: Nigbati o ba n tẹ ISR kan si AI, sọ ni gbangba lati “pa ISR kukuru, ko si idinamọ, samisi awọn oniyipada pinpin pẹlu iyipada ati iraye si atomiki, fi iṣẹ pipẹ si lupu akọkọ pẹlu asia.” Lẹhinna ṣayẹwo laini nipasẹ laini ninu koodu ti o gbejade pe awọn ofin wọnyi ti lo.
Agbara kekere ati aabo
Isakoso agbara kekere jẹ pataki ni awọn ẹrọ ti o ni agbara batiri: fifi ero isise si sun, pipa awọn agbeegbe, ji dide pẹlu iṣẹlẹ kan. Awọn afọwọya AI awọn iyipada ipo ipo oorun ati imọ-jinlẹ ji, ṣugbọn agbara lọwọlọwọ ni a mọ nikan nipasẹ wiwọn (mita lọwọlọwọ ni ipele microampere); AI sisọ “o fa ~ 2 µA ni ipo yii” jẹ amoro kan.
Lati irisi aabo, awọn ẹrọ ifibọ ti n pọ si nẹtiwọọki ati awọn ailagbara famuwia (fififififipamọ, titẹ sii ti ko jẹrisi, cryptography ti ko lagbara, wiwo yokokoro ṣiṣi) jẹ awọn eewu to ṣe pataki. AI le ṣe iranti rẹ ti awọn ipilẹ ifaminsi ailewu, ṣugbọn aabo koodu ti ipilẹṣẹ jẹ ijẹrisi nipasẹ awọn irinṣẹ itupalẹ aimi, atunyẹwo koodu, ati idanwo aabo nigbati o jẹ dandan. Ninu awọn eto aabo-pataki (egbogi, adaṣe, ile-iṣẹ) iṣelọpọ AI ko yẹ ki o rọpo awọn ilana ti o nilo nipasẹ ifọwọsi ẹlẹrọ ti o peye ati boṣewa aabo ti o yẹ (fun apẹẹrẹ IEC 61508, ISO 26262).
mẹta mini igba
Ọran 1 - Ayipada pín pínpín. Onimọ-ẹrọ kan beere koodu gbigba UART lati ọdọ AI. Awọn koodu increments a counter ni ISR ati awọn ifilelẹ ti awọn lupu Say yi counter; ṣugbọn counter kii ṣe iyipada ati kika multibyte kii ṣe atomiki. Ẹrọ naa n ṣiṣẹ ni ọpọlọpọ igba, ṣugbọn lẹẹkọọkan o ṣi kika kika data ati pe aṣiṣe ko le tun ṣe. Apeja aimi ati atunyẹwo koodu ti o padanu iyipada; Awọn aṣiṣe disappears nigbati awọn counter ni idaabobo. Ẹkọ: Awọn aṣiṣe concurrency jẹ loorekoore ati aibikita ni koodu AI; O jẹ dandan lati ka ati rii daju.
Irú 2 - Ti ko tọ Forukọsilẹ bit. Akọṣẹ gbejade koodu ibẹrẹ ADC ti ipilẹṣẹ nipasẹ AI; ADC ka awọn iye airotẹlẹ. Ni afiwe pẹlu iwe data, o han pe AI ti ṣeto iwọn iṣeto ni ipo ti ko tọ (maapu fun iyatọ oriṣiriṣi ti ërún). Ni kete ti awọn bit ti wa ni atunse, awọn ADC ṣiṣẹ ti tọ. Ẹkọ: jẹrisi akọtọ iforukọsilẹ kọọkan lodi si iyatọ ti o pe ti iwe data naa.
Ọran 3 - Lilo deede. Onimọ-ẹrọ kan beere lọwọ AI fun egungun ẹrọ ipinlẹ kan fun ilana sensọ eka kan; ṣe apejuwe awọn ipinlẹ, awọn iyipada, ati awọn ẹka akoko akoko. AI ṣe agbejade mimọ, ilana kika. Ẹlẹrọ gba ilana yii, ṣe idaniloju iraye si iforukọsilẹ kọọkan pẹlu iwe data, ṣe iwọn awọn akoko pẹlu oscilloscope, ati ṣe idanwo ni ohun elo. Idagbasoke ti pari ni awọn wakati diẹ dipo awọn ọjọ diẹ. Ẹkọ: AI ṣe iyara egungun; Onimọ-ẹrọ ṣe ijẹrisi naa.
Awọn awoṣe kiakia idakọ
Àdàkọ ìwakọ SKELETON"Kọ egungun awakọ [I2C/SPI/UART] fun [chip/ẹgbeegbe]: ibẹrẹ, kika, kikọ, awọn iṣẹ mimu aṣiṣe. Fi awọn adirẹsi iforukọsilẹ silẹ ati awọn aaye die-die ni PLACEHOLDER (fun apẹẹrẹ REG_XXX) ki o si ṣakiyesi 'gbejade ki o jẹrisi wọn lati inu iwe asọye akoko kan pato’. ila."
Àdàkọ Aabo ISR"Kọ iwe ilana iṣẹ idalọwọduro (ISR) fun iṣẹlẹ atẹle: [iṣẹlẹ]. Awọn ofin: Jeki ISR kukuru, ma ṣe dina, samisi awọn oniyipada pinpin pẹlu vivolatile ati wiwọle atomiki, ṣe aṣoju iṣẹ gigun si lupu akọkọ pẹlu asia kan. Ni ipari koodu naa, sọ ibi ti kọọkan ninu awọn ofin wọnyi waye ki MO le rii daju.”
Àdàkọ ẹrọ IPINLE"Kọ egungun ẹrọ ipinlẹ kan fun ilana/ilana wọnyi: [ṣapejuwe awọn ipinlẹ, awọn iṣẹlẹ, awọn iyipada, ati awọn akoko ipari]. Pato awọn titẹ sii / awọn iṣe ijade ati aṣiṣe/aṣiṣe akoko fun ipinlẹ kọọkan. Fi awọn iye-ẹrọ pato-ẹrọ silẹ (forukọsilẹ, iye akoko) bi awọn aye ati akiyesi pe wọn nilo lati rii daju.”
Àdàkọ Àtúnyẹ̀wò CODE "Ṣayẹwo koodu famuwia wọnyi lati irisi ifibọ ati awọn ewu asia: iyipada ti ko ni aabo (iyipada / atomity), iṣẹ pipẹ / idinamọ ni ISR, eewu ti ṣiṣan akopọ, duro laisi akoko ipari, awọn aṣiṣe forukọsilẹ, kikọ sii oluṣọ. daba bi o ṣe yẹ ki MO ṣe idanwo / rii daju fun wiwa kọọkan. Koodu: [lẹẹmọ].”
Ailagbara kiakia / Alagbara kiakia
ALAILẸ PROMPT: "Kọ mi UART awakọ."
Lagbara PROMPT: "Kọ ohun idalọwọduro-orisun UART gba awakọ ilana fun [microcontroller]. Lo a oruka saarin; pa awọn ISR kukuru ati ki o kan kọ si awọn saarin, processing ni akọkọ lupu. Ṣe pín atọka iyipada ati atomiki. Fi awọn adirẹsi iforukọsilẹ ni placeholders, samisi wọn lati wa ni wadi lati awọn datasheet. Ni opin ti awọn koodu, akojö ohun ti mo nilo lati se idanwo. "
Ailagbara tọ gbe koodu ti o jẹ hardware ati concurrency afọju; Itọkasi ti o lagbara nfi awọn ofin ifibọ ati awọn itọsi fun atokọ ijẹrisi naa.
Famuwia ijerisi fẹlẹfẹlẹ
Layer
ohun ti mu
Ipa ti AI
Ayẹwo iwe data
Iforukọsilẹ ti ko tọ / bit
Ṣe ipilẹṣẹ ibi ipamọ ati akọsilẹ iṣakoso
Itupalẹ aimi (linter)
iyipada, oriṣi, awọn aṣiṣe aala
Akojọ ofin ati alaye
Awọn ikilo alakojo
Iyipada ti ko tọ, iye ti ko lo
Ọrọìwòye Ikilọ
Idanwo ni hardware
Akoko, ihuwasi gangan
Igbeyewo ohn aba
Oscilloscope / atunnkanka
Ifihan agbara ati išedede Ilana
Iwọn wiwọn ati igbi ti a reti
Išọra: Nitoripe famuwia kan “ṣe akopọ” ati “ṣiṣẹ ni ọpọlọpọ igba” ko tumọ si pe o tọ. Iyipada owo ati awọn aṣiṣe akoko waye nikan labẹ awọn ipo kan; Ti o ni idi ti onínọmbà aimi ati idanwo gidi ni ohun elo jẹ pataki.
Awọn aṣiṣe ti o wọpọ
- Ko ṣe aabo awọn oniyipada pinpin. Data laarin ISR ati lupu akọkọ gbọdọ jẹ iyipada ati atomiki.
- Ko ṣe idaniloju adirẹsi iforukọsilẹ / bit pẹlu iwe data. AI le ṣe maapu iyatọ ti ko tọ.
- Nmu ISR gun tabi dina laarin rẹ. Awọn eto ko le dahun, Idilọwọ ti wa ni padanu.
- A ro akoko lai wiwọn. Gangan akoko da lori hardware; jẹri pẹlu oscilloscope.
- Nlọ kuro ni koodu aabo / aabo-pataki fun ifọwọsi AI. Onimọ ẹrọ ti o peye ati ilana boṣewa ti o yẹ jẹ pataki.
Ni soki
Ninu ẹyọ yii o lo AI bi ohun imuyara ti o lagbara ni ṣiṣẹda egungun famuwia, awakọ, ẹrọ ipinlẹ ati aworan afọwọya ISR. Ṣugbọn ni agbaye ti a fi sii, koodu ti wa ni ibaraenisepo pẹlu ohun elo, akoko gidi, ati aabo: awọn iforukọsilẹ / awọn iye bit ti wa ni idaniloju lati inu iwe-ipamọ data, a ti rii daju pe owo-owo lati inu itupalẹ aimi, akoko ti jẹri lati oscilloscope, ihuwasi jẹ iṣeduro lati idanwo gidi ni ohun elo. AI ṣe igbasilẹ egungun ni iṣẹju; Ẹlẹrọ ṣe idaniloju famuwia ti n ṣiṣẹ ni deede, ni aabo ati ni akoko. Ninu awọn eto aabo-pataki, iṣelọpọ AI ko rọpo awọn ilana aabo ti o yẹ ati ifọwọsi ẹlẹrọ to peye.
Ohun elo iṣẹ-ṣiṣe
Yan agbeegbe kan (fun apẹẹrẹ sensọ I2C kan). Pẹlu awoṣe “egungun awakọ”, beere AI fun egungun awakọ ti o fi awọn iforukọsilẹ silẹ ni awọn aye. Lẹhinna ṣe agbekalẹ aworan afọwọya ISR kan fun idalọwọduro data-ṣetan lati sensọ yii pẹlu awoṣe “aabo ISR”. Nikẹhin, ṣayẹwo koodu ti o ṣe pẹlu awoṣe “atunyẹwo koodu” fun awọn eewu ti a fi sinu ati kọ o kere ju awọn igbesẹ ijerisi mẹta/igbeyewo.
akojọ ayẹwo
- [] Mo jẹrisi adirẹsi iforukọsilẹ kọọkan ati bit lati iyatọ iwe data ti o pe.
- [] Mo jẹ ki awọn oniyipada pinpin laarin ISR ati lupu akọkọ jẹ iyipada ati atomiki.
- [] Mo ti pa awọn ISR kukuru, ko fi ìdènà, fà lori gun ise to akọkọ lupu.
- [] Mo gbero lati ṣe idanwo akoko ati ihuwasi gangan ni hardware ati pẹlu oscilloscope kan.
- [] Mo ṣayẹwo koodu naa pẹlu itupalẹ aimi ati awọn ikilọ alakojọ.
- [] Mo fi awọn ẹya aabo/aabo-pataki silẹ si ifọwọsi ẹlẹrọ ti o ni oye ati ilana boṣewa ti o yẹ.