fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Thu Apr 28 13:54:29 2016 +0000
Revision:
146:2bea299a7c4f
Parent:
145:f023b2f18b82
Child:
150:29c9f7671bac
?????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kovalev_D 145:f023b2f18b82 1
Kovalev_D 145:f023b2f18b82 2 _______________________________________________________________________________________________________________________________________________________________________________________
Kovalev_D 145:f023b2f18b82 3 | Параметр | описание | разрядность | диапозон | пересчет |
Kovalev_D 145:f023b2f18b82 4 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 5 | | Назначаемый собственный адрес устройства. | unsigned int | | |
Kovalev_D 145:f023b2f18b82 6 | Gyro.My_Addres | 0-технологический адрес. | 0xffff | 0x0000-0x0003 | ----------- |
Kovalev_D 145:f023b2f18b82 7 | | 1-3 - адрес в системе. | | | |
Kovalev_D 145:f023b2f18b82 8 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 9 | | Счетчик количества положительных импульсов за 1 такт | int | 0x0000-0xffff | |
Kovalev_D 145:f023b2f18b82 10 | Gyro.CaunPlus | виброподвеса.Сумируется из буфера Buff_Restored_sin[CountV31] | не обрезается | 1 байт 2 байт | ----------- |
Kovalev_D 145:f023b2f18b82 11 | | Обнуляется на CountV31=24.??? (VibroAMPRegul()) | | выдается как 0хff | 0хff | |
Kovalev_D 145:f023b2f18b82 12 |------------------------|---------------------------------------------------------------|----------------------|-----------------------------------------------------------------------|
Kovalev_D 145:f023b2f18b82 13 | | Счетчик количества отрицательных импульсов за 1 такт | int | 0x0000-0xffff | |
Kovalev_D 145:f023b2f18b82 14 | Gyro.CaunMin | виброподвеса.Сумируется из буфера Buff_Restored_sin[CountV31] | не обрезается | 1 байт 2 байт | ----------- |
Kovalev_D 145:f023b2f18b82 15 | | Обнуляется на CountV31=24.??? (VibroAMPRegul()) | | выдается как 0хff | 0хff | |
Kovalev_D 145:f023b2f18b82 16 |------------------------|---------------------------------------------------------------|----------------------|-----------------------------------------------------------------------|
Kovalev_D 145:f023b2f18b82 17 | |Счетчик, прирашение угла за период выдачи M_Rate - 1 раз в сек,| int | 0x0000-0xffff | |
Kovalev_D 145:f023b2f18b82 18 | Gyro.CuruAngle |Delta_500Hz - 1 раз в 500 Гц,Delta_Ext - по внешней защелке. | не обрезается | 1 байт 2 байт | 1 импульс = ?°?'?" |
Kovalev_D 145:f023b2f18b82 19 | |Сумируется по бувферу 32 точки (вычет виброподвеса) | | выдается как 0хff | 0хff | |
Kovalev_D 145:f023b2f18b82 20 | |Обнуляется при выдачи данных в ACK_GLD. | | | |
Kovalev_D 145:f023b2f18b82 21 |________________________|_______________________________________________________________|______________________|__________________________________|____________________________________|
Kovalev_D 145:f023b2f18b82 22 | |
Kovalev_D 145:f023b2f18b82 23 | Амплитуда синус косинус |
Kovalev_D 145:f023b2f18b82 24 |_______________________________________________________________________________________________________________________________________________________________________________________|
Kovalev_D 145:f023b2f18b82 25 | | | | | |
Kovalev_D 145:f023b2f18b82 26 | | | | 0 V - 4 V | |
Kovalev_D 145:f023b2f18b82 27 | Spi.ADC5 | Значение амплитуды в текущий момент. | unsigned int | int 32767 - 0 | int 1 = 0.000122 |
Kovalev_D 145:f023b2f18b82 28 | | Считывается из АЦП5 по SPI | не обрезается | hex 0x7fff - 0x0000 | |
Kovalev_D 145:f023b2f18b82 29 | | | | | |
Kovalev_D 145:f023b2f18b82 30 |------------------------|---------------------------------------------------------------|----------------------|-----------------------------------------------------------------------|
Kovalev_D 145:f023b2f18b82 31 | | | unsigned int | 0 V - 4 V | |
Kovalev_D 145:f023b2f18b82 32 | TempA | Перевернутое и умноженное на 2 значение Spi.ADC5. | не обрезается | int 0 - 65535 | TempA = (0x7fff - Spi.ADC5) << 1; |
Kovalev_D 145:f023b2f18b82 33 | | | | hex 0x0000 - 0xffff | |
Kovalev_D 145:f023b2f18b82 34 | | | | | |
Kovalev_D 145:f023b2f18b82 35 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 36 | | | int | | |
Kovalev_D 145:f023b2f18b82 37 | Gyro.ADF_Accum | Сумма значенний Амплитуды с АЦП5 (sin(),cos()) | не обрезается | 0 - int | Gyro.ADF_Accum += TempA; |
Kovalev_D 145:f023b2f18b82 38 | | для расчтета отфильтровонного значения амплитуды | | максимальное значение | |
Kovalev_D 145:f023b2f18b82 39 | | за пол периода виброподвеса (16 тактов) (быстрый фильтр) | | | |
Kovalev_D 145:f023b2f18b82 40 |------------------------|---------------------------------------------------------------|----------------------|-----------------------------------------------------------------------|
Kovalev_D 145:f023b2f18b82 41 | | | int | | |
Kovalev_D 145:f023b2f18b82 42 | Gyro.ADS_Accum | Сумма значенний Амплитуды с АЦП5 ( sin(),cos() ) | не обрезается | 0 - int | Gyro.ADS_Accum += TempA; |
Kovalev_D 145:f023b2f18b82 43 | | для расчтета отфильтровонного значения амплитуды | | максимальное значение | |
Kovalev_D 145:f023b2f18b82 44 | | за 256 тактов виброподвеса (медленный фильтр) | | 7584065 | |
Kovalev_D 145:f023b2f18b82 45 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 46 | | | int | 0 - int | |
Kovalev_D 145:f023b2f18b82 47 | Gyro.AD_Slow | Значение амплитуды | не обрезается | максимальное значение | Gyro.AD_Fast = Gyro.ADF_Accum << 8 |
Kovalev_D 145:f023b2f18b82 48 | | после медленного фильтра | | 1941520832 | |
Kovalev_D 145:f023b2f18b82 49 | | | | | |
Kovalev_D 145:f023b2f18b82 50 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 51 | | | int | 0 - int | |
Kovalev_D 145:f023b2f18b82 52 | Gyro.AD_Fast | Значение амплитуды | не обрезается | максимальное значение |Gyro.AD_Fast = Gyro.ADF_Accum << 12 |
Kovalev_D 145:f023b2f18b82 53 | | после медленного фильтра | | 1941520832 | |
Kovalev_D 145:f023b2f18b82 54 | | | | | |
Kovalev_D 145:f023b2f18b82 55 |________________________|_______________________________________________________________|______________________|__________________________________|____________________________________|
Kovalev_D 145:f023b2f18b82 56 | |
Kovalev_D 145:f023b2f18b82 57 | Вибропривод |
Kovalev_D 145:f023b2f18b82 58 |_______________________________________________________________________________________________________________________________________________________________________________________|
Kovalev_D 145:f023b2f18b82 59 | Параметр | описание | разрядность | диапозон | пересчет |
Kovalev_D 145:f023b2f18b82 60 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 61 | |Значение интервала сбрасывания счетчика в машинных тиках(103,2)| | пример: | |
Kovalev_D 145:f023b2f18b82 62 | Gyro.Frq | пересчитывается каждый 16 такт виброподвеса | unsigned int | 300-500Гц | Gyro.Frq = Gyro.FrqHZ<<16; |
Kovalev_D 145:f023b2f18b82 63 | | для регулировки частоты записывается в | | 19660800-32768000 | |
Kovalev_D 145:f023b2f18b82 64 | | LPC_TIM1->MR0 =(unsigned int)((100000000/(Gyro.Frq>>11) | | | |
Kovalev_D 145:f023b2f18b82 65 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 66 | | | | 0 - 500 | (задается) |
Kovalev_D 145:f023b2f18b82 67 | Gyro.FrqHZ | значение частоты ВП в Гц | unsigned int | максимальное значение | Gyro.FrqHZ = Gyro.Frq>>16 |
Kovalev_D 145:f023b2f18b82 68 | | используется только для инициализации | | 500 | |
Kovalev_D 145:f023b2f18b82 69 | | начаольной частоты ВП | | | |
Kovalev_D 145:f023b2f18b82 70 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 71 | | Максимально допустимая амплитуда в процентах | | | |
Kovalev_D 145:f023b2f18b82 72 | Gyro.AmpPer | используется для расчета ошумления | unsigned int | 0%-98% | (задается) |
Kovalev_D 145:f023b2f18b82 73 | | (Границ включения и отключения ног ВП) | | | |
Kovalev_D 145:f023b2f18b82 74 | | | | | |
Kovalev_D 145:f023b2f18b82 75 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 145:f023b2f18b82 76 | | Частота ошумления ВП. При CountV31=0 входим в функцию | | | |
Kovalev_D 145:f023b2f18b82 77 | Gyro.AmpT |ошумления ВП. Если PeriodCount меньше Gyro.AmpT инкрементируем| unsigned int | 10 - 30 | Gyro.AmpT |
Kovalev_D 145:f023b2f18b82 78 | |PeriodCount если счетчик больше или равен выполняем расчет | | тактов Вибропривода | = |
Kovalev_D 145:f023b2f18b82 79 | |амплитуды вибропривода. (псевдослучайно в диаппазоне) | | | rand() % Gyro.AmpTD+Gyro.AmpMin) |
Kovalev_D 146:2bea299a7c4f 80 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|-----------------------------------------------------------|
Kovalev_D 146:2bea299a7c4f 81 | | Левая и правая граница импульса ВП соответственно, | | При Gyro.FrqHZ = 500Hz : | N1 = ((Nmax*(100-Gyro.AmpPer))/Gyro.FrqHZ) |
Kovalev_D 146:2bea299a7c4f 82 | Gyro.AmpN1 | используется для создания симетричной картины импулься ВП | unsigned int | N1(1-66) | N1 = ((Nmax*(100-Gyro.AmpPer+Gyro.AmpPerDel))/Gyro.FrqHZ) |
Kovalev_D 146:2bea299a7c4f 83 | Gyro.AmpN2 | относительно его центра при ушумлении | | 66-малая амплитуда | N2 = ((Nmax/2)-Gyro.AmpN1); |
Kovalev_D 146:2bea299a7c4f 84 | | _______ ___ | | N2 (100-165) | Nmax =((100000/(Gyro.Frq>>16))-1) |
Kovalev_D 146:2bea299a7c4f 85 | | _____/ = | = \____/=|=\_______ c-центр импульса | | 100-малая амплитуда | (максимальная длительность импульса) |
Kovalev_D 146:2bea299a7c4f 86 | | 0 N1 c N2 N1 c N2 Gyro.Frq | | | при данной частоте Gyro.Frq |
Kovalev_D 146:2bea299a7c4f 87 |________________________|_______________________________________________________________|______________________|__________________________________|___________________________________________________________|
Kovalev_D 146:2bea299a7c4f 88 | |
Kovalev_D 146:2bea299a7c4f 89 | АЦП и ЦАП |
Kovalev_D 146:2bea299a7c4f 90 |_______________________________________________________________________________________________________________________________________________________________________________________|
Kovalev_D 146:2bea299a7c4f 91 | | | | | Gyro.Termo=Spi.ADC1_Accum >> 5; |
Kovalev_D 146:2bea299a7c4f 92 | Gyro.Termo | данные с первого АЦП температура | unsigned int | | Spi.ADC1_Accum - накопленные |
Kovalev_D 146:2bea299a7c4f 93 | | Термодатчик типа LM337 | | 0V - 4V | данные за такт виброподвеса |
Kovalev_D 146:2bea299a7c4f 94 | | | | 0 - 65536 | |
Kovalev_D 146:2bea299a7c4f 95 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 146:2bea299a7c4f 96 | | | | | Gyro.Termo=Spi.ADC2_Accum >> 5; |
Kovalev_D 146:2bea299a7c4f 97 | Gyro.DeltaT | данные с второго АЦП | unsigned int | ------------------------------ | Spi.ADC2_Accum - накопленные |
Kovalev_D 146:2bea299a7c4f 98 | | (градиент температур между двумя термодатчиками (Hel509) | | ------------------------------ | данные за такт виброподвеса |
Kovalev_D 145:f023b2f18b82 99 | | | | | |
Kovalev_D 145:f023b2f18b82 100 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 146:2bea299a7c4f 101 | | | | | Gyro.Termo=Spi.ADC3_Accum >> 5; |
Kovalev_D 146:2bea299a7c4f 102 | Gyro.In1 | ток в канале 1 | unsigned int | ----------------------------- | Spi.ADC3_Accum - накопленные |
Kovalev_D 146:2bea299a7c4f 103 | | | | ----------------------------- | данные за такт виброподвеса |
Kovalev_D 145:f023b2f18b82 104 | | | | | |
Kovalev_D 145:f023b2f18b82 105 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|
Kovalev_D 146:2bea299a7c4f 106 | | | | | Gyro.Termo=Spi.ADC4_Accum >> 5; |
Kovalev_D 146:2bea299a7c4f 107 | Gyro.In2 | ток в канале 2 | unsigned int | ----------------------------- | Spi.ADC4_Accum - накопленные |
Kovalev_D 146:2bea299a7c4f 108 | | | | ----------------------------- | данные за такт виброподвеса |
Kovalev_D 146:2bea299a7c4f 109 | | | | | |
Kovalev_D 146:2bea299a7c4f 110 |------------------------|---------------------------------------------------------------|----------------------|----------------------------------|------------------------------------|