Заголовок сообщения: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 14:47:50
Родился
Зарегистрирован: Ср май 25, 2011 14:46:55 Сообщений: 12
Рейтинг сообщения:0
Собственно программирую таймер А на микроконтроллере MSP430F2012. Хочу создать ШИМ с периодом 100 Гц, при нажатии кнопки шаг увеличивается, в начале шаг 10% и так при каждом нажатии увеличивается. Собственно все не проблема, кроме одного, запутался, как сделать период 100 Гц? Т.е. хочу видеть на осциллографе период в 100 Гц.
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 16:14:27
Мявтор!
Карма: 4
Рейтинг сообщений: 15
Зарегистрирован: Ср май 17, 2006 18:39:01 Сообщений: 384 Откуда: Москва
Рейтинг сообщения:0
Допустим, таймер тактируется частотой 1.000.000 Гц, т.е. за 1 секунду он щёлкнет 1.000.000 раз. Чтобы получить 100 Гц (1/100 с), таймер должен прощёлкать до 10.000 (1.000.000\100). Вот и весь расчет
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 16:27:36
Опытный кот
Карма: 6
Рейтинг сообщений: 33
Зарегистрирован: Ср мар 02, 2011 07:47:39 Сообщений: 841 Откуда: Уфа
Рейтинг сообщения:0
Вам бы руководство почитать. Там используются два регистра сравнения таймера и аппаратный выход TA0 (допустим). Соответственно прерывание от таймера не требуется. Частота какая у вас будет? Мб помогу регистры таймера расписать.
PS Тоже взял се чудо дешёвую штуковину--хочу сделать на ёе основе полноценный программатор MSP-FET430UIF.
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 16:31:24
Родился
Зарегистрирован: Ср май 25, 2011 14:46:55 Сообщений: 12
Рейтинг сообщения:0
Psych писал(а):
Вам бы руководство почитать. Там используются два регистра сравнения таймера и аппаратный выход TA0 (допустим). Соответственно прерывание от таймера не требуется. Частота какая у вас будет? Мб помогу регистры таймера расписать.
PS Тоже взял се чудо дешёвую штуковину--хочу сделать на ёе основе полноценный программатор MSP-FET430UIF.
Что суда вписать, чтобы стало ровно 100 Гц, сейчас на осцилле 105,3 Гц Мне бы принцип понять, а уже сколько будут регистры и тд, тогда пойму. Т.к. тут подгонять не получается. Хотел бы чтобы было в Регистре CCR0=1000, CCR1=800 и частота периода 100 Гц.
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 16:53:21
Опытный кот
Карма: 6
Рейтинг сообщений: 33
Зарегистрирован: Ср мар 02, 2011 07:47:39 Сообщений: 841 Откуда: Уфа
Рейтинг сообщения:0
Ну тык вы же его тактируете от DCO. Он по дефолту 1 Мгц, но естественно у него своя погрешность. Можно вывести на ножку МК сигнал SMCLK и посмотреть частоту. Поэтому у вас и в регистрах не 10000.
Можно подогнать CCR0 под 100 гц--он отвечает за частоту. CCR1 отвечает за скважиность...в вашем случае она равна 1,75%.
Можно распаять на плате часовой кварц (что я и сделал) и тактировать таймер от ACLK. С ним у вас частота будет примерно 100,2 гц.
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 16:55:42
Родился
Зарегистрирован: Ср май 25, 2011 14:46:55 Сообщений: 12
Рейтинг сообщения:0
Psych писал(а):
Ну тык вы же его тактируете от DCO. Он по дефолту 1 Мгц, но естественно у него своя погрешность. Можно вывести на ножку МК сигнал SMCLK и посмотреть частоту. Поэтому у вас и в регистрах не 10000.
Можно подогнать CCR0 под 100 гц--он отвечает за частоту. CCR1 отвечает за скважиность...в вашем случае она равна 1,75%.
Можно распаять на плате часовой кварц (что я и сделал) и тактировать таймер от ACLK. С ним у вас частота будет примерно 100,2 гц.
В итоге что в программном коде изменить? CCR0 уж больно долго подгонять придетсяэ Сделал 100 Гц) это безумие) 12к надо)
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 17:04:10
Опытный кот
Карма: 6
Рейтинг сообщений: 33
Зарегистрирован: Ср мар 02, 2011 07:47:39 Сообщений: 841 Откуда: Уфа
Рейтинг сообщения:0
Необязательно. Можете не останавливать, просто в момент изменения регистров(нажатия кнопки) у вас может произойти один неверный импульс---не думаю что это критично.
Заголовок сообщения: Re: MSP430 LaunchPad вопрос по программированию
Добавлено: Ср май 25, 2011 17:07:01
Родился
Зарегистрирован: Ср май 25, 2011 14:46:55 Сообщений: 12
Рейтинг сообщения:0
Psych писал(а):
Необязательно. Можете не останавливать, просто в момент изменения регистров(нажатия кнопки) у вас может произойти один неверный импульс---не думаю что это критично.
Ситуация в том, что когда кнопка нажимается не происходит ничего)) Т.е. убавления содержимого регистра не происходит, а просто проседает сигнал на 0,2 В. А по идее при нажатии должно происходить следующее: Период остается таким же, но импульс становится шире.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения