реклама на сайте
подробности

 
 
> PWM & ADC в ADUC7021, есть пара вопросов
condor
сообщение Mar 6 2007, 19:13
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 18-06-05
Из: Kyiv, Ukraine
Пользователь №: 6 126



Делаю свою первый проект на ADUC'e.
Из-за неполного даташита появились непонятки.

---- PWM ----
В маленьком корпусе ШИМ напрямую наружу не выходит. В ДШ написано, что можно вывести через PLA.
Сделал так:

Код
PLAELM8 = 0x0035;
PLAELM15 = 0x0059;
PLAELM0 = 0x0059;

GP1CON = 0x3 << 28; // (PWM)PLAO[0] -> P1.7
GP3CON = 0x1;  // PWM0 -> P3.0(PLAI[8])

Но смущает то, что в ИАРовском хедере ioaduc7021.h нету описания регистров ШИМа. Он в этом контроллере присутствует?
Утилита PLA Tool тоже ведет себя непонятно. При записи в PLAELM8 0x0035 (т.е. подключение ко входу элемента8 P3.0 (PWM)) ругается "The GPIO pins you selected as inputs to the elements of Block1 have been disabled as they are not available on ADuC2071". Это утилита кривая или действительно можно подключать к PLA только выведенные наружу входы?

---- ADC ----
Нужно с максимальной скоростью оцифровать ~1ms сигнала и сложить в буфер для дальнейшей обработки.
В ДШ нигде не нашел описание непрерывного режима преобразований (continious mode). Я конечно догадываюсь что это, но хотелось бы уточнить smile.gif.

В примере с фтп Analog'a при использовании непрерывного преобразования каждый раз переключают каналы 0 и 1. Это просто измеряют два разных сигнала, или к обоим каналам подключен один и тот же сигнал, а такое переключение дает выграш в быстродействии?

Код
    ADCCON = 0x4E4;    // Config: fADC/2, acq. time = 2 clocks => ADC Speed = 1MSPS

    while(1)
    {            // start continuous conversion    
        for (i=0; i <2; i++)
        {
            while (!ADCSTA){}            // wait for end of conversion
            ADCDATA[i] = (ADCDAT >> 16);
            if (ADCCP == 0)    ADCCP = 1;    // change channel
            else ADCCP = 0;
        }

    }
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
etoja
сообщение Mar 7 2007, 15:36
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



ШИМ есть во всех ADuC70xx. Об этом написано на странице №53 английского даташита.
Пример конфигурирования выходов ШИМ через PLA приведён на странице №54.
Go to the top of the page
 
+Quote Post
Paramon
сообщение Mar 9 2007, 07:45
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997



Цитата(etoja @ Mar 7 2007, 15:36) *
ШИМ есть во всех ADuC70xx. Об этом написано на странице №53 английского даташита.
Пример конфигурирования выходов ШИМ через PLA приведён на странице №54.



страница: Rev. PrA | Page 9 of 78 указывает, что именно PWM там и нет (наличие устройства "+")



Цитата(Paramon @ Mar 9 2007, 07:41) *
Цитата(etoja @ Mar 7 2007, 15:36) *

ШИМ есть во всех ADuC70xx. Об этом написано на странице №53 английского даташита.
Пример конфигурирования выходов ШИМ через PLA приведён на странице №54.



страница: Rev. PrA | Page 9 of 78 указывает, что именно PWM там и нет (наличие устройства "+")

* Package, PWM, GPIO availability and number of Analog I/O
depend on part model. See page 9.
Go to the top of the page
 
+Quote Post
Paramon
сообщение Mar 9 2007, 08:13
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997



Цитата(Paramon @ Mar 9 2007, 07:45) *
Цитата(etoja @ Mar 7 2007, 15:36) *

ШИМ есть во всех ADuC70xx. Об этом написано на странице №53 английского даташита.
Пример конфигурирования выходов ШИМ через PLA приведён на странице №54.



страница: Rev. PrA | Page 9 of 78 указывает, что именно PWM там и нет (наличие устройства "+")



Цитата(Paramon @ Mar 9 2007, 07:41) *
Цитата(etoja @ Mar 7 2007, 15:36) *

ШИМ есть во всех ADuC70xx. Об этом написано на странице №53 английского даташита.
Пример конфигурирования выходов ШИМ через PLA приведён на странице №54.



страница: Rev. PrA | Page 9 of 78 указывает, что именно PWM там и нет (наличие устройства "+")

* Package, PWM, GPIO availability and number of Analog I/O
depend on part model. See page 9.


файл PWM.H (KEIL)
/* PWM */

#if defined (ADUC7024) || defined (ADUC7025) || defined (ADUC7026) || defined (ADUC7027)

#define PWMBASE (*(volatile unsigned long *) 0XFFFFFC00)
#define PWMCON (*(volatile unsigned long *) 0XFFFFFC00)
#define PWMSTA0 (*(volatile unsigned long *) 0XFFFFFC04)
#define PWMDAT0 (*(volatile unsigned long *) 0XFFFFFC08)
#define PWMDAT1 (*(volatile unsigned long *) 0XFFFFFC0C)
#define PWMCFG (*(volatile unsigned long *) 0XFFFFFC10)

#define PWMA (*(volatile unsigned long *) 0XFFFFFC14)
#define PWMB (*(volatile unsigned long *) 0XFFFFFC18)
#define PWMC (*(volatile unsigned long *) 0XFFFFFC1C)
#define PWM0 (*(volatile unsigned long *) 0XFFFFFC14)
#define PWM1 (*(volatile unsigned long *) 0XFFFFFC18)
#define PWM2 (*(volatile unsigned long *) 0XFFFFFC1C)

#define PWMEN (*(volatile unsigned long *) 0XFFFFFC20)
#define PWMDAT2 (*(volatile unsigned long *) 0XFFFFFC24)
#define PWMSTA1 (*(volatile unsigned long *) 0XFFFFFC38)

#endif

искренне не хотелось вас огорчать, но уменя больше нет достоверной информации на эту тему.
(через PLA PWM я ниразу не юзал)
с уважением PARAMON.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016