Pasiuna sa Mga Microcontroller

Pasiuna sa Microcontrollers:
Ang usa ka microcontroller usa ka chip o integrated circuit nga adunay sulud nga tanan nga mga elemento sa usa ka CPU (Processor, RAM, ROM, I / O). Ang kini nga mga aparato gipanganak sa ulahing bahin sa 70 aron makahatag usa ka solusyon sa mahal ug komplikado nga sistema nga gibase sa discrete lohika. 

Matag adlaw nakita namon ang gatusan nga mga aplikasyon diin gigamit ang mga microcontroller sama sa digital electric oven, awto, PLC sa industriya, ubp. 

Sa kini nga kurso mahibal-an namon ang paggamit sa 2 mga pamilya o tatak sa mga aparato: ang mga PIC gikan sa kompanya nga MICROCHIP ug ang mga AVR gikan sa kompanya nga ATMEL, parehas nga gigamit sa sulud sa hobbyist field ug usab sa sulod sa industriya.

Ang kini nga 2 pamilya sa mga aparato naa sa tipo sa RISC (gipakubus nga set sa panudlo). Kini nagpasabut nga ang hugpong sa mga panudlo gagmay ra kaayo sa han-ay sa 30 hangtod 200 nga panudlo nga ipatuman, gawas sa pipila niini, sa han-ay sa 1 siklo sa makina.

Sa mga mosunud nga litrato makita namon ang 2 nga mga aparato: Usa ka PIC16F877A gikan sa Microchip ug usa ka ATmega328P gikan sa ATMEL.

Pag-subscribe sa among lista sa pag-mail

Panguna nga istruktura sa usa ka microcontroller:

Sa imahe mahimo naton nga makita ang mga punoan nga sangkap sa bisan unsang microcontroller. Ang mga sangkap nga naglangkob sa matag aparato kasagarang magkalainlain depende sa naghimo ug sa arkitektura nga anaa niini.

Arkitektura sa usa ka Microcontroller:

Adunay panagsama 2 nga lahi sa arkitektura:

 

Von Neumann
Harvard

 

Von Neumann arkitektura:

Ang yunit sa pagproseso o CPU konektado sa usa ka memorya nga adunay sulud nga mga panudlo ug datos sa programa. Ang gitas-on sa mga panudlo gikutuban sa yunit sa gitas-on sa datos, busa ang microprocessor kinahanglan maghimo daghang mga pag-access sa memorya aron makapangita mga komplikado nga panudlo.

Ang katulin sa operasyon gilimitahan sa epekto sa bottleneck nga nagpasabut sa usa ka bus alang sa datos ug mga panudlo, nga nagpugong sa pagsapaw sa parehas nga mga oras sa pag-access.

Arkitektura sa Harvard:

Sa kini nga klase nga arkitektura, ang memorya sa datos nahimulag gikan sa memorya sa programa aron sila makonektar sa CPU pinaagi sa hingpit nga independente nga managbulag nga mga bus nga mahimong lainlain ang gilapdon. Tungod niini, ang kadak-an sa mga panudlo dili kalabotan sa kadak-an sa datos ug busa mahimo nga ma-optimize aron ang bisan unsang panudlo mag-okupar sa usa ka posisyon sa memorya sa programa. Nakab-ot niini ang labi ka daghan nga tulin ug usa ka labing mubo nga gitas-on sa programa.

Ang usa pa nga bahin mao nga ang oras sa pag-access sa mga panudlo mahimong magsapaw sa datos, pagkab-ot sa usa ka labing taas nga tulin sa operasyon.

Parehas ang mga microcontroller gikan sa microchip firm ug ang mga microcontroller gikan sa ATMEL firm nga adunay arkitektura sa Harvard.

Panguna nga mga kinaiya sa mga PIC:  

 

Mikunhod ang gidaghanon sa mga panudlo.
1 default ang paggamit sa accumulator W ra.
Ang tanan nga mga posisyon sa RAM function ingon gigikanan ug / o padala rehistro alang sa operasyon sa matematika ug uban pang mga gimbuhaton.
Usa ka stack sa hardware alang sa pagtipig sa mga panudlo sa pagbalik sa pag-andar.
Ang wanang sa datos adunay kalabotan sa CPU, pantalan, ug mga rehistro sa peripheral.
Ang mga panudlo gipatuman sa 1 siklo sa makina (4 nga siklo sa orasan).

 

