|
|
  |
Помогите с CC1110!, Есть несколько вопросов. |
|
|
|
Sep 24 2009, 17:27
|
Группа: Участник
Сообщений: 4
Регистрация: 15-09-09
Пользователь №: 52 371

|
Всем доброго времени суток!
Только начал работать с CC1110. Получается что-то делать на контроллере, но не могу решить несколько вопросов:
1) Не могу запустить передатчик. Прошиваю регистры, но реакции нет. Для обращения к радиорегистрам использую следующие команды:
MOV DPTR, #FREQ2 ;К примеру регистр FREQ2 MOV A, 0xEC MOVX @DPTR, A
Далее через регистр RFST подаю команды на калибровку синтезатора и включение передатчика. Реакции никакой. Пробовал и синхронный, и асинхронный режим - не получается. Если кто-то может, вышлите файлик с работающим кодом. ТОЛЬКО в Ассемблере! Заранее спасибо!
dudnikov_s@mail.ru
2) В даташите написано, что у них на один цикл процедуры приходится один clock. Но реально смотрю по осцилографу - 4 такта. Это они так обманывают, или я что-то неправильно делаю? В регистре CLKCON выставляю clock на 26 МГц.
Пишу в IAR, прошиваю через чипконовский Flash Programmer, отладочная плата CC Development Kit 04.
Всем заранее спасибо за помощь!
|
|
|
|
|
Sep 25 2009, 15:21
|
Группа: Участник
Сообщений: 4
Регистрация: 15-09-09
Пользователь №: 52 371

|
Цитата(Палыч @ Sep 25 2009, 12:04)  Выполнение команды длится от одного до четырёх циклов (для каждой команды - своё количество). В классическом МК51: один цикл = 12 clock; в Вашем МК - цикл равен одному clock. Правильно, так CC и пишет в своём даташите. Один цикл = 1 clock. Но реально получается больше. Тупо формирую на ноге меандр, выставляя и очищая бит (SETB и CLR). По таблице инструкций эти команды выполняются за 1 цикл. При этом осцилографом наблюдаю на один импульс 4 такта. Поэтому и не понимаю: то ли у меня где ошибка, то ли они лукавят про свою производительность. Напомню, что в регистре CLKCON прописываю clock 26 МГц без всяких предделителей.
|
|
|
|
|
Sep 25 2009, 16:24
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(dig_sd @ Sep 25 2009, 18:21)  Тупо формирую на ноге меандр, выставляя и очищая бит (SETB и CLR). .... наблюдаю на один импульс 4 такта. Привели бы прогу формирования импульса. Как я себе понимаю, минимальная программа генерации импульсов состоит из трёх команд: Код setb clr jmp на первую команду Считаем: setb - 1 цикл; clr - 1 цикл; jmp - 2 цикла. Итого: импульс за четыре цикла (такта). Что Вы хотели увидеть?
|
|
|
|
|
Sep 25 2009, 19:55
|
Группа: Участник
Сообщений: 4
Регистрация: 15-09-09
Пользователь №: 52 371

