We need a Bridge/Gateway between the CAN bus reading the SAE J1939 ([[login to view URL]][1]) and a serial microprocessor. The supplier will provide a hardware circuit, including all componets to interace to the CAN buses (two seperate buses, one for engine 1 and one for engine 2), the software to convert the data and a single serial output port which contain the J1939 data in the format below.
SAE J1939 is a standard which is used on truck, marine and car engines to share sensor data, such as RPM, fuel flow, oil pressure, coolant temp, etc. The CAN bus is a packet protocol which is used for the transmission of this data.
Our objective is to retrive this data from the CAN bus, convert it to a RS485 serial or TTL serial data stream. We are only interested in reading the data from the CAN bus and not writting to the CAN bus. Writting may come at a latter stage.
This interface will connect to two seperate CAN J1939 buses and read the parameter data from each bus. Each record/packet will be then transmitted as a fixed length record onto the serial output port as follows;
$$MID,PID,DATA,##
Byte 1 = ASCII for "$"
Byte 2 = ASCII for "$"
Byte 3 = Binary for the MID value
Byte 4 & 5 = Binary for the PID number
Byte 6, 7, 8 & 9 = Binary for the PID Data
Byte 10 = ASCII for "#"
Byte 11 = ASCII for "#"
MID is the Unit Identifier for the Engine. This value should be just passed through from the J1939 packet.
The PID is the Suspect Parameter Number as defined by the J1939 document, while the DATA is the actual data for the PID. An example PID is "110" which is Engine Coolant Temperature, while the data is one byte with a range of -40 to +210 deg C.
The data should be represented in a binary format, as read from the J1939 packet. The USART transmission is prefered to be at the TTL level as this hardware/software gateway will connect to our microprocessor. We can support serial speeds up to 256k, and the interconnection will be on our master circuit board.
The main components selected for the bridge/gateway must be identified as part of the bid. General availability of parts will be considered as part of the bin selection processes.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) Deliverables will included well commented code, a general flow chart of the software, hardware schematics and a bill of material of all components.
## Platform
Open