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

 
 
5 страниц V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Программирование МК С167 фирмы Infineon, Обмен информацией об успехах и неудачах
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

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

 


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


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