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

 
 
> Программирование МК С167 фирмы Infineon, Обмен информацией об успехах и неудачах
san822
сообщение Jul 26 2005, 12:29
Сообщение #1


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Уважаемые коллеги! Я начинающий программист в области встраиваемых МК
и ищу людей, с которыми можно будет пообщатся на эту тему. Основные сложности возникают при поиске информации на русском языке, видимо МК С167 еще не очень популярен. Если Вы работали с с167 и можете об этом рассказать(или ссылку скинуть), то эта рубрика для Вас. a14.gif
Go to the top of the page
 
+Quote Post
5 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 60)
DPL
сообщение Jul 26 2005, 14:53
Сообщение #2


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

Группа: Свой
Сообщений: 88
Регистрация: 15-10-04
Из: Новочеркасск
Пользователь №: 886



Цитата(san822 @ Jul 26 2005, 16:29)
Основные сложности возникают при поиске информации на русском языке, видимо МК С167 еще не очень популярен.
*

Да нет, причина, видимо, в другом: слишком уж бесперспективное это занятие в общем случае - перевод документации (на мой взгляд) smile.gif

Я делал проект на С167 и еще пару - на похожих (ST10F168 и ST10F269). Так что, если смогу, то отвечу на возникшие вопросы. Только появлюсь я на связи не раньше 2.08.05
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jul 26 2005, 14:54
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(san822 @ Jul 26 2005, 16:29)
Основные сложности возникают при поиске информации на русском языке, видимо МК С167 еще не очень популярен
*

Ну лет 10 назад С167 хорошо "смотрелся", а теперь я бы в сторону ARM-ов посмотрел.
Мне кажется, что искать доки на русском - отстать от жизни лет на 15-20.
(Can167.zip - модуль CAN в 167, но мне кажется я и весь где-то видел)

Цитата(san822 @ Jul 26 2005, 16:29)
Если Вы  работали с с167 и можете об этом рассказать(или ссылку скинуть), то эта рубрика для Вас.
*

Да-да, а заодно и по Infineon Tricore, а то впечатление, что кроме меня с ними никто не работает smile.gif
Прикрепленные файлы
Прикрепленный файл  CAN167.ZIP ( 219.17 килобайт ) Кол-во скачиваний: 477
 
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jul 26 2005, 20:46
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



C167 хорошая архитектура. Заточена для очень жесткого и надежного реалтайма. Для этого снабжена многоуровневой с большим количеством векторов системой прерываний, развитым контролем сбойных ситуаций, DSP движком у некоторых и т.д. До последнего времени все мобильники Siemens делались на этом ядре, также поголовно применяется в мерседесах.
Скорость работы во многом определяеться выбором компилятора.
Известным чипам на ядрае ARM7TDMI по скорости работы не уступает, поскольку в отличии от них имеет DMA, быструю внутреннюю шину ну и DSP (у некоторых ;-))
У них есть проблема сегментированности памяти, но если вы не собираетесь часто перескакивать на другие платформы, то к этому можно привыкнуть.
У меня есть большой проект на ядре C167, конкретно на ST10F269.
По ссылке реализация одной из его версий
http://www.teltonika.lt/default.asp?prgID=...13&LanguageID=2
Могу выложить если интересно.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Jul 27 2005, 08:02
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(AlexandrY @ Jul 27 2005, 00:46)
C167 хорошая архитектура. Заточена для очень жесткого и надежного реалтайма.
..., также поголовно применяется в мерседесах.
*

Да, хорошая, одной командой переключить банк регистров, а вот с сегментацией, конечно, не очень удобно.
А если еще взять DAvE - нигде такого сервиса не видел.
Кстати, настоятельно рекомендую им пользоваться - он генерит код, который работает smile.gif, а из документации от Infineon не всегда ясно, что делать (по опыту с Tricore).

В мерсах, скорее применялся, щас для управления движком Infineon TC1796 сделала.

Хотя, если интересен именно 167 - я бы на серию XC смотрел, 167 скоро думаю трудно купить будет, мы 165 уже с трудом покупаем - дорожают sad.gif

И, все-таки, вроде видел доку на 167 полностью на русском - в виде книги кто-то издал - спросите у ИНТЕХ-а

Заодно вопрос (san822) - а что за проект на 167, если не секрет?
Go to the top of the page
 
+Quote Post
RZLtd
сообщение Jul 28 2005, 13:48
Сообщение #6


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

Группа: Свой
Сообщений: 82
Регистрация: 1-11-04
Из: Таганрог
Пользователь №: 1 014



Мы работаем на XC167, так если что, могу подсказать,
а доки на С167 были здесь http://forum.electronix.ru/index.php?showtopic=6564


