|
|
  |
CC2500 Приемопередатчик, Кто-то реально делал? |
|
|
|
Jun 5 2007, 17:18
|
Знающий
   
Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984

|
Даа... Глянул я характеристики этого чуда  С такой полосой миниум в 5мег ,и делением в 1мег подохнуть ему близоруким, остается верить что там действительно сильный демодулятор ,который позволяет давать разницу в кварцах в 120ppm. Короче с такими фильтрами и шагами ,дистанции ему не видать как собственных ушей  ЗЫ Но для мышки,клавы или ридера подойдет
|
|
|
|
|
Jun 5 2007, 19:20
|
Знающий
   
Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984

|
Ну так это Вам не даташиты от Атмела,где все разжевано и расплевано :D Куча умных словечек ,половину которых подразумевается что вы должны знать ,а про другую они просто забыли написать ,куча ошибок ,противоречий и т.д. :D Короче даташиты от СС не для "средних умов" ,тут нужно однозначно проявлять смекалку.
Насчет VCO ,это относится к автокалибровке самого генератора и фазовой подстройке,думаю это зависимость от самого питающего напряжения и к AFC (автоподстройке частоты ) не имеет отношения, хотя можно рискнуть поиграться. Для 2500 FSCAL рекомендуют считать по студио и тоже ничего подробного не сказано про это. После подачи строба автокалибровки - это значение меняется и дальше остается таким же, единственное рекомендуют сохранять это значение при переходе на другой канал ,потом при возврате не нужно будет делать автокалибровку ,достаточно востановить значение.
|
|
|
|
|
Mar 24 2008, 10:06
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
Помогите пожалуйста!спаял две платки с контроллером и CC2500, прикрутил к ним ЖКИ через SPI пишу регистры, читаю их.. Передаю пакеты, но не принимаю их на стороне прийомника  Вот алгоритм моих действий: Передатчик:... reset_cc2500(); сс2500_init(); //(длина пакета один байт, IOCFG0=0x06, AUTOFLUSH=1) write_reg(PATABLE,0xfe); while(1) { write_strobe(SIDLE); write_strobe(SFTX); write_reg(0x3f,0x55); write_strobe(STX); DelayMs(1); жду когда на выводе GDO0 появится лог1 и иду дальше } ... Прийомник:reset_cc2500(); сс2500_init(); //(длина пакета один байт, IOCFG0=0x06, AUTOFLUSH=1) ) write_strobe(SIDLE); while(1) { А write_strobe(SFRX); write_strobe(SRX); В цикле контролирую ногу GDO0. Как только на ней лог1 - пришла синхронизация - идти дальше. В цикле еще раз контролирую ногу GDO0 но жду лог0 - Если лог0 - идти дальше иначе на начало проверки Проверка выполняется успешно!!! читаю регистр RXBYTES, НО ТАМ НОЛЬ  ( AUTOFLUSH=1 видимо автоматом очищается буфер из-за несовпадения СRС) вовращаюсь на точку Аи снова RXBYTES=0 ...
Сообщение отредактировал Спартак - Mar 24 2008, 10:09
|
|
|
|
|
Mar 24 2008, 12:23
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
подсказали ,что проверка RXBYTES совсем не к тому  ну вот я пошел немного дальше: читаю: read_reg(RXBYTES) =0 rw_spi(RXFIFO_B) =16 (эт типа статус моей "просьбы" поработать с буфером) rw_spi(0) =161 (длина пакета..хотя я оговаривал длину в один байт) rw_spi(0) =31 (данные...хотя я передавал 0x55) rw_spi(0) =31 (это типа тут должны были быть RSSI) rw_spi(0) =31 (а вот тут LQI) понимаю, что туплю, но где?  как правильно работать буфером прийомной стороны?
|
|
|
|
|
Mar 24 2008, 19:38
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
Цитата(TBI @ Mar 24 2008, 18:09)  Возможно ошибка в настройке канала связи. Запустите SmartRF Studio и отконфигурируйте регистры согласно вашим установкам. Попробуйте передать более одного байта. спасибо! уже разобрался  я по простоте душевной в буфер передатчика данные писал совсем совсем не правильно.. сейчас передаю и принимаю пакеты. дальность на открытой местности еще не испытывал, но думаю, что 30 метров наберется теперь у меня вопросы по работе сс2500 уже другие.. -вот как быстро просыпается сс2500 из состояния пониженного энергопотребления? сколько занимает времени переход из "power down modes" к режиму передачи/прийома? - как правильно ее ложить спатки, как будить?
|
|
|
|
|
Mar 25 2008, 13:06
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
..аппаратное управление/поддержка пакетами, включая:
-генерацию преамбулы -вставка/обнаружение программируемого слова синхронизации -проверка адреса -поддержка переменной длины пакетов
если кто в курсе помогите вкурить нафиг это все нуна?
ADDR 0x09 //Device address CHANNR 0x0A //Channel number какой смысл, в чем разница?
|
|
|
|
|
Mar 27 2008, 12:23
|
Частый гость
 
Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941

