Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MSP430F235 ADC12
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
chu
CODE
>adc12_test

---------------------ADC12

ADC12CTL0 = 3392 : 0011001110010010
ADC12CTL1 = 021A : 0000001000011010

ADC12IE = 0000 : 0000000000000000
ADC12IFG = FFFF : 1111111111111111
ADC12IV = 0000 : 0000000000000000

ADC12MCTL0 = 01 : 00000001 ADC12MEM0 = 0727 : 0000011100100111
ADC12MCTL1 = 01 : 00000001 ADC12MEM1 = 0803 : 0000100000000011
ADC12MCTL2 = 01 : 00000001 ADC12MEM2 = 0852 : 0000100001010010
ADC12MCTL3 = 01 : 00000001 ADC12MEM3 = 08DB : 0000100011011011
ADC12MCTL4 = 01 : 00000001 ADC12MEM4 = 093C : 0000100100111100
ADC12MCTL5 = 01 : 00000001 ADC12MEM5 = 0944 : 0000100101000100
ADC12MCTL6 = 00 : 00000000 ADC12MEM6 = 0888 : 0000100010001000
ADC12MCTL7 = 02 : 00000010 ADC12MEM7 = 0000 : 0000000000000000
ADC12MCTL8 = 08 : 00001000 ADC12MEM8 = 048E : 0000010010001110
ADC12MCTL9 = 09 : 00001001 ADC12MEM9 = 05FA : 0000010111111010
ADC12MCTL10 = 0A : 00001010 ADC12MEM10 = 0A72 : 0000101001110010
ADC12MCTL11 = 0B : 00001011 ADC12MEM11 = 07FC : 0000011111111100
ADC12MCTL12 = 0C : 00001100 ADC12MEM12 = 07FC : 0000011111111100
ADC12MCTL13 = 0D : 00001101 ADC12MEM13 = 07FD : 0000011111111101
ADC12MCTL14 = 0E : 00001110 ADC12MEM14 = 07FF : 0000011111111111
ADC12MCTL15 = 8F : 10001111 ADC12MEM15 = 07FD : 0000011111111101


Ok
>


ADC12 настроен на измерение последовательности каналов, однократно. SREF = 000 VR+ = AVCC and VR− = AVSS.
Последние четыре канала ( ADC12MEM12 - ADC12MEM15) подключены к GND ( см. datasheet slau144e page 21-3 ).
Вопрос: почему я не наблюдаю ноликов, как в ADC12MEM7 ( подключен на землю ) или где я не прав? unsure.gif
rezident
Цитата(chu @ Jul 6 2009, 17:38) *
Вопрос: почему я не наблюдаю ноликов, как в ADC12MEM7
Ответить на вопрос "почему", не видя исходного кода и не имея пояснений, как (с помощью чего) получены эти числа, довольно затруднительно. Это под силу видимо только законченным телепатам. laughing.gif
Update. Как начинающий телепат могу предложить вам сравнить блок-схемы модуля ADC12 из MSP430x1xx Family User' Guide Rev.F (slau049f) и MSP430x2xx Family User' Guide Rev.E (slau144e). Найдите четыре отличия и сопоставьте их с вашими результатами измерений последних пяти каналов. После этого сделайте снисхождение индийским составителям User's Guide. "Не стреляйте в пианиста, он играет как умеет" wink.gif
chu
Цитата(rezident @ Jul 6 2009, 19:44) *
Ответить на вопрос "почему", не видя исходного кода и не имея пояснений, как (с помощью чего) получены эти числа, довольно затруднительно.


Никакого исходного кода для ADC12 ( прошитого в МК ) нет biggrin.gif . Запись в регистры ADC12 произведена с консоли, напрямую, соответственно таким же образом и считаны ( приведенный "код" - копипаст с форт-консоли ).


Цитата(rezident @ Jul 6 2009, 19:44) *
могу предложить вам сравнить блок-схемы модуля ADC12 из MSP430x1xx Family User' Guide Rev.F (slau049f) и MSP430x2xx Family User' Guide Rev.E (slau144e). Найдите четыре отличия и сопоставьте их с вашими результатами измерений последних пяти каналов. После этого сделайте снисхождение индийским составителям User's Guide. "Не стреляйте в пианиста, он играет как умеет" wink.gif


Спасибо. Я получил ответ на свое "почему". yeah.gif

PS. Go Forth
chu
Еще один вопрос.
ADC12 работает в режиме измерения повторяющейся последовательности каналов:
Код
; 32 clocks sampling period, multiple sample&conversions, adc12ON
    mov.w    #SHT0_3+SHT1_3+MSC+ADC12ON,&ADC12CTL0;

; начиная с ADC12MEM0, SAMPCON по таймеру выборки, тактирование SMCLK,
; повторяющаяся последовательность каналов
    mov.w    #SHP+ADC12DIV_0+ADC12SSEL_3+CONSEQ_3,&ADC12CTL1;


запуск осуществляется по таймеру ( прерывание TACCR1 CCIFG ):

Код
    bis.w    #ENC+ADC12SC,&ADC12CTL0;


бит EOS не установлен, останов осуществляется также по таймеру ( прерывание TACCR2 CCIFG ):

Код
; остановить АЦ преобразования
    bic.w    #CONSEQ_3,&ADC12CTL1; CONSEQx=0, выход из режима
    bic.w    #ENC,&ADC12CTL0    ; остановить АЦ преобразования
    clr.w    &ADC12IFG    ; очистить флаги результатов
;


Цитата:" Successive conversions are triggered automatically as soon as the prior conversion is completed."
(slau144e.pdf p21-15 )
Перевод: " Очередные преобразования запускаются авто-
матически после завершения предыдущего преобразования."

И ничего не сказано про выборку ( sample )

ВОПРОС: Участвует ли таймер выборки (SHP=1) в последовательности преобразований при указанных условиях
или только в первый раз, при установке бита ADC12SC ?

PS. Прошу пардону, если вопрос покажется излишне надуманным, просто гложут меня сомнения и нет ясности.
chu
Правильно ли я понимаю, что биты Sample-and-hold time ( SHT0x и SHT1x ) имеют значение
только при установленном бите Sample-and-hold pulse-mode ( SHP=1 ) ?
rezident
Цитата(chu @ Jul 15 2009, 12:57) *
ВОПРОС: Участвует ли таймер выборки (SHP=1) в последовательности преобразований при указанных условиях
или только в первый раз, при установке бита ADC12SC ?
Конечно участвует. При установленном SHP, выборка с длительностью, определяемой значением SHT0 или SHT1, происходит перед каждым запуском преобразования. А сам АЦП в вашем случае работает по выделенной на рисунке (из User's Guide) цепи графа состояний.

Цитата(chu @ Jul 15 2009, 15:48) *
Правильно ли я понимаю, что биты Sample-and-hold time ( SHT0x и SHT1x ) имеют значение
только при установленном бите Sample-and-hold pulse-mode ( SHP=1 ) ?
Да, правильно. См. внимательно на разницу в двух времянках (SHP=0) и (SHP=1).
chu
Цитата(rezident @ Jul 15 2009, 17:10) *
Да, правильно.


Спасибо. Просто при изучении руководства не всегда возникает ощущение однозначной ясности.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.