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

 
 
 
Reply to this topicStart new topic
> HELP не хватает мощности проца, потера данных USART
MicronSys
сообщение Mar 25 2008, 14:46
Сообщение #1


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

Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946



есть прибор рабочий мелко серийный
Попросили добавить клавиатуру ( работает по SPI 250 кгц)
так как SPI уже занят другим обвесом пришлось писать софт SPI

в нем есть задержка 25 команд NOP ( в цикле конечно) и так 16 раз подрад (грузить надо 16 бит )
клава опрашивается по прерыванию от таймера 40 раз в сек
при этом начали пропадать байты USART (19200 8 1)
не успевает проц 7 Мег.

в основном теле ( main()) клава отказывается работать
переодически шумят леды

Народ прошу помогите у кого есть нароботки по софт SPI
Go to the top of the page
 
+Quote Post
=GM=
сообщение Mar 25 2008, 14:58
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(MicronSys @ Mar 25 2008, 14:46) *
в основном теле ( main()) клава отказывается работать, периодически шумят леды. Народ, прошу, помогите у кого есть наработки по софт SPI

Нельзя ли SS поюзать? Сразу все поблемы бы решили и делать ничего не надо.

Но если нельзя, давайте на ваш код взглянем для начала, как там леды шумят(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Mar 25 2008, 15:01
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(MicronSys @ Mar 25 2008, 17:46) *
есть прибор рабочий мелко серийный
Попросили добавить клавиатуру ( работает по SPI 250 кгц)
так как SPI уже занят другим обвесом пришлось писать софт SPI

в нем есть задержка 25 команд NOP ( в цикле конечно) и так 16 раз подрад (грузить надо 16 бит )
клава опрашивается по прерыванию от таймера 40 раз в сек
при этом начали пропадать байты USART (19200 8 1)
не успевает проц 7 Мег.

в основном теле ( main()) клава отказывается работать
переодически шумят леды

Народ прошу помогите у кого есть нароботки по софт SPI

Что значит, SPI чем-то занят? А чипселек на что?

Может я конечно чего-то не знаю в Вашей железке и Вам обязательно генерить софтовый SPI. В такой случае, было бы разумно генерить SPI не задержками, а при помощи прерываний таймера.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Mar 25 2008, 15:04
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(MicronSys @ Mar 25 2008, 17:46) *
в нем есть задержка 25 команд NOP ( в цикле конечно) и так 16 раз подрад (грузить надо 16 бит )

Так в эти 25 тактов и надо вместо NOP отпрос USART по флагам вставить и чтение из него в буфер. 25 тактов этож много очень. Да ещё 16 раз подряд. Я тут ну никаких проблем не вижу.
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Mar 25 2008, 15:05
Сообщение #5


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

Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946



Сам написал сам и отвечаю

Как говорится голово два уха
Совсем забыл что пока прирывание не отработанно другое не выполняется
а у маня как раз их и два было
одно от таймера а второе от USART

кому интересно решил данную праблу так:

uint8_t isTime = false;
. . .
SIGNAL(SIG_OVERFLOW2)
{
. . .
isTime = true;
}
. . .

void Main (void)
{
while(1)
{
if(isTime) { Work_Key();}
}
}


Да кстате кому интересно клава это называется Satel CA-6
Go to the top of the page
 
+Quote Post
bloodden
сообщение Mar 25 2008, 15:11
Сообщение #6


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(MicronSys @ Mar 25 2008, 17:05) *
Да кстате кому интересно клава это называется Satel CA-6


ОЧЕНЬ интересно. Можете выслать мне инфу по этой клаве?
Заранее спасибо.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Mar 26 2008, 08:08
Сообщение #7


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

Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946



Цитата(bloodden @ Mar 25 2008, 19:11) *
ОЧЕНЬ интересно. Можете выслать мне инфу по этой клаве?
Заранее спасибо.


Я думаю многим кто делает сигнализации будет интнресно
учытывая стоимость данного иделия
После обеда выложу все свой наработки по данной тема ЗДЕСЬ sad.gif
Go to the top of the page
 
+Quote Post
GDI
сообщение Mar 27 2008, 08:30
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



прерывания, вообщето, можно и вложенными сделать, если при входе в прерывание опять разрешить прерывания.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
bloodden
сообщение Mar 27 2008, 09:34
Сообщение #9


Бывалый
***

Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853



Цитата(GDI @ Mar 27 2008, 10:30) *
прерывания, вообщето, можно и вложенными сделать, если при входе в прерывание опять разрешить прерывания.

И очень аккуратно потом следить за ними.


--------------------
Заходите кому надо на мой сайт
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:31
Рейтинг@Mail.ru


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