- Архитектура и приложения на микроконтролера PIC:
- Избор на PIC микроконтролер за нашите уроци:
- Избор на софтуер за нашите уроци:
- Подготовка с хардуер:
През 1980 г. Intel разработи първия микроконтролер (8051) с Harvard Architecture 8051 и оттогава микроконтролерите донесоха революция в електрониката и вградената индустрия. И с технологичния напредък във времето, сега имаме много по-ефективни и нискомощни микроконтролери като AVR, PIC, ARM. Тези микроконтролери са по-способни и лесни за използване, като разполагат с най-новите комуникационни протоколи като USB, I2C, SPI, CAN и др. Дори Arduino и Raspberry Pi са променили изцяло перспективата към микроконтролери, а Raspberry Pi е не само микроконтролер, но има и цяло компютър вътре.
Това ще бъде първата част от поредица уроци, които тепърва предстоят, които ще ви помогнат при изучаването на PIC микроконтролери. Ако сте от електроника и винаги сте искали да започнете с изучаването на някои микроконтролери и да влезете в света на кодирането и изграждането на неща, тогава тази серия уроци ще бъде първата ви стъпка за начало.
Микроконтролерът PIC е много удобен избор за започване на проекти с микроконтролер, тъй като има отлични форуми за поддръжка и ще действа като силна основа за надграждане на всички ваши усъвършенствани микроконтролери, които тепърва ще научите.
Тези уроци са създадени за абсолютни или средни обучаеми; ние сме планирали да започнем с най-основните проекти към напредналите. Очакваме никакви предварителни условия от учащите, тъй като ние сме тук, за да ви помогнем от всяко ниво. Всеки урок ще има теоретично обяснение и симулация, последвано от практически урок. Тези уроци няма да включват никакви дъски за разработка, ние ще направим свои собствени схеми, използвайки перфектна дъска. Затова се подгответе и отделете малко време всяка седмица, за да ви подобри с микроконтролери.
Сега нека да започнем с просто въведение за PIC микроконтролери и някои софтуерни настройки, за да стартираме следващия урок. Проверете видеото в края за инсталиране и настройка на MPLABX, XC8, Proteus и бързо разпаковане на програмиста PICkit 3.
Архитектура и приложения на микроконтролера PIC:
Микроконтролерът PIC е представен от Microchip Technologies през 1993 г. Първоначално тези PIC са разработени, за да бъдат част от PDP (Programmed Data Processor) Компютрите и всички периферни устройства на компютъра са свързани с помощта на този PIC микроконтролер. Следователно PIC получава името си като за периферен интерфейсен контролер. По-късно Microchip разработи много интегрални схеми от серията PIC, които могат да се използват за всяко малко приложение като осветление до напредналото.
Всеки микроконтролер трябва да бъде изграден около някаква архитектура, най-известният тип архитектура е архитектурата на Харвард, нашият PIC се основава на тази архитектура, тъй като принадлежи към класическото семейство 8051. Нека да влезем в малко въведение за харвардската архитектура на PIC.
В PIC16F877A микроконтролера се състои от вграден процесор, I / O портове, организация на паметта, A / D конвертор, таймер / броячи, прекъсва, серийна комуникация, осцилатор и модул на ККП, която да събира марки на ЗК мощен микроконтролер за начинаещи, за да започнете. Общата блок-схема на PIC архитектурата е показана по-долу
CPU (централен процесор):
Микроконтролерът има процесор за извършване на аритметични операции, логически решения и операции, свързани с паметта. Процесорът трябва да координира между RAM и останалите периферни устройства на микроконтролера.
Състои се от ALU (аритметична логическа единица), с помощта на която изпълнява аритметичните операции и логическите решения. А MU (Памет) също присъства да съхранявате инструкциите, след като те се изпълняват. Този MU решава размера на програмата на нашия MC. Състои се и от CU (Control Unit), който действа като комуникационна шина между CPU и други периферни устройства на микроконтролера. Това помага при извличането на данните, след като те бъдат обработени в посочените регистри.
Памет с произволен достъп (RAM):
Паметта с произволен достъп е тази, която определя скоростта на нашия микроконтролер. RAM се състои от регистрирани банки в него, на всяка от които е възложена конкретна задача. Като цяло те могат да бъдат класифицирани в два вида:
- Регистър с общо предназначение (GPR)
- Регистър със специални функции (SFR)
Както подсказва името, GPR се използват за общи функции на регистъра като събиране, изваждане и т.н. Тези операции са ограничени в рамките на 8 бита. Всички регистри по GPR могат да се записват и четат от потребителя. Те нямат никакви функции сами, освен ако това не е посочено от софтуера.
Докато SFR се използва за изпълнение на сложни специални функции, които също включват някои 16-битови манипулации, техните регистри могат да се четат само (R) и ние не можем да им пишем (W) нищо. Така че тези регистри имат предварително зададени функции за изпълнение, които са зададени по време на производството и те просто ни показват резултата, използвайки които можем да извършим някои свързани операции.
Памет само за четене (ROM):
Паметта само за четене е мястото, където се съхранява нашата програма. Това решава максималния размер на нашата програма; поради което се нарича още като програмна памет. Когато MCU работи, програмата, съхранена в ROM, се изпълнява според всеки цикъл с инструкции. Този модул памет може да се използва само при програмиране на PIC, по време на изпълнение той се превръща в памет само за четене.
Електрически изтриваема програмируема памет само за четене (EEPROM):
EEPROM е друг тип памет. В тази памет могат да се съхраняват единични стойности по време на изпълнение на програмата. Съхранените тук стойности са само електрически изтриваеми, т.е. тези стойности ще бъдат запазени в PIC, дори когато IC е изключен. Те могат да се използват като малко място в паметта за съхраняване на изпълнените стойности; обаче мястото на паметта ще бъде много по-малко на обороти от KB.
Флаш памет :
Флаш паметта също е програмируема памет само за четене (PROM), в която можем да четем, пишем и изтриваме програмата хиляди пъти. По принцип микроконтролерът PIC използва този тип ROM.
I / O портове
- Нашият PIC16F877A се състои от пет порта, а именно порт A, порт B, порт C, порт D и порт E.
- От всичките пет ПОРТА само Порт А е 16-битов, а ПОРТ Е е 3-битов. Останалите ПОРТОВЕ са 8-битови.
- Пиновете на тези ПОРТОВЕ могат да се използват като вход или изход, въз основа на конфигурацията на TRIS регистъра.
- Освен за извършване на I / O операции, щифтовете могат да се използват и за специални функции като SPI, Interrupt, PWM и др.
Автобус:
Терминът Bus е просто куп жици, които свързват входното или изходното устройство с CPU и RAM.
Шината за данни се използва за прехвърляне или получаване на данните.
Адресната шина се използва за предаване на адреса на паметта от периферните устройства към процесора. I / O щифтовете се използват за свързване на външните периферни устройства; UART и USART и двата серийни комуникационни протокола се използват за свързване на серийни устройства като GSM, GPS, Bluetooth, IR и др.
Избор на PIC микроконтролер за нашите уроци:
Микроконтролерите PIC от компанията Microchip са разделени на 4 големи семейства. Всяко семейство има разнообразни компоненти, които осигуряват вградени специални функции:
- Първото семейство, PIC10 (10FXXX) - се нарича Low End.
- Второто семейство, PIC12 (PIC12FXXX) - се нарича Mid-Range.
- Третото семейство е PIC16 (16FXXX).
- Четвъртото семейство е PIC 17/18 (18FXXX)
Тъй като започваме да научаваме за PIC, нека изберете IC, който се използва и е универсален. Тази интегрална схема принадлежи към семейството 16F, номерът на частта на IC е PIC16F877A. От първия урок до края ще използваме същата интегрална схема, тъй като тази интегрална схема е оборудвана с всички разширени функции като SPI, I2C и UART и т.н. Но ако не получите нито едно от тези неща сега е напълно наред, ние ще напредвайте през всеки урок и накрая използва всички гореспоменати функции.
След като IC е избран, е много важно да прочетете листа с данни на IC. Това трябва да бъде първата стъпка във всяка концепция, която предстои да опитаме. Сега, след като избрахме този PIC16F877A, даваме възможност да прочетете спецификацията на тази интегрална схема в листа с данни.
Периферната функция споменава, че има 3 таймера, два от които 8-битови и един 16-битов прескалер. Тези таймери се използват за създаване на функции за синхронизиране в нашата програма. Те могат да се използват и като броячи. Той също така показва, че има опции CCP (Capture Compare и PWM), което ни помага да генерираме ШИМ сигнали и да четем входящите честотни сигнали. За комуникация с външно устройство има SPI, I2C, PSP и USART. От съображения за безопасност е оборудван с Brown-out Reset (BOR), който помага за нулиране на програмата while.
Аналоговите характеристики, показва, че интегралната схема има 10-битов 8-канален ADC. Това означава, че нашата интегрална схема може да преобразува аналогови стойности в цифрови с разделителна способност от 10 бита и има 8 аналогови щифта, за да ги прочете. Разполагаме и с два вътрешни компаратора, които могат да се използват за директно сравняване на входящото напрежение, без всъщност да ги разчитат чрез софтуера.
Специалните функции на микроконтролера означават, че той има 100 000 цикъла на изтриване / запис, което означава , че можете да го програмирате за около 100 000 пъти. In-Circuit Serial Programming ™ (ICSP ™), ни помага да програмираме IC директно с помощта на PICKIT3. Отстраняването на грешки може да се осъществи чрез отстраняване на грешки в схемата (ICD). Друга функция за безопасност е Watchdog Timer (WDT), която е самонадежден таймер, който нулира цялата програма, ако е необходимо.
Изображението по-долу представлява пиновете на нашата интегрална схема PIC16F877A. Това изображение представлява всеки щифт спрямо неговото име и другите му характеристики. Това може да се намери и в листа с данни. Дръжте това изображение под ръка, защото ще ни помогне по време на хардуерните ни работи.
Избор на софтуер за нашите уроци:
PIC микроконтролерът може да бъде програмиран с различен софтуер, който се предлага на пазара. Има хора, които все още използват асемблерен език за програмиране на PIC MCU. За нашите уроци ние избрахме най-модерния софтуер и компилатор, разработени от самия Microchip.
За да програмираме микроконтролера PIC, ще ни е необходима IDE (интегрирана среда за разработка), където се извършва програмирането. А компилатор, където нашата програма получава превръща в MCU четима форма, наречена HEX файлове. Един IPE (Интегрирана програмна среда), която се използва, за да се отърват ни шестнадесетичен файл в нашия PIC MCUs.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Съставител: XC8
Microchip предостави безплатно всички тези три софтуера. Те могат да бъдат изтеглени директно от официалната им страница. Предоставих и връзката за ваше улеснение. След като ги изтеглите, инсталирайте ги на вашия компютър. Ако имате някакъв проблем с това, можете да видите видеото, дадено в края.
За целите на симулацията използвахме софтуер, наречен PROTEUS 8, предоставен от Labcenter. Този софтуер може да се използва за симулиране на нашия код, генериран с помощта на MPLABX. Има безплатен демонстрационен софтуер, който можете да изтеглите от официалната им страница чрез връзката.
Подготовка с хардуер:
Всички наши уроци ще завършат с хардуер. За да научите PIC по възможно най-добрия начин, винаги се препоръчва да тествате нашите кодове и вериги върху хардуер, тъй като надеждността на симулацията е много по-малка. Кодовете, които работят на симулационен софтуер, може да не работят както сте очаквали за вашия хардуер. Следователно ние ще изградим свои собствени схеми на Perf дъски, за да изхвърлим нашите кодове.
За да се изхвърлят или да качите нашия код в PIC, ние ще трябва PICkit 3. В PICKit 3 програмист / дебъгер е прост и евтин в съединение дебъгер, който се контролира от софтуер компютър, работещ с MPLAB IDE (v8.20 или по-висока) на платформа на Windows. В PICkit 3 програмист / дебъгер е неразделна част от инструмент апартамент на инженера развитие. В допълнение към това ще ни е необходим и друг хардуер като платка Perf, станция за запояване, интегрални схеми за PIC, кристални осцилатори, кондензатори и т.н. Но ние ще ги добавяме към нашия списък, докато напредваме в нашите уроци.
Донесох моя PICkit 3 от Amazon, видеото за разопаковане на същото може да бъде намерено във видеото по-долу. Предоставена е и връзката за PICKIT3; цената може да е малко висока, но повярвайте ми си струва да инвестирате.