Jump to content

    

Pasha_a13

Участник
  • Content Count

    166
  • Joined

  • Last visited

Everything posted by Pasha_a13


  1. Я понял, спасибо. Попробую добавить чтение еще и СИМ-карты периодическое. Возможно это как-то было связано с перебоями в работе киевстара, которые вчера наблюдались -под вечер смс долго не отправлялись, днем в телефоне одна из СИМ-ок (киевстар) выпала из сети и некоторое время не хотела регистрироваться....
  2. Ну а все-таки есть ли какие-то рекомендации по поводу команд, которыми предпочтительнее мониторить состояние модема и которые более точно позволят определить подобную ситуацию?
  3. Я понял, спасибо! Так это баг какой-то в прошивке? Или это я неправильно что-то делаю? А есть ли какая-то команда, по которой бы точно можно было понять что модуль в сети? Можно конечно периодически проверять состояние счета....но не будет ли проблем с оператором если делать это сильно часто...
  4. Прошу прощения, я лопухнулся, модуль не sim900d а просто sim900. Купил я эти модули лет 5 назад по хорошей цене и вроде как они были привезены откуда-то, или с Белоруссии, или с России, точно не припомню уже. С тех пор они лежали без дела, а теперь вот дошли до них руки. Кстати, модем светодиодом net led мигает с нормальной периодичностью индицируя что он в сети, однако оператор говорит что он не в сети :(
  5. Добрый вечер! Столкнулся с проблемой - модуль вошел в непонятное для меня состояние. Он отвечает по UART на запросы CLCC,CREG и CSQ, однако при попытке позвонить на него оператор говорит что абонент не в сети. Вот лог опроса AT-командами: [21:40:10.0] AT+CSQ [21:40:10.0] +CSQ: 20,0 [21:40:10.0] OK [21:40:10.1] AT+CLCC [21:40:10.1] OK [21:40:20.0] AT+CREG? [21:40:20.0] +CREG: 0,1 [21:40:20.0] OK [21:40:20.1] AT+CSQ [21:40:20.1] +CSQ: 20,0 [21:40:20.1] OK [21:40:20.1] AT+CLCC [21:40:20.1] OK [21:40:30.0] AT+CREG? [21:40:30.1] +CREG: 0,1 [21:40:30.1] OK [21:40:30.1] AT+CSQ [21:40:30.1] +CSQ: 28,0 [21:40:30.1] OK и так далее с такой же периодичностью. С чем может быть связано такое поведение? Модуль зарегистрировался в сети нормально, отвечал на СМС [21:29:12.8] +CMTI: "SM",1 [21:29:12.8] AT+CMGL="REC UNREAD" [21:29:12.9] +CMGL: 1,"REC UNREAD","+38067ххххххх","","16/08/29,21:29:08+12" [21:29:12.9] 12 0 [21:29:13.0] OK [21:29:13.0] AT+CMGDA="DEL READ" [21:29:13.1] OK [21:29:13.2] AT+CSCS="GSM" [21:29:13.2] OK [21:29:13.2] AT+CSMP=49,143,2,241 [21:29:13.2] OK [21:29:13.2] AT+CMGS="+38067ххххххх" [21:29:13.3] > Output 2 on. [21:29:13.3] [21:29:17.0] +CMGS: 72 [21:29:17.0] OK [21:29:17.0] AT+CREG? [21:29:17.0] +CREG: 0,1 [21:29:17.0] OK [21:29:17.0] AT+CSQ [21:29:17.0] +CSQ: 24,2 [21:29:17.0] OK а когда я через 10 минут попробовал на него позвонить, то уже не дозвонился. Оператор Киевстар. Логика перезапуска модема ориентирована на отсутствие ответа на AT-команды и, соответственно, модем не перезапускает, т.к. на команды приходят ответы. Прошивка модуля - Revision:1137B07SIM900M64_ST Я в растерянности...
  6. Да я честно говоря использовать VNC2 потому что бюджет проекта и временные рамки довольно ограничены и браться сейчас за переделывание-адаптацию какого-либо USB стека под FTDI это будет отнють не самое удачное решение. А особенно если стек еще и платный(имею ввиду Micrium USB Host Stack). Я думал что VNC2 уберет головную боль касательно USB хоста и позволит заниматься остальной частью проекта, но пока это не так. Написал в техподдержку FTDI, жду ответа.
  7. да вроде бы все нормально с VID и PID:
  8. Продолжаю работу по этому проекту. Купил платку с VNC2 на борту и платку дебаггера для VNC2 Судя по описанию микросхемы VNC2 и широкому ассортименту прошивок, все должно было пройти гладко. Однако скачал прошивку "UART to FT232 Host Sample Application ROM" c сайта FTDI firmware, прошил ей свой чип VNC2, но он не заработал как было обещано в роли моста. Тогда пришлось устанавливать среду разработки Vinculum II IDE и лезть в исходник этой прошивки (они есть в примерах идущих вместе со средой разработки). Запустив это все под дебаггером я увидел что VNC2 (насколько я понимаю) не обнаруживает подключенного чипа FT232: в функции VOS_HANDLE ft232_host_attach(VOS_HANDLE hUSB, unsigned char devHostFT232, unsigned char ftport) { usbhost_device_handle_ex ifFT232; usbhost_ioctl_cb_t hc_iocb; usbhost_ioctl_cb_vid_pid_t hc_iocb_vendor; common_ioctl_cb_t ft232_iocb; usbhostft232_ioctl_cb_attach_t ft232_att; VOS_HANDLE hHostFT232; // find FT232 class device hc_iocb_vendor.vid = USB_VID_FTDI; hc_iocb_vendor.pid = USB_PID_FTDI_FT232; // user ioctl to find first FT232 device hc_iocb.ioctl_code = VOS_IOCTL_USBHOST_DEVICE_FIND_HANDLE_BY_VID_PID; hc_iocb.handle.dif = NULL; hc_iocb.set = &hc_iocb_vendor; hc_iocb.get = &ifFT232; if (vos_dev_ioctl(hUSB, &hc_iocb) != USBHOST_OK) { return NULL; } // now we have a device, intialise the FT232 driver for it hHostFT232 = vos_dev_open(devHostFT232); ... проверка условия vos_dev_ioctl(hUSB, &hc_iocb) всегда возвращает USBHOST_NOT_FOUND. Может ли кто-то что-то подсказать по этому поводу?
  9. спасибо, я к этим чипам и пришел. VNC1L дороговатый. VNC2 больше заинтересовал. Но теперь заказчик чего-то задумался относительно USB и тех изделий :)
  10. В устройствах микросхема FT232 используется по своему назначению как преобразователь UART-USB. Изначально эти устройства рассчитаны на подключение к ПК через USB. На ПК используется специальный софт, который принимает данные с устройств и отображает информацию о состояниях устройств, пишет логи. Однако возникла необходимость собирать данные с этих устройств без помощи ПК, т.е. рядом с устройством располагать еще одно устройство(микроконтроллер+обвязка), которое будет иметь на борту USB HOST и соответственно как и ПК будет получать данные с устройств через USB.
  11. Добрый день! Прошу совета-помощи по возникшей проблеме. Имеются устройства, в которых USB реализован на FT232. При подключении к компьютеру видно что устройства постоянно выдают пакеты данных на скорости 115200. Возникла необходимость разработки хоста, к которому будут подключаться данные устройства и который будет принимать и обрабатывать эти пакеты данных. Однако, просмотрев зарубежные форумы, встретил плохие обзывы по поводу USB хоста для FT232, пишут что не хочет работать и предлагают уходить от FT232. К сожалению, в данной ситуации нет возможности уйти от FT232, т.к. устройства уже есть и их нужно использовать. Может ли кто-то что-то посоветовать по этому поводу? Есть ли у кого-то опыт в подобных вещах? Спасибо!
  12. Чтобы устранить коллизии в идеале бы хорошо как-то синхронизировать передатчики, ну или хотя бы сделать выбор промежутка времени передачи для каждого из передатчиков псевдослучайным. Вообще для таких вещей лучше бы использовать приемопередатчики чтобы можно было иметь обратную связь и понимать доставлен ли пакет или нет. Для начала уточните насколько Вам важны передаваемые данные и насколько можно жертвовать тем что часть пакетов будут теряться из-за коллизий, помех и т.п.
  13. Добрый день! Прошу прощения если подобная тема уже поднималась. Возникла проблема - необходимо обеспечить помехоустойчивость радиоканала. Есть уже готовое железо, собранное на TXC101 и TRC101, частота 433,92МГц. Железо менять нельзя, могу только программно улучшать что-то. Канал односторонний, т.е. полноценную передачу данных с ACK сделать не получается. Соответственно стоит задача обеспечить максимальную помехоустойчивость отправляемой информации. Мне необходимо передавать пакеты длиной порядка 500 байт. Скорость 9600. Однако не хотелось бы сильно наращивать размер пакета, т.к. это удлинит время передачи. Передавать по несколько раз одни и те же пакеты тоже не сильно хорошо, т.к. передаваемые данные меняются постоянно(где-то раз в секунду) и потому очень желательно чтобы каждый пакет доходил максимально полным(максимально восстановленным). Посоветуйте пожалуйста как сделать правильно: - сначала попытаться ужать исходные данные а потом закодировать чем-то типа кодов Хемминга? - или при помехоустойчивом кодировании нежелательна предварительное сжатие (архивация) данных? - стоит ли использовать перемежение(перемешивание) для лучшего восстановления битых блоков данных? - какое кодирование лучше применить? (у меня контроллер atmega8 , не сильно много места свободного и вычислительной мощности) - насколько сильно разрастается размер пакета при кодировании позволяющем восстановить порядка 25-50% битого пакета? Я читал про коды Рида Соломона но я думаю наврядле я смогу реализовать нечто подобное. Коды Хемминга я так понимаю проще будет реализовать, но достаточно ли мне будет этого. Какие есть оптимальные варианты? Спасибо!
  14. Я планирую использовать частоту ШИМ-а больше чем 16 кГц и понимаю что потери на переключение возрастут, хотя если использовать скоростные ключи то думаю может не сильно возрастут. Сейчас использую ШИМ порядка 10 кГц и когда двигатель нормально засинхронизирован (пока по датчикам холла), то ни ключи ни сам двигатель практически не греются.
  15. Т.е. насколько я понял, на рисунках в аппликейшенах от microchip AN857 - Brushless DC Motor Control Made Easy и подобных отображается лишь общий принцип. Просто исходя з данного рисунка мы должны подавать именно прямоугольные испульсы. А на самом деле для того чтобы обеспечить возможность регулирования скорости и крутящего момента эти импульсы должны иметь ШИМ наполнение. Я правильно понимаю? Частота (8/16кГц) указываемая в характеристиках регуляторов (например http://www.hobbyking.com/hobbyking/store/_...arehouse_.html) это и есть та самая частота ШИМ наполнения импульсов? В момент разгона мы одновременно и наращиваем частоту импульсов и увеличиваем заполнение ШИМа?
  16. Добрый вечер! Начал разбираться с бесколлекторным двигателем (outrunner для авиамоделизма) и система управления для них. Возникли некоторые вопросы, на которые не смог найти ответы. Простые ESC управляют двигателем подавая на три его обмотки прямоугольные импульсы сдвинутые друг относительно друга на 180 градусов. На вход ESC получает сигнал управления такого же типа как и сервоприводы, т.е. импульсы частотой порядка 50 Гц и , в зависимости от длительности импульса, ESC должен включить определенные обороты двигателя (или реверс, или остановить двигатель). За счет чего обеспечивается стабилизация частоты вращения двигателя? Только за счет частоты подаваемых на его обмотки импульсов? Ведь если эти импульсы идут без ШИМ наполнения (т.е. средний ток фактически не меняется) то каждый этот импульс дает двигателю максимальный толчек и двигатель будет стремиться раскрутиться на максимальные обороты. При этом ESC отслеживая обратные ЭДС на свободных обмотках (в каждый момент работают две обмотки) синхронизирует последовательность подаваемых импульсов на обмотки. И в итоге ж обороты будут наращиваться. Как же всетаки обеспечить заданные входным серво-сигналом обороты? Где я что неправильно понимаю? Изучил аппликейшены от атмела и майкрочипа и все равно не дошло за счет чего обеспечиваются нужные обороты. Ткните пожалуйста носом куда смотреть, что почитать чтобы понять :) Спасибо!
  17. ну я может что-то упустил , но вроде бы эффект задержки связан с расстоянием от мастера до слейва (с протяженностью самой дорожки по плате) и даже при использовании повторителей он все равно останется, а если пускать через сами повторители то набегут еще и задержки самих эти повторителей. Если я неправ, то поправьте меня пожалуйста.
  18. думали по этому поводу, но тут постоянно нужно опрашивать и что-либо сообщать слейвам и по логике мастера (таковы требования руководства) он должен посылать редко большое количество данных. А слейвы уже должны это все разгребать. Если делать как Вы сказали то действительно получается что данные будут посылаться широковещательно и запрашивать ответные данные придется как-то по очереди, что неудобно.
  19. Так данные идут цепочкой, как же я их сделаю звездой.... По поводу тактовых звездой я думал, но неудобно очень получается.. Процессоры сами не поддерживают на хардварном уровне этой самой цепочки, потому разгребать всю эту последовательность будет уже софт...задача слейва пропускать через себя посылку, в которой содержится информация для 30 процессоров, вставляя свои данные (либо извлекая их) из соответствующего участка этой посылки. Т.е. здесь SPI будет работать программно-аппаратно. Разрядность данных у всех процессоров одинаковая. Главный процессор будет стоять более шустрый чем слейвы, он еще пока выбирается. Смысл в том чтобы он слал не частые небольшие пакеты по SPI, а редкие но с большим кол-вом данных сразу(сразу всем слейвам).
  20. такого режима там действительно нет, это все будет делаться программно. Вы совершенно правы. Я сегодня уже нагрузил небольшой емкостью (меньше чем 30 процессоров) и уже получилась почти синусоида. Вот подобные подводные камни меня и интересовали. Надеюсь получиться с ними справиться используя дополнительные буферы. А что имееться ввиду под "регулярным" буфером? Я читал что именно так делать правильно, возвращать на другой SPI вместе с тактовой частотой, однако , к сожалению, у меня на мастере выделяется всего один SPI на всю цепочку контроллеров. Есть ли какие-то методы чтобы засинхронизировать входные в мастер данные (MISO) с его исходящей тактовой частотой?
  21. У контроллера все остальные выводы заняты другими функциями, потому из доступных для общей связи остается один SPI.
  22. Спасибо за предложение! Однако, к сожалению, нам нельзя привлекать к проекту сторонних программистов.
  23. Да, именно так оно и будет организовано. Я наверное просто некорректно описал все. Смотрели в сторону ПЛИС, согласен что наверное было бы более правильно именно их использовать. Проблема в том что с ПЛИС ни я, ни программист не работали и потому время разработки вырастет в нереальные сроки.
  24. Спасибо! Попробую гиперлинксом промоделировать. А вообще можете подсказать какие могут быть подводные камни в подобных решениях как у меня? Просто я до этого не сталкивался с такими скоростными шинами да еще и с таким кол-вом одновременно подключенных контроллеров на эту шину.
  25. Каким образом правильно произвести моделирование?