grek81 0 17 сентября, 2013 Опубликовано 17 сентября, 2013 · Жалоба Добрый день. Мучаюсь с AD7730 ни как не получается залить данные и увидеть их изменения в регистрах. Читаются значения по умолчанию,а прописать ничего не могу. Протокол SPI роде как работает смотрел осцилографом все сигналы на мести и чистые. По сути AD7730 принимает команды на чтение и выдает данные. А команды на запись не принимает. Пробывал подвешивать входа на землю и на питание через резистор ничего не помогает. codevision // SPI initialization // SPI Type: Master // SPI Clock Rate: 1000.000 kHz // SPI Clock Phase: Cycle Start // SPI Clock Polarity: Low // SPI Data Order: MSB First SPCR=0x51; SPSR=0x00; ADC_Reset(); void ADC_Reset() { CHIP_UNSELECT_AD7730_1; CHIP_SELECT_AD7730_1; spi(0xFF); spi(0xFF); spi(0xFF); spi(0xFF); CHIP_UNSELECT_AD7730_1; } unsigned char AD7730_Read_ModeReg() { unsigned char mode[2]; //unsigned int iTmp; CHIP_UNSELECT_AD7730_1; CHIP_SELECT_AD7730_1; delay_ms(10); spi(0x12);// switch com to mode reg mode[0]=spi(0xFF);//hi mode[1]=spi(0xFF);//low CHIP_UNSELECT_AD7730_1; //iTmp=iTmp<<8; //iTmp=iTmp+mode[1]; PORTD.4=1; // вкл передачу RS485; putchar(mode[0]); delay_ms(1); putchar(mode[1]); delay_ms(1); PORTD.4=0; // вкл передачу RS485; //return iTmp; } void AD7730_Write_ModeReg(unsigned int iData) { unsigned char mode[2]; mode[0] = (unsigned char) (iData>>8); mode[1] = (unsigned char) (iData&0x00FF); CHIP_SELECT_AD7730_1; delay_us(2); spi(0x02);// switch com to mode reg spi(mode[0]);// spi(mode[1]);// CHIP_UNSELECT_AD7730_1; delay_ms(1); PORTD.4=1; // вкл передачу RS485; putchar('o'); delay_ms(1); putchar('k'); delay_ms(1); PORTD.4=0; // вкл передачу RS485; } if(getchar()==0x30) // запись значения в флеш { AD7730_Read_ModeReg(); } if(getchar()==0x40) // запись значения в флеш { AD7730_Write_ModeReg(0xB132); PORTD.4=1;// прием по RS485 printf("good"); delay_ms(4); PORTD.4=1;// прием по RS485 } соответсвено считываю значение и передаю в порт. Может кто подскажет почему же данные для чтения принимаются,а данные на запись нет. Вот еще, что забыл указать не могу увидеть частоту на кварце. Схема в приложении только, немного изменена и изменения указаны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grek81 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Все работает, проблема в питании пока не разобрался почему, но почему садится напряжение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться