MilCAN Bus for PC

Discussions about CAN controllers used by MilCAN devices.

Moderator: moderators

MilCAN Bus for PC

Postby dave_m_moore » Wed Nov 23, 2005 6:32 pm

Hi All,
Can I get a PCI card for a PC that will handle a MilCAN bus?. Can I just get a normal CANBus card or won't this support MilCAN?.

Ta in advance,
Dave
dave_m_moore
 
Posts: 2
Joined: Wed Nov 23, 2005 6:26 pm

Postby peri » Thu Nov 24, 2005 3:24 pm

Dave,

As MilCAN is a higher layer protocol, any CAN based interface can be physically attached on a MilCAN network. The "MilCAN functions" are handled by the processor the CAN controller is connected to. This can be for example (a) a PCI card with a CAN controller connected to a PC, or (b) a PCI card with a CAN based microcontroller connected to a PC, or (c) a CAN based microcontroller with a USB port connected to a PC, etc.

In example (a) the MilCAN protocol will have to be implemented within the PC operating system, while in (b) and (c) in the microcontroller. Due to the realtime requirement of the MilCAN protocol it is necessary for the MilCAN stack to run on a deterministic environment. Example (a) will require an RTOS, while (b) and (c) can use the microcontroller processor to run the stack.
peri
 
Posts: 56
Joined: Wed May 25, 2005 11:28 am
Location: Brighton, UK

MilCAN For PCs

Postby dave_m_moore » Thu Nov 24, 2005 6:05 pm

Thanks for your response peri.
So what I think your saying is that if I have a standard CANbus card, I can implement the MilCAN bus behaviour in my application? (essentially 'on top' of the standard CANBus behaviour). Is this right?.

I've read that the main attribute of MilCAN over CAN is a 'sync frame' message containing a slot number. Each node is allocated certain frames to respond within.

I read with interest you comments on the need to use an RTOS. Does Windows qualify for this?(!). I was thinking of something along the line of:

http://www.phytec.com/can/hardware/pcca ... eakpci.htm

Would this be adequate?.

Thanks for your comments in advance,
Dave
dave_m_moore
 
Posts: 2
Joined: Wed Nov 23, 2005 6:26 pm

Postby peri » Thu Nov 24, 2005 6:50 pm

Technically yes, you can implement MilCAN within your application. MilCAN operates on top of the CAN protocol / CANbus.

The "snag" (but also the advantage of MilCAN) is the real-time characteristics. The Sync Frame is the primary function that requires deterministic execution. The operation of the MilCAN network is based on the generation of the Sync Frame. Transmission of frames is coordinated by the Sync Frame sent on the bus by the active Sync Master. All nodes need to "react" on this message with a very small latency (10s of microseconds). Also, the time slices (PTUs) defined by the periodic generation of the Sync Frame include an "exclusion zone" where transmission of operational messages is prohibited (in 1Mbit CAN the PTU is 2msec).

As you can see these real-time characteristics require the MilCAN stack to operate with strict timming, something not possible using standard operating systems. Classic Windows will not be able to support it. Not sure about the Embedded versions. If you can achieve guaranteed reponses to CAN activity in the range of 10-100usec you should be able to implement the stack in them.
peri
 
Posts: 56
Joined: Wed May 25, 2005 11:28 am
Location: Brighton, UK


Return to CAN Controllers

Who is online

Users browsing this forum: No registered users and 1 guest

cron