Отговори на тема  [ 59 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
трябва ми .... 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Сеп 24, 2005 2:00 pm
Мнения: 787
Мнение 
Ами не знам кое може да ти се види революционно. Аз преди няколко години когато за пръв път ги разучих ми идеше да се плесна по челото с нещо като "леле колко съм изпуснал досега!". Блокчетата могат да се преконфигурат и в движение, краката могат да се закачат навсякъде, а това което се задава като PSoC 3 и PSoC 5 е направо... абе ще видиш като го пуснат скоро. По принцип самото чипче не е нещо кой знае какво обаче комбинацията на чипа със софта към него е ужасяващо привлекателна. Но човек без да си е поиграл малко с него няма как да разбере (повярвай ми това не е обида!). Но аз откакто активно бачкам с тях се сбъсквам с проблема че всички други са ми някак "недовършени". Явно съм се изкривил и съм почнал да мисля по PSoC-ски :D

А това за прекъсванията стана голяма работа от нищо. Пак казвам прекъсвания има и трябва да се ползват но там където се налага т.е. софта трябва да се планира предварително. Но това го споделих като мое мнение единствено с желание да помогна, а не да давам акъл.

Между другото това което адски ме дразни е именно поведението ако някой каже нещо веднага се намират петима други дето да му кажат колко е тъп и нищо не разбира и т.н. Това е за съжаление най-типично именно в България и аз го установих едва след като минаха години да не живея там.

Обикновено подходът е "аз мисля, че... еди какво си понеже бла-бла...". В нашия случай подхода е "ти ще ме слушаш мене щото си много тъп и още много имаш да учиш!". Усещаш ли разликата? Ти може би да но за съжаление има безброй които няма да я усетят а и не само това но няма да пропуснат да ме наплюят допълнително (това изглежда е нещо по което всички сме специалисти в еднаква степен :lol: )

Аз викам да не се занимаваме вече с тая тема че наистина ще трябва да отиде в графа "спам" скоро :D


Чет Апр 23, 2009 12:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: трябва ми ....
Е не мога да се сдържа. :)

kiiid написа:
.......Между другото това което адски ме дразни е именно поведението ако някой каже нещо веднага се намират петима други дето да му кажат колко е тъп и нищо не разбира и т.н. Това е за съжаление най-типично именно в България и аз го установих едва след като минаха години да не живея там.....


и

kiiid написа:
.....а не както ти предлагат пикльовците да инициализираш прекъсвания и т.н. глупости... 8)


1. Двете думи - "пикльовци" и "глупости", много остро контрастират с "раздразнението ти от типичното поведение на българските инженери" :)

2. Забележи, че първите "квалификации" в темата по адрес на труда и знанията на други хора, са твое дело.

3. Термина "пиклювец" е запазена марка на Кольо, признали сме му правата над нея и за да я ползваш дължиш лицензионни такси. Валутата я знаеш.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Апр 23, 2009 2:23 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 30, 2004 11:19 pm
Мнения: 609
Мнение 
С моите начални занимания с PSoC предполагам че реализацията на задачата ще стане с един 24битов брояч, чийто вход се управялява директно от пин, на който се подава измеряемия импулс. Така в брояча имаме точно продължителността на импулса без нужда от корекции, разчитайки се само на точността на опорния генератор.
Няма капчери, няма прекъсвания, дори няма софтуер написан дотук, дизайнера се е погрижил да имплементира брояча. Ако след изброяване на импулса искаме да правим нещо с информацията вече се дописва софтуер за начина по който това да стане.

Пипвал съм и пик и атмел, но се затруднявам даси представя как ще стане реализирането на точно измерване на импулси примерно под 10 микросекунди. За пиковете си спомням че имаше задаване на фронта при който да сработва кяпчера, но само след 16битовите пикове имаше сработване при два различни фронта, т.е. при 8 битовите процесори може би ще се измерва по лесно период, но не и продължителност на импулс.

Любопитно ми е какво мислят по-напредналите колеги, за частта в която се мерят микросекундни импулси. :)

Едит: Сега се сетих че имаше нещо като външен гейт за Таймер1, но не съм пробвал този вариант и резултата ми е неясен.


Чет Апр 23, 2009 8:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
Ники написа:
Любопитно ми е какво мислят по-напредналите колеги, за частта в която се мерят микросекундни импулси. :)

