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

 
 
> провтыки внеш. прерыв STR711FR2, подскажите что делать?
maxcy
сообщение Aug 19 2010, 10:11
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 100
Регистрация: 9-04-07
Из: киев
Пользователь №: 26 895



Есть некое устройство построенное на STR711FR2, в процессе его кодинга было установлено что проц иногда теряет внешние прерывания. Используются прерывания с портов P0.2 и P0.1 оба по переднему фронту (хотя это не важно). Для доказательства этого сделали маленький проект.

настройка

int main(void)
{
XTI_Init();
XTI_LineModeConfig(XTI_Line9 | XTI_Line10, XTI_FallingEdge);
XTI_LineConfig(XTI_Line9, ENABLE);
XTI_LineConfig(XTI_Line10, ENABLE);
XTI_ModeConfig(XTI_Interrupt, ENABLE);
EIC_IRQChannelPriorityConfig(XTI_IRQChannel,1);
EIC_IRQChannelConfig(XTI_IRQChannel,ENABLE);

GPIO_Config(GPIO0,1,GPIO_OUT_PP);
GPIO_Config(GPIO0,(1<<1),GPIO_IN_TRI_CMOS);
GPIO_Config(GPIO0,(1<<2),GPIO_IN_TRI_CMOS);
GPIO_Config(GPIO1,(1<<5),GPIO_OUT_PP);
GPIO_Config(GPIO1,(1<<6),GPIO_OUT_PP);
GPIO_BitWrite(GPIO1,5,0); //--тест
GPIO_BitWrite(GPIO1,6,0); //--тест

EIC_IRQConfig(ENABLE);

while(1); /* infinite loop */
}

обработчик встроен в 71x_it.c в виде

void XTI_IRQHandler(void)
{
/* Change the first led of the GPIO0 port pins state */
u16 INT_X=0;
INT_X=XTI_InterruptLineValue();
if (INT_X & XTI_Line10)
{
GPIO_BitWrite(GPIO1,5,1);
GPIO_BitWrite(GPIO1,5,0);
}
if (INT_X & XTI_Line9)
{
GPIO_BitWrite(GPIO1,6,1);
GPIO_BitWrite(GPIO0,0,!GPIO_BitRead(GPIO0,0));
GPIO_BitWrite(GPIO1,6,0);
}
/* Clear the pending bits */
XTI_PendingBitClear(INT_X);
}
Юзаю uVision4

так вот было подмечено что когда фронты импульсов прерываний на расстоянии более 14 мкс друг от друга то всё нормально на осциллограммах мы видим оба захода (импульсы на портах), когда они входят в зону менее 14 мкс встречаются пропуски. потом когда они равняются друг к другу всё опять работает исправно.

Кто такое наблюдал, просьба рассказать как побороли, но не как обошли. Это просто очень важный момент в нашей системе.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 07:46
Рейтинг@Mail.ru


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