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

    

Yaumen

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о Yaumen

  • Звание
    Частый гость
  • День рождения 08.06.1971

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Минск, Беларусь

Посетители профиля

1 807 просмотров профиля
  1. Может у кого завалялся готовый компонент для микрофонов HMO-0603 (особенно) и HMO-1003 для Altium или хотя бы footprint!? Заранее, огромное спасибо!
  2. Помогите опознать разъем

    К сожалению, я такие разъемы так и не смог найти. Есть другой вариант, на Алике многие продают модули с похожими разъемами, но что за оно и продается ли это отдельно, не в модулях, так и не смог узнать. Может кто-нибудь сталкивался с такими разъемами:
  3. Помогите опознать разъем

    Цитата(oldparrot @ May 7 2018, 16:05) Digi's PN is 76002056. Digikey's PN (at this writing) is 602-1644-ND Спасибо, не думал, что это авторское изделие от производителя XBEE
  4. Помогите опознать разъем

    Помогите опознать разъем!!! Разъем типа PLD2- однако один из контактов является этакой упрощенной пружиной для подключения модулей с торцевыми контактами, как в данном случае модуля XBee
  5. Добрый день. Столкнулся с проблемой. Невозможно запрограммировать PIC16F883 при питании схемы от внутреннего источника. Т.е. если я выключаю питание и в программаторе PICKIT3 выставляю питание от PICKIT3, то кристалл шьется. Если я пытаюсь запрограммировать при включенном питании устройства, то PICKIT3 не видит кристалла. Ругается на то, что ID не распознан: ЦитатаTarget voltage detected Target Device ID (0x0) is an Invalid Device ID. Please check your connections to the Target Device. Device Erased... Programming... The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x283 configuration memory program memory Address: 0 Expected Value: 281f Received Value: 0 Failed to program device Питание: +5V MCLR/Vpp: подтянут к +5 через 4к7 (больше в схеме никуда не подключен, используется только для программирования) ICSPDAT и ICSPCLK: подключены ТОЛЬКО к PICKIT3! Помогите разобраться, что не так, что надо сделать, чтобы шить код при включенном питании устройства и, что самое главное, иметь возможность отлаживать код на реальном устройстве.
  6. Цитата(Yaumen @ Aug 18 2015, 13:01) Похоже, что проблема в том, что каждый байт передаваемый МАСТЕРОМ должен стробироваться сигналом SSEL, т.е. после каждого байта необходимо подымать SSEL в высокий, а затем опять ставить его в низкий. Мне такой режим не подходит, так как МАТЕР выставляет SSEL на время передачи всех 4-х байт и не стробирует каждый из них. Возможно надо использовать какой-либо другой режим работы SSP0, чтобы он был нечувствителен к стробированию сигналом SSEL? А что тут стремного, для SSP есть буфер FIFO, пока я работаю с обработкой одного прерывания, по SSP может уже прийти несколько байт, вот и вычитываю, пока входной буфер не опустеет. Нормальная практика!!! Да!!! Так и есть, каждый байт надо обязательно стробировать импульсом CS. Можно ли это отключить - не знаю, перепробовав различные режимы, так и не смог заставить работать как надо. Придется связываться с разработчиком МАСТЕРА, чтобы узнать возможно ли изменить его программу, чтобы каждый передаваемый байт стробировался CS. Если кто-то знает способ как заставить LPC2366 работать без этой фичи или еще лучше вообще без использования SSEL, буду весьма признателен!!! Цитата(Gorby @ Aug 18 2015, 13:58) Вот это действительно странно. Нет никакой необходимости стробировать с SSEL каждый байт. У вас верно сделано, SSEL на время передачи всех 4-х байт. Приемник обязан принимать. То, что первый байт принимается верно, подтверждает правильность выбранных режимов (там еще те грабли могут быть). А вот тут немного не так. На самом деле при SPI тактовой (сколько там у вас? 40 кГц?) принятие символа - очень редкое событие. Это не 2 и не 10 MHz. Попробуйте сделать одно прерывание на один байт. Пробовал делать и так и так. Коду в принципе все равно, сколько байт пришло 1 или несколько, примет столько сколько есть в буфере. Когда подключил к своему МАСТЕРУ и начал стробировать данные, все заработало как часы. Кстати в UserManual тоже нарисовано на графике Fig.93, что каждый байт должен стробироваться CS-ом. Вот засада!!! Кто же знал!?
  7. Похоже, что проблема в том, что каждый байт передаваемый МАСТЕРОМ должен стробироваться сигналом SSEL, т.е. после каждого байта необходимо подымать SSEL в высокий, а затем опять ставить его в низкий. Мне такой режим не подходит, так как МАТЕР выставляет SSEL на время передачи всех 4-х байт и не стробирует каждый из них. Возможно надо использовать какой-либо другой режим работы SSP0, чтобы он был нечувствителен к стробированию сигналом SSEL? Цитата(Gorby @ Aug 18 2015, 12:54) Разберитесь с условием while (SSP0MIS_RXMIS & SSP0MIS). Очевидно же, что следующий байт придет только через достаточно большой интервал времени (относительно скорости процессора). Получается, вы несколько раз считываете один и тот же байт. Убедитесь, что при чтении первого байта сбрасывается флаг готовности. А вообще как-то стремно: прерывание вызывается для каждого принятого байта отдельно, но внутри прерывания вы пытаетесь вычитать более одного. Разберите более подробно как работает m_SSP0.Read(). А что тут стремного, для SSP есть буфер FIFO, пока я работаю с обработкой одного прерывания, по SSP может уже прийти несколько байт, вот и вычитываю, пока входной буфер не опустеет. Нормальная практика!!!
  8. Есть некое устройство (МАСТЕР) которое каждые 20 мс по SPI (частота SCK = 50кГц) посылает команду состоящую из 4-х байт: [HEADER = 0x69] [СОСТОЯНИЕ 1] [СОСТОЯНИЕ 2] [КОНТРОЛЬНАЯ СУММА] В моем устройстве, выполненном на LPC2366, эта команда поступает на интерфейс SSP0, который я настроил на режим SLAVE. Код    SSP0CPSR = ...;     SSP0CR0 = 0x107; //8bit, SPI, CPOL=CPHA=0, SCR=1         install_irq(SSP0_INT, (void*)SSP0Handler, HIGHEST_PRIORITY);     SSP0CR1 = SSP0CR1_SSE|SSP0CR1_MS;        //SSP enabled in slave mode         SSP0IMSC = 0x04; // Enable Receive Interrupt (RXIM only) Прерывания от SSP срабатывают, однако сколько бы я не вычитывал SSP0DR, вычитывается только байт HEADER = 0x69, т.е весь массив bySpiData заполняется значениями 0x69 Кодvolatile BYTE bySpiData[256]; volatile BYTE bySpiIndex = 0; volatile DWORD dwSpiReceived = 0; void SSP0Handler (void) __irq {     while (SSP0MIS_RXMIS & SSP0MIS)     {             bySpiData[bySpiIndex++] = m_SSP0.Read() & 0xFF;         dwSpiReceived++;     }          VICVectAddr = 0;            // Acknowledge Interrupt } Что я делаю не так?
  9. Действительно, интересует законченный модуль типа SIM20 (снятого с производства) или модулей Radicraft (которые дешевыми не назовешь). Цитата(sash.1212 @ May 13 2015, 16:00) Посмотрите DP1272, DP1231 от Anylink Посмотреть конечно можно, но вот оценить их стоимость и доставаемость нет. EFIND не находит на складах, ни у одной из контор. С AnyData в этой части всегда были проблемы, помню времена, когда искал модуль для CDMA 450, которые выпускал AnyData. Цитата(Alex11 @ May 13 2015, 20:09) Посмотрите NRF24L01P. К сожалению - это не модуль, а чип, под который необходимо делать обвязку. Конечно можно тупо из Datasheet скопировать топологию разводки и надеяться, что все волшебным образом заработает, а если нет!? Да и какие характеристики модуля получатся из этого, тоже вопрос. Цитата(Aner @ May 13 2015, 22:04) 1 км в зоне прямой видимости зависит сильно от антенны ее типа, характеристик и выбранной частоты. Что касается антенны, то меня не пугает использование антенны типа ANT 868 CW-HW SMA LINX. Габариты устройства позволяют. Частота тоже любая в пределах разрешенных: 433, 868, ...
  10. Посоветуйте надежный и недорогой приемопередатчик с устойчивой связью на расстоянии до 1 км в зоне прямой видимости (минимум 300-400 м). - питание 3.3V - интерфейс UART со скоростью не ниже 9600, а лучше 38400-57600. - приемопередатчик должен быть самодостаточным, т.е., чтобы небыло необходимости связываться собственно с разводкой высокочастотной части (с одной стороны подключил антенну, с другой питание и интерфейс для связи и все). - желательно не "noname", так как необходмимо использование модулей в мелкосерийном производстве с постоянными характеристиками, интерфейсами и габаритами на протяжении нескольких лет. - приемопередатчик должен использовать только разрешенные чатотные диапазоны. - желательно наличие встроенной фильтрации адресации, чтобы один мастер мог работать с несколькими абонентами
  11. Цитата(CADiLO @ Mar 30 2015, 16:35) ключевой момент - "в 7-ми битной кодировке" читаем пункт 7.12. Метод упаковки данных пользователя Спасибо. Совершенно запутался во всех этих кодировках. Забыл, что тут считается не символами, а тетрадами, поэтому получается 18-ть тетрад, т.е. 0x12.
  12. Пишу свой код, работающий с СМС в PDU формате. В определенный момент модуль принял СМС от оператора, в котором номер отправителя (ОА) был закодирован не цифрами, а символами: "12D0CEE0942A7D265BCB20". Разбирая такую СМС, вижу: 12 - длина сообщения - 12 байт D0 - алфавитно-цифровое представление CEE0942A7D265BCB20 - адрес отправителя в 7-ми битной кодировке: "NASTROI-KA" И все вроде бы понятно, за исключением того, почему длина 12 байт, если длина строки "NASTROI-KA" всего 10 байт ?
  13. Цитата(CADiLO @ Mar 25 2015, 12:03) Хм.... Не оно??? 1137B06SIM900R32_ST Resolved the problem that while an SMS is coming in, sending SMS might cause serial port blocked in some special cases. Сейчас попробую перепрошиться, посмотрим. Спасибо P.S. Перепрошился. По включению отправил 7-м СМС, все удачно, раньше такого не бывало. Ох, и подыму я себя СМСками на деньги сегодня Спасибо, будем считать, что вопрос снялся!
  14. Цитата(CADiLO @ Mar 25 2015, 11:23) И версию фирмваре модуля напишите пожалуйста. Revision: 1137B05SIM900R32_ST
  15. Цитата(CADiLO @ Mar 25 2015, 10:50) Какие паузы между отсылкой SMS ??? Так как отлаживаю в пошаговом режиме и каждую новую СМС отправляю ручками, то время измеряется в секундах 3-4-10. После того как зафиксировался ERROR, вообще паузы большие, пока посижу, пока подумаю