--------------------
ГЛЮК - это когда компьютер играет с нами, а не мы с ним...
Go to the top of the page
 
+Quote Post
RZLtd
сообщение Jul 28 2005, 13:59
Сообщение #7


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

Группа: Свой
Сообщений: 82
Регистрация: 1-11-04
Из: Таганрог
Пользователь №: 1 014



если кого интересует, вот еще
Прикрепленные файлы
Прикрепленный файл  vpp2.pdf ( 634.71 килобайт ) Кол-во скачиваний: 452
Прикрепленный файл  Flash16x.pdf ( 262.16 килобайт ) Кол-во скачиваний: 363
 


--------------------
ГЛЮК - это когда компьютер играет с нами, а не мы с ним...
Go to the top of the page
 
+Quote Post
RZLtd
сообщение Jul 28 2005, 14:02
Сообщение #8


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

Группа: Свой
Сообщений: 82
Регистрация: 1-11-04
Из: Таганрог
Пользователь №: 1 014



и еще
Прикрепленные файлы
Прикрепленный файл  RideDoc_1_3.rar ( 1.85 мегабайт ) Кол-во скачиваний: 834
 


--------------------
ГЛЮК - это когда компьютер играет с нами, а не мы с ним...
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 15 2005, 12:41
Сообщение #9


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Благодарю всех за участие и помощь. Я думаю, что есть смысл переводить документацию и ещё важнее делать авторские статьи. Это может помочь другим и повысит известность и уважаемость автора.
Например, мне встретился сайт Александра Бельченко. Он решился выставить свои переводы и советы в сети. laugh.gif
Go to the top of the page
 
+Quote Post
RZLtd
сообщение Aug 17 2005, 06:56
Сообщение #10


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

Группа: Свой
Сообщений: 82
Регистрация: 1-11-04
Из: Таганрог
Пользователь №: 1 014



а ссылку на сайт Александра Бельченко, где?


--------------------
ГЛЮК - это когда компьютер играет с нами, а не мы с ним...
Go to the top of the page
 
+Quote Post
Ostver
сообщение Aug 17 2005, 07:37
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 23-12-04
Из: Ставрополь
Пользователь №: 1 630



http://www.bialix.narod.ru/
Go to the top of the page
 
+Quote Post
Ostver
сообщение Aug 17 2005, 07:49
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 23-12-04
Из: Ставрополь
Пользователь №: 1 630



Господа! Есть ли проблемы с поставкой 167 процессоров, какие фирмы их продают? Какой ценовой диапазон?
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 17 2005, 08:18
Сообщение #13


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Сейчас официальным поставщиком продуктов Infineon в России считается компания Платан (Они даже сайт посвятили этому - Infineon.ru), хотя и другие компании предлагают продукты этой немецкой корпорации,например, Симметрон.
Цены на сам процессор лежат (ориентировочно) в диапазоне 15-30 у. е. и зависят от конкретной модели МК и ценовой политики фирмы-поставщика. cool.gif
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 17 2005, 08:34
Сообщение #14


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Господа! у КОГО-НИБУДЬ ЕСТЬ ОПЫТ РАБОТЫ С can-ПРотоколом ?
Документация от фирмы Каскод(RideDoc_1_3) оказалось позезной,
но там эта тема не освещена достаточно широко.
Перевод компании ЭЛКУС очень удобен тем, что он на русском языке.
Кроме того, мне приходится иметь дело с Кейлом
и не вся информация является переносимой для него.
Существуют ли книги(электронные или бумажные) по протоколу CAN ?
В рунете мне встречались лишь базовые знания о протоколе.
w00t.gif
Go to the top of the page
 
+Quote Post
RZLtd
сообщение Aug 18 2005, 10:48
Сообщение #15


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

Группа: Свой
Сообщений: 82
Регистрация: 1-11-04
Из: Таганрог
Пользователь №: 1 014



ну вот: базовый + личный опыт и есть то что ты хочешь, а у кейла есть примеры,там можно по образу и подобию..., разобраться можно....
а вообще что именно тебя интересует?


--------------------
ГЛЮК - это когда компьютер играет с нами, а не мы с ним...
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 19 2005, 05:25
Сообщение #16


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Ну, например, не понятно пока как лучше использовать идентификатор (чем его вообще заполняют?)

blush.gif
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Aug 19 2005, 11:18
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(san822 @ Aug 19 2005, 09:25)
Ну, например, не понятно пока как лучше использовать  идентификатор (чем его вообще заполняют?)

  blush.gif
*

http://www.can-cia.ru/
Go to the top of the page
 
+Quote Post
ControllerZ
сообщение Aug 20 2005, 10:32
Сообщение #18


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

