Отговори на тема  [ 12 мнения ] 
Книга Микроконтролери. Архитектура и принцип на действие 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Окт 12, 2007 5:27 pm
Мнения: 73
Мнение Книга Микроконтролери. Архитектура и принцип на действие
http://www.progstarter.com/index.php?lang=bg

Заглавие: Микроконтролери. Архитектура и принцип на действие
Език: Български
Страници: 487



Част I Ви запознава с предварителните знания, които ще са Ви необходими при изучаването на устройството и принципа на работа на един микроконтролер с помощта на тази книга. Тези знания включват представянето на информацията в микроконтролера, начина на представяне на числата в различни бройни системи (двоична, десетична, шестнадесетична), запознаване с широко разпространени двоични кодове, и как се извършва аритметиката в двоична бройна система (цифрова аритметика). (Готова е донякъде)

Част II разглежда градивните елементи на микроконтролерите. (Не е готова)

Част III разглежда базовите архитектури, по които се изграждат микроконтролерите и описва компонентите на един микроконтролер. (Не е готова)

Част IV ще Ви запознае с програмирането на асемблерен език на базата на микроконтролера ZF083А на компанията ZiLOG. Ще използвам развойния комплект Z8F083A0128ZCOG (http://bg.mouser.com/ProductDetail/ZiLO ... qPDmivMg==), който включва развойна платка, дебъгер и диск с развойната среда. Целта е да придобиете реална представа за устройството и начина на работа на един микроконтролер. Причината да избера този микроконтролер е неговата простота, евтини софтуерни и хардуерни програмни средства. (Готова)


Чет Юли 31, 2014 10:12 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
ако това е просто анонс (освен ако не очакваш някакви отзиви тук) може би по-подходящо ще е за раздел библиотека. Поне там анонса ти ще се вижда дълго време, тук в програмирането постоянно има нови теми и твоята бързичко ще се избута надолу...


Пет Авг 01, 2014 10:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Дек 19, 2005 12:21 pm
Мнения: 1037
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
До колкото виждам, части от книгата са готови и налични, а други все още в процес на разработка. Колега dimolin, ако частите в процес на разработка се нуждаят от проверки за правописни грешки и т.н. и поглед от други очи, защо не ги пуснеш в някакъв недовършен вид какъвто го имаш в момента. Ние като ги прегледаме ще можем да ти рапортуваме забелязани грешки по удобен за теб начин. Поне малко да се разпредели работата.

Също, пак предлагам, сложи едно бутонче 'donate' на сайта, в epay.bg, PayPal или каквото там.

Иначе, репсект за огромния труд! Не съм ги чел още, но попрегледах книгата за С и изглежда супер! Сега се занимавам с няколко ученици/ентусиасти уж да се учат да програмират и директно ще ги пратя към твоите книги.


Пет Авг 01, 2014 12:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
radolin написа:
ако частите в процес на разработка се нуждаят от проверки за правописни грешки и т.н. и поглед от други очи, защо не ги пуснеш в някакъв недовършен вид какъвто го имаш в момента.


зависи... ако ще си издава сам може да "пуска" колкото си иска, но това ще му пречи ако иска да си намери издател. Иначе всеки сериозен издател ще има грижата за редакцията.


Пет Авг 01, 2014 12:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Авг 23, 2005 12:02 pm
Мнения: 3070
Местоположение: София
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Лично мнение - използвай някой по-масов микроконтролер за книгата си. Може би по някакви причини с тоя ти е било най-лесно. Като му гледам чаршафа - никак не е лош, но просто, от моя гледна точка, е екзотика, а от това пряко зависи успеха на книгата ти.


Пет Авг 01, 2014 12:46 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30684
Местоположение: София
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Ами да екзотика е, но все пак това е книга. Поздравления за ентусиазмът, не е и никак малка.


Пет Авг 01, 2014 1:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Абе "екзотиката" не е голям проблем. Целта на примерите обикновено е да се разбере теорията, а не да се задълбава толкова с практически умения.

Моите забележки обаче към теорията.... "архитектура на контролери"... убаво, ама какво е туй нещо? След като има архитектури на едно, трябва да има и архитектури на други неща? Какви са те? Каква е разликата?
После при контролерите не е само една архитектурата, има различни, какви са? Що са?


Пет Авг 01, 2014 1:25 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Фев 14, 2014 4:45 pm
Мнения: 439
Местоположение: Монтана
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Да кажа и аз нещо по въпроса. Не е първата книга по темата, но е по-добре да има, отколкото да няма.

Забележки:
Материала е написан на ниво като за по-напреднали. Хубаво би било тук-там да бъдат вмъкнати карета с по-простичко обяснение на терминологията. Таблиците са прекалено "сухи", и щеше да е по-разбираемо за читателя, ако са свързани с някакви онагледяващи примери, както е направено в последните глави на книгата.

В началото на книгата автора е написал, че на българския пазар липсва подобна литература. Би било справедливо да упомене "PIC микроконтролери" на "Млад конструктор" (сложил съм линк за Част 1 в раздел "библиотека").

Също така би било добре на конкретните места, в които се обяснява за конкретна част от микроконтролера да се вмъкнат като забележки и разликите спрямо други такива. Като пример - EEPROM. Някои микроконтролери имат, други - нямат. Хардуерен UART също. Някои имат, други нямат. За UART дори може да се упомене, че тези, които нямат - би могло да им се симулира софтуерно, и каква ще бъде разликата спрямо хардуерния (това, че ще отнеме от ценната програмна памет, проблема с прекъсванията и т.н.). В началото, където се обяснява за различните езици е добре да се посочат и други развойни среди (просто за информация), не само тези на производителите на микроконтролери. Всъщност дори не видях дали е спомената MPLAB на Майкрочип. А и Микроелектроника имат доста добре развити развойни среди и компилатори на три различни езика за няколко различни типа процесори. В сайта на Микроелектроника пък автора може да почерпи идеи от техните книги, най-вече от раздела с примери.

_________________
Не карай по-бързо от своя ангел-пазител!


Пет Авг 01, 2014 2:43 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
уф... тоя петък нещо ме мързи :-(

Значи в нашия бранш (и не само) има някаква систематизация и някакви термини. Систематизацията е направена с цел да не си бъркаме шапките. Всеки се занимава с някакъв дял от наУката и наУките са различни. Демек систематизирането е според кой каква теория (наУка) ползва, а не по исторически или политически/религиозни причини. А пък термините са за да се разбираме с две приказки, а не да се обясняваме като вклюбени гълъбчета...

Сега по-конкретно може да се почне от "електроника и електротехника", тва е общият кюп с всички жичкаджии и изобщо ел инджИнери и техните проблеми.
Тоя кюп се дели на две - аналоговщини и цифрощини. Разликата между двете е в това кой как интерпретира сигналите по жиците. Съответно наУките както казах са различни. Аналоговщините четат за закона на Ома, уравненията на Кирхоф и т.н.... някои даже знаят и уравненията на Максуел, квантова физика и кво ли не. Много е дебела тяхната ;-)
Цифровите сигнали са доста по-прости - има/няма единица/нула... фасулска работа ;-)
От своя страна цифротехниката се дели на две - комбинаторна логика и автомати с памет. Разликата е очевидно дали има или няма памет в схемата. Комбинаторната логика (тва дето няма акъл) използва разни логически функции И-НЕ-ИЛИ.. Правят се едни таблици истинност, карти на Карно... има разни нормални форми, дюзенктивни форми. Може и да звучи сложно, всъщност на практика с комбинаторна логика може да се правят и много сложни неща, но и най-най-най сложната схема ако се сложи в една черна кутия и се изведат входовете и изходите може да бъде разгадана само "с поглед". Причината е проста - няма памет, съответно като подадеш една комбинация на входовете, изкарва винаги точно определена комбинация на изходите ;-)
Сега ако в една комбинаторна логика вкараме памет се получава другия дял - автомат с памет. Важно е да се отбележи, че паметта не е "твърда" а такава, чието съдържание може да се променя от входовете на схемата. Точно тая дребна подробност вкарва една гооооляма разлика. Животното с памет вече не зависи само входовете си, а и от състоянието си, демек от съдържанието на паметта си.
Съответно теорията с която се описват автоматите е маалко по-различна и по сложна. За съжаление е и еднопосочна, в смисъл има различни начини как от една идея/задание да се генерира схема на автомат. Но няма 'ревърс' т.е. ако имаме един автомат в черна кутия няма сигурен начин да го разгадаем без да сме отворяли кутията...
Но да се върна на класификацията, значи стигнахме до автоматите... на практика всички "умни" джвъчки, включая компютри са по същество автомати. Защо? Ами защото "архитектурата" им включва като карантии памет и комбинаторна логика ;-)
Сега всички автомати имат памет, паметта им или част от нея може да се промяна при определени входни комбинации, а изходите им могат да зависят от текущата входна комбинаци и съдържанието на паметта им. Тънък момент в тая дефиниция е, че поведението на автомата зависи и от "началното" състояние на паметта си. И тук има два типа автомати - едният тип е такива, при които началното състояние е фикснато по един или друг начин. И други, при които може да се променя по един или друг начин. Вторите се наричат "програмируеми".
Освен това деление, автоматите могат да се разделят и според преднадзначението си. Предназначението може да е най-различно, обаче има една "особена" група наречена "computers". В случая под компютър се има предвид устройство, което може да изчислява нещо си, а не десктоп машина. Като под "изчисление" нямам предвид смятане на някаква сметка, а по-скоро "изпълнение" на някакъв алгоритъм.
От двете класификация най-често срещана е комбинацията "програмируем" + "изчислителен" автомат. Иначе казано "процесор". Демек ако нещо има в архитектурата си има "логика" плюс "памет", които са организирани по начин, който позволява "програмиране" и с това програмиране можем да описваме алгоритми, то имаме процесор. Дали ще е мини, микро или супер е въпрос на производствени възможности дето се менят ден с ден....
Тук малко "сдъвках" понятията ще е то алгоритъм, що е то изчисление и как точно се правят с автомати. Истината е че може по доста различни начини, но от гледна точка на теорията другарят Тюринг е доказал, че ако някакъв проблем може да бъде решен с някакъв алгоритъм, то този алгоритъм може да бъде реализиран на проста машина с краен брой прости инструкции. И обратно, ако няма алгоритъм или алгоритъмът е нерешим, то проблемът си е нерешим с машина изобщо. Иначе казано "архитектурата" няма теоретично отношение към програмите. И каквото може да се изчисли с 64-битов компютър, теоретично може да реши и с 4-битов. Каквото не може теоретично да се реши, просто не може с никакъв. Естествено това е при условие, че няма глупави практически ограничения.
Поради тия причини няма смисъл да се усложняват архитектурите и всички се въртят до тривиалното - памет (естествено) в която могат да се записват инструкции. Инструкциите както е казал Тюринг са краен команди и чрез тях може да се опише/изпълни произволен алгоритъм.
Навремето по чисто практични съображения, щото са се ползвали магнитни ленти, ферити и кви ли не екзотики та конструктивно са разделяли паметта за данни от паметта за програмата. От там идват и разликите във фон Нойман и Харвард, но днес това не е толкова съществено...
Та в общия случай имаме памет, програмен брояч сочещ поредната инструкция, извличане, декодиране, ала-бала...
Пак едно време, стъпките са се правели една по една, като управлението е ставало с микрокод. Демек вътре има нещо като елементарно прочесорче, което си има нещо като "инструкции" с които може да се чете от паметта, да се управлява ALU-то на големия, да се пише и т.н. Тия дето са учили ИТ/КС вероятно са правили схеми на такова животно, поне на времето нас ни караха...
Предимството на тоя подход е, че като брой транзистори става малко, но като скорост за една инструкция на основния проц отиват няколко до десетки инструкции на малкия, т.е. много клоци... краен резултат - ниска скорост.
Съответно са добавили "конвейра", т.е. ако условно кажем че една инструкция използва стъпки за извличане, декодиране, изпълнение, писане на резултат, то вместо тия стъпки да се изпълняват една по една, се пускат на "конвейр". Докато се изпълнява една инструкция, се декодира следващата и се извлича по-следващата. Това създава разни главоболия когато една инструкция трябва да ползва резултат от друга, както и при условни преходи... съответно има и техники за справянето с главоболието...
После са се усетили, че някои части на конвейра много често бездействат примерно ако има флойнтинг поинт, докато други прегряват. Тогава са се сетили, че ако дублират само по-натоварените части ще получат почти два пъти по-висока производителност, без да ползват транзистори като за два конвейра. Естествено това води до други главоболия, щото вече изпълнението става out-of-order, обаче пък всяко зло за добро - ако можеш да разбъркваш и разпределяш инструкциите може не само да натовариш 2-3-4 конвейра, ами и да ги разпределяш така че конвейрите да се задръстват по-малко... Та на тва му се вика суперскаларна архитектура. И се ползва в почти всички gsm смарт-талафони...естествено при компутрите е де-факто стандард от Пентиум насам. При АРМ64 (v8) един кур може да се конфигурира между 3 и 8 конвейра, като опашката за джуркане на инструкции е до 128.
И после следват мноогото курове... там се вкарават още ядове със синхронизации, с кешове... и те така нататък ;-)