А къде се ползва това мерене ма микросекундни импулси (осен за гърчене на студенти де)?
Иначе тая задачка може да се реши и с D-R-C + ADC.


Чет Апр 23, 2009 11:12 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Измерването на микросекундни интервали изисква просто процесор в който някъде вътре да има N пъти по - висока честота която да брои. Т.е. проблема не в конкретната архитектура а в точността която гоните. На практика със всяка архитектура от последните 10 години може да се направи, въпрос е единствено на достатъчно бърз клок за да се постигне точността която гониш. Дали ще е PSoc или PIC няма голямо значение. Въпроса е да хвърчи на достатъчно висока честота.

Макар че измерването на 1us на практика рядко се прави с контролер. Защото за да постигне човек точност от порядъка на 1%, му трябва процесор с клок на таймерите 100Mhz, т.е. използването на CPLD вече става оправдано.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Чет Апр 23, 2009 11:16 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Интересна тема, всъщност стана ми интересно защото се твърди, че в лицето на PIC ( като един нормален процесор :-) ) широчината на импулса щяла да се мери софтуерно, а при PSoC хардуерно. С процесор може и софтуерно да се измери широчина на импулса, но ако има Capture модул или крачета с interrupt on change може да се измери и хардуерно. Затова се използва прекъсването, за да може процесора да си върши останалите задачи и само когато се зададе импулс и хардуера го измери, тогава да се товари процесора с четене на резултата от измерването. В това не виждам да има глупости, по-скоро глупост ще е ако ще използваш хардуерен модул на процесора и ще четеш резултата в главната програма. Не че не може, но ако главната програма е от 5 хиляди реда код, ще трябва през 2-3 реда да се слага код, който да проверява дали е дошъл импулс и дали хардуера го е измерил. Инженерите по чужбина може и така да го правят, знам ли, университети всякакви :-)

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Апр 23, 2009 11:28 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Бе то аз имам странното подозрение, че на въпросния PSoc едва ли има нещо кой знае колко революционно като таймерна периферия. По скоро силата му е в това че можеш да си я слагаш и махаш и да я разнасяш по пиновете.

Иначе всеки един по модерен процесор си има таймерна система която може сама да измери импулса - т.е. абсолютно хардуерно. Въобще в днешно време е модерно да се правят управления на мотори, та оттам таймерите в процесорите са може би най-развитата част от периферията.

Иначе при времена от порядъка на 1us, спокойно можеш да забравиш за софтуерни измервания :) Освен ако не разполагаш с PIC на клок 400Мхз, та да постигнеш 1% грешка :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Апр 24, 2009 12:04 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
Всъщност kiiid е прав в известен смисъл. Прекъсването трябва да се ползва САМО ако събитието е неотложно или е за синхронизация. Ако може да чака - по-добре да си чака реда на опашката.
А и всяко прекъсване си е дефакто многозадачност, което при начинаещите почти задължително води до оплитане на конците. Но как ще се научиш иначе? Мигалка с прекъсване от ТМР0 е къде-къде по-елегантно от циклене на N-брояча. :)


Пет Апр 24, 2009 12:09 am
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Сеп 24, 2005 2:00 pm
Мнения: 787
Мнение 
Цецо написа:
Измерването на микросекундни интервали изисква просто процесор в който някъде вътре да има N пъти по - висока честота която да брои. Т.е. проблема не в конкретната архитектура а в точността която гоните. На практика със всяка архитектура от последните 10 години може да се направи, въпрос е единствено на достатъчно бърз клок за да се постигне точността която гониш. Дали ще е PSoc или PIC няма голямо значение. Въпроса е да хвърчи на достатъчно висока честота.

Макар че измерването на 1us на практика рядко се прави с контролер. Защото за да постигне човек точност от порядъка на 1%, му трябва процесор с клок на таймерите 100Mhz, т.е. използването на CPLD вече става оправдано.



Е не мога да се сдържа! :D
Между другото къде точно откри обидата в моите изказвания че трябваше така яростно да ми скочиш? Аз на няколко пъти се опитах да си разясня позицията но винаги я изкривяваш отново за да може да оплюеш? Защо?!?
Пак и за последен път казвам - прекъсванията са нещо много важно но трябва да се използват разумно, а в този конкретен случай дори може и да се избегнат. Не го преиначавай отново, моля! Не е моя вината че не знаеш PSoC. Аз не знам други неща, които ти сигурно знаеш, но за това тук съм доста сигурен.