Группа: Свой
Сообщений: 197
Регистрация: 6-08-05
Пользователь №: 7 409



Цитата(Andrew2000 @ Jul 26 2005, 19:54)
Цитата(san822 @ Jul 26 2005, 16:29)
Основные сложности возникают при поиске информации на русском языке, видимо МК С167 еще не очень популярен
*

Ну лет 10 назад С167 хорошо "смотрелся", а теперь я бы в сторону ARM-ов посмотрел.
Мне кажется, что искать доки на русском - отстать от жизни лет на 15-20.
(Can167.zip - модуль CAN в 167, но мне кажется я и весь где-то видел)

Цитата(san822 @ Jul 26 2005, 16:29)
Если Вы  работали с с167 и можете об этом рассказать(или ссылку скинуть), то эта рубрика для Вас.
*

Да-да, а заодно и по Infineon Tricore, а то впечатление, что кроме меня с ними никто не работает smile.gif
*



Сам писал много программ для с166 правда на нем собраны старые модели телефонов Siemens а сейчас действительно это не актуально лучше ARM, PIC или AVR. smile3009.gif
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 24 2005, 10:25
Сообщение #19


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



А если уже есть база, ранние разработки , отсутствие необходимости осваивать нечто новое, теряя при этом некоторое время на его освоение, то что делать?
Кроме того экономически пока не имеет смысла бросать то, что уже есть.
Возможно мне придётся принимать решение о выборе МК, но пока это не в моей компетенции.
Какие сайты Вы считаете самыми полезными для людей,
которые выбирают МК?

mellow.gif
Go to the top of the page
 
+Quote Post
san822
сообщение Oct 26 2005, 07:38
Сообщение #20


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Уважаемые разработчики!
Исходя из чего выбирают количество используемых буферов сообщений в CAN-контроллере С167 ?
С сайта www.keil.com скачал пример APNT_167,
там почему-то инициализируется только 6 буферов.

Влияет ли количество используемх буферов на быстродействие сети и в каких случаях ?

Каким образом используют особенность 15-го буфера(наверное, не просто так его возможно использовать только на приём и его прерывание имеет наивысший приоритет) ?

wacko.gif
Go to the top of the page
 
+Quote Post
spf
сообщение Oct 26 2005, 09:19
Сообщение #21


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(san822 @ Oct 26 2005, 12:38)
Исходя из чего выбирают количество используемых буферов сообщений в CAN-контроллере  С167 ?
С сайта www.keil.com скачал пример APNT_167,
там почему-то инициализируется только 6 буферов.


Исходя из ситуации.
Как сгруппированы CAN-ID , какие можно применять маски, как нужно реагировать на отдельные посылки и т.п.

Цитата(san822 @ Oct 26 2005, 12:38)
Влияет ли количество используемх буферов на быстродействие сети и в каких случаях ?


Никогда не влияет.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
spf
сообщение Oct 26 2005, 09:21
Сообщение #22


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(RZLtd @ Aug 17 2005, 11:56)
а ссылку на сайт Александра Бельченко, где?
*


Теперь тут http://www.onembedding.com/


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
san822
сообщение Nov 9 2005, 11:51
Сообщение #23


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Есть еще вопрос по этой теме.


Чем отличается polling mode от interrupt mode в применении ?


Т. е. когда применяют polling mode, а когда - interrupt mode ?

Вероятно, меняя биты RXIE и TXIE регистра Message Control(MCR)
можно устанавливать polling mode(INTPND не устанавливается
при приёме и передаче) или
interrupt mode(INTPND устанавливается) ?


Или я в чём-то ошибаюсь?
Go to the top of the page
 
+Quote Post
san822
сообщение Nov 9 2005, 12:06
Сообщение #24


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Что стоит за словами remote frame replier и remote request sender ?
Меня интересует не только Ваша интерпретация перевода.
smile.gif
Go to the top of the page
 
+Quote Post
san822
сообщение Dec 2 2005, 10:56
Сообщение #25


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Уважаемые пользователи системы моделирования Proteus!
Кто-нибудь из Вас моделировал С167 в этой среде моделирования?
Можно где-то найти модель микропроцессора С167 для Proteus ?
Go to the top of the page
 
+Quote Post
Jackie
сообщение Dec 7 2005, 01:33
Сообщение #26





Группа: Новичок
Сообщений: 4
Регистрация: 21-11-05
Из: Магнитогорск
Пользователь №: 11 181



Цитата(san822 @ Nov 9 2005, 15:06) *
Что стоит за словами remote frame replier и remote request sender ?
Меня интересует не только Ваша интерпретация перевода.
smile.gif

