ilian 0 11 июня, 2010 Опубликовано 11 июня, 2010 · Жалоба Доброго времени суток. Столкнулся вот с какой проблемой.Необходимо работатъ с AD74111 , но "control register" не зарежается. Работаю по фронту DFS. Схема стоитъ в режим Mixed Mode.Проц. MSP430F149 clock8MHz Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 12 июня, 2010 Опубликовано 12 июня, 2010 · Жалоба Соберитесь с мыслями и изложите ваши проблемы полно и доступно для восприятия их другими пользователями форума. Сопроводите свои пояснения схемой и исходными кодами, если они у вас есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilian 0 14 июня, 2010 Опубликовано 14 июня, 2010 (изменено) · Жалоба Доброе утро! проблем такой: AD74111 стоитъ в режим "mixed mode" работаетъ как мастер. Генерируетъ "clock" и "DFS".Между первой и вторий "DFS" нада заредитъ "control register" така говоритъ data sheet, но не получается. Работаю по "interrupt SPI". Можно времени на хватаетъ между двумя "DFS"? ето код: ;-------------------------------------------------------------------------- Init_Sig_Del ;Inicializira SigmaDelta ;-------------------------------------------------------------------------- bic.b #BIT2,&P3OUT ;Din Low bic.b #BIT7,&P6OUT ;Reset LOW nop nop nop nop nop nop nop nop call #wait_100ms call #wait_100ms call #wait_100ms bis.b #BIT7,&P6OUT ;Reset High ;-------------------------------------------------------------------------- RET ;-------------------------------------------------------------------------- Setup_SPI0_Slave ;-------------------------------------------------------------------------- SetupP3 bis.b #00Eh,&P3SEL ; P3.1,2,3 SPI option select SetupSPI0 bis.b #SWRST,&U0CTL mov.b #CHAR+SYNC,&U0CTL ; 8-bit, SPI, Slave bis.b #STC,&U0TCTL ; Polarity, UCLK, 3-wire bis.b #USPIE0,&ME1 ; Module enable bic.b #SWRST,&U0CTL ; SPI enable ;bis.b #URXIE0,&IE1 ; Recieve interrupt enable ;-------------------------------------------------------------------------- mov.b #00h,&P1IFG ;Izchistwa flagovete na prekyswaniq bic.b #BIT0,&P1IES bis.b #BIT0,&P1IE ;Razre[awa prekyswane ot DFS ;-------------------------------------------------------------------------- RET ;-------------------------------------------------------------------------- PORT1_EXT_INT :Control byte ;-------------------------------------------------------------------------- mov.b #098h,&TXBUF0 TX11 bit.b #UTXIFG0,&IFG1 ; USART0 TX buffer ready? jz TX11 ; Jump is TX buffer not ready mov.b #001h,&TXBUF0 TX22 bit.b #UTXIFG0,&IFG1 ; USART0 TX buffer ready? jz TX22 bic.b #BIT0,&P1IE ;Zabranqwa prekyswane ot DFS ;bis.b #BIT7,&P2OUT ;bic.b #BIT7,&P2OUT end_int RETI Изменено 14 июня, 2010 пользователем rezident Оформление цитаты исходника. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 14 июня, 2010 Опубликовано 14 июня, 2010 · Жалоба После беглого взгляда по datasheet AD74111 и вашему коду имеются такие замечания. Во-первых, где схема подключения? Снова на телепатию рассчитываете? :( Во-вторых, 1. Инициализировать модуль SPI нужно до того, как "отпустили" RESET AD74111 в состояние HIGH. 2. Инициализация модуля SPI у вас реализована некорректно. Бит SWRST нужно сбросить только после инициализации всех регистров SPI. А у вас он сбрасывается сразу же после установки. См. примечание в разделе 14.2.1USART Initialization and Reset в документе MSP430x1xx Family User's Guide. 2. При инициализации пинов, выполняющих функции SPI, нужно проинициализировать как минимум еще и регистр P3DIR, а не только лишь один P3SEL. 3. Из текста не совсем ясно, используете ли вы прерывания от модуля SPI? Вроде прерывание разрешено, но обработчика по соответствующему вектору в вашем коде нет. Следует использовать именно прерывания от SPI-приемника, а не прерывания от PORT1, к которому, по всей видимости, у вас и подключен сигнал DFS. Используйте SPI в 4-х проводном, а не в 3-х проводном режиме, подключив сигнал DFS к пину SSEL. Если приведете схему подключения и более полный код, то может еще какие мысли возникнут. Ну и оформляйте свой исходный код в соответствии с Правилами форума, используя для оформления тэги [ code ] и [ codebox ] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ilian 0 15 июня, 2010 Опубликовано 15 июня, 2010 (изменено) · Жалоба Спосиба для ответ ! схема заработало.Нужна фреймовая синхронизация.В 4-х проводном все нормалъно. Изменено 15 июня, 2010 пользователем rezident Нарушение п.3.4 Правил форума. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться