| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Ами ..... ако кажеш какво точно искаш да направиш, какви процеси управляваш може би ще ти дадем някаква идея, но така да даваш туй онуй на части не може, кажи какви сензори следиш, какво сигнали генерираш и сигурно ще помогнем .... а относно софтуера .... без да искам да те убидя ли някой друг, но много ме плаши софтуерист да пише за embeded решения .... особенно ако не познава добре хардуера, затова според мен това си е работа за хардуерист ..... та докато не се запознаеш напълно с възможностите на процесора който ползваш, не само инструкциите му ами и кое как работи и как най-оптимално се ползва не отказвай помощ от хардуерист 
|
| Чет Дек 02, 2004 10:43 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Хм, добре. Ще формулирам задачата максимално просто - нужен е генератор на импулси със зададена ширина, с твърда точност от 10 uS.
|
| Чет Дек 02, 2004 11:07 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Мммм за теб това е достатъчно .... сега да видим дали аз съм разбрал ... искаш да получаваш импулс с задавана от теб точност с разрешаваща способност 10 uS, т.е. +/- 10 us. От къде се взема продължителността и кога генерираш импулса ?
|
| Чет Дек 02, 2004 11:12 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Продължителността се взима от паметта или от регистрите (което в моя случай е почти едно и също). Генерирането започва някакво време (отново трябва да се мери в 1/100 милисекунди) след дадено събитие - да речем външно прекъсване.
|
| Чет Дек 02, 2004 11:17 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Ех .... това кето си написал само по себе си иска 10 реда ... но съвместно с всичко друго което трябва да прави твоят софт ще е доста по сложно ....не може да с едаде просто така решение, аз поне не мога .... това не са неща които се равят на парче, днес това утре онова .... трябва да е ясно цялата фунционалност и след това да се мисли реализация, за мен де .... не твърдя че съм голям специалист и искам всичко да ми е ясно от самото начало.
|
| Чет Дек 02, 2004 11:40 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Ами да, към 10 реда са на C. Умножени първо по 8 а след това по 100000 за секунда ядат 80% от процесорното време.
И може да те учудва, но повече по задачата май няма какво да се каже.
|
| Чет Дек 02, 2004 11:48 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
ОК. Утре ще ти пратя сорса на това, което ти трябва, на C, ти ако искаш си го превеждай на асемблера за твоя вълшебен процесор. Само няколко въпроса :
1. Колко е максималното време за закъснение след събитието?
2. Колко е максималната продължителност на импулса?
3. Всеки импулс от различно събитие ли се генерира?
|
| Чет Дек 02, 2004 11:53 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Чакай малко, не се напрягай, щото вероятно ще напишеш това, което съм написал и аз.  Но пък от друга страна е интересно.
Аз по принцип пиша почти само на C  Писаното вероятно ще тръгне и на по-малко вълшебни процесори.
По въпросите:
1 и 2. 655.36 ms или 655360 us.
3. Не. Събитието е едно, времената нататък са различни.
|
| Пет Дек 03, 2004 12:02 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
е как да няма бе, тоя процесор асмо това ли прави ..... ? Броя събития твърд ли е ....доколкото разбирам получавш събитие, n ms след него имаш преден фронт, x мс след предниа фронт имаш заден фронт .... и това от няколко събития едновременно които се подават къде ????? Идват като прекъсване или са ти флагове които някой друг вдига и сваля, т.е. друг твой процес ....ще постна по някое време нещо като идея .....
|
| Пет Дек 03, 2004 12:10 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Почвам да вдявам ... това за запалването ли е ? Едното време ти е изпреварването а другото време продължителноста която държиш бобината на маса ..... или уравлението на дюзите .... ? Значи в крайна сметка имаш едно събитие така ли ? ... защо говореше за застъпващи се импулси ?
|
| Пет Дек 03, 2004 12:19 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Тони, чети внимателно, събитието е само едно и е прекъсване. От там нататък оставям на твоята фантазия как да се започне отброяване преди предния фронт, но освен флаг за друго не се сещам. 
|
| Пет Дек 03, 2004 12:19 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Една бърза идейка, след малко ако не заспя ще рпатя и сорс да видиш .... получаваш прекъсване .. знаеш какво е закъснението .. зареждаш таймер така че да генерира прекъсване при изтичане на това време, вдигаш флаг за начало на събитие. Излизаш и си правиш каквото искаш. Времето минава, влизаш в прекъсване от тоя таймер, правиш проверка, ако имаш флаг за начало на събитие и нямаш вдигнат флаг за преден фронт вдигаш преден фронт, зареждаш таймера за прекъсване при изтичане продължителността на събитието, вдигаш флаг за преден фронт. Ако имаш флаг за преден фронт сваляш изода, нулираш флага за преден фронт и флага за субитие ... така .. субитието ти е обработено .. но това е едно събитие ... за какви 16 ми говореше .. ето тук не ми стана ясно ... затова те питах за различните събития .. май много ми се спи и не вдявам това което чета.
p.s. ето реение което не яде 80% процесорно време .. времето което яде зависи от това колко са дълги импулсите и колко на често получаваш събитие .... това е почти хардуерна реализация, изпозлваш хардуера на процесора и минимално количество сметки, това същото може д астане с Capture/Compare модула ....
Последна промяна ToHu на Пет Дек 03, 2004 12:27 am, променена общо 1 път
|
| Пет Дек 03, 2004 12:25 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Браво!  Ще взема да направя отделен форум за моя проект, баси.
Значи, същността на управлението е такава, че дюзите почват да пръскат константно време след събитието, като широчината на импулса е променлива, докато при запалването е обратно - константна широчина и променливо закъснение. Но това е без значение, не вижам какво може да се оптимизира - проверки така или иначе трябва да се правят. Импулсите се застъпват - представи си го така: една лампичка светва, малко след нея светва втора, после 3-та и т.н., като след определен период от време лампичките изгасват в същия ред.
|
| Пет Дек 03, 2004 12:27 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
май много ми се спи .. виж това което съм описал ... по горе долу същия начин могат да се обработват и повече събтия .. сега нещо май не мога да мисля .... не вдявам какво ми пишеш .... почвам да се чудя дали съм нормален вече .. май много работя ... не вдявам някой път елмеентарни неща ... днес 10 минти гледам една комуникация на която ми обесняват че една променлива се мени не в нужното състояние докато вдяна кога се мени .. съвсем съм се чалнал .....
|
| Пет Дек 03, 2004 12:31 am |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Аз пак да питам - тая Мега няма ли кепчър/компаер-и и PWM-и. Май има  .Защо си ги хакнал тия неща на преместващи регистри - крака ли няма? Май наистина ще е най-добре отделен форум да се направи, където да се изясни концепцията, схеми и т.н., за да може да се действа комплексно. Тук има достатъчно хора, дето дори да си нямат понятие от ДВГ-та, могат да дадат доста добри идеи по различните части от контролера ако всичко е на масата. Проекта си е достатъчно сериозен, за да ги поднасяш нещата така на парче.
Не се заяждам  , ама 1MHz-я професор на "дядо Нисан" как ли ги прави тия работи, дето на теб ти заемат 80% от многото мегахерци  .
|
| Пет Дек 03, 2004 10:39 am |
|
|