Возможно так
remote frame replier - объект, возвращающий "удалённый" кадр (чтобы обратиться к удаленному узлу)
remote request sender - объект, посылающий "удалённый" запрос (опять же к удаленному узлу)

Хорошо бы контекст. Но на сколько я понял, это термины из идеологии CAN. "Удаленный" кадр посылается в удаленный узел обычно для того, чтобы получить от него соответствующий кадр с данными. Так я прочитал в мануале.

Подключаю к портам C167 напрямую L298 для реверсивного управления парой ДПТ на 9V. Чуваки перестраховываются и хотять ставить развязку на оптопарах. Я их отговариваю! Источник питания один, а если будет косяк с двигателями, то сгорит только силовая часть. А может я не прав?
Решили подавать сигнал ШИМ на входы "enable" для каждого моста (L298), а по входам ("input1,2,3,4") задавать направление вращения. Нормально?
Go to the top of the page
 
+Quote Post
san822
сообщение Dec 13 2005, 09:37
Сообщение #27


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Да, контекст, тут действительно необходим.
Во-первых, присоединяю архив с сайта www.keil.com - чтобы
было понытно о чём идёт речь.
Во-вторых, сразу спрошу конкретно:

1) Читаю нижеприведённый текст с описанием функций и
не могу понять - как осуществляется ответ на такой запрос ?
Заодно хотелось бы знать - приходилось ли Вам применять
когда-нубудь такие запросы или писали что-то своё?


int CAN1ReqRemote (unsigned int ch) {
unsigned char typ;
if (ch >= sizeof (id_typ)) return (-1); // channel not defined
typ = id_typ[ch];
if ((typ & DIR_MASK) != CanRX) return (-1); // channel is not a receiving channel

C1MOBJ[ch].msg_ctl = TXRQ_SET & NEWDAT_CLR; // Очищаем данные и требуем
// передачу "пустого" сообщения,
// которое на самом деле состоит
// из поля идентификатора и
// поля контрольной суммы
return 0;
}


/*
* CanSetRemote:
* Input Parameter: ch := message object channel (1 .. 15)
* p := pointer to data buffer
*
* - check if CAN message object is defined for transmission
* - Fill data buffer with data
*/
int CAN1SetRemote(unsigned int ch, void *p) {

unsigned char typ;

if (ch >= sizeof (id_typ)) return (-1); // channel not defined
typ = id_typ[ch];
if (!(typ & DIR_MASK)) return (-1); // channel is not a transmission channel

C1MOBJ[ch].msg_ctl = NEWDAT_CLR & MSGVAL_CLR; // очищаем часть буфера с данными
// и делаем буфер недействительным
memcpy (C1MOBJ[ch].msg, p, (typ >> 4)); // записываем в буфер сообщения "ответ"
// на запрос данных
C1MOBJ[ch].msg_ctl = NEWDAT_SET & MSGVAL_SET; // показываем, что были записаны
// новые данные и делаем буфер
// действующим, но не требуем
// передачи сообщения!
// TXRQ не устанавливаем!
return 0;
}




2) Чем отличаются очень похожие функции(описываются в файле CAN1.C, который находится в
присоединённом к этому сообщению архиве) CAN1Send, CAN1Read
и CAN1SendIsr, CAN1ReadIsr ?
Уточню вопрос - когда следует применять CAN1Send, CAN1Read,
а когда CAN1SendIsr, CAN1ReadIsr?
Прикрепленные файлы
Прикрепленный файл  apnt_167.zip ( 18.78 килобайт ) Кол-во скачиваний: 69
 
Go to the top of the page
 
+Quote Post
san822
сообщение Dec 27 2005, 10:27
Сообщение #28


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Странно , что на второй простой вопрос нет ответов.
Никто даже не упрекнул меня - "Неужели ты не разобрался в этих сравнительно несложных функциях (CAN1SendIsr,CAN1ReadIsr), которые пересылают данные в "промежуточное хранилище" и затем, когда возникает возможность, пересылают их(а CAN1ReadIsr соответственно потом принимает то, что передано с помощью CAN1SendIsr)?"


Пользуясь случаем, поздравляю всех с наступающим Новым годом!
Go to the top of the page
 
+Quote Post
msa
сообщение Jan 20 2006, 19:56
Сообщение #29





Группа: Новичок
Сообщений: 2
Регистрация: 20-01-06
Пользователь №: 13 421



Привет всем. Потихоньку ковыряю контроллеры М168-3, М269-3 от Каскода.
Че то получется, че то нет. Вопрос?: кто-нибудь занимался удаленной прошивкой по RS-485 или CAN для этих контроллеров? Есть вопросы по конфигурации в uKeil2.
Go to the top of the page
 
