roboforum.ru

Технический форум по робототехнике.


blindman - [Как возвести 2 в степень n?]

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

blindman - [Как возвести 2 в степень n?]

Сообщение blindman » 28 июн 2010, 16:53

Уж коль дозволено иметь собственную флудильню, заведу и я себе такую. А то частенько возникают всякие глупые вопросы и идеи, не заслуживающие собственного топика.

Добавлено спустя 6 минут 58 секунд:
Кому-нибудь встречалось описание протокола GSM мультиплексора (07.10 multiplexer protocol), написанное нормальным языком, чтоб понять можно было? Читаю стандарт и сименсовский users guide, но что-то общая картинка не складывается
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

blindman - [Контроллер для специальной фотосъемки]

Сообщение avr123.nm.ru » 28 июн 2010, 17:19

Сомневаюсь что такой есть, может конкретные непонятности распросить. Хотя у кого ? У нас вроде только Эд такими делами увлекался.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14199
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: blindman

Сообщение blindman » 28 июн 2010, 17:22

Не только он, на форуме несколько человек писали что работают с GSM-модемами
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman

Сообщение avr123.nm.ru » 28 июн 2010, 17:24

Тогда наверно лучше конкретно спросить что не ясно и что надо сделать.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14199
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: blindman

Сообщение galex1981 » 28 июн 2010, 22:24

Я с GSM-модемами работал - отправлял/принимал СМС, осуществлял/получал звонки через AT команды
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4360
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: blindman

Сообщение blindman » 29 июн 2010, 03:05

Ну просто звонить и смс отправлять/принимать я научился. Теперь хочется заюзать мультиплексор. Теоретически вроде разобрался, буду пробовать использовать.

Вкратце, что такое GSM мультиплексор и зачем он нужен. Модуль GSM обычно выполняется в виде отдельного устройства, которое управляется через асинхронный последовательный порт. Мультиплексор позволяет организовать на одном физическом канале несколько виртуальных портов. Когда модем находится в нормальном режиме приема AT-команд, специальной командой его можно перевести в режим мультиплексора. В мультиплексированном режиме, данные передаются пакетами, в которых помимо данных содержится служебная информация, в частности номер виртуального канала. Управление мультиплексором осуществляется через нулевой канал. Остальные каналы, число которых зависит от реализации, используются для передачи AT-команд и данных. В частности, в MC35 3 канала (не считая управляющего), в SIM300 - 4.

Зачем все это нужно? модем может одновременно осуществлять прием/передачу данных по GPRS, отправлять SMS и звонить, но при передаче команд и потока данных через один порт нужно переключаться между этими задачами. Например, когда идет передача через GPRS, чтобы прочитать или отправить SMS, или ответить на входящий звонок, необходимо переключиться из режима передачи данных в режим команд, что занимает не менее секунды. С использованием мультиплексора, передачу данных можно вести через один канал, и не прерывая ее, отправить десяток сообщений через другой, параллельно осуществляя голосовые вызовы через третий.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman

Сообщение blindman » 08 июл 2010, 17:53

Есть МК с АЦП. Есть внешний вход. Надо организовать схему, позволяющую измерять либо напряжение на внешнем входе до 15 вольт, либо сопротивление между внешним входом и землей от 0 до 10 кОм, с разрешением 100 Ом (режим сопротивление/напряжение переключать программно). Зависимость между сопротивлением и значением на выходе АЦП надо линейную, то же само для напряжения. Можно задействовать дополнительно один выход МК. Как это сделать с минимумом внешних компонентов?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman

Сообщение Victorovych » 09 июл 2010, 13:13

Какой терпимый максимум внешних компонентов?
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: blindman

Сообщение blindman » 09 июл 2010, 13:23

Несколько резисторов :) 4, ну пусть 5. Хочется обойтись без активных.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman

Сообщение Victorovych » 09 июл 2010, 13:32

без активных никак пожалуй, ГСТ нужен для измерения сопротивления
Аватара пользователя
Victorovych
 
Сообщения: 491
Зарегистрирован: 20 сен 2007, 11:44
Откуда: Харьков
Skype: Victorovych_FF
прог. языки: ASM
ФИО: Иван ВикторОвич