И отново: хайде стига вече, очевидно е че не съм толкова трениран в тия нападателни спорове колкото ти. Аз съм по същество значително по-добронамерен човек и рядко се впускам в спорове. Просто няма смисъл.


Пет Апр 24, 2009 2:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
ji4ka написа:
Всъщност kiiid е прав в известен смисъл. Прекъсването трябва да се ползва САМО ако събитието е неотложно или е за синхронизация. Ако може да чака - по-добре да си чака реда на опашката.


И като чака на опашаката - какво? Нали като стане готово трябва да сигнализира някак си? Дали ще пулваш флага на прекъсването или ще прекъснеш наистина.... какво значение има, пак ти трябва форма на многозадачност.

Въобще хора, аз не мога да се сетя за нещо което да съм проектирал последните 20 години и да не е многозадачно - все има я копчета, я екран, я комуникация някаква, я времена ще мери, я времена ще генерираш. Няма такъв филм като еднозадачна система вече. Така че да се плащат начинаещите с прекъсвания, е все едно да плашите децата си с вилица. По добре е да се научат да я ползват добре, ако и отначало се убодат с нея, вместо после да стават за смях като не знаят да си служат с нея и ядат с ръце. Нещо повече, в нашите университети многозадачността в ембедед системите въобще не се разглежда като нещо фундаментално, а то си точно такова. Учи се ядрото, учи се периферията, казва се - има там едни прекъсвания и примери почти изцяло в линеен код. И толкоз. А многозадачното се оставя като едва ли не нещо имагинерно и сложно, ненужно. Всъщност многзадачността си е начин за мислене и трябва да се изучава и упражнява, защото наистина си е сложно, но задължително. Една съвременна програма на практика се състои от 90% многозадачен код и под 10% чисто линеен (инициализацията). И това е при 90% от приложенията около вас - като почнеш от мобилния телефон и свършиш с мега компютрите. Естествено, че има приложения с чисто линеен код, но те са малко и ще става все по малко.

Така, че не плашете начинаещите с прекъсвания - точно обратното - нека си блъскат главите, белким се научат.

kiiid написа:
Между другото къде точно откри обидата в моите изказвания че трябваше така яростно да ми скочиш?


ето тук-

kiiid написа:
.....а не както ти предлагат пикльовците да инициализираш прекъсвания и т.н. глупости... Cool
.

Само дето не може да говорим за обида. :) И не ти скачам яростно. Щото ако те подхване Кольо, тогава ще видиш какво е то яростно :)

Просто се опитах да опровергая една позиция която ми се струва грешна (и продължава да ми се струва грешна).

Макар че оня дето зачекна темата сигурно вече и избягал с писъци :)

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Апр 24, 2009 10:50 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Фев 01, 2007 4:04 am
Мнения: 1539
Мнение 
Цецо написа:
...И като чака на опашаката - какво? Нали като стане готово трябва да сигнализира някак си? Дали ще пулваш флага на прекъсването или ще прекъснеш наистина.... какво значение има, пак ти трябва форма на многозадачност.

Разликата е ,че сам си избираш момента в който да го обработиш. Иначе става едно прескачане и състезаване на прекъсвания. Но може би всичко е въпрос на навик, стил, ситуация. Важното е да работи.


Пет Апр 24, 2009 12:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Май много приказки за нищо.
Осовното, което новаците трябва да научат, е да правят разликата между
прекъсване и отделни задачи.
В кода, обработващ прекъсването, се прави възможно минималното; т.е. колкото
да се подсигури на прекъсваемия код възможостта да свърши работата.
Разпространена грешка е да се вършат разни работи като част от самата
обработка на прекъсването, което разбира се има за резултат драматично
увеличение на латентността. В много случаи може да се мине и с високата
латентност, но от това подходът не става по-малко погрешен, естествено.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Пет Апр 24, 2009 12:53 pm
Профил WWW
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Сеп 24, 2005 2:00 pm
Мнения: 787
Мнение 
Цецо написа:
ji4ka написа:
Всъщност kiiid е прав в известен смисъл. Прекъсването трябва да се ползва САМО ако събитието е неотложно или е за синхронизация. Ако може да чака - по-добре да си чака реда на опашката.


И като чака на опашаката - какво? Нали като стане готово трябва да сигнализира някак си? Дали ще пулваш флага на прекъсването или ще прекъснеш наистина.... какво значение има, пак ти трябва форма на многозадачност.

