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

 
 
> eZ430-F2013, впечатления
VVlad
сообщение Dec 14 2009, 13:08
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Просьба откликнуться тем, кто пользовался конроллером-конструктором eZ430-F2013.
1) На плате установлен МК MSP430x20x1. Правда ли, что его ток потребления всего лишь 220 мкА?
2) По какой технологии выполнен этот чип (мои версии - ABT, BTL, CMOS, TTL)?
В даташите на него указано " 16-Bit RISC Architecture, 62.5 ", но архитектура и технология - различные понятия или я не прав?

Думаем покупать этот набор, прошу знатоков посоветуйте, пожалуйста, на что обратить внимание?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
VVlad
сообщение Feb 24 2010, 11:04
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Файлы с русским переводом book1 book2 видел давно, но они онтносятся к серии MSP430F1x, сомневался, подойдут ли для MSP430F2x. В частности, затруднения с управлением встроенным ADC10 в MSP430F2012 могут быть вызваны как моим недомыслием, так и несовместимостью серий MSP430F1x и MSP430F2x.
Привожу текст программы
Код
;*******************************************************************************
;   MSP430F2012 макет измерение анал сигнала, АЦП, залповое 32x сохранение (DTC)
;  данных с входа A1 32x, повторное измерение одного канала с усреднением и
;  передачей UART 2400,
;
;                MSP430F2012
;             -----------------
;         /|\|              XIN|-
;          | |                 |  32 кГц (часовой кварцевый резонатор)
;          --|RST          XOUT|-
;            |                 |
;        >---|P1.1/A1      P1.0|--> LED (светодиод - индикатор АЦП)
;            |                 |
;        >---|             P1.5|--> TX (UART 2400 передача данных)
;
;   February 2010  Built with IAR EW Ver: 4.28
#define     RXTXData  R10          ; присвоим рабочему регистру псевдоним
#define     BitCnt  R5             ; счетчику битов - отдельное название
;*******************************************************************************
#include "msp430x20x2.h"
            ORG 0F800h
;-------------------------------------------------------------------------------
RESET       mov.w   #0280h,SP      ; Установим указатель стека заподлицо с ОЗУ
StopWDT     mov.w   #WDTPW+WDTHOLD,&WDTCTL ;Забаним сторожевую собачкума
SetupTA     mov.w   #TASSEL_1+MC_2,&TACTL  ;Загоним в непреррежим ВспомогатЧасы
SetupC0     mov.w   #OUT,&CCTL0            ; Засандалим нулевой уров фона TXD
SetupADC10  mov.w   #CONSEQ_2+INCH_1,&ADC10CTL1; A1, реж. повтора одного канала
            mov.w   #3CF8h,&ADC10CTL0; настройка АЦП на 0-2.5 V
            bis.b   #02h,&ADC10AE0         ; выбор реж P1.1 как анал вход в АЦП
            mov.b   #020h,&ADC10DTC1       ; залп из 32 преобразований в моск
SetupP1     bis.b   #020h,&P1SEL           ; терминал P1.5 буд защелкой таймерА
            bis.b   #021h,&P1DIR           ; объЯвим P1.0 и P1.5 навыпуск
SetupBCS    mov.b   #096h,&BCSCTL1         ;  DIVAx=01 (делим на 2) чтобы 16 кГц
;-------------------------------------------------------------------------------
Mainloop    bic.w   #ENC,&ADC10CTL0        ; запрет преобраз-Я АЦП 2-м битом
busy_test   bit     #BUSY,&ADC10CTL1       ; Активно ли Ядро АЦП10?
            jnz     busy_test              ; Если активно, ждём остановки
            mov.w   #0200h,&ADC10SA        ; Установ нач.адрес буфера данных
            bis.b   #001h,&P1OUT           ; сигнал о запуске АЦП P1.0 = 1
            bis.w   #ENC+ADC10SC,&ADC10CTL0; пуск на приём и преобразовать
            bic.w   #TAIE,&TACTL           ; приостановим прерываньица ТА
            bic.w   #CCIE,&CCTL0           ; отключим таймер А на времЯ АЦП
            bis.w   #CPUOFF+GIE,SR         ; LPM0, ADC10_ISR will force exit
            bis.w   #TAIE,&TACTL           ; теперь прерываньица ТА нужны
            bis.w   #CCIE,&CCTL0           ; влючим таймер А на времЯ TX_Byte
            call    #TX_Byte               ; передача средних значений
            bic.b   #001h,&P1OUT           ; сигнал об окончании P1.0 = 0
            jmp     Mainloop               ; И вновь продолжаема ...
;-------------------------------------------------------------------------------
ADC10_ISR   bic.w   #CPUOFF,0(SP)          ; Выход из снулого реж LPM0 возврат
AVER_32     clr.w    R10                ; процедуры усредненьица, очисткама
               mov.w    #020h,R8           ; установим счетчик на 8 повторов
            mov.w   #0200h,R9              ;   адрес начала массива данных