+Quote Post
GxOST
сообщение Jan 21 2006, 08:53
Сообщение #30


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 6-12-05
Из: Санкт-Петербург
Пользователь №: 11 878



Цитата(msa @ Jan 20 2006, 22:56) *
Привет всем. Потихоньку ковыряю контроллеры М168-3, М269-3 от Каскода.
Че то получется, че то нет. Вопрос?: кто-нибудь занимался удаленной прошивкой по RS-485 или CAN для этих контроллеров? Есть вопросы по конфигурации в uKeil2.

А где вопрос?


--------------------
cul8r!
* #ru_embedded - эмбеддерский чат
Go to the top of the page
 
+Quote Post
san822
сообщение Jan 27 2006, 11:35
Сообщение #31


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



В CAN-контроллере C167 в регистре контроля-состояния CSR
есть бит TXOK, который устанавливается если последняя передача сообщения была успешна завершена. При его изменении изменится значение INTID
в регистре PCIR – оно будет равно «01» (т.к. CSR обновил состояние).
В тоже время, в регистре передающего буфера MCR установится бит INTPND (если это разрешено установкой бита TXIE). Например, если передающий буфер имеет номер 3, то возникает прерывание и бит INTID регистра PCIR будет
иметь значение (2 + 3) = «05».
Понятно, что прерывание с INTID = «01» имеет больший приоритет и обработается первым, но что будет с прерыванием от передающего буфера ?
Будет ли оно «поставлено в очередь» или будет потеряно ?

Если у вас возник встречный вопрос - о чём здесь идёт речь,
то почитайте сперва файл CAN167.zip, который присоединен к третьему сообщению данной темы.
Go to the top of the page
 
+Quote Post
Jackie
сообщение Apr 5 2006, 08:34
Сообщение #32





Группа: Новичок
Сообщений: 4
Регистрация: 21-11-05
Из: Магнитогорск
Пользователь №: 11 181



Чтобы не забыть, может пригодится...
Keil Crack работает с Keil c166v602 -> www.megaupload.com/?d=GJI2CQGG
Go to the top of the page
 
+Quote Post
Legotron
сообщение Mar 21 2007, 20:57
Сообщение #33


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата
Keil Crack работает с Keil c166v602 -> www.megaupload.com/?d=GJI2CQGG

sad.gif что-то ссылочка не работает
Может у кто-нибудь скинет crack для Keil (желательно под c166v606), хотя кидайте любую!
Go to the top of the page
 
+Quote Post
wedmeed
сообщение May 30 2011, 09:12
Сообщение #34


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Тема, конечно, древняя, но я только сейчас столкнулся с проблемой.

1) Зачем такая хитрая система в регистре MCRn - установка и сброс двумя битами? И как обойтись без того цикла чтение-модификация-запись, про который упоминается в руководстве? Это XRAM, поэтому побитно туда не обратишься, следовательно и команды BFLDL/BFLDH не работают.

2) Как я понимаю - маски работают по принципу сверять идентификатор пришедшего сообщения с полем арбитража в объекте сообщения или нет. Т.е. если маски все в 1, значит жесткое отсеивание - примутся только те сообщения, чьи идентификаторы явно прописаны в приемнике (в поле арбитражей), если маски все нулевые - любое пришедшее собщение запишется в объект первого сообщения. Так это или нет?

3) Если в CSR запретить прерывания, будут ли выставляться флаги этих прерываний?

4) Обязательно ли пользоваться регистром CSR для отслеживания завершения приема-передачи, или можно ограничиться регистром MCR каждого сообщения, там есть аналогичные биты.

5) Если не трудно, опишите последовательность действий при правке сообщения, при постановлении на отправку, при посылке кадра запроса. Желательно в формате "для чайника" по типу:
Записываешь в бит ХХ регистра ХХ значение ХХ - для того-то, того-то
Записываешь........ и т.д.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение May 31 2011, 22:55
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(wedmeed @ May 30 2011, 13:12) *
, опишите последовательность действий при правке сообщения, при постановлении на отправку, при посылке кадра запроса. Желательно в формате "для чайника"

Скачайте DAVE - он именно это и сделает.
http://www.infineon.com/cms/en/product/mic...1134ee4d3b30265
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Jun 7 2011, 09:23
Сообщение #36


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Кому надо - ответы на часть моих же вопросов.

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

Глобальным регистром и прерываниями пользоваться не обязательно, в регистре управления каждым сообщением достаточно информации чтобы понять что произошло:
для принимаемых сообщений - флаг NEWDAT и флаг потерянного пакета MSGLST;
Для отправляемых сообщений - тот же NEWDAT (сбрасывается при успешной передаче) и флаг RMTPND + TXRQ.
Сам я в начеле основного цикла заполняю буфера, передаю данные и посылаю запросы, в конце основного цикла по флагам проверяю что пришло и распаковываю.

