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

 
 
> AD5422+stm32 помогите связать, AD5422+stm32 помогите связать
batisto4ka
сообщение Nov 23 2011, 09:16
Сообщение #1


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

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Помогите разобраться с ЦАПом AD5422. Пробую установить связь между между stm32 и AD5422.
Распиновка:
PB.8 LATCH
PB.7 SCL
PB.6 MOSI
PB.5 MISO
PB.9 CLEAR
PC.8 FAULT
Код:
Код:
Код
:crying:
///..
GPIOB->CRH=0x00000033;
GPIOB->CRL=0x33400000;
GPIOC->CRH=0x00000004;
//..
ResetDAC();
temp=WriteToAD5422(0x551005);//uint32_t temp
temp=WriteToAD5422(0x020002);
temp=WriteToAD5422(0x00);

//...
uint32_t WriteToAD5422(uint32_t val)
{
uint8_t c;
GPIOB->BRR=1<<8;  //clr latch
for(c = 0; c < 24; c++)
    {
        
        GPIOB->BRR=1<<7;//SCK_CLEAR()//;

        if(val & 0x00800000)
        GPIOB->BSRR=1<<6;//MOSI_SET()//;
        else
        GPIOB->BRR=1<<6;////MOSI_CLEAR()//;

        Delay();
        GPIOB->BSRR=1<<7;//GPIO_BSRR_BS10;//1<<10;// SCK_SET()//;
        Delay();
        val <<= 1;
        if(GPIOB->IDR & (1<<5))
        val |= 0x01;
        Delay();
     }
GPIOB->BRR=1<<7;  //clr sck
Delay();
GPIOB->BSRR=1<<8;     //set latch
Delay();
return val;

}

void    ResetDAC    ()
{
uint32_t    temp=0;
GPIOB->BRR=1<<7;
GPIOB->BSRR=1<<8;
GPIOB->BRR=1<<9;

temp=WriteToAD5422(0x560001);//запись в регитср сброса (адрес 0х56)
}


В итоге temp=WriteToAD5422(0x551005); возвращает 0х05000000;
temp=WriteToAD5422(0x020002); возвращает 0х02000000;temp=WriteToAD5422(0x00) возвращает 0,
то есть последний записанный байт.

Если настроить функцию uint32_t WriteToAD5422(uint32_t val) на отправку по 8 бит, то темп возвращает постояннг 0. Это впринципе и понятно, т.к.по идее (согласно даташиту) LATCH устанавливается после отправки 24 бит.
Возможности связат по аппаратному SPI нет. Используется МК stm32f103vet. Функция задержки запускает таймер 2 на 85 нс.
настройки таймера Prescaller=0, ARR=3.
Помогите найти ошибкуи решить задачу

Сообщение отредактировал batisto4ka - Nov 23 2011, 09:17
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 19:42
Рейтинг@Mail.ru


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