Перейти к содержанию
    

war4one

Свой
  • Постов

    266
  • Зарегистрирован

  • Посещение

Весь контент war4one


  1. Пытаюсь сделать дозвон с Telit GL868-DUAL на свой сотовый телефон. Подаю питание на GL868, ногой RESET не дергаю, PWRMON не проверяю (пока, конечно, при отладке). Мои запросы и его ответы приведены ниже. я: printf("AT\r"); Telit: AT OK я: printf("AT#SIMDET=1\r"); Telit: AT#SIMDET=1 OK я: printf("AT#QSS?\r"); Telit: AT#QSS? #QSS: 0,1 я: printf("AT+CSQ\r"); Telit: +CSQ: 24,0 я: printf("AT+CREG?\r"); Telit: +CREG: 0,1 я: printf("ATD8917xxxxxxx\n\r"); // Здесь, конечно нормальный номер Telit: NO CARRIER Что делаю не так?
  2. Еще библиотечки. Если еще что сделаю, буду выкладывать вот сюда PCAD.lib.rar
  3. +1 за лазер, наверное можно найти попользоваться. Мы купили собственную лазерную резку, теперь коробки выглядят вполне по человечески. Места реза пробиваются лазером насквозь, места гиба - перфорируются. Для образца можно взять готовую упаковку (мы взяли коробку от системник Asus) и перерисовать на свои габариты в Компасе и с этим чертежиком обойти типографии и рекламщиков.
  4. Sanhe

    Даже не знаю, как то все через снабженцев шло. А что, есть разница?
  5. У меня EB500 ловит где-то в метре от окна, если пошаманить с ориентацией антенны.
  6. Сорри, сам дурак - не подал питание на модуль и уже требую, чтобы он работал :) Rx-Tx пока не дышат, но PWRMON вроде стал активным.
  7. Подключил вывод RESET модуля GL868-DUAL по документации - транзистор с открытым коллектором без подтяжки. Дергаю базой транзистора, на коллекторе всегда 0. Такое ощущение, что модулю пофиг, что ему подают с общего коллектора, ноль или единичку, подтяжки там нет, что ли? Куда копать?
  8. Да, на днях раздраконил трекер, внутри стоит STM32F103RCT6.
  9. Sanhe

    Пришли к нам корпуса Sanhe, все-таки качество не идеальное, небольшие неровности на границах маленьких прямоугольных отверстий. Пробовали еще OKW и Bopla - претензий нет.
  10. Сейчас вот такая процедура инициализации, может быть, что-то забыл? В частности, с HSEBYP сейчас ничего не делаю. void InitClock(void) // Инициализируем и раздаем клоки, пытаемся запустится от HSE, если не получается, стартуем от HSI { __IO uint32_t StartUpCounter = 0; RCC->CR |= ((uint32_t)RCC_CR_HSEON); // Включаем HSE do // Ждем пока HSE не выставит бит готовности либо не выйдет таймаут { HSEStatus = RCC->CR & RCC_CR_HSERDY; StartUpCounter++; } while((HSEStatus == 0) && (StartUpCounter != HSEStartUp_TimeOut)); if((RCC->CR & RCC_CR_HSERDY) != RESET) HSEStatus = (uint32_t)0x01; // HSE else HSEStatus = (uint32_t)0x00; // HSI FLASH->ACR |= FLASH_ACR_PRFTBE; // Включаем буфер предвыборки FLASH // Конфигурируем Flash на 1 цикл ожидания // Это нужно потому, что Flash не может работать на высокой частоте FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_1; // HCLK = SYSCLK RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; // PCLK2 = HCLK RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; //PCLK1 = HCLK RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; if (HSEStatus == (uint32_t)0x01) // Работа от кварцевого генератора {// Конфигурируем множитель PLL configuration: PLLCLK = (6 M / 2) * 9 = 27 MHz RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL9); } else // Работа от встроенного RC-генератора {// Конфигурируем множитель PLL configuration: PLLCLK = (HSI/2) * 8 = 32 MHz RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLMULL8); } // Включаем PLL RCC->CR |= RCC_CR_PLLON; // Ожидаем, пока PLL выставит бит готовности while((RCC->CR & RCC_CR_PLLRDY) == 0) {} // Выбираем PLL как источник системной частоты RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; // Ожидаем, пока PLL выберется как источник системной частоты while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) {} RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // Включаем тактирование PORTA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // Включаем тактирование PORTB RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); // Включаем тактирование SPI RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); // Включаем тактирование таймера 2 }
  11. Да, HSEON включаю. RCC->CR |= ((uint32_t)RCC_CR_HSEON); Пробовал еще включать-выключать HSEBYP, не влияет. Могли бы Вы проверенный код инита клока от внешнего кварца выложить?
  12. В принципе, так и делаю. Есть три идентичные платы, но одна тактируется от кварца, а две других - от генератора. Причем с генератором обе платы ведут себя одинаково.
  13. Попробую по другому сформулировать вопрос. Контроллер STM32F101T8. При тактировании от кварца могу обычным образом менять настройки тактовой частоты, например: RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL9); Если, скажем, RCC_CFGR_PLLMULL9 заменить на RCC_CFGR_PLLMULL4, то и тактовая, соответственно, меняется. Если же затактироваться от внешнего генератора, настройки умножителей ФАПЧ перестают действовать и тактовая всегда одна. Что делать? Как изменить тактовую?
  14. STM32 Внешний генератор

    STM32 тактируется от внутреннего 8 МГц генератора, при умножении на PLL получаем тактовую 32. При подключении внешнего генератора 6 МГц, но без изменения программы (т. е. МК должен тактироваться все еще от встроенного RC-генератора) я вижу изменение тактовой (раньше таймер выдавал прерывание каждую 1 с, а теперь каждые 1.8 с). Чем это объяснить? Код инициализации тактовой частоты: void InitClock(void) // Инициализируем и раздаем клоки { __IO uint32_t HSEStatus = (uint32_t)0x00; // Работа от HSI FLASH->ACR |= FLASH_ACR_PRFTBE; // Включаем буфер предвыборки FLASH // Конфигурируем Flash на 2 цикла ожидания FLASH->ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); FLASH->ACR |= (uint32_t)FLASH_ACR_LATENCY_2; // HCLK = SYSCLK RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; // PCLK2 = HCLK RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; //PCLK1 = HCLK RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2; // Конфигурируем множитель PLL configuration: PLLCLK = (8/2) * 8 = 32 MHz RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL)); RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSI_Div2 | RCC_CFGR_PLLMULL8); // Включаем PLL RCC->CR |= RCC_CR_PLLON; // Ожидаем, пока PLL выставит бит готовности while((RCC->CR & RCC_CR_PLLRDY) == 0){} // Выбираем PLL как источник системной частоты RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL; // Ожидаем, пока PLL выберется как источник системной частоты while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08) {} RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // Включаем тактирование PORTA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // Включаем тактирование PORTB RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); // Включаем тактирование SPI RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); // Включаем тактирование таймера 2 }
  15. На ту же тему: если прибор поддерживает питание от 220 и от 24 В - ставьте разные разъемы. На днях сами себя подпалили :)
  16. Подскажите, как паять (или какой нужен разъем) вот такую GPS-антенну. GPS модуль - EB-500, паяется на плату, отдельного антенного выхода не имеет. Также интересует практический опыт, какая пассивная керамическая GPS антенна лучше: 25х25 мм или 35х35 мм?
  17. Почему на устаревшей? На проверенной. Когда выловят побольше проблем в SIM900, вот тогда и перейду на него с SIM300. Предлагать начинающим/любителям устройство на недопиленном GSM-модуле не считаю возможным. А что именно в телефоне вам не понравилось?
  18. Намекаете, что дороговато? Увы, прямо сейчас я с этого мало что зарабатываю, вот когда начну закупать детали хотя бы мелким оптом и платы буду заказывать не экспресс и мало, а серийно и много, тогда да. К тому же это конкурент не для Nokia 1XXX (ну не выкладывает Nokia исходников), а скорее для Olimex AVR-GSM за € 135. Ниша та же, что и других development boards от Olimex, Propox, chip45 и других. Если появится крупный заказчик, требующий сертификацию, можно и сделать.
  19. Сделал сотовый телефон на ATmega8. Можно купить собранный телефон или печатную плату для него, можно скачать схему и исходные коды (все в свободном доступе).
  20. Вот National analog product selguide говорит, что мне нужен флайбэк или пуш-пулл. Но если на пуш-пулл указаны конкретные типы микросхем (LM25037, например), то про флайбек написано "берите любые буст/флайбек регуляторы или контроллеры", что несколько сбивает с толку. Правда, сейчас нашел AN-1095 "Design of Isolated Converters Using Simple Switchers", изучаю.
  21. Согласен, по хорошему надо начать с чтения учебников. Но заказчик же не будет ждать год, пока я превращусь в более-менее зубастого питальщика. Нужен этакий силовой фаст-фуд: быстро выбираешь микросхему, быстро считаешь обвязку, паяешь, запускаешь, корректируешь - и в серию. По крайней мере 30 Вт AC/DC у меня заработал (при поддержке форума). В PI Expert посчитал параметры для DPA-426, получается КПД порядка 70 %. Есть ли возможность поднять хотя бы до 80 %? Что скажете про LM25037 и LM5030, стоит ли на них ориентироваться? И как у них с КПД при 24 В входа? Может быть, кто-нибудь разбирал готовые DC/DC и в курсе, что там стоит?
  22. Хочу разработать изолированный DC/DC преобразователь 24 В (от 18 до 36) -> 5 В, 6 А., желательно небольших габаритов (как у готовых Aimtec AM30K-2405SIZ или Traco TEN 25-2411 (40 х 50 мм), только по высоте можно сильно больше, вплоть до 70 мм) Подскажите, откуда начать копать, на какую микросхему ориентироваться.
  23. У меня есть такая группа в Уфе. Опыт: делали GPS/ГЛОНАСС/GSM/GPRS трекеры и охранные системы, распределенные системы учета движения транспорта, полный цикл работ: техническое задание, аппаратура, программное обеспечение нижнего уровня, серверное программное обеспечение. Прямо сейчас делаем ГЛОНАСС аппаратуру на базе модулей Навис SN 4706 и Геос-1М. Возможности: разработка аппаратуры от технического задания до полного комплекта конструкторской документации; делаем как пилотные экземпляры, так и серию; пишем серверное и встроенное программное обеспечение; есть станок с ЧПУ, так что можем сделать полузаказные красивые корпуса на базе покупных корпусов OKW, Bopla или Sanhe. Ссылки на наши некоммерческие проекты, выложенные в свободный доступ: GPS/GSM трекер GSM система контроля доступа
  24. Гуглите "Статья на заказ", "Биржы статей", сходите на advego.ru, там уровень цен примерно такой, какой вы и предлагаете, можно покупать статьи, а можно и заказывать. Попробуйте бросить этот клич на форуме по поисковой оптимизации, которой вы, судя по всему и занимаетесь :)
×
×
  • Создать...