26.02.2013, 23:53
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
датчик давления wika 600 bar. Точно модель не помню, но выход брали с 5 вольтами
|
|
|
|
26.02.2013, 23:54
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну собственно характеристики АЦП у STM32 ни для кого секретом не являются. В вашем случае даже DMA для связи АЦП и RAM не нужен. Тупо скидывать измерения по прерыванию и все.
|
|
|
|
27.02.2013, 00:09
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
я не говорю, что секрет. минимальное время оцифровки 0.5 мкс, максимум 16.4 мкс. Впринцепи должно хватить хоть для какого - нибуть графика. А если не получится, то буду ставить внешний АЦП. Поэтому и спрашиваю что лучше использовать, т.к я с внешними еще не работал, а выбор их большой
|
|
|
|
27.02.2013, 00:09
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Какое потребление у АЦП СТМ32 и можно VDDA запитать отдельным ИОН 3.0 Вольта (REF193)?
|
|
|
|
27.02.2013, 00:13
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
anton_1000, ADC Vdda (3 sampling time) - 1.8 mA максимум
|
|
|
|
27.02.2013, 00:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Самое интересное будет потом определить где вибрации иглы, где переходные процессы самого датчика, а где чудеса гидродинамики - интересная задачка.
Надо будет полюбопытствовать как все это исследуют где нить типа ЦНИДИ
|
|
|
|
27.02.2013, 00:33
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Boba_spb, от меня в данном проекте, как и в других, именно управление и электроника. Что скажут получить и как обработать - буду пробовать.
Про гидродинамику пусть кафедра думает. Мне результат нужен
|
|
|
|
27.02.2013, 00:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да понятно - на STM32F4xx сделаете без особых проблем думаю.
Глянул, тут для об щего развития http://eftj.secna.ru/vol4/090403.pdf
|
|
|
|
27.02.2013, 10:31
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Boba_spb, спасибо за документ. Почитаю.
А что означает минимальное время оцифровки и максимальное? То, что это величины расчетные, а не реальные это понятно. А как узнать типичное время?
Или расчитывать по максимальному времени, а там, что получится?
|
|
|
|
27.02.2013, 11:59
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
STM32F4 Discovery
Код:
|
#include "stm32f4xx.h"
#include "arm_math.h"
float32_t testInput = 2.469305197656249500;
float32_t testOutput;
int main(void) {
arm_sqrt_f32(testInput, &testOutput);
while (1)
{
}
} |
Keil :
Код:
|
;;;15
;;;16 arm_sqrt_f32(testInput, &testOutput);
000002 ed900a00 VLDR s0,[r0,#0]
000006 eeb50ac0 VCMPE.F32 s0,#0.0
00000a eef1fa10 VMRS APSR_nzcv,FPSCR
00000e dd05 BLE |L1.28|
000010 eef10ac0 VSQRT.F32 s1,s0
000014 4806 LDR r0,|L1.48|
000016 edc00a00 VSTR s1,[r0,#0]
00001a e005 B |L1.40|
|L1.28|
00001c eddf0a05 VLDR s1,|L1.52|
000020 4803 LDR r0,|L1.48|
000022 edc00a00 VSTR s1,[r0,#0]
000026 bf00 NOP
|L1.40|
;;;17
;;;18 while (1)
000028 bf00 NOP
|L1.42|
00002a e7fe B |L1.42| |
IAR.
Код:
|
10 int main(void) {
11
12
13
14 arm_sqrt_f32(testInput, &testOutput);
\ main:
\ 00000000 0x.... LDR.N R1,??DataTable0
\ 00000002 0x1D08 ADDS R0,R1,#+4
\ 00000004 0xED91 0x0A00 VLDR S0,[R1, #0]
\ 00000008 0x.... 0x.... BL arm_sqrt_f32
15
16
17 while (1)
\ ??main_0:
\ 0000000C 0xE7FE B.N ??main_0
18 |
Код:
|
float32_t * pOut)
{
arm_sqrt_f32:
0x8000288: 0xb510 PUSH {R4, LR}
0x800028a: 0x4604 MOV R4, R0
if(in › 0)
0x800028c: 0xeeb5 0x0a40 VCMP.F32 S0, #0.0
0x8000290: 0xeef1 0xfa10 VMRS APSR_nzcv, FPSCR
0x8000294: 0xdd05 BLE.N ??arm_sqrt_f32_0 ; 0x80002a2
*pOut = sqrtf(in);
0x8000296: 0xf000 0xf813 BL _sqrtf ; 0x80002c0
0x800029a: 0xed84 0x0a00 VSTR S0, [R4, #0]
return (ARM_MATH_SUCCESS);
0x800029e: 0x2000 MOVS R0, #0
0x80002a0: 0xbd10 POP {R4, PC}
*pOut = 0.0f;
??arm_sqrt_f32_0:
0x80002a2: 0x2000 MOVS R0, #0
0x80002a4: 0x6020 STR R0, [R4]
return (ARM_MATH_ARGUMENT_ERROR);
0x80002a6: 0xf04f 0x30ff MOV.W R0, #-1 ; 0xffffffff
0x80002aa: 0xbd10 POP {R4, PC}
arm_sqrt_f32(testInput, &testOutput);
main:
0x80002ac: 0x4903 LDR.N R1, ??DataTable0 ; testInput
0x80002ae: 0x1d08 ADDS R0, R1, #4
0x80002b0: 0xed91 0x0a00 VLDR S0, [R1]
0x80002b4: 0xf7ff 0xffe8 BL arm_sqrt_f32 ; 0x8000288
while (1)
??main_0:
0x80002b8: 0xe7fe B.N ??main_0 ; 0x80002b8
0x80002ba: 0x0000 MOVS R0, R0
??DataTable0: |
Код:
|
_sqrtf:
sqrtf:
0x80002c0: 0xeeb5 0x0ac0 VCMPE.F32 S0, #0.0
0x80002c4: 0xeef1 0xfa10 VMRS APSR_nzcv, FPSCR
0x80002c8: 0xd402 BMI.N 0x80002d0
0x80002ca: 0xeeb1 0x0ac0 VSQRT.F32 S0, S0
0x80002ce: 0x4770 BX LR
0x80002d0: 0xf06f 0x4c00 MVN.W R12, #-2147483648 ; 0x80000000
0x80002d4: 0xee00 0xca10 VMOV S0, R12
0x80002d8: 0xf000 0xb800 B.W __iar_edom ; 0x80002dc
__iar_edom:
0x80002dc: 0xb51f PUSH {R0-R4, LR}
0x80002de: 0xf000 0xf803 BL __aeabi_errno_addr ; 0x80002e8 |
Фиг с ними с двойными проверками на отрицательное число .
Можно sqrtf и без обертки arm_sqrt_f32 юзать, а как заставить IAR инлайнить функцию из либы ?????
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 27.02.2013 в 12:02.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:23.
|
|