Пет Авг 01, 2014 7:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Дек 16, 2005 3:50 pm
Мнения: 1260
Местоположение: София
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
miro_atc написа:
уф... тоя петък нещо ме мързи :-(

Като гледам колко си написал....какво ли щеше да е, ако не те мързи :D
Шегувам се, това което си написал е много хубаво, защото дава малко исторически поглед върху целия процес и дава представа как са се развивали машините във времето.
Макар че се занимавам с аналогова електроника и програмирането ми е далечно, ако пишех книга ,бих включил и подобен обзор.


Пет Авг 01, 2014 8:24 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Вто Окт 25, 2005 10:54 am
Мнения: 896
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Точно че го мързи да работи, затова е писал толкова много :)


Пет Авг 01, 2014 9:35 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11265
Местоположение: Добрич
Мнение Re: Книга Микроконтролери. Архитектура и принцип на действие
Димо, виждам че си пуснал нова глава с архитектурите...

Опасявам се, че не се е получила добре. Разделянето на Хардвард и фон Нойман типове касае организацията на паметта, дали физически програмната памет и данните са различни памети, дали са в едно адресно пространство и т.н. Това обаче няма НИКАКВА връзка с инструкшън сета, още по-малко с конвейрните обработки, размера на шините и т.н. Конвейрна обработка може да имаш на ниво процесор, може да имаш вътре в един процесорен модул, може да имаш в периферия, може и обувки да правиш на конвейр. Това си е просто една техника, която си има предимства и недостъци и е въпрос на избор дали да я приложиш или не. По никакъв начин хардвард или фон-нойман не те обвързват с това дали ще имаш или нямаш конвейр. Нито пък едното го прави по-подходящ и т.н.

