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

bingo

Свой
  • Постов

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

  • Посещение

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


  1. Спасибо всем ответившим! Может быть у кого-нибудь есть опыт питания точных измерительных цепей от +5В USB-порта компьютера? Поделитесь пожалуйста соображениями по этому поводу :rolleyes: Очевидное решение, напрашивающееся в этом случае - гальваническая развязка. Но может быть можно решить проще? Так же интересует вопрос выбора источника опорного напряжения АЦП. Кто какие решения использует? Поделитесь соображениями пожалуйста! Заранее благодарю за ответы.
  2. Схемотехника в.цепей для ADC

    Добрый день уважаемые коллеги! Стоит задача применения встроенных ADC STM32. Два параллельных канала. Планируется измерение напряжений <50mV и частоты 0-100Гц. Вх.сопротивление >1MОм (осциллографический вход). Посему, встал вопрос о элементной базе и схемотехнике входных измерительных цепей и опорного напряжения для ADC. Из желаемых особенностей: диф.вход, защита от перегрузки, линейность и особенно уровень шумов. Рассматриваются реализации как однополярных вх.сигналов, так и двухполярных Также интересует опыт питания этих измерительных цепей от USB-порта компьютера. Насколько возможно минимизировать уровень помех в этом случае? Может быть кто-нибудь знает готовые openSource реализации (или части), на которые можно обратить внимание, чтобы "не изобретать велосипед"? Заранее благодарю за любые конструктивные советы! :rolleyes:
  3. Между желание поставить маленькую, желательно недорогую коробочку и все решить сразу, и реальной ситуацией очень большая разница! :crying:
  4. Уважаемый ТС, может пойти простым проверенным способом? Наверное все видели, что над заборами охраняемых объектов еще сверху добавляют колючую проволоку Особенно эффективна проволока в виде спирали с большим диаметром. Перелезть такое сооружение очень не просто! Может быть и здесь подойдет такое проверенное решение? Дешево, Развертывается достаточно быстро. На птиц не реагирует :-) Проволока оцинкованная и покрыта др. малокоррозионным покрытием. Как раз для реки подойдет Для достоверности - внутри провести натянутую сигнальную проволоку. Любая попытка сорвать эту охрану или перерезать провода - даст сработку сигналки. Которая может быть в виде GSM-сигнализации или др. Вопрос с GSM-глушилкой тоже решаем - нужен перодический обмен/подтверждение. А все эти датчики звука и тп. - это для идеальных условий! То есть не для Вас! Да и цена разработки/изготовления/поддержки весьма велика.
  5. 802.11 Wi-Fi стек

    Например, такой адаптер: http://www.ebay.com/itm/Mini-150Mbps-150M-...=item2a36517eb2 Как можно понять - нужно описание того, что выше транспортного уровня (в данном случае - USB). Вопрос простой: есть ли у Вас подробная спецификация на 802.11x семейство протоколов? Конечно же, в первую очередь интересует не физический Layer, а то что выше него! Вплоть до Application Layer Если же есть еще и доступная реализация - совсем было бы отлично! :rolleyes: P.S. Для меня вообще не ясен вопрос о публичной доступности этих спецификаций! Проясните пожалуйста! А чтобы совсем понятна задача была, вот пример: http://lucsmall.com/2012/09/21/ralink-rt53...e-raspberry-pi/ P.S. Хотелось бы конкретики, а не критики!
  6. 802.11 Wi-Fi стек

    А вот это не убедительный довод. Большинство производителей сетевого оборудования и софта не следуют буквально 7-уровневой модели OSI Не редко один слой включает в себя несколько протоколов, а другие отсутсвуют явно. В любом случае существуют команды, сигнальные каналы и т.п. Но меня не эта теоретическая дискуссия интересует! Если у кого-нибудь есть подробные спецификации 802.11, то поделитесь пожалуйста С подробностями я разберусь :-) А если есть соответствующий софт, то было бы совсем отлично!
  7. 802.11 Wi-Fi стек

    Добрый день! Подскажите пожалуйста, имеется ли доступная реализация WiFi стека для embedded применения (например для STM32)? А также очень интересна документация по этому семейству протоколов! Мои поиски не увенчались успехом. Может быть что-то дельное подскажет? P.S. Реализацию Linux WiFi стека лучше не упоминать :-)
  8. Библиотека USB Host STM32

    Здравствуйте Вопрос к тем, кто плотно знакомился/модифицировал библиотеку "The USB On-The-Go Host and Device Library" для STM32. Режим FS Host. Класс устройств иной чем MSC и HID. Не могу разобрать кто должен сегментировать длинные Bulk-передачи. Я или же это делает библиотека? (Впрочем, это относится и к другим типам длинных (превышающих размер конечной точки) Transfers) С одной стороны в документации ясно написано: "The USB Host library: Supports multi packet transfer features enabling the transmission of large amounts of data; without having to split it into maximum packet size transfers. В то же время в коде библиотеки я подтверждение этому не нахожу Для MSC это похоже делается в специфичных для этого класса модулях. Проще говоря - при вызове функции USBH_BulkSendData() параметр lengh может превышать размер конечной точки? Будет ли библиотека сама сегментировать Bulk transfer на несколько транзакций? Похожий вопрос возникает при вызове ф-ции USBH_BulkReceiveData(). Только здесь еще более не понятно, т.к.процесс десегминтации пакетов зависит от класса устройства.
  9. Хмм.... Вы правы! Как ни странно, но массив оказался снова в RAM!!! Хотя это, на мой взгляд, противоречит документации . Так какое решение Вы видите? Использовать принудительное указание места размещения, типа "... @ 0x80...005=.." ? Это не очень удобно. Использование const , как у Вас? Но про это явно написано в документации (я ее цитировал ранее). В понедельник буду снова пытать программу/плату.
  10. Я же перед Вашим постом написал, что все уже OK Просто, вместо правильного синтаксиса: uint8_t HCI_Reset[] @ "FLASH" = {3,2,1}; Я бодался с неочевидной ошибкой (из документации совешенно не видно, пример я привел выше): uint8_t HCI_Reset[] = {3,2,1} @ "FLASH" ; :rolleyes: Конечно же позже я ее включю :rolleyes: Дайте только все отладить.
  11. Верно, но это (@ 0x1005) вариант использования когда нужно разместить по конкретному location А есть еще потребность, чтобы было просто во FLASH (неважно где). Для этого используется нотация .... @ "FLASH"; Она как раз и не работает с инициализированным при объявлении массивом В проекте я отключил оптимизацию (none). ========================================================================== Всем спасибо! Вот пример правильной записи :-) uint8_t HCI_Reset[] @ "FLASH" = {3,2,1};
  12. К сожелению и это не правильно. :crying: Вот цитата из документации ("EWARM Development Guide" с.288): "If you declare a volatile object const, it will be write-protected but it will still be stored in RAM memory as the C standard specifies. To store the object in read-only memory instead, but still make it possible to access it as a const volatile object, define the variable like this: const volatile int x @ "FLASH"; " Да, так работает. Но мне нужен инициализированный массив (типа Cmd [] = {3,2,1} ). А это уже не компилируется Кстати, и без volatile - тоже массив будет в RAM! А точнее, в RAM и еще код для его создания в ROM (т.к.начальный код для создания структуры массива в RAM все равно работает из FLASH). Т.е. не рационально и избыточно. Возможность разместить неизменяемые большие массивы в ROM-FLASH (которого существенно больше чем RAM) очень полезна.
  13. Неее! Модификатор static не для этого! static переменная все равно будет расположена в RAM, но только инициализироваться до main() и др. Пробовал модификаторы @ и pragma, но пока не получается :-( Неужели никто не знает как разместить массив в ROM (FLASH)?
  14. Здравствуйте Есть большой набор не изменяемых массивов байт (целевые команды). Размещать из в RAM- не рационально. Подскажите пожалуйста как объявить в IAR ARM С инициализированный массив , так чтобы он был расположен во FLASH, а не в RAM. Естественно, массив только для чтения. Ранее для IAR AVR я делал так: __flash char* num1 = "58749455350"; Для IAR ARM v6.21 это не проходит. Но и такие объявления не получаются: uint8_t Cmd [] = {3,2,1} @ "FLASH";
  15. Подскажите пожалуйста, сколько раз можно перепрограммировать flash память? Например, для Atmel AVR эта цифра указана явно - ~10 000 раз Для STM32 я такого параметра не встречал Наверное это также важно и для эмуляции EEPROM на встроенной flash-памяти
  16. Для того, чтобы разобраться взял "C-SPY® Debugging Guide" В нем, в разделе "The IAR C-SPY Simulator - FEATURES" стр.38 четко написано: "...In addition to the general features in C-SPY, the simulator also provides: ... Peripheral simulation (using the C-SPY macro system in conjunction with immediate breakpoints). .." Не смогли бы Вы мне уточнить, где же написано про отсутствие поддержки периферии в Simulator? Буду Вам благодарен! :-)
  17. Спасибо! Хотя это несколько не ожиданно! Это резко затрудняет отладочный процесс. Особенно при отсутствии рабочей платы C-Spy читал , но повидимому не достаточно внимательно. Не ожидал такого подхода со стороны IAR! :-(
  18. Делаю первые отладки на IAR EWARM v6.21 для STM32F105BG Вопрос по отладке с помощью Simulator Не получается запустить счетчик (TIM2 и др.пробовал). На "живом" CPU ч/з SWD - все работает , счетчик считает отлично. Т.е. TIM2_CNT при каждой остановке показывет насчитананное. Перехожу на отладку симулятором IAR. Счетчик стоит как замороженный. Пробовал примеры из библиотеки, а также просто вызовами ф-ций станд.периф. библиотеки. Не хочет считать! Теперь упростил до минимума- все равно не считает! Вот упрощенный до предела кодик: int main(void){ RCC->APB1ENR |= (uint32_t)0x00000001; TIM2->CR1 |= (uint32_t)0x00000001; while (1) { } } TIM2_CNT не хочет изменяться, стоит на 0. Подскажите пжста в чем загвоздка? :(
×
×
  • Создать...