Sumat        add.w    @R9+,R10           ;  добавим очередное слово в регистр
        dec.w    R8                 ;  уменьшение единицей
        jnz    Sumat                       ;  счетчик не обнулен? повтор 32 раз
            mov.w   #05,R8                 ; 5-кратный сдвиг - деление на 32
Aga         CLRC                  ; очистка несущего бита с статусного регистра
            RRC   R10                      ;  сдвиг на один бит вправо
            dec.w R8                       ;  счётчик обнулён?
            jnz Aga                        ;  если нет, повтор до 5 раз
            mov.w &0200h,R10;
            reti
;-------------------------------------------------------------------------------
TA0_ISR     add.w   #07,&CCR0              ; ВремЯ до следующего бита
UART_TX     cmp.w   #00h,BitCnt            ;
            jne     TX_Next                ; Неужели ещё бит?
            bic.w   #CCIE,&CCTL0           ; биты ТХ-нуты, хватит прерываний!
            reti                           ;
TX_Next     bic.w   #OUTMOD2,&CCTL0        ; Фронт импульса - сигналама ТХ
            rra.w   RXTXData               ; LSB столкнут в носитель
            jc      TX_Test                ; Перескок --> бит = 1
TX_Space    bis.w   #OUTMOD2,&CCTL0        ; Пропуск интервала нормального TX
TX_Test     dec.w   BitCnt                 ; Все ли биты ТХ-нуты (засланы)?
            reti                           ;
;-------------------------------------------------------------------------------
TX_Byte;  Подпрограмма процедуры передачи символа из буфера
TX_1        mov.w   &TAR,&CCR0             ; Текушее показание счётчикА снимать
            cmp.w   &TAR,&CCR0             ; !!Заклинанье-Оберег несинхроХап!!
            jne     TX_1                   ;
            add.w   #07,&CCR0              ; Запас времени первому биту
            bis.w   #0100h, RXTXData       ; Добавима в RXTXData стоповый бит
            rla.w   RXTXData               ; Место стартовому биту
            mov.w   #10,BitCnt             ; Засадим 8+ст+стп в битовый счётчик
            mov.w   #CCIS0+OUTMOD0+CCIE,&CCTL0   ; пометка TXD по нараст фронту
TX_Wait     bit.w   #CCIE,&CCTL0           ; Поскучам до успешного финала TX
            jnz     TX_Wait                ;
            ret                            ;
;-------------------------------------------------------------------------------
            ORG     0FFEAh                 ; Вектор прерываваниЯ АЦП ADC10
            DW      ADC10_ISR
            ORG     0FFF2h                 ; Вектор прерыван таймерА Timer_A0
            DW      TA0_ISR                ;
            ORG     0FFFEh                 ; Вектор MSP430 RESET
            DW      RESET                  ;
            END

Поведение следущее - в отладчике видно, что АЦП работает верно, заселяет память результатами правильно, но когда приём байтов происходит потеря старших двух битов и вместо 10-битного АЦП получаем даже не 8-битный, а хуже - рабочий диапазон делится на четыре куска, где сигнал пилообразно меняется между 00 и FF, вместо того, чтобы 0000 - 03ff, как описано в мануале. Прежде гадал, не в усреднении ли причина, но дебагом ошибок не нашёл.
Подскажите, пожалуйста, где порыться ещё?
Go to the top of the page
 
+Quote Post
VVlad
сообщение Feb 25 2010, 06:04
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 7-12-09
Пользователь №: 54 109



Код
            bis.w   #CCIE,&CCTL0          ; влючим таймер А на времЯ TX_Byte
            call    #TX_Byte              ; передача средних значений
            bic.b   #001h,&P1OUT          ; сигнал об окончании P1.0 = 0

Спасибо, уже разобрался. Оказалось достаточно в приведённый фрагмент добавить одну строку вызова TX_Byte:
Код
                                       bis.w   #CCIE,&CCTL0          ; влючим таймер А на времЯ TX_Byte
            call    #TX_Byte              ; передача младшего байта
                                                call    #TX_Byte              ; передача старшего байта
            bic.b   #001h,&P1OUT          ; сигнал об окончании P1.0 = 0