Относно архитектурите... според мен разделянето на Харвард и Нойман е доста спорен момент днешно време и за начинаещи по-скоро ще ги обърка тая информация, отколкото ще им е полезна. Все пак за какво става дума... значи имаш процесор, имаш програмна памет и памет за данни. Имаш и различни начинина свързването им. Ако няма разлики в свързването на различните памети и са в едно адресно пространство, говорим за Фон Нойман. Ако има разлики или в са в различни адресни пространства говорим за Харвард. И последно ако разлики в свързването/адресните пространства, но въпреки това функционално програмната памет може да се достъпва като данни и обратно, то говорим за модифицирана Харвард архитектура.
Това е най-простото определение на теория, за което се сещам и ако не изглежда достатъчно ясно, то на практика нещата става още по-объркани... Но преди това въпросът е защо изобщо има различни свързвания и различни памети и в крайна сметка архитектури? Отчасти отговорът е поради исторически причини. Днешно време като отидеш да си купуваш памет в магазина не те питат за програми или за данни. Едно време обаче е имало огромно значение, защото паметите само за четене са били много по-евтини от тия дето могат и да се пишат. Примерно четци на перфоленти и т.н. Подобни памети стават за програмни памети, но за да работи един процесор като процесор си му трябва и модифицируема памет за данни.
Та значи първата причина е била различието на различни памети. Чисто физически са били различен тип и съответно се свързват с различен брой жици. А от факта че се ползват и за различни функции, дизайнерите са изкупили да ги сложат и в различни адресни пространства. Защо? Ами защото адресното пространство е ограничено и е с краен брой адрес. А едно време с 8-битовите машини адресите са били много "краен" брой. То и в по-късни времена имаше един дето твърдеше, че 640К са достатъчни за всичко... но отдавна не са ;-)
По тия причини е изглеждало много разумно да има една шина за връзка с един тип памет, правеща едни функциии и друга шина с друг тип памет и други функции. И така харвард е изглеждал съвсем естествено...
С времето обаче разликите при паметите става незначителни, различните шини се запазват където има мужда от скорост, при други обаче се оказват излишно разточителство. И от както измислиха виртуалната памет, разделянето на физическата памет стана излишно усложняване.

С две думи нещата се променят драстично и някои приоми стават излишни или пък се запазват поради съвсем различни причини. Затова разбирането, че Харвард значи две шини не винаги е вярно, или пък че Фон Нойман е с една също...


Съб Сеп 06, 2014 3:32 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 12 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни