| Автор |
Съобщение |
|
Владо
Ранг: Минаващ
Регистриран на: Нед Дек 01, 2013 7:31 am Мнения: 8 Местоположение: Роман
|
 Нося на бой !
Въртя една платка с акселерометър(цифров), ама g-то ме бърка. За да го елиминирам, сложих два датчика, подходящо разположени и ги чета(по SPI), ама от единия до другия отчет, пущината се е завъртяла (в зависимост от оборотите от 0 до 1,732 degree), което не ме устройва.С аналогови датчици, нямам проблем - с операционен усилвател, елиминирам g-то и след това в АЦП-то на проца. Въпросът ми е - има ли начин и как, да отчитам едновременно два цифрови сигнала по SPI, аналоговите пет пари не чинат, абе бамбашка са ...
_________________ Искър 1923 forever ! Където е текло, пак ще тече !
|
| Пон Сеп 15, 2014 9:14 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Нося на бой !
Ъъъъ.
Нещо не можах да ти схвана въпроса. Реално "едновременно" не е възможно да прочетеш две неща по една шина. Но за сметка на това можеш да ги прочетеш със пренебрежимо малко закъснение между двата. Чисто теоретично можеш два датчика да им прочетеш 16 битови данни 250 000 пъти в секунда. Интересно ми е да видя какво може да се върти с 250 000 оборота в секунда (15 милиона в минута). Обработването на данните също не е пробелм със дори и не толкова бърз процесор.
|
| Пон Сеп 15, 2014 9:58 pm |
|
 |
|
michev
Ранг: Форумен бог
Регистриран на: Сря Юли 11, 2007 10:16 am Мнения: 1730
|
 Re: Нося на бой !
Напиши си софтуерна имплементация на SPI и си пиши и чети едновременно от 2-та датчика. Писането предполагам е еднакво и за 2-та, само при четенето ще имаш разлика - т.е ще четеш 2 бита на всеки семпъл.
|
| Пон Сеп 15, 2014 10:31 pm |
|
 |
|
Н'бабане Гт'муан'га
Ранг: Форумен бог
Регистриран на: Сря Яну 25, 2012 9:14 am Мнения: 5298
|
 Re: Нося на бой !
И аз не схванах въпроса, но чисто технически да се счепкам с тебе по въпроса - по една шина можеш да прочетеш безкрайно количество данни едновременно. Единствения проблем е, че всичките ще имат еднаква стойност 
_________________ 'просто' е технически синоним на 'красиво'
|
| Пон Сеп 15, 2014 10:32 pm |
|
 |
|
Владо
Ранг: Минаващ
Регистриран на: Нед Дек 01, 2013 7:31 am Мнения: 8 Местоположение: Роман
|
 Re: Нося на бой !
Съжалявам, че не съм задал коректно въпроса. Към показанието на единия датчик g съставката се добавя, а от другия се изважда и събирайки показанията им я елиминирам. Събирането го извършвам (при аналоговите датчици) чрез операционен усилвател, и после в АЦП-то, но аналоговите датчици са капризни, податливи на смущения и т.н.При цифровите, ще имам дефазиране в отчета и съответната грешка ... това ми е проблемът, или да си трая ?
_________________ Искър 1923 forever ! Където е текло, пак ще тече !
|
| Пон Сеп 15, 2014 10:51 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Нося на бой !
Е имах предвид да се прочетат буквално в един и същи физически момент двата и да им се прочетат изтинските данни и на двата. Понеже се споменават обороти, значи нещо се върти. Та мисълта ми е че не е много сложно да се прочитат с време между четенията което ще е пренебрежимо малко и дефазирането ще ти е в рамките на десети или дори стотни от градуса. А за да навлезем още по нататък - могат да се прочетат едновременно с два SPI модула които само трябва да се синхронизират. Ако "нещото" което е с двата модула има и DMA на модулите съвсем ще се опростят нещата.
В крайна сметка пак не ми стана много ясно какъв точно ти е проблема и от къде ще дойде толкова голямо дефазиране? Тия градуси са почти 5 оборота. Дори и да приемем че SPI ти е на 4MHz (което е в общи линии една съвсем нормална скорост) и четеш по 24 бита данни от два датчика, ще можеш да прочетеш в най-добрия случай около 83 хиляди отчета в секунда. Айде 20 хиляди да ги направим. За да имаш дефазиране от 5 оборота, нещото ще трябва да се върти със 100 000 оборота в секунда. Ако си го направил - диркетно или Рек да мести темата в безумни или си открил междузвездните пътувания.
|
| Вто Сеп 16, 2014 11:25 am |
|
 |