|
DEVICE_ADDR - адрес используемый для пакетной фильтрации. Широковещательные адреса 0х00 и 0xFF. CHANNR - выбор физического канала, который добавляется к базовой несущей частоте. Иногда несколько раз прочитанный даташит снимает много дополнительных вопросов. P.S. Простите за офф, но передачи/прийома как серпом по ...
|
|
|
|
|
Mar 27 2008, 14:34
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
Цитата(Algol @ Mar 27 2008, 15:23)  DEVICE_ADDR - адрес используемый для пакетной фильтрации. Широковещательные адреса 0х00 и 0xFF. CHANNR - выбор физического канала, который добавляется к базовой несущей частоте. Иногда несколько раз прочитанный даташит снимает много дополнительных вопросов. P.S. Простите за офф, но передачи/прийома как серпом по ...  за оффтоп не пращаю, а за "пачитать даташит" ваще щаз абазлюсь на весь мир! вот удивительные все же люди..значит прийом - это серпом, а на весь форум о яйцах эт ниче страшнава!?  )0 и о главном: если я буду передавать пакеты чипом сконфигурированным для работы CHANNR =1, то те чипы ,которые сконфигурированы для работы в CHANNR =2 нифинта не примут? а если один чип будет работать в "DEVICE_ADDR №1", а другой в "DEVICE_ADDR №2" ? что значит "широковещательные адреса 0х00 и 0xFF" ?
|
|
|
|
|
Mar 27 2008, 15:12
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
Цитата(sensor_ua @ Mar 27 2008, 17:57)  Предлагаю Спартак ознакомиться с правилами форума http://electronix.ru/index.php?pid=2 и не забыть обратить внимание на п. 2 да че там читать? эти ваши пунктики везде адинаковые! абищаю слушаться ,) а кто может пролить свет на технологию CCA, WOR ? а по русски о RSSI, LQI ? я вот в "паралельной" ветке встретил такое описание: RSSI - это уровень сигнала ,а LQI качество Эт, как панимать? А как переводить в нечто удобоваримое?  и вот еще: если я потихонечку, не спеша - выбираю данные из буфера при йомника, а в этот момент передатчик передает пакет, то он (пакет) теряется? я че спрашиваю: вчера настроил передатчик на длину пакета в 50 байт, 250kBaud. и с максимально возможной скоростью передаю пакеты, а вот прийомник принимает пакеты с пропуском некоторых ,это связано с тем ,что я не успеваю быстро обработать входной буфер? Спасибо ,всем кто подскажет/поможет
Сообщение отредактировал Спартак - Mar 27 2008, 15:20
|
|
|
|
|
Mar 27 2008, 16:19
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 22-03-08
Пользователь №: 36 142

|
Цитата(sensor_ua @ Mar 27 2008, 18:36)  Спасибо, Вы удивительно внимательно отнеслись к моим вопросам, и очень верно подметили, что ответы на них искать нужно в других местах  и если можно удалите мои посты в теме ,пусть они умрут всместе со следами моего невежества, и моей беспрасфетнай глупасти. гы
Сообщение отредактировал Спартак - Mar 27 2008, 16:20
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|