pvo125
Jul 15 2016, 04:00
Приветствую всех участников!
Модуль CAN в STM32 имеет 512 байт SRAM. Которая вроде делиться между CAN1 CAN2(по 256 каждому) возможно ошибаюсь поправьте. Собственно вопрос в том как ее использовать? Вроде есть передающий майлбокс 2 приемных фифо.
Для общения достаточно туда кидаешь сообщения отсюда забираешь. Для настройки регистры имеются.
Для чего память SRAM? И как к ней адресоваться. Какое то время думал что это фильтры как раз и являются той памятью но там мало 28 фильтров по 4 байта меньше чем 512.
RadiatoR
Jul 15 2016, 05:58
Вы говорите о мк в котором 2 кан модуля. Дальнейшее опишу на примере 32F205VC
512 байт делятся не поровну. Что-то делится, а что-то нет.
В эти 512 байт входят:
1. 28 фильтров. Доступ к записи есть только у CAN1 (master). В регистре FMR устанавливается номер с которого фильтры принадлежат CAN2. До этого фильтры принадлежат CAN1. Кстати фильтр 64 битный, точнее состоит из двух частей по 4 байта каждая.
2. У каждого CAN модуля есть 2 входящих FIFO на 3 пакета каждый. И по 3 mailbox - ящик отправки. Именно с него мк отправляет CAN пакет.
3. Набор управляющих регистров каждого модуля.
Вот собственно простое описание.
pvo125
Jul 15 2016, 06:41
Получается что используя регистры модулей CAN как раз пользуешься этой самой памятью SRAM (512 байт).
Спасибо за разъяснение.!
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.