В регистре MCRn данная организация чтобы можно было одним MOVом сделать три (а не две - как ORом или ANDом) операции над каждым флагом - установить, сбросить, не менять. Зарезарвированные комбинации при чтении ни разу не возникали, при записи игнорируются.

Вопрос по маскам остался. Как работают понять не могу. Если в масках все единички - то сообщение записывается в объект, арбитраж которого полностью совпадет с арбитражем сообщения. При наличии в маске 0 начинается полная абракадарбра. В DAVE про это ничего не сказано - заполнение масок и арбитражей он оставил на моё усмотрение. Если кто в курсе - подскажите пожалуйста.
Go to the top of the page
 
+Quote Post
velkarn
сообщение Jun 21 2011, 16:33
Сообщение #37


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 24-10-05
Пользователь №: 10 030



подскажите, в какой момент происходит считывание данных из внешней памяти (демультиплексная шина), из даташита понял, что по фронту сигнала RD, это верно? интересует вот в каком ключе: если этот сигнал подцепить на CS внешней флехи, будет ли это корректно? не успеет ли она перейти в 3-е состояние до завершения считывания данных?
Go to the top of the page
 
+Quote Post
Neodim
сообщение Aug 10 2011, 13:58
Сообщение #38


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 21-02-07
Пользователь №: 25 548



Есть несколько вопросов по C167CR.
В блоке управления ДВС (блок на диагностику не выходит) установлен данный процессор, и ЗАДАЧА состоит в проверке работоспособности его.
На сколько я правильно понял, то при помощи программы R16x Flash Programmer я могу соединится с процессором.
Народ, подскажите где возможно скачать программу или пакет ИСР RIDE???
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 11 2011, 06:50
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Neodim @ Aug 10 2011, 17:58) *
В блоке управления ДВС (блок на диагностику не выходит) установлен данный процессор, и ЗАДАЧА состоит в проверке работоспособности его.
На сколько я правильно понял, то при помощи программы R16x Flash Programmer я могу соединится с процессором.
Народ, подскажите где возможно скачать программу или пакет ИСР RIDE???

Помню, когда давным-давно занимался C167, прямо на сайте у Infineon была программка Memtool. Сам я ей не пользовался, так как работал с Keil C166, и он делал всё, что мне было нужно.
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 11 2011, 07:29
Сообщение #40


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Чем можно посмотреть и запрограммировать фьюзы в С167?
Go to the top of the page
 
+Quote Post
прыгун
сообщение Nov 17 2011, 08:09
Сообщение #41





Группа: Участник
Сообщений: 12
Регистрация: 13-01-09
Из: Санкт-Петербург
Пользователь №: 43 276



Цитата(leonforte @ Nov 11 2011, 14:29) *
Чем можно посмотреть и запрограммировать фьюзы в С167?

работаю с с167. А что такое фьюзы?
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 17 2011, 14:04
Сообщение #42


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Да уж сморозил, я имею ввиду регистры. Пробовал MiniMon читать есть только соединение с проц. Подскажите чем можно посмотреть и записать состояние регистров. Соединение по UART. Пробовал FLASHit - читается и пишется нормально,а посмотреть и записать состояние регистров - не доходит.
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Nov 17 2011, 19:42
Сообщение #43


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Цитата(leonforte @ Nov 17 2011, 18:04) *
Да уж сморозил, я имею ввиду регистры. Пробовал MiniMon читать есть только соединение с проц. Подскажите чем можно посмотреть и записать состояние регистров. Соединение по UART. Пробовал FLASHit - читается и пишется нормально,а посмотреть и записать состояние регистров - не доходит.


Регистры в этом контроллере - всего навсего кусок оперативки. Посмотрите, куда в программе указывет CP и 30 байт вниз от этого адреса - и есть регистры. Если, конечно, в указанных программах есть возможность читать ОЗУ. Мы на работе используем небольшие самописные модули, например перекладка PECCом в S0TBUF.
Т.к. это кусок ОЗУ - запрограммировать его невозможно. Начальные значения копировать в регистры при инициализации в самом коде.
Хотя я на практике сталкивался, что минут пять без питания в ОЗУ остается висеть мусор - так что желательно в инициализации еще и обнулять всю ОЗУ.

