Hide thumbs Also See for YDNB-07N:

Advertisement

Quick Links

User Manual
Yacht Devices NMEA 2000 Bridge YDNB-07
also covers models
YDNB-07N, YDNB-07R
Firmware version
1.07
2018

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the YDNB-07N and is the answer not in the manual?

Questions and answers

Summary of Contents for Yacht Devices YDNB-07N

  • Page 1 User Manual Yacht Devices NMEA 2000 Bridge YDNB-07 also covers models YDNB-07N, YDNB-07R Firmware version 1.07 2018...
  • Page 2 © 2018 Yacht Devices Ltd. Document YDNB07-003. April 23, 2018. Web: http://www.yachtd.com/ NMEA 2000® is a registered trademark of the National Marine Electronics Association. SeaTalk NG is a registered trademark of Raymarine UK Limited. Garmin® is a registered trademark of Garmin Ltd.
  • Page 3: Table Of Contents

    Contents Introduction Warranty and Technical Support I. Product Specification II. Installation and Connection to NMEA 2000 Networks III. LED Signals IV. MicroSD Slot and Card’s Compatibility V. Loading of Programs into the Device VI. Structure and Basic Syntax of the Program VII.
  • Page 4: Introduction

    Introduction Yacht Devices NMEA Bridge unifies two physical NMEA 2000 networks into a single logical network, smoothly exchanging messages between them. The Device also supports filtering and processing of transmitted messages. This can accomplish the following tasks: Bypass the physical limits of NMEA 2000 networks concerning length of networks (100 meters for regular cable and 250 meters for heavy or mid-type cable) and concerning the maximum number (50) of physical devices attached to the network.
  • Page 5 Programming the device requires knowledge of NMEA 2000. Copy of NMEA 2000 standard can be purchased from the National Marine Electronics Association: http://www.nmea.org. Yacht Devices would like to note that a NMEA 2000 network might contain important devices such as a deep sounder, magnetic compass and autopilot. Failure or incorrect operation of these devices can result in serious accidents and fatalities.
  • Page 6: Warranty And Technical Support

    Warranty and Technical Support The Device warranty is valid for two years from the date of purchase. If a Device was purchased in a retail store, when applying under a warranty case, the sale receipt may be requested. The Device warranty is terminated in case of violating the instructions of this Manual, case integrity breach, repair or modification of the Device without manufacturer’s written permission.
  • Page 7: Product Specification

    I. Product Specification Figure 1. Drawing of YDNB-07R model of Bridge Our devices are supplied with different types of NMEA 2000 connectors. Models with the suffix R at the end of model name are equipped with NMEA 2000 connectors compatible with Raymarine SeaTalk NG (as at the picture above).
  • Page 8 Device’s case length (without connector) 54/40 Weight without MicroSD card Yacht Devices Ltd declares that this product is compliant with the essential requirements of EMC directive 2004/108/EC. Dispose of this product in accordance with the WEEE Directive. Do not mix electronic disposal with domestic or industrial refuse.
  • Page 9: Installation And Connection To Nmea 2000 Networks

    II. Installation and Connection to NMEA 2000 Networks Never connect both connectors of the Device to the same NMEA 2000 network. This can flood the network with infinite forwarding of messages and cause a temporary inoperability of the network. The Device requires no maintenance. When deciding where to install the Device, choose a dry mounting location.
  • Page 10 Figure 2. Scheme of a typical installation Please remember that a NMEA 2000 network requires a separate power supply and a terminator on each side. If the Device is inset, dividing an existing NMEA 2000 network into two parts, you have to add a terminator to each of the segments and power the second segment with a 12V power supply.
  • Page 11: Led Signals

    III. LED Signals Signal with period of 5 seconds, two flashes of the LED. The first flash indicates the condition of the CAN1 interface network. The signal is green if within the last period (5 seconds) has been data received from the network or successfully sent, red if not. The second flash indicates the condition of the CAN2 interface network.
  • Page 12: Microsd Slot And Card's Compatibility

    IV. MicroSD Slot and Card’s Compatibility The Device has a slot for a MicroSD card that allows you to configure the Device (see Section V) and update the firmware (see Section XI). The Device slot has a ‘push-push’ mechanism that works on a spring and ensures proper card fixation.
  • Page 13 Since the MicroSD slot is usually not in use when the Device is working, we recommend sealing it with the sticker that is included with the Device or with a piece of tape to prevent water from entering the Device through the slot.
  • Page 14: Loading Of Programs Into The Device

    V. Loading of Programs into the Device Place YDNB.CFG file with the program to the root directory of a MicroSD card with a FAT or FAT32 file system. Insert the MicroSD card into the Device. After a few seconds, you should see the LED flash three times: Three red flashes mean that the memory card cannot be read.
  • Page 15: Structure And Basic Syntax Of The Program

    VI. Structure and Basic Syntax of the Program The program defines algorithms and rules for the processing and forwarding of NMEA 2000 messages that the Device receives via the CAN1 and CAN2 interfaces. The program consists of settings, subprograms of filters, and comments. The settings and filters are described in detail in the later sections of this Manual.
  • Page 16 A filter consists of a header, which begins with the keyword match(), and contains the data for the matching of a message, as well as a processing subprogram entered in the specially created programming language. The order of the filters is important because the Device matches received messages with the filters, in the order they are specified in the program.
  • Page 17: Description Of The Settings

    VII. Description of the Settings Note that a vertical bar (pipe) is used in the descriptions below to separate alternative setting values. ON|OFF means, that the setting can have to different values — ON or OFF. 1. Forwarding of messages FW_CAN1_TO_CAN2=ON|OFF FW_CAN2_TO_CAN1=ON|OFF Enables or disables the automatic forwarding of messages that do not coincide with filters between the CAN1...
  • Page 18 3. Hardware filters CAN1_HARDWARE_FILTER_y=f,m CAN2_HARDWARE_FILTER_y=f,m y — number of the hardware filter, decimal number from 1 to 7; f — filter value, decimal or hexadecimal number (29 significant bits); m — filter mask, decimal or hexadecimal number (29 significant bits). The Device can filter messages from the CAN1 and CAN2 interface at hardware level, which in some cases can reduce the load on the microprocessor by a factor of up to a 100.
  • Page 19 4. NMEA 2000 instance DEVICE_INSTANCE=x SYSTEM_INSTANCE=y x — number from 0 to 255, y - number from 0 to 15. These settings allow you to program the device and system instances of the Device, used in the Device information (NAME) and transmitted in the ISO Address Claim message. The default value of both settings is 0.
  • Page 20 6. Speed of the CAN2 interface CAN2_SPEED=x x - the speed in kbps, factory setting is 250, allowed values are 50, 125, 250, 500 and 1000. The speed of the CAN2 interface can be set within a range from 50 to 1000 kbps (NMEA 2000 has 250 kbps speed).
  • Page 21: Software Filters

    VIII. Software Filters To write processing programs for messages, we created a special programming language similar to many other modern languages, but with a number of limitations imposed by tasks and computing capabilities of the microcontroller. As you may have noticed in Example 1, the interpreted lines of the program contain no special symbols that indicate the end of a line (in C++, Java, and JavaScript such symbols are semi-colons).
  • Page 22 sender address, and [in some messages] the address of the recipient) with the filter and mask. The filter (the second parameter) assigns bits for comparison with the message identifier, and a mask (the third parameter) indicates bits whose comparison result is significant. So, the filter: match(CAN1,0x00E80000, 0x01F90000) matches only messages received from the CAN1 interface and which have the following PGN:...
  • Page 23 By modifying the values in the buffer, the subprogram can modify messages and even create new messages. Regardless of the actual length of the received message, the subprogram has access to all 229 bytes of the buffer. Please note that if a NMEA 2000 fast message’s PGN is not included in the PGNS_TO_ASSEMBLY list, the program will be called for each CAN message in the sequence, and the byte at offset 4 will be set to 0xff.
  • Page 24 • UINT32 — unsigned 4-byte integer; • FLOAT — 4-byte number with floating point. When you turn on the Device, all variables are initialized to 0 type INT32. You can use this fact for the initialization of variables. The following arithmetic, logical and shift operations are allowed (listed in order of priority): •...
  • Page 25 5. Modification of the message buffer To modify a message in the buffer and read data from it, there are, respectively, two built-in functions set() and get(): set(expression1,type,expression2) [type] get(expression1, type) expression1 — expression converted to UINT8 type, offset of the first byte of data in the buffer; type —...
  • Page 26 if (expression1 operator expression2) { else { The above Example 2 does not take into account that the transmitted sonar depth can be set to 0xFFFFFFFF, which means "no data." Using the operator if() we can check the data for the admissibility of a range of values: Example 3.
  • Page 27 The timer() function returns the number of milliseconds since the Device was turned on. The value of the timer overflows and is reset approximately every 49 days. To calculate the difference (in milliseconds) between the current timer value and the stored value of the timer, it is convenient to use the built-in timediff() function, which handles timer overflows and guarantees the return of the correct value if the difference between the current timer value and the value transferred is less than 49 days.
  • Page 28 Example 4. # Processing of Actual Pressure messages (PGN 0x1FD0A) and generation of the # Environmental Parameters messages (PGN 0x1FD06 match(CAN2,0x1FD0A00,0x1ffff00) send() # Forward the original message A = get(DATA + 2, UINT8) # Extract the data type if (A == 0) # Is it atmospheric pressure? B = get(DATA + 3, INT32) # Extract the pressure value...
  • Page 29 10. Program initialization Like filters, the initialization section is defined by the keyword init() without parameters, after which its subprogram follows in curly brackets: init() init() can be used to initialize program variables; it is guaranteed to be called when the Device is turned on, before any other user code.
  • Page 30: Optimization And Performance

    IX. Optimization and Performance The transfer time of single-frame NMEA 2000 messages is about 520 microseconds. The Device does not waste computing resources to receive and transmit messages; these operations are performed by the hardware. The time from receipt of a message to the time that it is sent, including the execution of the program consisting of 20 filters, for messages that do not match any of the filters is 100 microseconds.
  • Page 31 Example 5. FW_CAN1_TO_CAN2=ON FW_CAN2_TO_CAN1=ON CAN1_HARDWARE_FILTER_1=0x00000000, 0x00FFFFFF match(CAN2,0x1FD0A00,0x1ffff00) # some required processing here... Thanks to the system hardware filters (see VII.3), messages which are required for the normal function of the NMEA 2000 network (ISO Acknowledgement, ISO Request, ISO Address Claim) will be transmitted through the hardware filter to both interfaces.
  • Page 32 Incorrect Example 6. match(CAN1,0x00000010,0x000000FF) # sent from 0x10 address? p = (get(0,UINT32) >> 8) & 0x1ffff # get the PGN if (p == 0x1FD0A) # is it “Actual Pressure” message? 3. Optimization instead of a compiler In this version of the compiler there are no optimization algorithms, and the bytecode for the following expressions will contain multiplication and division operations: A = (6/3)*5 The compiler will create code to calculate B*C+D/5 two times for the following program:...
  • Page 33 Example 7. PGNS_TO_ASSEMBLY=0x1F513 match(CAN1,0x1F51300,0x1FFFF00) set(DATA+6, UINT32, get(DATA+6,UINT32) — 1852000) # 1000 nm of send() Example 8. match(CAN1, 0x1F51300,0x1FFFF00) if (get(DATA,UINT8) & 0x1F == 1) # 2nd message is sequence? set(DATA+1, UINT32, get(DATA+1,UINT32) – 1852000) # 1000 nm off send() The result of the code is the same in both examples. In the second example, the subprogram will be performed three times, as the NMEA message with PGN 0x1F513 is sent in three CAN messages.
  • Page 34: Debugging Of The Program

    X. Debugging of the Program The debug mode is not a normal operation mode of the Device. The recording of debugging data can lead to additional message delay and the loss of NMEA 2000 messages. To activate the debug mode, add the following setting to the program file: DIAGNOSTICS=x Where x is the duration in seconds for which the debug mode is active.
  • Page 35 Example of the YDNBLOG.TXT file content: 00:30.310 RX CAN1 FILTER 01, 0x09FD0205 1A1A018544FAFFFF 00:30.310 LG CAN1 FILTER 01, INT32 19400 00:30.310 TX CAN2 FILTER 01, 0x09FD0205 1A1A018544FAFFFF RX and TX are the received and sent messages with an indication of an interface and the number of the matched filter.
  • Page 36: Firmware Updates

    XI. Firmware Updates In the root folder of the MicroSD card with FAT or FAT32 file system, copy BUPDATE.BIN, which contains the firmware update of the Device. Insert the card into the Device and turn on the power in the NMEA 2000 network. From 5-15 seconds after powering on, the LED will flash 5 times with green light.
  • Page 37 If the Device already is using the given version of the firmware, or if the Device cannot open the file or the file is corrupted, the boot loader immediately transfers control to the main program. This is done without visual cues. The Device information including the firmware version is displayed in the list of NMEA 2000 devices (SeaTalk NG, SimNet, Furuno CAN) or in the common list of external devices on the chart plotter (see third line at Figure 4).
  • Page 38: Index

    Index addr(), function ...........26,27 INT8..INT32, type ......22,23 ANY, identifier .............20,34 load(), function .........26 buffer, see "message buffer"......21,24,26 log(), function ........33,34 BUPDATE.BIN, file ...........35 LOG_FORMAT, debug setting ..... 34 CAN, file format ............34 match(), filter ........15,20 CAN1, identifier ..........15,20,22 message buffer .......21,24,26 CAN1_HARDWARE_FILTER_x, setting ..18,30 operators ..........23,24 CAN2, identifier ..........15,20,22...
  • Page 39: Appendix A. Troubleshooting

    Appendix A. Troubleshooting Situation Possible cause and correction 1. Make sure that you turned on the NMEA 2000 network to which The LED does not signal after the NMEA 2000 the CAN1 interface of the Device is connected. The microcontroller network is powered on of the Device is powered by the network the CAN1 interface is connected to.
  • Page 40 Table continued Situation Possible cause and correction There are problems in the NMEA 2000 network. The network segment The Device LED flashes is not connected to the plotter or there are missing terminators in the network “green” every five or the network is too long. Plug another device into the selected connector and seconds, but the Device make sure it appears in the list of devices on the plotter.
  • Page 41: Appendix B. List Of Nmea 2000 Messages Of The Device

    Appendix B. List of NMEA 2000 Messages of the Device Messages from the table below are received independently from any settings, hardware filters (see VII.3) or the program. All received messages, including the messages that are addressed to the Device, are transmitted to the program and may be forwarded to another CAN interface by it.
  • Page 42: Appendix C. Device Connectors

    Appendix C. Device Connectors Figure 1. NMEA 2000 connectors of the YDNB-07R (left) and YDNB-07N (right) models — 42 —...

This manual is also suitable for:

Ydnb-07r

Table of Contents