Re: blindman

Сообщение blindman » 19 сен 2010, 15:33



Добавлено спустя 4 минуты 57 секунд:
Пропеллер разогнанный до 96МГц, ЖКИ от сименса. Кадры размером 88x66 пикселов, до 25 fps. Кадр полностью считывается в память, потом выплевывается на экран. Если распараллелить, то можно 176x132 выводить до 10 fps. ВИдео разумеется на карте памяти несжатое, просто последовательность кадров, каждый из которых просто выводится в ЖКИ. SPI на частоте 24 МГц
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman

Сообщение blindman » 03 окт 2010, 05:23

Делаю проигрывание видео с SD-карты на ЖКИ от сименса (см. пост выше), на пропеллере. Just for fun :) Если все получится - будет видеобудильник :) Получилось сделать 20 FPS , 16-битный цвет. Звук - 16 битный PCM, 16 кГц.

Подумалось - а получится ли сделать то же самое на контроллере попроще, например atmega? Попробую прикинуть...

SPI интерфейс у нас только один, поэтому надо читать кусок кадра в буфер и затем выплевывать его на экран. Программный SPI совместно с аппаратным и два буфера думаю можно не рассматривать - получится всяко медленнее, кроме того придется задействовать прерывания - возникнут проблемы со звуком. Для вывода одного кадра надо считать с карты 176*132*2 = 46464 байт, и выплюнуть их на экран. Цикл записи на экран будет примерно такой:

Код: Выделить всёРазвернуть
loop:
    ld    Z+, R16     ; 2
    out   SPDR, R16   ; 1
    sbiw  R12, 1      ; 1
    breq  done        ; 2
wait:
    sbis  SPSR, SPIF  ; 1/2
    rjmp  wait        ; 2
    rjmp  loop        ; 2
done:

В лучшем случае 23 такта на байт (16 - на передачу на максимальной скорости, 7 - оверхед цикла). Пусть тактовая частота 20 МГц. Тогда 46464 байта будет выведено за 53 мс.
Если применить реализацию файловой системы от Elm Chan, то судя по его бенчмаркам, максимально можно получить чтение 740 КБ/сек при буфере в 2048 байт, то есть 62 мс на кадр. Итого 62+53=115 мс на кадр, или чуть более 8 кадров в секунду, реально меньше, так как кроме вывода на экран собственно видео надо еще рисовать текущее время. Делать это надо в памяти, до вывода считанного куска кадра на экран, чтобы не было мерцания. В буфер 2048 байт поместится 11 строк кадра. Цифры надо выводить большие (я использовал шрифт 16x32), то есть придется прорисовывать текст кусками - сначала верхнюю часть, потом среднюю, затем нижнюю. И чтобы смотрелось красиво, надо делать не черные цифры на фоне белого прямоугольника, а рисовать цифры одним цветом, а вокруг ободок другого, контрастного цвета. Кроме того, надо еще выводить звук, делать это придется в прерывании, и надо его еще прочитать с карты. В итоге думаю получится максимум (оптимистично) 5-6 FPS. Маловато будет. Да и звук будет скорее всего 8-битный.

Вот такие вот дела :) Пропеллер рулез :D

Ежели взять какой-нибудь ARM, то наверно получиться достичь таких же параметров что и с пропеллером. Кто в армах шарит - можете прикинуть? Только не надо всякие ARM9 на 400 МГц рассматривать - с ними все очевидно
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman - [Видео на ЖКИ от сотового]

Сообщение EdGull » 03 окт 2010, 08:31

а xmega почему не расматриваешь?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: blindman - [Видео на ЖКИ от сотового]

Сообщение blindman » 03 окт 2010, 08:54

Ну пусть будет XMEGA. Я их просто не использовал никогда, мало чего о них знаю.
Я с железом то уже определился, и плата готова.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: blindman - [Видео на ЖКИ от сотового]

Сообщение Duhas » 03 окт 2010, 11:30

хмега я думаю потянет нормально, думалось попробовать на экран от сименса вывод, но чот руки не доходят совсем не до чего... беготни больше блин чем нормальных занятий...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6346
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

След.

Вернуться в Блоги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Mail.ru counter