Panguna nga Mga Tampok sa AVR:  

 

Maayo nga pagpatuman sa nahipos nga C code.
Nagrehistro ang X, Y, Z alang sa pagdumala sa mga panudlo.
Ang kinauyokan nga multi-accumulator.
Ang tanan nga mga panudlo gawas sa pipila nga mga panudlo sa paglukso okupar sa 1 siklo sa makina nga katumbas sa 1 o 2 nga siklo sa orasan.
Libre nga mga gamit sa pag-uswag ubos sa GNU.
Nagtugot sa IN - CIRCUIT nga programa.

Nakita na namon ang mga nag-unang kinaiya nga nagpasabut sa PIC ug AVR microcontrollers. Sa sunod makita naton kung unsang mga gamit ang kinahanglan naton aron magtrabaho kini.
 
Sa miaging seksyon nakita namon nga ang mga punoan nga kinaiya niini usa ka microcontroller ingon man usa ka dali nga pagsusi sa arkitektura niini.

Sa tibuuk nga kini nga kurso makita namon kung giunsa ang programa sa lainlaing mga aparato aron matuman nila ang usa ka buluhaton nga gitino sa mogamit, busa kinahanglan namon ang usa ka sinultian diin among mapalambo ang among mga programa. Alang sa PIC o AVR adunay daghang mga tagpagsama, parehas nga bayad ug libre nga gipanghatag.

Alang sa kini nga katuyoan, gipili namon ang C nga sinultian tungod kay kini adunay daghang mga bentaha, nga taliwala niini mahimo namon i-highlight:

Maayo nga pagdaladala taliwala sa lainlaing mga tag-compiler nga adunay gamay nga mga pagbag-o sa source code.
Naghatag kini daghang kaarang sa pag-program, tungod kay ang mogamit mahimo usa ka talagsaon nga istilo, pinahiuyon sa mga istruktura sa sinultian.
Ubos nga lebel nga pag-access sa memorya pinaagi sa paggamit sa mga panudlo.
Paghimo mga istruktura nga adunay mga lahi nga datos nga gihubit sa gumagamit.
Daghang mga pananglitan ug kasayuran sa web.

Daghan sa mga gamit nga gigamit aron maugmad ang mga aplikasyon nga gigamit ang mga microcontroller mahimong makit-an pinaagi sa paghimo og dali nga pagpangita sa web. Aron mapadali ang buluhaton sa kini nga pagpangita alang sa magbabasa, gilista namon ang labing gigamit sa ubus ...

Gikinahanglan nga mga gamit sa software:

Alang sa parehas nga PIC ug AVR microcontrollers daghang mga gamit nga mahimo namon magamit bisan bayad o libre nga pagpanagtag. Alang sa pag-uswag sa among kurso kinahanglan nga kinahanglanon namon ang 3:

Tigsama sa C.
Development IDE.
Debugger / Simulator
Programmer / Recorder.

Mga tihi sa C:

Sama sa nahisgutan namon kaniadto, ang mga aparato sa pamilya nga AVR gihimo uban ang ideya nga ipatuman ang hiniusa nga C code.

Ang AVRGCC karon usa sa labing kaayo nga libre nga pag-apud-apod nga C compiler nga mahimo namon makit-an; Adunay kini tanan nga mga bahin sa sumbanan sa C (tan-awa ang ANSI C).

Sa kaso sa mga PIC microcontroller, daghang mga tagsama, apan ang labi nga gigamit sa publiko nga amateur mao ang C gikan sa CCS; ang disbentaha sa kini nga software mao nga kini gibayran. Mahimo unta nga gipili namon ang bisan unsang uban pa nga tagtipon gikan sa daghang mga adunay, apan kini ang usa nga adunay labing kaayo nga relasyon (gidaghanon sa mga gisuportahan nga aparato / presyo / pagpaandar).

Development IDE:

Adunay daghang mga plataporma sa pag-uswag alang sa parehas nga mga aparato sa pamilya nga ATMEL ug MICROCHIP.

Alang sa ATMEL adunay kami AVR - Studio 4.