Сообщение отредактировал wedmeed - Nov 18 2011, 10:52
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 18 2011, 09:08
Сообщение #44


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Да,есть функция считывания содержания отдельных адресов с указанием с какого и по какой адрес нужно. Спасибо,wedmeed, за подсказку.
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Nov 18 2011, 10:57
Сообщение #45


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Небольшое уточнение - вниз от CP - т.е. в сторону увеличения адресов (по привычке в голове карта памяти как в дизассемблере). Содержимое CP = адрес R0, прибавляем 2 - R1.
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 18 2011, 18:25
Сообщение #46


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Регистры SYSCON, BUSCON и ADDRSEL также висят в RAM и их конфигурация устанавливается програмнно и/или аппаратно?
Go to the top of the page
 
+Quote Post
прыгун
сообщение Nov 19 2011, 06:45
Сообщение #47





Группа: Участник
Сообщений: 12
Регистрация: 13-01-09
Из: Санкт-Петербург
Пользователь №: 43 276



Цитата(leonforte @ Nov 19 2011, 00:25) *
Регистры SYSCON, BUSCON и ADDRSEL также висят в RAM и их конфигурация устанавливается програмнно и/или аппаратно?

Да в RAM. Адреса в даташите на мк. Устанавливаются программно. Изначальная конфигурация в асм-файлах, которые есть у Keil'а.
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 22 2011, 12:48
Сообщение #48


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



С регистрами я понял, но такая проблема - проц в режиме BOOTSTRAP работает, а флеш не видит. Видит только что это внешняя флеш. По всем адресам на флешке - 0v. После разбора выяснилось что выход RSTOUT активный. Т.е. на выходе RSTOUT всегда 0v. Флеш рабочая(обменял с рабочим блоком). Даташит говорит что нет команды EINIT. Или может быть аппаратная ошибка?

Сообщение отредактировал leonforte - Nov 22 2011, 15:46
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Nov 22 2011, 17:55
Сообщение #49


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Про RSTOUT - не помню, как на работу попаду - гляну.
Не совсем понял вот это:
Цитата(leonforte @ Nov 22 2011, 16:48) *
Видит только что это внешняя флеш. По всем адресам на флешке - 0v.

Как он видит что это внешняя флеш? И вообще её ли он видит?
Через регистры BUSCON и ADDRSEL настраиваются адресные окна. Если у Вас внешняя флеш - возможно неправильно собрана карта памяти (например проц в это время обращается ко внутренней). Ну и DPP можно лишний раз перезаписать после настройки системных регистров - где-то встречал глюк с ними (причем обрамить командами типа JMPS на следующую строку).


Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 22 2011, 19:24
Сообщение #50


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



С RSTOUT разобрался, а насчет внешней флеш - глюк программы. Блок до недавнего времени работал нормально и внезапно умер. Конфигурация проца записана в ROM процессора? Работа блока записана во флешке. Конфигурация проца записана отдельно? Извините за такие вопросы - жизнь заставила менять профиль.
Go to the top of the page
 
+Quote Post
прыгун
сообщение Nov 22 2011, 20:24
Сообщение #51





Группа: Участник
Сообщений: 12
Регистрация: 13-01-09
Из: Санкт-Петербург
Пользователь №: 43 276



Цитата(leonforte @ Nov 23 2011, 01:24) *
С RSTOUT разобрался, а насчет внешней флеш - глюк программы. Блок до недавнего времени работал нормально и внезапно умер. Конфигурация проца записана в ROM процессора? Работа блока записана во флешке. Конфигурация проца записана отдельно? Извините за такие вопросы - жизнь заставила менять профиль.

Конфигурация регистров проца является частью программы, которая пишется в ROM. ROM может быть как внешняя, так и внутренняя зависит от конкретного типа процессора (в 167 серии в некоторых процах есть внутренняя ROM). Куда (по каким адресам) какой кусок программы пишется посмотрите по map-файлу. По идее распределение адресов в map-файле должно соответствовать конфигурации регистров buscon, addrsel.
и пусть старшие товарищи меня поправят, если я не правwink.gif .
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 23 2011, 08:02
Сообщение #52


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Объясните такой момент - в рабочем блоке стираю флеш и после перезапуска в BOOTSRTRAP виден и проц и пустая флеш. Где в данном варианте сохранена конфигурация системы, и как ее можно посмотреть?
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Nov 23 2011, 16:31
Сообщение #53


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Конфигурацию видно в тех же самых регистрах, в которых она и настраивается (область SFR-памяти). Эти регистры всегда располагаются по одним и тем же адресам (0xF000 - 0xF200 и 0xFE00-0xFFFF, проверьте по даташиту - могу ошибаться), и являются частью микроконтроллера, но представляются Вам, как и в случае с GPR, куском RAM. Сюда входят и SYSCON, BUSCON и ADDRSEL, и PECC-регистры, и UART-регистры, и т.д., короче полностью всё управление контроллером. В даташите возле каждого такого регистра написано состояние после RESET. Т.е. всегда (и в зашиваемой программе, и во вторичном загрузчике) должна присутствовать инициализация, которая после каждого сброса будет устанавливать в этих регистрах нужные Вам значения.
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 23 2011, 17:22
Сообщение #54


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Как Keil-oм посмотреть состояние регистров через "Monitor166 in ROM"? При соединении пишет что нет файла BOT или MON.

