![]() |
|
|
Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Здравствуйте, товарищи !
МК: PIC16F887 http://ww1.microchip.com/downloads/e...Doc/41291F.pdf RF module(на базе CC2500): http://ru.farnell.com/quasar/qfm-trx...-fm/dp/1517428 RF chip: CC2500 http://focus.ti.com/docs/prod/folders/print/cc2500.html Необходимо, чтобы МК, приняв данные от компа по RS-232, записал эти данные в FIFO регистры радио модуля на базе СС2500. Радио модуль, в свою очередь, должен передать эти данные в "эфир". Связь между МК и модулем - SPI интерфейс. МК = мастер. Радиомодуль на КАЖДЫЙ байт, посланный с МК, отвечает "статусным байтом".. В этом статусном байте содержатся биты, по которым можно судить что радиомодуль делает, какого ему текущее состояние (режим приема, режим передачи, режим калибровки синтезатора). Так вот проблема в том, что радиомодуль, как я ни бьюсь, не отвечает статусным словом. У меня два таких модуля - проверил оба. Ничего. Данные с компа идут и распознаются контроллером правильно. Привожу часть кода с инициализацием режима SPI и с кодом, который, собственно шлет данные в радиомодуль: PHP код:
-ПОРТА работает, в начале загрузки я ими "моргаю" -Кварц работает на 8МГц, но БЕЗ конденсаторов, я их отрезал снизу, ибо с ними (0,1 мкф) кварц не запускался, но это тут не может влиять. -во время передачи по СПИ мерил тестером напряжение на ножках МК: тихо. Возможно просто не успевает засечь. -РС-232 и СПИ физически на одном порте, не может ли это мешать и можно ли эти два модуля включать одновременно ? Я уже и сам запутался, столько раз всего перепробовал, столько раз перепрошиввал... не могу вспомнить, что еще надо сказать. Помогите, пожалуйста. Внешний вид: |
![]() |
![]() |
![]() |
#2 | |
Super Moderator
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
настоятельно советую сделать интерфейс SPI программным способом. Тут на конференции не раз приводили код. Там совершенно ничего сложного, но вы существенно упростите свой проект. Можно не спеша (так, что даже тестером будет видно каждый клок) выводить данные. Для вашего уровня сейчас в проекте слишком много неизвестных и слишком мало инструмента для диагностики. На каждое ключевое действие надо стараться взмаргивать светодиодом или выводить какие данные в последовательный порт. 0.1 мкф для кварца слишком дофига. обычно вешают 20...30 пикоФарад (почти в миллион раз меньше). 0.1 микрофарады (керамику) вешают между ногами питания пика. |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Greg, спасибо. Насчет того, что слишком много непонятного - это точно. Сейчас буду искать программный СПИ.
Хочу привести еще одну деталь. Я упростил алгоритм и он выглядит следующим образом: МК жестко (без прерываний) ждет приём одного байта с компа -> байт приходит -> отправляем этот байт вызовом процедуры SPI -> goto main (опять жестко ждем прием байта). Так вот, после отправки первого байта три статусных светодиода молчат. При отправлении второго и последующих загораются какие-то, как мне кажется в зависимости от передаваемого байта (!), из трех светодиодов. У меня такое впечатление, что вот здесь: PHP код:
|
![]() |
![]() |
![]() |
#4 | |
Super Moderator
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,893
Вес репутации: 5611/171 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
но ещё раз, вам сейчас главное оживить передатчик. |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Передатчик ожил ! Криво как-то, но ожил.
Была у меня уже спаяна приемная часть (без соединения с компом), в которой ПОРТБ полностью нагружен светодиодами. Сейчас сделал так, чтобы статусный байт радиомодуля целиком, от нулевого до седьмого бита, отображался на светодиодах. Параметр "кл-во свободных байт для загрузки в TX FIFO" отображается верно. Параметр "статус чипа" говорит, что RX FIFO переполнен... Какой, блин, переполнен, если чип только что включился. ![]() Кстати, при отключении радиомодуля, светодиоды молчат. Это гут. Может RS-232 мешал работать аппаратному SPI... что еще раз свидетельствует в пользу вашей рекомендации. Было важно определить, что радиомодуль хоть как-то брыкается, с Англии заказывал ведь. **Всё, следующий мой пост только по программному SPI** ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
|
![]()
модули класные я диплом писал на сс1100
__________________
Нет ничего лучше когда апрель и -10 на дворе ![]() |
![]() |
![]() |
![]() |
#7 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
photocanon
А как давно было сие событие, еще помните что-то ? ![]() Просто на данный момент всё вроде сделано, режимы СС2500 отображаются верно, регистры настроил... а передача не идет. Я выставил модуляцию MSK (фазовая) на скорости 250 kbit/sec. Не принимает. ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
|
![]()
проблема в том что у меня был проект на Atmega 128L
модуль СС1100 850мгц с микрополосковой антенной которую я в микровэйве расчитал и изготовил... была задача на одном из каналов просто передать 1 байт информации. как с пиком это увязать подсказать может и подскажу... но проект 2-х летней давности поднимать наврятли получится. первое поставить скорость самую минимальную... насколько я помню 2500-й на 2.4ггц работает так вот убедиться что антенна если чипованая не раскрошилась... второе проверить установку по мощности излучения, потом режим ресивера имеет данный модуль или нет? ВАЖНО! модули есть 3-х типов только прием только передача и трансмиттеры (Рессиверы) т.е. прием/передача. просто от железки можно не получить если она заведомо только приемник а вы пытаетесь чтото передать! проверьте номенклатуру по даташиту на микруху вполне возможно что пришло чтото не то... я тоже в то время извиняюсь лоханулся купил модули а они тока на прием были, пришлось перезаказывать именно ресиверы.
__________________
Нет ничего лучше когда апрель и -10 на дворе ![]() |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
ЗАРАБОТАЛО !!!!
Как же меня за**** эти хреновы модули ! Ни так ни эдак, ни вдоль ни поперек. Никак не работало. Я уже и какие-то шумы принимал на 2.4 ГГц у себя дома(!), а от второго модуля, который находится на расстоянии 10-15 см ничего не приходило. Жесть бесючая. Фууух. Но еще столько всего неясного, неизведанного и чудесного. ![]() ******************************************* photocanon, Спасибо, что ответили. Вы очень кстати напомнили мне про мощность, ибо я и забыл про это, несомненно, важный параметр. Правда это не было "тем самым" после чего всё как-то зашевелилось, но все же... Цитата:
А вы использовали для настройки модуля программу SmartRF Studio ? Я пробовал полностью "доверять" тем значениям регистров, которые выдает эта вещь... Не работает. Кстати, очередное чудо: набираю с клавы циферки, значки и т.д. (НЕ буквы) - передает/принимает. набираю с клавы буквы - не принимает... Хоть передающая сторона (та, что подключена к компу) корректно отзывается "эхом" (отправка в RS-232 каждого принятого байта). |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Я тут смотрю пылится темка-то, покинули ее все. Как же вам её не жалко...
Столкнулся с проблемой: смотрю в книгу - вижу фигу. Прошу помочь. ![]() Имеется передатчик на европейский диапазон 868 МГц (ибо 2.4 ГГц ацтой). - Последний европейский документ пишет про распределение по частотам и соответствующих им мощностям. (см. картинку) Конкретно интересует возможность излучать 500 мВт. ( http://www.erodocdb.dk/doks/doccateg...alldata=1#1622 ) Мне таки можно занять диапазон 869.4 - 869.6 и излучать 500 мВт, при условии, что я не нарушаю duty cycle, не передаю видео или аудио... но спектр как бэ шире, чем 25 кГц ? |
![]() |
![]() |
![]() |
#11 | |
Member
Регистрация: 22.02.2010
Сообщений: 59
Вес репутации: 160/37 ![]() ![]() |
![]() Цитата:
144-146 МГц 430-440 МГц 435-438 МГц 1260-1300 МГц По логике тебе нельзя работать на данной частоте, тем более с такой мощностью... Если ты правильно согласуешь антенну, то зона радиовидимости будет очень большой! |
|
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]() Цитата:
![]() Дело в том, что меня интересует именно Европа. Кстати, документы, что я привел вверху - это ЕС recomendations. А вот в Comission Decision of 23 May 2008 в графе про мощность 500 мВт можно найти такую фразу: Цитата:
|
||
![]() |
![]() |
![]() |
#13 |
Member
Регистрация: 22.02.2010
Сообщений: 59
Вес репутации: 160/37 ![]() ![]() |
![]()
Cavalryman, за Европу мне сказать не чего... Но про мощность что то и мне не верится
![]() Просвяти меня пожалуйста про передачу данных через RS-232 на МК, я в этом новичек... Интересует какой прогой в винде пользуетесь для передачи и приема информации, может подскажите какие бывают... Если кодом и схемой подключения поделитесь, буду несказанно рад. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Эти маленькие и простые программки я скачивал отсюда: http://www.pcports.ru/articles/avr6.php
Схемы у меня, как таковой, нету. Соединял по примерам с сайта выше. Говорят, что самая норм программа для работы с РС-232 это Hyper Terminal. Но я ее так и не осилил, а хотелось бы ![]() Вроде всё просто, но я наткнулся на все, что только можно. Самое бесючее - это было с кварцевым резонатором. Целый день бьюсь, ничего не получается... уж все комбинации регистров перебрал, а оказалось, что кварц просто не запускался из-за большой емкости конденсаторов и МК работал на дефолтных 4 МГц. Рабочий код коряв, ибо туда постоянно скидывались всякие куски ото всюду и дописывалось самостоятельно. Но всеж таки он рабочий. Если что, то МК - PIC16F887 Инициализация (где-нить в шапке): PHP код:
PHP код:
|
![]() |
![]() |
![]() |
#15 |
Senior Member
|
![]()
уже может быть не актуально, редко на форум захожу...
я мощность стандартную выбирал и все, а вот почему не передает буквы, вопрос открытый для вас, попробуйте вникнуть в суть FIFO у модуля к этому помоему были какието особенности... уже два года назад просто было не вспомню точно... Про антену просто размеры физические антенны смодулированы в микровэйве и тупо перенесены в пикад при рисовании.
__________________
Нет ничего лучше когда апрель и -10 на дворе ![]() |
![]() |
![]() |
![]() |
#16 |
Member
Регистрация: 22.02.2010
Сообщений: 59
Вес репутации: 160/37 ![]() ![]() |
![]()
Спасибо. Все внимательно изучу!
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]() Цитата:
![]() Пожалуйста. ![]() ------------------------------------ Товарищи, про мощность в Европе вопрос открытый. Уж шибко мучит сей вопрос. ![]() |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
|
![]()
вы немного не то сделали.
1байт = 0-255 все буквы из ASCI таблицы должны передаваться без труда. длинна пакета в 32байта это имхо неправильное понимание процесса. там формат кадра насколько мне не изменяет память 512байт ну даже если и написано 32 это как минимум 32символа так что проблему ищите в приемном коде... используйте аппаратные средства контроллера чтоб передавать принимать, там же помоему SPI используется, нет ничего проще...
__________________
Нет ничего лучше когда апрель и -10 на дворе ![]() |
![]() |
![]() |
![]() |
#19 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Photocanon, вы неверно помните "формат кадра"
![]() Для начала, надо признаться, что сей "девайс века" работает уже достаточно давно и принимает все букавки, я просто не стал создавать новую тему для вопроса о законодательстве. Что касается НЕприема некоторых символов, то это исправилось как раз после того, как я изменил режим меняющейся длины пакета на фиксированную длину пакета. В первом режиме первый БАЙТ (0-255) определял длину идущего пакета. Максимальная длина пакета была установлена на отметке 32 байта. Соответственно, приемник должен был, по идее, отказаться от приема, если первый байт полезной нагрузки (data payload) будет больше 32 (больше 01000000). Так и произошло. Получалось, что преамбула, синхро-слово и всё такое проходили, запись в приемный ФИФО СС2500 открывалась, но если первый байт был, как сказано выше, больше 32, тоесть больше максимальной длины пакета, то приемник сразу обрубал прием. Я тоже удивился с продвинутости микросхемы... маленькая, но шибко умная. ![]() |
![]() |
![]() |
![]() |
#20 |
Senior Member
|
![]()
вопрос законности, если тема некомерческая то юзайте... никто вас искать не будет, а если девайс потребует в последующем сертификации или чего поболее то 100% надо уменьшать...
__________________
Нет ничего лучше когда апрель и -10 на дворе ![]() |
![]() |
![]() |
![]() |
#21 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Тема некоммерческая.
А вообще, странно получается: диапазон свободный от лицензирования, а о сертификации уже слышал несколько раз. Вот на сайте Texas Instruments писали, мол, ставьте туда-то SAW-фильтр, ибо без него не пройдете сертификацию по каким-то там частотам, мощностям. Как же это получается, что свободный диапазон, что несвободный - все равно некая сертификация проводится. Где тут подвох ? |
![]() |
![]() |
![]() |
#22 |
Junior Member
Регистрация: 27.03.2010
Адрес: Ukraine, Dnepropetrovsk
Возраст: 44
Сообщений: 17
Вес репутации: 100/37 ![]() ![]() |
![]()
Если рекомендуется фильтр, может проблема в кратных гармониках от передатчика?
|
![]() |
![]() |
![]() |
#23 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Ну да, так и есть.
![]() ПАВ-фильтр производитель рекомендует ставить при использовании усилителя на 0.5Вт. При использовании исключительно СС1101 можно ставить некий lowpass filter - набор нахаляву(вроде как) расставленных индуктивностей и емкостей. ![]() Кстати, может подскажете, digikey сколько берет за доставку в ту страну, для которой не сделано отдельного сайта ? Конкретно интересует Латвийская ССР. Я заказываю всё в farnell, но там нужного фильтра нету, да и ваще много чего нету, но за 5 Евро мне привозят заказ домой ! |
![]() |
![]() |
![]() |
#24 |
Senior Member
Регистрация: 02.12.2008
Адрес: Где-то между Нижним и Казанью
Возраст: 48
Сообщений: 1,071
Вес репутации: 707/58 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Блин, не пугайте людей. Недавно смотрел "Мы из будущего 2". Так прочел Ваш пост и решил, что из этой темы не вышел.
![]() Указываете в способе доставки, например, UPS и доставят также. |
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: 09.01.2010
Адрес: Baltic states
Возраст: 32
Сообщений: 116
Вес репутации: 198/39 ![]() ![]() |
![]()
Посмотрел этот digikey... 60 $ за доставку ! ппц.
И это при том, что выбрал UPS. Что интересно, при попытке заказать через сайт другой страны меня кидает на американский сайт, замуровали демоны. ![]() Видать компоненты только на американском складе есть... |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прерывание SPI в dsPIC33FJ33GP202 | Любопытный | Продукция MICROCHIP | 6 | 28.11.2008 17:29 |