|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:42 am
Има ли смисъл да се ползват PIC18 вместо PIC16
| Автор |
Съобщение |
|
Zeus
Ранг: Почетен член
Регистриран на: Вто Окт 03, 2006 11:58 am Мнения: 924 Местоположение: Ботевград
|
 Има ли смисъл да се ползват PIC18 вместо PIC16
Та въпросът ми е следния: При условие че ползвам в дадена схема само портовете и таймерите и в момента използвам 16-та серия, има ли смисъл в конкретната схема да използвам 18-ка вместо 16-ка. Не става въпрос за цената, но при условие че не ми трябват допълнителните неща, които дава 18-та серия, заслужава ли си? Дали схемата ще работи по-стабилно и надеждно и т.н. Просто ми е интересно специалистите да си кажат мнението. До сега съм работил само с 16-та серия, но мисля да минавам на 18-та, но все още не съм използвам допълнителните неща от периферията дори на 16-ките, като АДЦ-то и др.
|
| Пет Яну 19, 2007 10:56 am |
|
 |
|
evc
Ранг: Напреднал
Регистриран на: Пет Окт 21, 2005 8:45 am Мнения: 499
|
Вземаш бял лист и пишеш най-отгоре:
Въпрос: Има ли смисъл да ползвам вместо скромния си VWголф, Mercedes Benz 300SEL?
Отдолу отговаряш, сравнявайки по надеждност, удобство при експлоатация, възможности, без да отчиташ цената като фактор. След това отрязваш горната част на листа, и прикрепяш там листче, на което е написано заглавието на тази тема. Воала! Имаш си отговор на въпроса! 
_________________ Простотията е Божи дар, но човек не бива да парадира с подаръците си!
|
| Пет Яну 19, 2007 12:55 pm |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
Особенно пък както казваш че не си "изцедил" 16 ките докрай
Ползвай което ти е на приемлива цена и ти върши работа и най важното С КОЕТО СИ ЗАПОЗНАТ.
Поздрави!!!!
|
| Пет Яну 19, 2007 1:10 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
Ето няколко неща които лично на мен ми улесниха работата, въпреки че и аз не съм изцедил 16-ките, но минах на 18 :
1. 32 нива на стека за прекъсвания - особено когато пишеш на език от високо ниво, при по-голямо разгръщане на програмата не ти се налага постоянно да следиш на колко прекъсвания си в момента.
2. 3 регистъра за индиректно адресиране - изключително удобство.
3. четене от флаша с една инструкция - също голямо удобство когато имаш много константи (примерно някакво меню)
4. три външни прекъсвания на RB (като RB0)
5. 16 битовите инструкции - кода като цяло става по малко
Има и други неща де.
|
| Пет Яну 19, 2007 3:05 pm |
|
 |
|
Zeus
Ранг: Почетен член
Регистриран на: Вто Окт 03, 2006 11:58 am Мнения: 924 Местоположение: Ботевград
|
Имах предвид има ли някаква разлика като стабилност на работа и бъгове. За сега не съм открил бъгове в 16-ките но и не съм се ровил кой знае колко надълбоко. Тук във форума виждам много теми, дето здраво се плюят този или онзи контролер, отделни сериии или направо Microchip. Та за това попитах има ли някакви подобрения в 18 серия спрямо 16 като стабилност при работа (освен че флаша може да се презаписва многократно повече пъти  )
|
| Пет Яну 19, 2007 3:10 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
като гледам на какво ниво си (без да се обиждаш), бъговете не са ти проблем - действай смело с каквото ти е кеф.
Когато опреш до серийно пройзводство, тестове и сертификати (дано да стигнеш до там) тогава ще мислиш за бъгове. На твойто ниво бъговете няма да ги забележиш, сигурен съм.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пет Яну 19, 2007 4:17 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
А и има чипове, които са по-отдавна на пазара с поизчистени бъгове. Аз ползвам 18Fxx2 серия и съм доволен засега.
|
| Пет Яну 19, 2007 7:12 pm |
|
 |
|
trm_only_for_work
Ранг: Минаващ
Регистриран на: Пон Яну 15, 2007 8:47 pm Мнения: 59
|
 Re: Има ли смисъл да се ползват PIC18 вместо PIC16