Go to the top of the page
 
+Quote Post
velkarn
сообщение Nov 24 2011, 09:41
Сообщение #55


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 24-10-05
Пользователь №: 10 030



Цитата(leonforte @ Nov 23 2011, 20:22) *
Как Keil-oм посмотреть состояние регистров через "Monitor166 in ROM"? При соединении пишет что нет файла BOT или MON.

а вы не пробовали воспользоваться MiniMon-ом?
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 25 2011, 16:03
Сообщение #56


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



С регистрами в общем разобрался. Когда записываю конфигурация SYSCON и BUSCON, которая на аналогичном блоке дает доступ ко всем нужным функциям - нормально,а в другом не видит флеш. Скорее всего где-то что-то отвалилось. Если я не прав или не совсем прав - поправте. Спасибо.
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Nov 29 2011, 04:40
Сообщение #57


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Да, при таких симптомах первое, что приходит в голову - проверить целостность блока. Вот, кстати, та настройка DPP, которая у нас во вторичном загрузчике. Флеш, с которой работаем - 1638РР1АУ (отечественная).
CODE
;перед этим участком принял из RS значения для регистров
MOV ADDRSEL1, 0FD8Ch
MOV BUSCON1, 0FD84h
MOV ADDRSEL2, 0FD8Eh
MOV BUSCON2, 0FD86h
MOV ADDRSEL3, 0FD90h
MOV BUSCON3, 0FD88h
MOV ADDRSEL4, 0FD92h
MOV BUSCON4, 0FD8Ah
MOV BUSCON0, 0FD82h

JMPS #00, BC
BC:
MOV SYSCON, 0FD80h
JMPS #00, SC
SC:

MOV DPP0, #0
MOV DPP1, #1
MOV DPP2, #2
MOV DPP3, #3


JMPS #00, EI
EI:
EINIT

Без выделенного фрагмента не работает чтение из флеш, хотя в симуляторе до этого момента в DPP те же значения. Особо с причинами эффекта не разбирались - главное, что заработало, других дел куча.

Сообщение отредактировал wedmeed - Nov 29 2011, 04:41
Go to the top of the page
 
+Quote Post
leonforte
сообщение Nov 29 2011, 11:39
Сообщение #58


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Флеш читается/пишется (непропай трех выходов на флешке) но программа не запускается. Все импульсы в норме, прога рабочая 100%. Буду копать дальше.


Сообщение отредактировал leonforte - Nov 29 2011, 12:01
Go to the top of the page
 
+Quote Post
leonforte
сообщение Dec 1 2011, 12:16
Сообщение #59


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Таки не все импульсы есть. Данный блок - ведущий и соединяется с ведомым через SSC. На выводе SCLK нет импульсов и соответственно нет связи с веущим. Как "запустить" канал SSC? Да, и настройки регистров в норме.

Сообщение отредактировал leonforte - Dec 1 2011, 19:04
Go to the top of the page
 
+Quote Post
wedmeed
сообщение Dec 1 2011, 20:36
Сообщение #60


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

Группа: Свой
Сообщений: 107
Регистрация: 5-04-11
Из: г.Саратов
Пользователь №: 64 137



Цитата(leonforte @ Dec 1 2011, 16:16) *
Таки не все импульсы есть. Данный блок - ведущий и соединяется с ведомым через SSC. На выводе SCLK нет импульсов и соответственно нет связи с веущим. Как "запустить" канал SSC? Да, и настройки регистров в норме.


Ведущий SSC выдает импульсы на SCLK (причем автоматически) только когда сам отправляет данные (т.е. при записи хоть чего-нибудь в отправной регистр).
Go to the top of the page
 
+Quote Post
leonforte
сообщение Dec 11 2011, 10:43
Сообщение #61


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 7-02-11
Пользователь №: 62 758



Вылез новый глюк. Есть все импульсы но все они с частотой 1Гц исчезают и появляются. На 6 ножке МАХ802 (WDI <MR>) напряжение с той же частотой и уровнем 2в-->0в-->2в.... 6 ножка МАХ802 идет на 70 ножку проца. При нормальной работе на 6 ножке - +5в-->2в-->5в... и с частотой 2Гц.

Сообщение отредактировал leonforte - Dec 11 2011, 16:47
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:17
Рейтинг@Mail.ru


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