Jump to content

    

sevareva

Участник
  • Content Count

    89
  • Joined

  • Last visited

Community Reputation

0 Обычный

About sevareva

  • Rank
    Частый гость
  1. Приложения для навигации (например, Navmii, Sygic, OsmAnd) последних версий также не могут "вычленить" эти данные (хотя у Яндекс.Карты это почему-то получается, но считаю, что это скорее исключение).
  2. Тестирую связку u-blox NEO-6M и FT232. Столкнулся с такой проблемой: при подключении связки к андроид-устройству приложение u-center GPS evaluation App не отображает данные о скорости и высоте, хотя сырые данные NMEA их содержат (соответственно, и приложения GPS навигации также не получают эти данные). При подключении к ПК Win7 все данные отображаются верно в приложении u-center 8.15 (конфиг модуля в обоих случаях одинаков - тот что в модуле по умолчанию). 1. В чем может быть причина? 2. Существуют ли другие прошивки для этого модуля? Тут не нашел. Сам модуль: Android (на скриншотах плавающий виджет фактической скорости из приложения Torque): Desktop Win7: ucenter_desktop_screenshots.7z
  3. возможно Вы об этом?: считаю: 24000000 / (5+1) / 40 = 100000 97.561 + 97.561/40 = 100.000 т.е. вопрос даже в том, почему ARR=39, а не 40 ?
  4. На stm32vldiscovery генерирую таймером #1 на канале #1 частоту 100 кГц. Контроллер работает на частоте 24 МГц. Инициализация выходного канала: TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable; TIM_OCConfig.TIM_Pulse = TIM_BaseConfig.TIM_Period/2; TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM1, &TIM_OCConfig); Часть кода инициализации таймера: TIM1->PSC = 9; TIM1->ARR = 24; TIM1->CCR1 = TIM1->ARR / 2; TIM1->CNT = 0; TIM_Cmd(TIM1, ENABLE); Логический анализатор измеряет частоту на выходе 96.000 кГц. Для PSC=5, ARR=40 получаю 97.561 кГц. Для PSC=3, ARR=60 получаю 98.361 кГц. Для PSC=1, ARR=120 получаю 99.174 кГц. Для PSC=0, ARR=240 получаю 99.585 кГц. Действительно ли использование предделителя существенно ухудшает точность счета (или с чем это может быть связано?) и как получить 100.000 кГц?
  5. Осваиваю работу с АРМ на STM32VL-Discovery. Использую 6 таймеров (1,2,3,15,16,17) в режиме ШИМ. Инициализация: GPIO_InitTypeDef GPIO_InitStruct; TIM_TimeBaseInitTypeDef TIM_BaseConfig; TIM_OCInitTypeDef TIM_OCConfig; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_ AFIO, ENABLE); GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_11; GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_15; GPIO_Init(GPIOB, &GPIO_InitStruct); GPIO_PinRemapConfig(GPIO_Remap_TIM15, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM15, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM16|RCC_APB2Periph_TIM17, ENABLE); TIM_BaseConfig.TIM_Prescaler = (uint16_t)(24000000 / 2000000) - 1; TIM_BaseConfig.TIM_Period = 400; TIM_BaseConfig.TIM_ClockDivision = 0; TIM_BaseConfig.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1, &TIM_BaseConfig); TIM_TimeBaseInit(TIM2, &TIM_BaseConfig); TIM_TimeBaseInit(TIM3, &TIM_BaseConfig); TIM_TimeBaseInit(TIM15, &TIM_BaseConfig); TIM_TimeBaseInit(TIM17, &TIM_BaseConfig); TIM_TimeBaseInit(TIM16, &TIM_BaseConfig); TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable; TIM_OCConfig.TIM_Pulse = TIM_BaseConfig.TIM_Period/2; TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC4Init(TIM1, &TIM_OCConfig); //pa11 TIM_OC1Init(TIM2, &TIM_OCConfig); //pa0 TIM_OC3Init(TIM3, &TIM_OCConfig); //pb0 TIM_OC2Init(TIM15, &TIM_OCConfig); //pb15 TIM_OC1Init(TIM16, &TIM_OCConfig); //pb8 TIM_OC1Init(TIM17, &TIM_OCConfig); //pb9 TIM1->BDTR |= TIM_BDTR_MOE; TIM15->BDTR |= TIM_BDTR_MOE; TIM16->BDTR |= TIM_BDTR_MOE; TIM17->BDTR |= TIM_BDTR_MOE; TIM_Cmd(TIM1, ENABLE); TIM_Cmd(TIM2, ENABLE); TIM_Cmd(TIM3, ENABLE); TIM_Cmd(TIM15, ENABLE); TIM_Cmd(TIM16, ENABLE); TIM_Cmd(TIM17, ENABLE); В данном случае ШИМ присутствует на всех инициализированных выводах. Но если строку RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM16|RCC_APB2Periph_TIM17, ENABLE); заменить двумя последовательными инициализациями для таймеров 16 и 17, то на их выходах ШИМ отсутствует. Также, если, например, заменить инициализацию для таймеров 1 и 2 сложением: RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1|RCC_APB1Periph_TIM2, ENABLE); то отключается ШИМ на выходе таймера 2. При этом регистры TIMx_CNT инкрементируются для всех таймеров верно. Почему так происходит и что, возможно, я не учитываю?
  6. Начал работать с PIC (PIC16F690). Создаю новый проект в PIC C Compiler (CCS PCWHD v4.140). Нужна прямая работа с регистрами. Для этого жму View->Special Registers, но никаких окон не открывается. Проблема среды или не правильно что-то делаю? Если у кого нормально открывается для указанного контроллера, сгенерируйте плз PIC16F690_registers.h и скиньте сюда/на почту. Спасибо.
  7. Начал работать с PIC (PIC16F690). Создаю новый проект в PIC C Compiler (CCS PCWHD v4.140). Нужна прямая работа с регистрами. Для этого жму View->Special Registers, но никаких окон не открывается. Проблема среды или не правильно что-то делаю? Если у кого нормально открывается для указанного контроллера, сгенерируйте плз PIC16F690_registers.h и скиньте сюда/на почту. Спасибо.
  8. USB programmer AVR910

    ATMega8-16AU (TQFP). Программирую только SPIEN, CKOPT, SUT0, BODEN.
  9. USB programmer AVR910

    Собрал 2 программатора (стандартно, все по схеме) с прошивкой 1.05. С обоими одна проблема. В AVRProg фьюзы читаются, записываются. Прошивку можно только прочитать, при записи - ошибка "Programming failed". После этого AVRProg не опознает AVR910 пока его не переподключаешь. AVROspII 0.547 позволяет успешно выполнить что-то одно: прошить | прочитать | очистить | авто-детект. После этого AVR910 не опознается с сообщением "Timeout during COM-port read operation! Supported programmer not found on Com Port 3" пока его заново не переподключить. Дело в прошивке или софте? Как решается? Спасибо.
  10. USB programmer AVR910

    А если перекомпилить исходники с сайта?
  11. USB programmer AVR910

    Вопрос к тем, кто хотел собрать AVR910 на ATMega48 (TQFP): будет ли при этом нормально функционировать программатор без каких-либо переделок схемы? По объему прошивка с сайта prottoss должна влезть.
  12. Спасибо! Очень кстати. Может быть кто-нибудь встречал Simulink-модели этих алгоритмов (в частности HOG) ?
  13. Подскажите, можно ли и где найти HDL-реализации под Altera алгоритмов: - HOG - SVM - свертка Цель: хочется увидеть их вживую, чтобы не писать с нуля. Спасибо.
  14. Это написано для теста буфера. Основные данные должны записываться из hdl-мастера. Старт записи здесь: ... //старт записи в sdram Но данных, как вижу, нет.
  15. Пишу avalon-mm master для записи данных из hdl-модуля во внешнюю sdram (MT46V16M16). В SOPC подключаю контроллер (DDR SDRAM Controller MegaCore Function) на выход мастера, в котором указываю адрес - базовый адрес контроллера, данные и устанавливаю сигнал 'write'. Для Nios (программа, данные, heap, стек - всё расположено в sdram) пишу: ... void *p = 0; realloc(p, 16); *(unsigned char*)(p + 2) = 0x69; ... //старт записи в sdram for (i = 0; i < 16; i++) printf("%X",*(unsigned char*)(p + i)); Результат: FF FF 69 FF FF FF FF FF FF FF FF FF FF FF FF FF Проверял на тестовом слейве - все работает как надо, данные из мастера до него доходят. В чем может быть проблема? В недоработанном мастере, в неверном доступе к sdram (адресация и пр.) или в неправильном выделении буфера в памяти? Спасибо. signaltap.bmp