Ами аз искам да Ви обърна внимание на една 18-ка, която е на много приемлива цена.
18F45J10
1. цена
2. възможности - PIC18 + PICxxJxx
3.подръжка - ами след още няколко години сигурно изделия със 16-ки ще започнат да искат смяна и тогава ще видиш как ще се чудиш откъде да я вземеш.
преди беше 16 и 18, сега бавно бавно 18 и 24
това е мойта гледна точка
иначе и аз работата си я върша засега на 16-ки, но защо да не си го направя удобно.
примерно на 16-ката нямаш отрицателният показател (бит) -> ето един елементарен плюс.
памет->рам, не flash-a повечко.
Виж откъм консумация не съм правил никакви сравнения, винаги съм ползвал захранваня и не ми се е налагало да мисля дали ще съм 100mA отгоре или отдолу 
_________________ @HCL: "Авторьт не поема отговорност в случай на некоректна или непьлна информация. "
(1)всеки има право на мнение, но това не означава че всеки е прав
(3)не сте длъжен да сте съгласен с неговото мнение.
Защо трябва да Ви се напомня ?
|
| Пет Яну 19, 2007 8:09 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
ами че то хардуера на 18ките и 16ките е един и същ, ако само той ти се струва важен, то никакъв смисъл няма.
аз виждам обаче следните предимства:
1. възможност за дебъг
2. възможност за направа на самозареждащи се системи (достъп до програмната памет)
3. разни нови инструкцийки за условен преход, макар че най-важната според мене - сравняване на W с константа, все пак липсва.
|
| Пет Яну 19, 2007 11:10 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Аз ли нещо не разбрах... 1. има го и в 16-ките... 2. от 16F872 до 16F877 го подържат това 3. SUBLW <К> и XORLW <K> ... не става ли сравнение с тези инструкции ?!  PS: поясни малко кой е тоя бит ? 
|
| Пет Яну 19, 2007 11:39 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
хм, не съм супер спец по микроконтролерите, но мисля че в 16ките няма възможност за поставяне на точка на прекъсване, нито за следене на клетка за промяна. в 18ките има такава възможност и съм я позлвал за дебъг. за втора точка не настоявам, не съм бачкал с 872, бачкал съм с 871 в който със сигурност няма тая опция. що се отнася до инструкциите - разбира се че човек може да си направи каквото иска с наличните, но sublw/xorlw не е подходяща за организиране на switch-case блок, понеже променя съдържанието на W. не че не става, но на всяка следваща трябва да прибавяш предходната константа, която прави кода гаден, да не говорим че не всеки се сеща да го прави. за добър switch-case блок трябва инструкция, която сравнява с константа W, без обаче да го променя. такава инструкция има в серия 30, нищо не им е струвало да я сложат и на 18, но ми се струва че проектантите не са написали нито една програма със творението си - един често срещан проблем в днешно време, не само в областта на микроконтролерите. имам приятели корабопроектанти, които се оплакват че тези които са проектирали кад системите за корабостроенето, изглежда никога не са бачкали със творенията си, понеже все пак по професия са проектанти на софтуер, а не на кораби....
|
| Пет Яну 19, 2007 11:55 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
С пускането на пазара на нови и по-мощни процесори, непрекъснато се прогнозира смъртта на старите, а пък то все не става.
Сменят се моделите, и се подобряват качества, като консумация, нови периферии и пр., но нпр. 16-битовите не замениха 8-битовите.
Нещо повече, появиха се въшки като PIC10F, има подобни и от други фирми.
Има си приложения за дребни MPU, има хляб и за големи.
Никога не е било разумно, да стреляш по врабчета с гаубица, нпр.
|
| Съб Яну 20, 2007 2:04 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
16-ки с които съм работил и се дебъгват(имат по една точка на прекъсване):
913,914,916,917,818,819,870,871,872,873,874,876,877,873А,874А,876А,877А
За 87,88 не съм сигурен дали и те не можеха.
870,871,872,873,874,876,877 могат да си презаписват по програмен път програмната памет, т.е. възможност за boot loader. Съвсем наскоро преработих boot loader-а от примерите на CCS за тази серия, нямам забележки, работи хайвана.
+ на 18-ките е по-големия обем памет(програмна и за данни), линейна програмна памет, банките за данни са по 256 байта и по рядко се налага превключване, т.е. по-висока скорост на програмата, трите индексни регистъра, допълнителни инструкции, по богата периферия, за сметка на това по-бъгава, някои вече имат по 3 debug точки на прекъсване (примерно 2520,2525), повече прекъсвания, както и приоритет на прекъсванията(с много бъгове в някои модели), два вектора на прекъсване(за повече не знам), памет за boot loader ;
- на 18-ки - много бъгове в периферията и ядрото, трябва много внимателно да се подхожда при избора на професора, най-вече с четене на errata документите, като цяло са по-скъпи от 16-ките;
Интересно е, че инструкциите за сравнение cpfsgt, cpfslt и cpfseq, които не налагат непрекъснато зареждане на WREG, се употребват рядко от CCS C и MCC18.
С учебна цел трябва да поработиш и с 18-ки, че след това с dsPIC и PIC24 
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Съб Яну 20, 2007 2:57 am |
|
 |
|
trm_only_for_work
Ранг: Минаващ
Регистриран на: Пон Яну 15, 2007 8:47 pm Мнения: 59
|
Здрасти !
Ми говоря за STATUS,N (що се правиш на ударен с парен чук  ), който при 16-ките липства и софтуерно си го правиш, което си е инструкции в повече , а да не говорим , че имайки NegativeResult или не можеш да прецениш веднага < , > (<=, >=) плюс още.
Ясно е, че това не е кой знае каква страшна новост  , но за мен си е много полезно.
Вместо да ползвам отделни asmlib за някои елементарни функции , asm -> за да не е излишно бавно; тук или аз , или ако е С компилатор директно си се възползва от този простичък STATUS,N хихи
хахахаха -> "Простото е гениално!" //даже в началото се чудех защо го няма в 16-ките този N бит 
_________________ @HCL: "Авторьт не поема отговорност в случай на некоректна или непьлна информация. "
(1)всеки има право на мнение, но това не означава че всеки е прав
(3)не сте длъжен да сте съгласен с неговото мнение.
Защо трябва да Ви се напомня ?
|
| Съб Яну 20, 2007 8:31 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
trm_only_for_work, за кво ти е тоя флаг N, като старшия бит на резултата е точно негово копие?
пирев, проверих, наистина и 16ките могат да се самофлашват. е, както казах не ги познавам из основи.
|
| Съб Яну 20, 2007 10:27 am |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|