Ang kini nga software mahimo o dili molihok kauban ang AVRGCC, nga gitugotan ang mogamit sa pag-order sa ilang mga proyekto, ug hatagan usab ang posibilidad nga itul-id, simulate ug irekord ang naugmad nga programa sa microcontroller.
Usa ka gamay nga disbentaha sa kini nga sistema ang paghiusa sa sinultian sa asembliya nga nasukip sa C code; Ang kini nga operasyon sa WINAVR (AVRGCC) gipadali pinaagi sa pagdeklara sa mga programa o piraso sa code nga gisulat sa tigpundok ingon mga panggawas nga gimbuhaton nga giapil sa punoan nga code.
Alang sa pamilya nga PIC sa mga microcontroller adunay MPLAB. Ang kini nga platform platform, sama sa AVR Studio, nagtanyag kanamo sa posibilidad nga maorganisar ang among mga proyekto, ingon man simulate, pagtul-id sa mga sayup ug pagrekord sa programa nga gihimo sa aparato.

Gikinahanglan ang mga gamit sa hardware:

Samtang gisulat usab namon ang among mga programa, naghimo ang mga tagpagsama mahimo mapatuman nga kodigo nga pareho sa usa nga maipatuman sa Windows o Linux. Adunay kini usa ka ".hex" extension (tan-awa ang format nga ".hex").

Aron maipasok ang nasulat nga programa sa aparato, kinahanglan namon ang usa ka galamiton sa gawas nga nagtugot kanamo sa pag-link sa memorya sa giingon nga aparato sa usa ka recording software, nga kasagarang gitawag nga «burner».

Sa merkado daghang mga gamit nga nagtuman sa kini nga kalihokan, apan ang labi nga gigamit sa mga bag-o ug propesyonal nga mga taghimo (tungod sa mga kinaiya nga naa kanila) mao ang mosunud:

PICKIT 2 (kompanya sa MICROCHIP).

AVR-ISPMK 2 (kompanya sa ATMEL).

Pinaagi sa paghulagway, hatagan ko ikaw usa ka litrato sa parehas nga mga gamit ...

PICKIT 2:

Kini nga programmer nga gihimo sa kompanya nga MICROCHIP, kauban ang MPLAB nga plataporma, magamit alang sa pagprograma sa mga microcontroll sa PIC. Sa network adunay daghang mga clone niini, busa aron makatipig sa mga gasto sa ulahi ipakita ko kung giunsa kini himuon.
HINUMDOMI: ang usa ka panukiduki nga bag-ohay nako nga gipakita nagpakita nga kini nga gamit gigamit sa pagrekord sa mga PIC ug AVR microcontrollers, nga wala maghimo bisan unsang pagbag-o sa hardware ug firmware sa programmer. Pinaagi ra sa us aka gamay nga aplikasyon mahimo namon madugangan kini nga pagpaandar, kini mapalambo sa ulahi.

AVR-ISPMK 2:

Ang kini nga aparato nga gihimo sa kompaniya sa ATMEL kauban ang AVR Studio suite gamiton aron maitala ang mga AVR microcontrollers. Sama sa PICKIT 2 daghang mga clone sa network, busa sa ulahi tudloan ko usab ka unsaon paghimo usa ...
Alang sa sunod nga susihon namon ang paggamit sa mga gamit nga gipatin-aw sa taas. Nanghinaut ako nga kini nagsilbi.

Kaniadto nakita namon ang mga gamit nga kinahanglan aron makahimo og mga aplikasyon nga adunay PIC ug AVR microcontrollers. Niini nga seksyon makita naton kung giunsa ang programa sa parehas nga lahi sa mga aparato.

Pagprogram sa PIC microcontroller:

Ang mga microcontroller sa PIC girekord sa usa ka sistema nga gitawag nga ICSP (Sa circuit serial programming), diin ang memorya sa programa, memorya sa datos, ug ang pulong nga pag-configure mahimong maitala.

Pinaagi sa paggamit sa kini nga sistema nakakuha kami 3 nga punoan nga mga bentaha:

Gaminusan namon ang oras sa pag-uswag, tungod kay dili nimo kinahanglan tangtangon ang aparato gikan sa motherboard kung diin kini, kinahanglan nimo nga ikonekta ang programmer sa ICSP socket niini.
Gaminusan namon ang kakapoy sa mekanikal sa mga pin sa microcontroller pinaagi sa dili pagbag-o sa lugar niini aron ma-program.
Mahimo natong makorihian ang mga sayup ug pagsulay nga mga programa nga direkta sa application card.

Mode sa pagrekord:

