Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Обречен въпрос :(
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=2828
Страница 1 от 1

Автор:  Реконструктор [ Сря Авг 30, 2006 12:09 am ]
Заглавие:  Обречен въпрос :(

Става въпрос за HET-а на TMS470. Мъча се да генерирам единичен импулс, контролиран от CPU-то. Кода изглежда така:

Код:
L00: CNT  {reg=A, irq=OFF, max=1000, data=1}

L01: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=SET, irq=off, data=0}
L02: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off, next=L03, cond_addr=GO_LOW1, data=0}

GO_LOW1: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L02, data=0}
GO_LOW2: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L01, data=0}

L03: BR     {next=L00, cond_addr=L00, event=NOCOND}


но не работи - като начало, защото L01 и L02 не се нулират. :( След като се запишат стойности в тях, се получава безкрайно генериране.

Имам ли шанс съпорта на TI да ми отговори, ако им поставя въпроса?

Автор:  bateAz [ Сря Авг 30, 2006 9:47 am ]
Заглавие: 

Има. Почти винаги отговарят и почти винаги смислено. От отсрещната страна е Microchip ( ша ма извиняват пиколюбците ).

Автор:  Реконструктор [ Сря Авг 30, 2006 12:29 pm ]
Заглавие: 

Честито:

Цитат:
Dear Grigorii Nanev,
Thank you for contacting the European Product Information Centre.
Regarding your inquiry about the product TMS470 we would like to inform you that we are unfortunately unable to offer any interactive support at the moment. All information that is available for this product can be found on the following link:
www.ti.com/tms470

You will be able to order samples and development tools via our distribution channel partners.

Best Regards,


Your E-PIC team

European Product Information Centre
Texas Instruments


И още:

Цитат:
TI assumes no liability for applications assistance or customer product design. Customer is fully responsible for all design decisions and engineering with regard to its products, including decisions relating to application of TI products. By providing technical information, TI does not intend to offer or provide engineering services or advice concerning Customer's design. If Customer desires engineering services, the Customer should rely on its retained employees and consultants and/or procure engineering services from a licensed professional engineer (LPE).

Автор:  nickich [ Сря Авг 30, 2006 12:46 pm ]
Заглавие: 

ДАй малко повече инфо/код....
пуснал ли си клоците на таймера ?

Автор:  Реконструктор [ Сря Авг 30, 2006 1:39 pm ]
Заглавие: 

nickich написа:
ДАй малко повече инфо/код....


Ами това е абсолютно целия код.

nickich написа:
пуснал ли си клоците на таймера ?


След като има генерация, има и клок, въпроса е, че искам само едно импулсче, не PWM.

Автор:  Dimitar [ Сря Авг 30, 2006 3:31 pm ]
Заглавие: 

Без да си имам идея за тоя чип ще ти кажа, че ако се опитваш да пуснеш определен брой импулси на хардуерния ШИМ - няма да стане. Ползвай output compare-те.

Автор:  nickich [ Сря Авг 30, 2006 4:06 pm ]
Заглавие:  Re: Обречен въпрос :(

Реконструктор написа:
Става въпрос за HET-а на TMS470. Мъча се да генерирам единичен импулс, контролиран от CPU-то. Кода изглежда така:

Код:
L00: CNT  {reg=A, irq=OFF, max=1000, data=1}

L01: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=SET, irq=off, data=0}
L02: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off,[b] next=L03[/b], cond_addr=GO_LOW1, data=0}
[i]
GO_LOW1: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L02, data=0}
GO_LOW2: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L01, data=0}
[/i]
L03: BR     {next=L00, cond_addr=L00, event=NOCOND}


но не работи - като начало, защото L01 и L02 не се нулират. :( След като се запишат стойности в тях, се получава безкрайно генериране.

Имам ли шанс съпорта на TI да ми отговори, ако им поставя въпроса?


Незнам дали съм прав, но

GO_LOW1: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L02, data=0}
GO_LOW2: MOV32 {reg=NONE, type=IMTOREG&REM, init=OFF, remote=L01, data=0}

май не се изпълнява... поради
L02: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off, next=L03, cond_addr=GO_LOW1, data=0}
?????

Автор:  Реконструктор [ Сря Авг 30, 2006 5:24 pm ]
Заглавие: 

Dimitar написа:
Без да си имам идея за тоя чип ще ти кажа, че ако се опитваш да пуснеш определен брой импулси на хардуерния ШИМ - няма да стане. Ползвай output compare-те.


HET е далеч от понятието "хардуерен ШИМ". Иначе нямаше да има много смисъл от него.
По принцип, мога да направя това, което искам, ако прекъсна процесора, но ще се старая по всякакъв начин да го избегна.

Автор:  Реконструктор [ Сря Авг 30, 2006 5:28 pm ]
Заглавие:  Re: Обречен въпрос :(

Цитат:
="май не се изпълнява... поради
L02: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off, next=L03, cond_addr=GO_LOW1, data=0}
?????


Би следвало да се изпълни, поради cond_addr=GO_LOW1

Цитат:
Cond_addr* Conditional address: (Optional) Defines the address of
the next instruction when the condition occurs.
Default: Current address + 1.
Location: Control field [19:12]

Автор:  nickich [ Сря Авг 30, 2006 6:04 pm ]
Заглавие: 

В такъв случай реда:
Код:
L02: ECMP {reg=A, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off, next=L03, cond_addr=GO_LOW1, data=0}


би трябвало да стане:
Код:
L02: ECMP {reg=Т, hr_lr=LOW, en_pin_action=on, pin=CC6, action=CLEAR, irq=off, next=L03, cond_addr=GO_LOW1, data=0}


"High-End Timer (HET) (SPNU199D)", p.117 =>
....
Код:
If (register T is selected)
T register = Compare value (25 bit);
Jump to Conditional Address;
}
elseIf (Z == 1 AND Opposite action == 1)
{
If (Enable Pin action == 1)
Selected Pin = opposite Pin Action AT next loop
resolution clock;
Jump to Next Program Address;
}

.....

ако не си му казал Т адрес ще почне да ти4а от next адреса, и ще прескочи двата реда .... мисля....

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/