r9 - 03 Feb 2015 - 08:44 - PeterZumbruch | r8 - 02 Feb 2015 - 14:28 - FlorianFeldbauer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CAN Bus interface for PANDA |
CAN Bus interface for PANDA |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is the wiki of the PANDA CAN bus interface for the Raspberry Pi Computer |
This is the wiki of the PANDA CAN bus interface for the Raspberry Pi Computer |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requirements |
Requirements |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Many devices used in the PANDA Detector Control are controlled via a CAN bus interface. Therefore we need also a CAN bus interface for the front-end computers which can be used with EPICS. This interface must fulfill the following requirements: |
Many devices used in the PANDA Detector Control are controlled via a CAN bus interface. Therefore we need also a CAN bus interface for the front-end computers which can be used with EPICS. This interface must fulfill the following requirements: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware |
Hardware |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A small PCB using the SJA1000 stand-alone CAN controller was developed. This chip has a parallel interface using eight multiplexed data-/address lines and five control lines. To safe space and keep the costs as low as possible this chip is directly connected to the general purpose I/O ports of an CPU. |
A small PCB using the SJA1000 stand-alone CAN controller was developed. This chip has a parallel interface using eight multiplexed data-/address lines and five control lines. To safe space and keep the costs as low as possible this chip is directly connected to the general purpose I/O ports of an CPU. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The developed PCB has the same dimensions as the Raspberry Pi Computer and is designed as an extension board for this computer. It also provides a RS232 interface. |
The developed PCB has the same dimensions as the Raspberry Pi Computer and is designed as an extension board for this computer. It also provides a RS232 interface. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schematics and Layout |
Schematics and Layout |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software |
Software |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The kernel module for the CAN bus interface is based on the open-source kernel module for the interfaces by PEAK Systems. |
The kernel module for the CAN bus interface is based on the open-source kernel module for the interfaces by PEAK Systems. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The interface supports all standard bit rates. For testing the performance frames with 8 byte length have been send over the CAN bus: |
The interface supports all standard bit rates. For testing the performance frames with 8 byte length have been send over the CAN bus: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All currently supported devices use standard frames @ 125 kbit/s |
All currently supported devices use standard frames @ 125 kbit/s |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EPICS support |
EPICS support |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EPICS device support for the CAN bus interface itself and several devices controlled via CAN bus is available: |
EPICS device support for the CAN bus interface itself and several devices controlled via CAN bus is available: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Please refer to DCS.SupportedHardware for further details on these devices |
Please refer to DCS.SupportedHardware for further details on these devices |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The source code for the EPICS support and Kernel module can be found on github |
The source code for the EPICS support and Kernel module can be found on github |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SD-Card Image for Raspberry Pi Computer |
SD-Card Image for Raspberry Pi Computer |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A SD-Card image for the Raspberry Pi computer with the kernel module for this interface and EPICS already installed is available under http://www.ep1.rub.de/~florian/epics/raspi_panda.img.gz A 4 GB card is required. |
A SD-Card image for the Raspberry Pi computer with the kernel module for this interface and EPICS already installed is available under http://www.ep1.rub.de/~florian/epics/raspi_panda.img.gz A 4 GB card is required. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Currently there are two users available: |
Currently there are two users available: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
An EPICS IOC is installed via the PANDA DCS apt repository. Configuration of the IOC can be done in the dir "/etc/epics/iocpandadcscan/" |
An EPICS IOC is installed via the PANDA DCS apt repository. Configuration of the IOC can be done in the dir "/etc/epics/iocpandadcscan/" |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
After booting the Pi ProcServ will be started with the EPICS IOC for CAN bus as child process allowing access via telnet on port 20000. The child process is not started automatically. |
After booting the Pi ProcServ will be started with the EPICS IOC for CAN bus as child process allowing access via telnet on port 20000. The child process is not started automatically. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contact Person |
Contact Person |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
For further questions and suggestions please contact FlorianFeldbauer |
For further questions and suggestions please contact FlorianFeldbauer |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- PeterZumbruch - 26 Jun 2013 |
-- PeterZumbruch - 26 Jun 2013 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
r9 - 03 Feb 2015 - 08:44 - PeterZumbruch | r8 - 02 Feb 2015 - 14:28 - FlorianFeldbauer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||