Aron maitala, ang PIC kinahanglan naa sa mode sa pagrekord. Daghang mga paagi aron masulud ang kini nga mode, depende sa gigamit nga PIC. Usa ka paagi mao ang pagpaila sa usa ka boltahe nga 12 volts pinaagi sa MCLR pin. (Ang uban pang pamaagi gitawag nga low voltage o LVP). Gamit kini nga pamaagi, kinahanglan nga isulud ang 5 volts pinaagi sa RB3 / PGM leg depende kung kini PIC16F o PIC18F (Tan-awa ang manwal sa programa alang sa matag pamilya sa mga aparato).

Ang mosunud nga imahe nagpakita usa ka pananglitan sa usa ka sirkito aron ang PIC moadto sa mode sa pagprograma. Matag higayon nga ipagawas ang buton nga pag-reset mahimo namon nga ma-access ang mga serbisyo sa pagrekord. Pagkahuman nga napindot ang buton ang aparato mosulud sa mode nga pag-reset nga magsugod sa tanan nga mga internal nga rehistro.

 

Arkitektura:
Sa higayon nga naa sa mode sa pagprograma, adunay access sa usa ka serye sa mga serbisyo pinaagi sa ICSP protocol. Gihulagway ang kini nga protocol sa duha nga lebel o sapaw:

Pisikal nga sapaw.

Ang sapaw sa mando.

Sa lebel sa pisikal, gitino kung giunsa ang pagbalhin sa mga tipik (mga orasan, oras sa pag-synchronize, ug uban pa) ug sa lebel sa pagmando, unsang mga bayanan ang kinahanglan ipadala aron ma-access ang lainlaing mga serbisyo.
Pisikal nga lebel:
Usa ka managsamang serial protokol ang gigamit aron mapadayon ang komunikasyon. Gikinahanglan ang duha ka mga wire, gikan sa pantalan B:

Data pin (DATA O PGD) RB7 (PIC16F / 18F). Kini nga direksyon us aka direksyon.
Clock pin (CKL O PGC) RB6 (PIC16F / 18F).

Sa imahe nakita namon ang mga lagdok nga gigamit sa usa ka PIC16F.

Ang mga detalye sa pag-operate mao ang mosunud:

Labing gamay nga hinungdanon nga tipik ang gipadala una.

Gikuha ang datos sa nahulog nga ngilit sa oras.

Ang minimum nga orasan nga orasan mao ang 200ns alang sa usa ka frequency nga 5Mhz.

Ang oras sa pag-set up (oras nga ang datos kinahanglan sa wala pa moabut ang pagkahulog nga sidsid) ug ang oras sa pagpugong (ang usa nga kinahanglan pagkahuman nga nahulog ang sulud) 100ns.

Ang mga kamandoan nga gipadala sa PIC 6 bits ug ang datos 14 bits kung gigamit ang mga microcontroller sa 16F line ug 16 bits kung gigamit ang mga aparato sa 18F line. Duha ka direksyon ang datos, mahimo kini ipadala sa PIC o mabasa gikan niini. Sa pagpasa sa datos, kinahanglan magsugod ang us aka gamay nga pagsugod ug paghunong, nga adunay kantidad nga 0. Sa kinatibuk-an, 16 nga nahulog nga mga ngilit ang gikinahanglan aron mapadala ang datos, ug 6 nga nahulog nga mga sidsid alang sa mga mando. Ang 18 nga nahulog nga mga sidsid gigamit alang sa mga PIC nga linya 18F.

Pagpadala sa kamandoan: 6 nga nahulog nga mga sidsid (6 nga tipik).

Pagpadala sa datos: 16 nga nahulog nga mga ngilit. (14 bits + 1 pagsugod gamay + 1 paghunong gamay). Alang sa PIC18F (16 bits + 1 pagsugod gamay + 1 paghunong gamay).

Duha-direksyon ang datos: mahimo kini ipadala o madawat gikan sa PIC.

Ang minimum nga oras taliwala sa pagpadala sa usa ka mando ug pagbasa o pagsulat datos kinahanglan nga 1 microsecond.

Ang-ang sa mando:

Sa kini nga lebel mao ang lainlaing mga mando sa serbisyo sa pagrekord, adunay lainlaing mga lainlaing mga mando depende sa pamilya sa mga aparato nga gigamit. Ang kini nga mga mando gigamit aron pagsulat sa datos sa memorya sa programa, pagbasa sa datos gikan sa memorya sa datos, pagsulud sa mode sa programa.

