Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Бате давай за MSP-то
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=84
Страница 1 от 1

Автор:  Цецо [ Пон Ное 01, 2004 12:43 pm ]
Заглавие:  Бате давай за MSP-то

Щото в оная тема вече им загубих дирята. Начи я ме открехни малко.

С умножението явно е добре (то вече всички умножават за 1 такт, модерно е). Ама как дели. Имаш ли наблюдения върху С библиотеката. Например за 16/8 бита. На пикльовците (много ма кефи тоя лаф), документацията е добра - пише си коя библиотека колко цикъла трае (максимално и средно). Това ми е много важно, щото имам разни време критични деления, дето трябва да знам колко точно могат да се проточат. А и на пикльовците с тая харвардска интеректура туй им е готиното - че всяка инструкция е един цикъл и много лесно се смятат времената - броиш си инструкциите. А при тия нюмановите говеда - то веднъж 1, веднъж 5, не моа му фана дирята. Та има ли документирани математиките като скорост нейде. Простите математики - * и /, корени за сега не вадя.

Другото е ползвал ли си някаква форма на кернел. Не нещо сложно, трябва ми 3-4 неща да щракам. Даже кат се замисля по ми удобно да са кооперативни. Salvo ми звучи подходящо, трябва да видим как е за MSP-та. Другото е да взема да си напиша един примитивен, ей тъй на общо основание. Не ще да е толкоз сложно.

Сега в момента се двоумя между DSPIC (дели много бързо говедото) и MSP, ама консумацията ми е много важна та клоня на втория. А и пуснаха най накрая чип с повечко RAM, щото досега това много ме спъваше. Само на периферия са куцички бе, мамка му. Шо не пуснат такъв с два UART и два SPI, та да видя рахат. Сега ще трябва да се ограничавам.

Автор:  bateAz [ Пон Ное 01, 2004 2:49 pm ]
Заглавие: 

Не съм ползвал кернел. Пиша си го сам, и ако се направи добре, е за предпочитане пред готовите. А и аз не знам да има готов за MSP. По отношение на периферията не си прав. TI има 2 SPI, 2 UART и аналогов 12 битов и/о. Чиповете сме ги купували от Акерман, но продават от около 200 броя нагоре. Не ми е проблем да си намирам единични бройки, на това е частен случай. Олимекс продават на що-годе свестни цени ( само 2.5 пъти отгоре !!! ), но не съм купувал от тях и не знам как е. Чиповете, с които съм работил, за 430F149 и 430F169.
Компилатор - ползвам IAR, легално купен, не се базикам. Знам, че има и кракнати версии, но не съм търсил.
Умножението му е за един цикъл, не не го прави с инструкция в ядрото, а с запис в периферията (???). Делението - софтуерно. Има и версии с хардуерен делител до 32 / 16, ама не съм ползвал. Фон Нойман, разрешава FLASH да се ползва и за данни, при това процедурата за запис да е във флаша. Има до два кварцови осцилатора и един вътрешен RC, който се подстройва на 4096 стъпки.
Мултитаскинг съм правил "ръчно". За разлика от пикливоте процесори, тук имаш стек колкото си искаш и най-вече имаш достъп до стека, така че можеш да правиш "превключване между задачите".

Автор:  Цецо [ Пон Ное 01, 2004 8:41 pm ]
Заглавие: 

Добре бе аз защо не видях такъв с два отделни UART-a и два отделни SPI-a? Дай номера. Тия дето аз ги гледах все са с 2 сериини порта пък ти решаваш SPI или UART. А на мен ми трябват 4 (2х2). Не разбрах има ли документирани математиките на IAR-ския компилатор, та да видя колко максимално може да бъде едно делене. Това ми е наистина важна информация, щото имам 50 тина микросекунди да деля и ако прескоча и с 100ns става стряшно. Взрива е само 200 J. И кои са тия дето делят 32/16 хардуерно, аз защо не ги намирам?

Автор:  bateAz [ Пон Ное 01, 2004 9:44 pm ]
Заглавие: 

430F149 - наистина има 1 UART, 1 SPI и 1 UART/SPI. Работи максимално на 8 МHz, сега ще направя един тест за колко такта прави едно деление long / long и long / integer. Kaто казвам "сега", разбирай утре предиобяд.

Автор:  Цецо [ Вто Ное 02, 2004 9:48 am ]
Заглавие: 

Абе то ако е за тест и из мога да го тествам в симулатора. Ама след като деленето е софтуерно, значи има миним., средно и макс. време за делене което зависи от операндите. Мен ме интересува единствено максималното. Лошото е че за да го провокираш трябва да знаеш сорса на кода за делене, за да се види при какви операнди се достига до worst case-a, понякога са крайните в диапазона, понякога зависи от броя на нулите/единиците и пр. комбинации. А IAR май сорсове на библиотеки не дават. Или бъркам?
Микрочип си дават сорсовете на библиотеките и там си пише какви са максималните времена. Дали и IAR правят таквиз екстри? Щото не откривам таквиз неща.
A и 149 има просто два USART - ти ги ползвай като SPI ИЛИ UART - сиреч върти/сучи все са си 2 . Поне така пише в дата шеета.
Аз съм си харесал 1610/1611 че поне памет са се сетили да сложат. Иначе пак са бедни на хардуер. Ама това си е болест на всички MSP-та.

Аааааааа. Сега видях че максималния клок му е 8МХз. Много малко бе. Пишат 125 ns инструкция, ама това е теоретичния максимум нали? Щото той заради нюмановата си архитектура може и до 5 цикъла да проточи.
Баси аз що бях останал с впечатление че може на 16 Мхз да бичи говедото. Малко са ми тия псевдо 8MIPS. Аз сега го правя с PIC който е на "чисти" 4MIPS и издухва, щеше ми се нещо поне 2 пъти сигурно по пройзводително да е. Е верно че умножава 16х16 (а не кат пика 8х8), ама умножението ми е най - малкия проблем. А като го гледам май деленето и програм flow-a няма да му е по-бързо. Верно че на практика работи без енергия, ама май слабо "работи", кат за мен.

Автор:  bateAz [ Вто Ное 02, 2004 11:49 am ]
Заглавие: 

Пуснах тест на 5.014 MHz, давам ти макс. времена, получени от случайно избрани операнди.
32 / 32 102 us
32 / 16 132 us ????
16 / 16 44 us
Явно това не е за твоето приложение, освен ако не се откажеш от делението. Ядро с делител май наистина няма, нещо съм се заблудил в далечното минало.

Автор:  Цецо [ Вто Ное 02, 2004 12:12 pm ]
Заглавие: 

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

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/