Въобще хора, аз не мога да се сетя за нещо което да съм проектирал последните 20 години и да не е многозадачно - все има я копчета, я екран, я комуникация някаква, я времена ще мери, я времена ще генерираш. Няма такъв филм като еднозадачна система вече. Така че да се плащат начинаещите с прекъсвания, е все едно да плашите децата си с вилица. По добре е да се научат да я ползват добре, ако и отначало се убодат с нея, вместо после да стават за смях като не знаят да си служат с нея и ядат с ръце. Нещо повече, в нашите университети многозадачността в ембедед системите въобще не се разглежда като нещо фундаментално, а то си точно такова. Учи се ядрото, учи се периферията, казва се - има там едни прекъсвания и примери почти изцяло в линеен код. И толкоз. А многозадачното се оставя като едва ли не нещо имагинерно и сложно, ненужно. Всъщност многзадачността си е начин за мислене и трябва да се изучава и упражнява, защото наистина си е сложно, но задължително. Една съвременна програма на практика се състои от 90% многозадачен код и под 10% чисто линеен (инициализацията). И това е при 90% от приложенията около вас - като почнеш от мобилния телефон и свършиш с мега компютрите. Естествено, че има приложения с чисто линеен код, но те са малко и ще става все по малко.

Така, че не плашете начинаещите с прекъсвания - точно обратното - нека си блъскат главите, белким се научат.

kiiid написа:
Между другото къде точно откри обидата в моите изказвания че трябваше така яростно да ми скочиш?


ето тук-

kiiid написа:
.....а не както ти предлагат пикльовците да инициализираш прекъсвания и т.н. глупости... Cool
.

Само дето не може да говорим за обида. :) И не ти скачам яростно. Щото ако те подхване Кольо, тогава ще видиш какво е то яростно :)

Просто се опитах да опровергая една позиция която ми се струва грешна (и продължава да ми се струва грешна).

Макар че оня дето зачекна темата сигурно вече и избягал с писъци :)


Цецо, само една единствена последна забележка от мене. Има значение дали едно прекъсване ще е на една микросекунда или на една секунда. Това дето е на една микросекунда ще ти е само за да обслужваш детектирането по фронт, а другото го ползваш за много неща. С PSoC няма нужда да товариш процесора излишно с това прекъсване, само това дето ти е за всичките задачи е достатъчно. Разгледай го по-подробно, сигурен съм че тогава ще ме разбереш.
А това дето си го дал за пример аз не съм го казал като обида, ако така си го възприел, съжалявам, исках да помогна с по-добро решение


Пет Апр 24, 2009 4:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Кой прави прекъсване на микросекунда :) Това е лудост :)

С един малко по съвремен процесор хватката ще е следната - нагласяш си таймера да клока на резолюцията която искаш. Нагласяш два кепчъра да хванат - предния и задния фронт, и втория да генерира прекъсване.

Пускаш системата и си вършиш друга работа. Като дойде прекъсване - четеш резултата от двата кепчъра - разликата е дължината на импулса.

Това го може почти всеки процесор за под 3$, който се сещам. Какво по различно ще направи PSoC-a?

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пет Апр 24, 2009 4:34 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 2:01 pm
Мнения: 1952
Местоположение: Варна
Мнение 
Вий нали щяхте да се чепкате за прекъсванията. Какво се върнахте пак към конкретния пример. :D
Я аз да зачепкам тогава tgi :twisted:
tgi написа:
В кода, обработващ прекъсването, се прави възможно минималното; т.е. колкото
да се подсигури на прекъсваемия код възможостта да свърши работата.
Разпространена грешка е да се вършат разни работи като част от самата
обработка на прекъсването, което разбира се има за резултат драматично
увеличение на латентността. В много случаи може да се мине и с високата
латентност, но от това подходът не става по-малко погрешен, естествено.

Винаги препрочитам мненията ти както ревностен християнин библията ама и ти винаги ме изненадваш.
Да разбирам ли че тука не включваш в сметката вложените прекъсвания и разните начини за приоритизация? Освен това когато задачата изисква освен ниска латентност при регистрацията и ниска латентност на реакцията какво правиш тогава?

_________________
Най-опасният враг на истината и свободата е мнозинството.


Пет Апр 24, 2009 4:53 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 59 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


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

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