Ang kini nga mga mando gihulagway sa sheet sa datos sa matag aparato, aron ang magbabasa mahimo nga pangitaon kini sa iyang kaugalingon pinaagi sa pagsulud sa panid sa microchip ug pagpangita alang sa giya sa programa alang sa matag pamilya.

Programming sa AVR Microcontroller:

Ang mga microcontroller sa AVR girekord sa us aka sistema nga parehas sa gigamit alang sa mga PIC microcontroller nga gitawag nga ISP (Sa system programming), diin ang memorya sa programa, memorya sa datos ug pagsulud nga pulong mahimong maitala.

Ang mga kaayohan sa paggamit sa kini nga sistema parehas sa paggamit sa ICSP sa mga PIC.

Mode sa pagrekord:

Dili sama sa mga PIC microcontroller, ang mga aparato sa pamilya nga AVR managlahi sa dili pagkinahanglan og taas nga boltahe alang sa proseso sa pagrekord apan gigamit ang parehas nga boltahe sa paghatag alang sa tanan nila nga operasyon.

Aron makasulud sa mode sa pagprograma gihimo nila kini pinaagi sa piho nga mga mando depende sa pamilya sa mga gamit nga gigamit.

Arkitektura:

Ang gigamit nga arkitektura parehas sa mga PIC microcontroller nga gibase sa 2 nga sapaw, usa ka pisikal ug us aka mando.

Pisikal nga lebel:

Gigamit ang SPI protocol aron mapadayon ang komunikasyon, nga gipasimple ang recording protocol. Naglangkob kini sa usa ka Full - Duplex serial nga komunikasyon (nagpadala ug nakadawat datos sa parehas nga oras), nga nakakuha usa ka labi ka taas nga tulin kung nakigsulti sa aparato.

Sa kinatibuk-an kini nga sistema naggamit 4 ka kable aron maestablisar ang komunikasyon pinaagi sa SPI.

MISO: Input - Agalon ug Output - ulipon (signal sa data sa SPI).

MOSI: Output - Master ug Input - ulipon (signal sa data nga SPI).

SCK: Timailhan sa orasan.

RST: Microcontroller reset pin.

Sa imahe nakita namon ang pagpanagtag sa mga lagdok nga gigamit alang sa komunikasyon sa usa ka microcontroller sa pamilya nga AVR:

Ang usa ka mubu nga paghulagway sa operasyon mao ang mosunud:

Ang aparato mosulod sa mode sa pagprograma pagkahuman sa usa ka pagbalikbalik nga siklo.
Ang una nga mga mando gipadala pagkahuman sa usa ka panahon nga 20ms.
Ang mga panudlo adunay usa ka 4-byte format dili sama sa mga PIC diin ang mga mando adunay 6 bytes ang gitas-on.
Ang una nga gipadala nga mando mao ang "pahimoa ang mode sa mode" nga pagsugo
Giila ang aparato gamit ang angay nga mga mando.
Ang siklo sa pagbasa / pagsulat sa panumduman sa programa, panumduman sa datos ug mga piyus gisugdan.

Kini nga pagrepaso sa operasyon hinungdanon ug maghatag ra sa magbasa usa ka pagrepaso sa operasyon niini. Kung gusto nimo nga moadto sa lawom nga hilisgutan, kinahanglan nimo nga i-download ang gabay sa ISP protocol gikan sa website sa ATMEL.

Ang-ang sa mando:

Ang kini nga mga mando gihulagway sa sheet sa datos sa matag aparato, aron ang magbabasa mahimo nga pangitaon kini sa iyang kaugalingon pinaagi sa pagsulud sa panid sa ATMEL ug pagpangita alang sa giya sa programa alang sa matag pamilya.

Dili kami interesado sa mga mando sa matag pamilya tungod kay trabaho sa programmer (hardware) ang pagpatuman niini.

Sa pagkakaron nakita namon ang mga sukaranan aron masabtan ang proseso sa pagrekord sa parehas nga mga pamilya nga aparato. Sa sunod nga installment magsugod kami sa pagtuon sa pagtukod sa usa ka recorder aron magtrabaho kauban ang 2 pamilya sa mga aparato nga gihulagway.

[highlight] Kini nga artikulo orihinal nga gisulat ni Jonathan Moyano alang sa Ikkaro [/ gi-highlight]

Déjà un comentario