Ура, заработало!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- VVlad   eZ430-F2013   Dec 14 2009, 13:08
- - jorikdima   "конроллер-конструктор" - интересный тер...   Dec 14 2009, 13:12
- - zhevak   Цитата(VVlad @ Dec 14 2009, 18:08) Просьб...   Dec 14 2009, 14:03
|- - VVlad   Цитата(zhevak @ Dec 14 2009, 17:03) Если ...   Dec 14 2009, 14:32
|- - mdmitry   Цитата(VVlad @ Dec 14 2009, 17:32) Не пос...   Dec 14 2009, 15:57
|- - VVlad   Цитата(mdmitry @ Dec 14 2009, 18:57) Это ...   Dec 28 2009, 08:20
|- - jorikdima   Цитата(VVlad @ Dec 28 2009, 11:20) Верно,...   Dec 28 2009, 08:28
- - jorikdima   у АЦП подозреваю нет таких конских входных сопроти...   Dec 14 2009, 18:02
- - VVlad   Да, на плате исходно стоял МК MSP430F2013 c 16-раз...   Dec 28 2009, 14:31
- - jorikdima   не используйте cout и все. Все что вам надо в этой...   Dec 28 2009, 15:58
- - VVlad   Спасибо за подробный и ясный ответ, Jorikdima. П...   Dec 29 2009, 07:41
|- - rezident   Цитата(VVlad @ Dec 29 2009, 12:41) Компил...   Dec 30 2009, 01:02
- - VVlad   ошибка в ответ на строку "Temperature >...   Dec 30 2009, 15:26
- - SSerge   А на строку "Temperature >> = 13L;...   Dec 30 2009, 20:56
|- - rezident   Цитата(SSerge @ Dec 31 2009, 01:56) А на ...   Dec 30 2009, 22:03
- - VVlad   В Документе MSP430x2xx_Family_User's_Guide_(Re...   Dec 31 2009, 10:22
- - rezident   А где вы увидели модуль DMA в MSP430F2013? В User...   Dec 31 2009, 18:51
- - VVlad   С прошедшими (наконец с облегчением-спасибо Господ...   Jan 11 2010, 07:24
- - VVlad   Извините за ошибочные дубликаты - глючила связь. ...   Jan 11 2010, 17:20
- - rezident   Цитата(VVlad @ Jan 11 2010, 12:24) That...   Jan 11 2010, 20:13
|- - VVlad   Цитата(rezident @ Jan 11 2010, 23:13) Эта...   Jan 12 2010, 12:07
|- - rezident   Цитата(VVlad @ Jan 12 2010, 17:07) Можно ...   Jan 12 2010, 19:57
|- - VVlad   Цитата(rezident @ Jan 12 2010, 22:57) При...   Jan 13 2010, 08:22
|- - rezident   Цитата(VVlad @ Jan 13 2010, 13:22) уйти в...   Jan 14 2010, 09:28
- - VVlad   Резидент, Ваши ответы поразительным образом сочета...   Jan 14 2010, 12:58
- - VVlad   Если пишу не в тему, простите и не бейте больно, п...   Jan 14 2010, 15:43
- - rezident   Сообщение модератора ON. Выделил сообщение из ветк...   Jan 14 2010, 16:39
- - VVlad   В ответ на Код#include "msp430x20x2.h" ;...   Jan 15 2010, 09:21
|- - rezident   Понимаете ли, VVlad, языки нас объединяют и разъед...   Jan 15 2010, 23:50
- - VVlad   Спасибо за дружескую поддержку, Резидент! По В...   Jan 17 2010, 17:33
- - rezident   Какой версией IAR пользуетесь и какой именно крист...   Jan 17 2010, 20:10
|- - VVlad   Цитата(rezident @ Jan 17 2010, 23:10) Как...   Jan 18 2010, 10:19
- - rezident   На сайте производителя можно скачать IAR Kickstart...   Jan 18 2010, 10:50
|- - VVlad   Цитата(rezident @ Jan 18 2010, 13:50) На ...   Jan 18 2010, 16:42
|- - rezident   Цитата(VVlad @ Jan 18 2010, 21:42) Ваш те...   Jan 19 2010, 01:28
- - VVlad   Rezident, Ваша проницательность меня потрясает. По...   Jan 19 2010, 10:05
- - mdmitry   У старых версий MATLAB была такая же нелюбовь в ко...   Jan 19 2010, 15:13
- - VVlad   Не слишком блестящие успехи с передачей байта в ПК...   Jan 26 2010, 11:48
- - rezident   Непонятна суть ваших затруднений. Передать данные ...   Jan 26 2010, 15:56
- - VVlad   Спасибо, Резидент, за ясный ответ. Значит, трансив...   Jan 28 2010, 05:39
|- - gotty   Цитата(VVlad @ Jan 28 2010, 07:39) Спасиб...   Jan 28 2010, 07:28
|- - _3m   Цитата(VVlad @ Jan 28 2010, 08:39) Спасиб...   Jan 28 2010, 07:59
|- - rezident   Цитата(VVlad @ Jan 28 2010, 10:39) Значит...   Jan 28 2010, 12:51
|- - VVlad   Цитата(rezident @ Jan 28 2010, 15:51) Нет...   Jan 29 2010, 07:13
|- - O.L.   Доброго времени суток. Давайте уберем весь лишний...   Jan 30 2010, 07:02
- - VVlad   Спасибо за ответ, O.L. GIE - это команда, разрешаю...   Feb 1 2010, 07:49
|- - O.L.   Цитата(VVlad @ Feb 1 2010, 13:49) GIE - э...   Feb 3 2010, 05:01
- - SGPYVt   Приветствую всех, относительно процессора не комп...   Feb 1 2010, 08:41
- - VVlad   Не совсем в тему (другой процессор) , но похожие я...   Feb 1 2010, 13:26
- - rezident   VVlad, а для вас так принципиально использовать им...   Feb 1 2010, 20:30
- - VVlad   Слава благодарности Резиденту! После Ваших обя...   Feb 3 2010, 05:53
|- - rezident   Цитата(VVlad @ Feb 3 2010, 10:53) книги н...   Feb 3 2010, 10:10


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

 


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


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