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

 
 
 
Reply to this topicStart new topic
> AD74111 & MSP430F149
ilian
сообщение Jun 11 2010, 09:25
Сообщение #1


Участник
*

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



Доброго времени суток.

Столкнулся вот с какой проблемой.Необходимо работатъ с AD74111 , но "control register" не зарежается.

Работаю по фронту DFS.

Схема стоитъ в режим Mixed Mode.Проц. MSP430F149 clock8MHz
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 12 2010, 19:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Соберитесь с мыслями и изложите ваши проблемы полно и доступно для восприятия их другими пользователями форума. Сопроводите свои пояснения схемой и исходными кодами, если они у вас есть.
Go to the top of the page
 
+Quote Post
ilian
сообщение Jun 14 2010, 06:35
Сообщение #3


Участник
*

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



Доброе утро!

проблем такой:

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


Сообщение отредактировал rezident - Jun 14 2010, 20:06
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 14 2010, 20:32
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



После беглого взгляда по datasheet AD74111 и вашему коду имеются такие замечания.
Во-первых, где схема подключения? Снова на телепатию рассчитываете? sad.gif
Во-вторых,
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 ]
Go to the top of the page
 
+Quote Post
ilian
сообщение Jun 15 2010, 07:50
Сообщение #5


Участник
*

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



Спосиба для ответ !

схема заработало.Нужна фреймовая синхронизация.В 4-х проводном все нормалъно.

Сообщение отредактировал rezident - Jun 15 2010, 21:48
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post

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

 


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


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