|
|
![]() |
Configurable CAN Bus ControllerThe DCAN is a stand-alone controller for the Controller Area Network (CAN) widely used in automotive and industrial applications. DCAN conforms to Bosch CAN 2.0B specification (2.0B Active). The Core has simple CPU interface (8/16/32 bit configurable data width) with little or big endian adressing scheme. The DCAN supports both standard (11 bit identifier) and extended (29 bit identifier) frames. Hardware message filtering and 64 byte receive FIFO enables back-to-back message reception with minimum CPU load. The DCAN is described at RTL level allowing target use in FPGA or ASIC technologies. Nodes do not have specific addresses. Instead, message identifiers are used, indicating the message content and priority of message. This also means that multicasting and broadcasting is supported by CAN. Number of nodes may be changed at run-time without disturbing the communication of the other nodes. CAN provides sophisticated error detection and error handling mechanisms and, due to differential transmission, high immunity against electromagnetic interference. Frames with errors are automatically retransmitted (except single shot transmission feature implemented in the DCAN core). Maximum data transfer rate is 1Mbps at maximum 40 m bus length when using a twisted wire pair. The bus is handled with Carrier Sense Multiple Access / Collision Detection with Non-Destructive Arbitration. This means that collision of messages is avoided by bitwise arbitration without loss of time. CAN controller is connected to host/CPU and CAN bus transceiver, which directly connects to CAN bus line (2-wire).
For more information about the CAN Bus protocol please see....
qmr (31:0)dmr (31:0)
![]() waddrmr (3:0)
![]() raddrmr (3:0)
![]() enrmr
![]() enwmr
![]() sclk
![]() rxdtxd
![]() be (3:0) addr (4:0) datai (31:0) rd wr csint
![]() datao (31:0)
![]() qmt (31:0)dmt (31:0)
![]() waddrmt (1:0)
![]() raddrmt (1:0)
![]() enrmt
![]() enwmt
![]()
dmr (31:0)
![]() waddrmr (3:0)
![]() raddrmr (3:0)
![]() enrmr
![]() enwmr
![]() qmr (31:0)
![]()
sclk
txd
![]() rxd
![]()
be (3:0)
![]() addr (4:0)
![]() datai (31:0)
![]() int
![]() datao (31:0)
![]() rd
![]() wr
![]() cs
![]()
dmt (31:0) waddrmt (1:0) raddrmt (1:0) enrmt enwmt qmt (31:0)
Receive FIFOReceive FIFO controllerRX RAM InterfaceInterface to external dual port memory used by the DCAN core to store received frames.ACF Acceptance filterDecides whether incoming messages are accepted or not based upon filter registers settings.BRP Baud Rate PrescalerDefines the length of time quantum.BSP Bit Stream ProcessorTranslates messages into frames and vice versa.BTL Bit Timing LogicProcesses the bit time, calculates position of the sample point and performs synchronization.EML Error Management LogicEML is responsible for fault confinement handling.IML Interface Management LogicInterprets commands from the CPU, provides interrupt and status indication.TX RAM InterfaceInterface to external dual port memory used by the DCAN core to store transmitted frames.Each core has been tested in variety of FPGA and ASIC technologies. Its implementation's results are summarized below.
8-bit DCAN implementation results for XILINX devices.
8-bit DCAN implementation results inALTERA devices. |
Home
Site map
Contact Us



qmr (31:0)



