摘要:
A device that supports a plurality n of message objects, including a plurality of registers associated with each message object, including at least one object match ID register that contains a multi-bit object match ID field, and at least one object mask register that contains a multi-bit object mask field; and, a CAN/CAL module that processes incoming messages. The CAN/CAL module assembles a multi-bit screener ID from selected bits of each incoming message to be acceptance filtered, compares the bits comprising the screener ID with corresponding bits of the object match ID field associated with each of at least designated ones of the message objects, disregarding any bits of each object match ID field that are masked by corresponding bits of the associated object mask field, and then determines whether any of the comparisons results in a match.
摘要翻译:支持多个n个消息对象的设备,包括与每个消息对象相关联的多个寄存器,包括至少一个包含多位对象匹配ID字段的对象匹配ID寄存器,以及至少一个对象掩码寄存器,其包含 多位对象掩码字段; 以及处理传入消息的CAN / CAL模块。 CAN / CAL模块从每个传入消息的选定位组合一个多位筛选器ID,以被接受过滤,将包括筛选器ID的比特与对应的匹配ID字段的相应位相比较, 消息对象,忽略由相关联的对象掩码字段的相应位掩蔽的每个对象匹配ID字段的任何位,然后确定是否有任何比较导致匹配。
摘要:
A CAN device that supports a plurality n (where n≧3) of message objects, including a plurality of registers associated with each message object, including at least one object match ID register that contains a multi-bit object match ID field, and at least one object mask register that contains a multi-bit object mask field; and, a CAN/CAL module that processes incoming messages. The CAN/CAL module assembles a multi-bit screener ID from selected bits of each incoming message to be acceptance filtered, compares the bits comprising the screener ID with corresponding bits of the object match ID field associated with each of at least designated ones of the plurality n of message objects, disregarding any bits of each object match ID field that are masked by corresponding bits of the associated object mask field, and then determines whether any of the comparisons results in a match. Any selected one or more bits of the object match ID field associated with each of the plurality n of message objects can be set to ‘1’ or ‘0’, and any selected one or more bits of the object mask field associated with each of the plurality n of message objects can be set to ‘1’ or ‘0’ in order to mask any selected one or more bits of the associated object match ID field, whereby the combination of the object match ID field and the object mask field associated with each of the plurality n of message objects constitutes a fully programmable match and mask filter. The CAN/CAL module has the capability to perform acceptance filtering on incoming messages constituting either standard or extended CAN frames. If more than one match is detected, a lowest-numbered (or, alternatively, highest-numbered) one of the message objects is designated to be the matching message object.
摘要翻译:支持消息对象的多个n(其中n> = 3)的CAN设备,包括与每个消息对象相关联的多个寄存器,包括至少一个包含多位对象匹配ID字段的对象匹配ID寄存器,以及 至少一个包含多位对象掩码字段的对象掩码寄存器; 以及处理传入消息的CAN / CAL模块。 CAN / CAL模块从每个传入消息的选定位组合一个多位筛选器ID,以被接受过滤,将包括筛选器ID的比特与对应的匹配ID字段的相应位相比较, 多个n个消息对象,忽略由相关联的对象掩码字段的相应位屏蔽的每个对象匹配ID字段的任何位,然后确定是否有任何比较导致匹配。 可以将与多个n个消息对象中的每一个相关联的对象匹配ID字段的任何所选择的一个或多个比特设置为“1”或“0”,并且与每个消息对象中的每一个相关联的对象掩码字段的任何选定的一个或多个比特 可以将多个n个消息对象设置为“1”或“0”,以便掩盖相关联的对象匹配ID字段中的所选择的一个或多个位,由此对象匹配ID字段和对象掩码字段的组合相关联 多个n个消息对象中的每一个构成完全可编程的匹配和掩码过滤器。 CAN / CAL模块能够对构成标准或扩展CAN帧的传入消息执行验收过滤。 如果检测到多于一个匹配,则将最低编号(或替代地,最高编号)的一个消息对象指定为匹配消息对象。
摘要:
A CAN microcontroller that supports a plurality of uniquely-numbered message objects, that includes a processor core that runs CAN applications, a plurality of message buffers associated with respective ones of the message objects, and a CAN/CAL module. The CAN microcontroller further includes a plurality of individual message object registers associated with each message object, including at least one control register that contains an interrupt-enable control bit, a receive enable bit, and a transmit enable bit. The CAN microcontroller also includes a plurality of global message object control registers, including at least one message complete status register that contains a plurality of status flag bits for respective ones of the message objects, at least one interrupt flag register that contains a receive complete interrupt flag bit and a transmit complete interrupt flag bit, and a message complete info register that contains a plurality of message object identification bits and a status bit. The CAN/CAL module includes a message handling function that automatically transfers successive frames of an incoming multi-frame message to the message buffer associated with a corresponding message object; an end-of-message detection function that detects an end-of-message condition which occurs when the last frame of the accepted incoming multi-frame message has been stored in the message buffer associated with the corresponding message object; and, an end-of-message detection handling and interrupt generation function that, in response to the detection of the end-of-message condition: sets the status flag bit contained in the at least one message complete status register associated with the corresponding message object; sets the receive complete interrupt flag bit contained in the at least one interrupt flag register, if the interrupt-enable control bit contained in the at least one control register associated with the corresponding message object is set; and, sets the status bit contained in the message complete info register, if the interrupt-enable control bit contained in the at least one control register associated with the corresponding message object is set.
摘要:
In a CAN device, e.g., a CAN microcontroller, that supports a plurality of message objects, a method that includes concurrently staging two or more transmit messages associated with respective ones of two or more enabled transmit message objects for attempted transmission over a CAN bus coupled to the CAN device, and performing a pre-arbitration process to determine which of the two or more concurrently staged transmit messages has priority. The message determined to have priority is deemed a winning message and the message object associated with the winning message is deemed a winning message object. In a presently preferred embodiment, the pre-arbitration process is a selected one of at least two pre-arbitration schemes, including a first pre-arbitration scheme whereby priority is determined according to a CAN bus arbitration priority scheme established by the governing CAN protocol, and a second pre-arbitration scheme whereby priority is determined by selecting the transmit message associated with the highest-numbered (or, alternatively, lowest-numbered) message object as the winning message. In the event that more than one of the two or more concurrently staged transmit messages are determined to have the same priority, the transmit message associated with the highest-numbered message object is designated as the winning message. The method further includes attempting to transmit the winning message over the CAN bus. If the winning message is not granted access to the CAN bus, the pre-arbitration priority determination process is repeated.
摘要:
A method for acceptance filtering incoming CAN frames, in a CAN device that provides a plurality of message objects each of which has an associated message buffer, at least one associated match ID register, and at least one associated mask register. The method includes the steps of extracting a multi-bit screener ID field from a received CAN frame, and then comparing the extracted screener ID field to a respective, user-specified multi-bit match ID field stored in the at least one match ID register associated with each enabled one of the message objects designated to be a receive message object, wherein the at least one mask register associated with each enabled message object designated to be a receive message object stores a user-specified, multi-bit mask field that masks selected bits of the corresponding match ID field, the masked bits being excluded from the comparisons. If a match is found as a result of the comparing step, data bytes of the received CAN frame are stored in the message buffer associated with the matching message object, and the extracted screener ID field is written into the at least one match ID register associated with the matching message object to replace the match ID field associated with the matching message object. The extracted screener ID field is not stored in the message buffer associated with the matching message object.