|
Цитата(Палыч @ Sep 25 2009, 20:24)  Привели бы прогу формирования импульса. Как я себе понимаю, минимальная программа генерации импульсов состоит из трёх команд: Код setb
clr
jmp на первую команду Считаем: setb - 1 цикл; clr - 1 цикл; jmp - 2 цикла. Итого: импульс за четыре цикла (такта). Что Вы хотели увидеть? Один цикл setb-clr-sjmp формирует 1 период меандра. С учётом команды sjmp получается меандр со скважностью 1/3: .........................._____ .................... Меандр:..............|........|_____:_____ Clock (кварц):....../\/\/\/\/\/\/\/\/\/\/\/\ Так вот, положительный импульс - это одна инструкция (один цикл). При этом смотрю на кварце клоки - на один импульс - 4 такта, итого один период меандра - 12 тактов. Теперь понятнее?
Сообщение отредактировал dig_sd - Sep 25 2009, 20:12
|
|
|
|
|
Sep 26 2009, 07:49
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(dig_sd @ Sep 25 2009, 22:55)  Один цикл setb-clr-sjmp формирует 1 период меандра. С учётом команды sjmp получается меандр со скважностью 1/3 Так вот, положительный импульс - это одна инструкция (один цикл). При этом смотрю на кварце клоки - на один импульс - 4 такта, итого один период меандра - 12 тактов. Теперь понятнее? Позабавило: "меандр со скважностью 1/3". Меандр - периодический примоугольный сигнал со скважностью 2. Скважность - отношение периода к длительности импульса, т.е. меньше единицы быть не может. Теперь по делу. Мои ответы выше опирались на информацию о классических МК51. Не поленился и скачал DS на СС1110. В табличке 27 нахожу времена выполнения команд и выходит, что Ваш цикл генерации импульсов (setb-clr-sjmp) выполняется за 9 (3+3+3) тактов. При этом длительность импульса составит треть периода (скважность = 3). Думаю, что Ваше измерение периода в 12 тактов - ошибочно. P.S. Да, кстати, из того же DS видно, что в регистр FREQ2 нельзя занести значение 0хЕС - как это сделано у Вас (старшие два разряда этого регистра - не для записи).
|
|
|
|
|
Sep 26 2009, 17:37
|
Группа: Участник
Сообщений: 4
Регистрация: 15-09-09
Пользователь №: 52 371

|
Цитата(Палыч @ Sep 26 2009, 11:49)  Позабавило: "меандр со скважностью 1/3". Меандр - периодический примоугольный сигнал со скважностью 2. Скважность - отношение периода к длительности импульса, т.е. меньше единицы быть не может. Теперь по делу. Мои ответы выше опирались на информацию о классических МК51. Не поленился и скачал DS на СС1110. В табличке 27 нахожу времена выполнения команд и выходит, что Ваш цикл генерации импульсов (setb-clr-sjmp) выполняется за 9 (3+3+3) тактов. При этом длительность импульса составит треть периода (скважность = 3). Думаю, что Ваше измерение периода в 12 тактов - ошибочно.
P.S. Да, кстати, из того же DS видно, что в регистр FREQ2 нельзя занести значение 0хЕС - как это сделано у Вас (старшие два разряда этого регистра - не для записи). Про скважность - просто забыл что к чему относится - период к длительности или наоборот.  На счёт 3+3+3 циклов вы правы - в даташите я смотрел другую строчку SETB C (carry flag). Спасибо за поправку. С этим вопросом вроде разобрались. Цитата(Dog Pawlowa @ Sep 26 2009, 21:20)  Был на семинаре TI, Тексасовцы рекомендуют использовать в качестве прототипа проекта их примеры. Видимо, не могут представить, что кто-то может взяться за разработку, не зная самого популярного в настоящее время ЯВУ.  Перелазил весь сайт TI на тему CC1110. Кроме примеров изготовления антенн и отдельных pdf на тему кодирования и тому подобного ничего не нашёл. Может Вас не затруднит скинуть ссылку на их примеры? Всё дело в том, что я запускал обычный CC1100 в связке с Atmel Atmega без проблем. А вот с CC1110 что-то не получается (я имею в виду радиочасть). Поэтому и обратился за помощью к людям с этого форума, которые работали конкретно с CC1110.
Сообщение отредактировал dig_sd - Sep 26 2009, 17:38
|
|
|
|
|
Sep 27 2009, 10:52
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(dig_sd @ Sep 26 2009, 20:37)  Может Вас не затруднит скинуть ссылку на их примеры? К сожалению, мне даже не пришло в голову спросить, где же примеры - у нас сейчас перерыв в этом направлении, раньше работали на СС2510, проект был под ИАР. Позвоните в СкантиРус и спросите, где примеры работы. В ИАРе нет, логично предположить, что в новой ССстудио. Только это добро под Эклипс и загрузочка на 900 МБ
--------------------
Уходя, оставьте свет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|