|
emilvtc
Ранг: Форумен бог
Регистриран на: Вто Фев 06, 2007 8:44 pm Мнения: 3175 Местоположение: Пловдив
|
 Re: Нося на бой !
Ако ти е толкова критично едновременното четене - правиш си софтуерна имплементация на SPI както michev ти предлага, или използваш фичърс на контролера за едновременно четене на 2 бита както е имплементацията при SD картите - четеш едновременно 2 или 4 бита синхронно с клок-а.
И аз мисля, че ако вдигнеш максимално честотата на клока на SPI - примерно 16 МХз и повече - то ще можеш да прочетеш последователно и двата датчика със закъснение около микросекунда- две. От друга страна тези датчици за относително инертни (имат механика в тях), така че при промяна на ускорението - закъснението в тях дължащо се само на механиката им ще е доста по-голямо от микросекунда - две.
Дай повече инфо за това, което искаш да правиш, за да не се окаже, че се бориш с несъществуващ проблем.
|
| Вто Сеп 16, 2014 11:38 am |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Нося на бой !
Добре де нали са SPI акселерометърите? Връзваш ги така:  И ги пишеш и четеш едновреммено. Източник: http://en.wikipedia.org/wiki/Serial_Per ... erface_Bus
_________________ Warriors of the Night, ASSEMBLER!!!
Последна промяна ike на Вто Сеп 16, 2014 1:31 pm, променена общо 1 път
|
| Вто Сеп 16, 2014 1:14 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
 Re: Нося на бой !
Това май няма да работи. 
|
| Вто Сеп 16, 2014 1:16 pm |
|
 |
|
Владо
Ранг: Минаващ
Регистриран на: Нед Дек 01, 2013 7:31 am Мнения: 8 Местоположение: Роман
|
 Re: Нося на бой !
Благодаря за съветите, ще направя софтуерна имплементация .
_________________ Искър 1923 forever ! Където е текло, пак ще тече !
|
| Вто Сеп 16, 2014 2:33 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Нося на бой !
@ike, тва как работи?
едит : ок, явно има начин ама смисъла му е никакъв в случая - пак не се четат заедно а един след друг като всички без последния го играят щифт регистри. Даже така май обема данни ще е по-голям от нужното.
Само за да се спести един пин за SS просто не си заслужава.
|
| Вто Сеп 16, 2014 9:01 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Нося на бой !
<Заяждане> А с JTAG, колко пина спестяваш? </Заяждане>
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Вто Сеп 16, 2014 9:16 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Нося на бой !
Мисълта ми беше за конкретния случай - спестяването на един пин ще доведе до това че няма да може да засича 100 000 оборота в секунда ами само 50 000 ....
|
| Вто Сеп 16, 2014 9:31 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Нося на бой !
Ще чете 2 пъти по-бавно, но не мисля че ограничението в отчетите идва от честотата с коята чете SPI интерфейса.
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Вто Сеп 16, 2014 11:59 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Нося на бой !
Въпроса в общи линии може ли "едновременно" ... За мене едновременно означава че се четат в абсолютно един момент на времето. Свързани последователно реално не се четат едновременно а един след друг. Обаче остава въпроса "почему етот надо"... Дори и последователно да се четат на порядъчно ниска скорост, пак дефазирането ще им е порядъчно малко. Обаче питащия нещо се отказа да ни чете разсъженията май... Докато не каже каква точно е идеята и постановката, ние тука само можем да си чешем "теоретично" езиците (или да си търкаме клавиатурите по-точно  )
|
| Сря Сеп 17, 2014 1:07 pm |
|
|