README FILE FOR SILICON ENGINES LIN RS232 CONVERTER Programming Tips ---------------- Full VB 6.0 source code and Visual Basic .NET 2005 source code for the LIN RS232 Message Center is available on the Installation CD. Look in the folder: Reference Software. This source code could be a good starting point for custom application software writing. You can also refer to the User's Guide for specific details on specific commands and responses that the LIN RS232 converter uses. Alternate Version Firmware Version 39 ------------------------------------- This version uses 4 stop bits after the 13 bit synchronization break instead of the usual 1 or 2 stop bits. This is useful for some ECU's that require an extended stop bit section after the synchronization break. New in Version 2.1.1 of the Message Center ------------------------------------------ Support for the new Fast Repeat functionality (see below). Also bug fix: no longer stops repeating sending continuously if Stop on Error is unchecked and a "Receive Mismatch Error" occurs. Alternate Version Firmware version 38 ------------------------------------- This version uses a 19 bit break instead of a 13 bit break (these numbers include the start bit). This is useful for some ECU's that require a longer break time. Otherwise this version is equivalent to version 37. Update with Firmware version 37 ------------------------------- This version adds a bug fix, enhancements, and new functionality. Bug fix: when LIN RS232 is used in listener mode at a high baud rate, there can occasionally be a false timeout on a received message which results in a bad LIN checksum and truncated message. This has been fixed. This behavior was noticed when a different device was sending a packet with full 8 byte payload at 19200 baud at a 50 millisecond repeat rate. It was found that if the repeat rate was increased to 250 milliseconds, the problem did not seem to occur. This has been fixed in this version. Enhancement #1: when LIN RS232 is used in listener mode and has no part in the transmission of the message and a message is sent where a slave does not respond to the message and before 1.4 message times have elapsed another message is sent, the LIN RS232 box now properly separates the 2 messages. Before it relied on the 1.4 message timeout in this scenario. Enhancement #2: as a safeguard, if the stack ever overflows, the LIN RS232 box will "shutdown" and stop responding to any traffic and begin blinking the CTS lamp. This should never occur and has never been observed during testing (except with builds that used too much RAM). If it does occur, and it is not an EMI event, then you should contact Silicon Engines. New functionality: this version adds new Fast Repeat functionality. You can set a Fast Repeat Interval from 0 to 5000 milliseconds and then send the Fast Repeat Command. After the Fast Repeat Command is sent, the next Data Message is sent at the Fast Repeat Interval indefinitely or until the Clear Buffers command is executed. While in Fast Repeat mode, you cannot transmit any other messages and you cannot execute configuration commands but you can receive all traffic on the bus. If the Fast Repeat message is a full master task message (includes payload) then no ack's are returned during the fast repeat process. This simplifies the PC/PLC's task in managing traffic in this mode. If the Fast Repeat message is just a Master ID with a Slave ECU responding and filling in the rest of the message, then the full message is reported back to the PC/PLC in fast repeat mode. This allows a PC/PLC to parse the Slave response if necessary. Keep in mind that while fast repeat is in operation you cannot transmit additional messages from the same box. If you need that type of functionality, you should consider the LIN/USB device (to setup a full master schedule via a Configuration Description File) or use 2 LIN/RS232 devices. Alternate Version Firmware version 33 ------------------------------------- This version uses a 19 bit break instead of a 13 bit break (these numbers include the start bit). This is useful for some ECU's that require a longer break time. Otherwise this version is equivalent to version 32. New in Version 2.1.0 of the Message Center ------------------------------------------ Support for the new bus load resistance setting command. See firmware version 32 for details. This command appears as a checkbox on the Configure screen with the words "Slave/Listener Mode" next to it. The default is unchecked which is equivalent to functionality in the past. If you check this box, it will cause the slave/listener resistor to be used. Also, a minor bug fix: able to edit and add messages even while log file is open. Update with Firmware version 32 ------------------------------- Firmware version 32 allows a new command that allows the setting of the bus load resistance inside the LIN RS232 box. In the past, the bus load resistance was always set as if the LIN RS232 is the bus master. In some cases, you might want to set this to Slave/Listener mode if the LIN RS232 box is not intended to be used as a bus master but more as a listener. Alternate Version Firmware version 31 ------------------------------------- Firmware version 31 is equivalent to firmware version 32 except that when pass-through mode is invoked, it is invoked at 19200 baud (both at the PC and on the bus) instead of the usual 9600 baud that exists in the mainline code. If you need this version, it is available on the CD. New in Version 2.0.9 of the Message Center ------------------------------------------ Support for Extended Wakeup command. Extended wakeup command allows the LIN box to send an extended wakeup every time it would normally just send a wakeup pulse. An extended wakeup pulse is a regular wakeup pulse plus a synchronization break and a synchronization header (55H). This is useful for ECU's that require more than just a wakeup pulse to keep awake. Update with Firmware version 30 ------------------------------- Support for Extended Wakeup command. Extended wakeup command allows the LIN box to send an extended wakeup every time it would normally just send a wakeup pulse. An extended wakeup pulse is a regular wakeup pulse plus a synchronization break and a synchronization header (55H). This is useful for ECU's that require more than just a wakeup pulse to keep awake. New in Version 2.0.8 of the Message Center ------------------------------------------ More robust timing using proper Elapsed routine. More robust continuous testing which makes sure acknowledgement comes back from every transmission before sending next sequence of data. There is a 3 minute timeout on sending data to make sure it is not just a huge Windows latency issue. Support for LIN 2.1 clearly shown in Configuration box. Update with Firmware version 27 ------------------------------- Support for LIN pass-through mode. This is for use in conjunction with Freescale App Note 2295. This allows the LIN converter to be used as solely a signal converter between the RS232 line and the LIN line at 9600 baud. Three sample programs with full source code are available on the CD in the folder LIN Pass Through Mode. Critical Update with Firmware Version 21 ---------------------------------------- Bit errors were occasionally found with version 17 of the firmware at high bus speeds. This has been fixed. Also, there were reports of LIN bus overflows occurring with version 17. This has been fixed in version 21. New in Version 2.0.7 of the Message Center ------------------------------------------ Support for Windows Vista. New in Version 2.0.6 of the Message Center ------------------------------------------ More exception trapping of when the COM port is no longer available. There is still no guarantee, with USB ports, that if they are unplugged and plugged back in again, they will continue to work. It seems to depend on the USB serial adapter. Sometimes you may have to reboot after unplugging a USB serial adapter. But now at least the program doesn't exit abruptly. A message about "Serial Buffer Overflows" and "Clear Operation Just Performed" occurs to explain why RX BAD CHAR messages might occur occasionally. Note RX BAD CHAR might occur when the program first starts if the program started in the middle of receiving a message from the LIN box. Changed the text of Error Code 4 (lin line failed to go high). The most likely cause is Loss of Arbitration due to multiple masters on the network. Other causes are the LIN line is shorted to ground or some sort of problem in the LIN box raising the LIN line which is quite rare. Fixed PC Stop On Error functionality. New in Version 17 of the Firmware --------------------------------- Now returns error code 04 (ERROR_LIN_IS_STUCK_LOW) when the bus is shorted to ground and a command to transmit on the bus is pending. Previously, the CTS lamp would go RED and the box would stop responding until the short condition was cleared. Also addressed a rare issue where if you switch from 1000 baud to 9600 baud in the middle of a message (during the data payload portion of the the message), and then continue to send a continuous stream of 9600 baud data, then the LIN RS232 converter would lock up its receive RS232 port, the CTS lamp would go RED, and it would send a continuous stream of data until the stream stopped or the baud rate changed. To fix this, a limit of 255 bytes of receive data was put on a LIN message. Since LIN messages are supposed to only have 8 bytes, this should not cause a problem with regular applications. Also addressed a startup issue where if there is a lot of fast traffic at 19200 baud when the box starts up, and data is being sent to the box from the serial port, it can cause the box to lock up. This was fixed. New in Version 16 of the Firmware --------------------------------- An obscure bug fix for when a new frame is started in the middle of waiting for a slave response. Previous to version 16, if a new frame was started when waiting for a slave, the new message would be concatenated with the previous message. This is fixed in version 16. New in Version 15 of the Firmware --------------------------------- There were some bug fixes for LIN 2.0 wakeup pulses in version 15. Version 14 included a very important bug fix which allowed an internal pull-up resistor to be properly enabled for the LIN bus line. Previous to version 14, many customers had to put an external pull-up resistor on the LIN bus to avoid bit echo errors due to capacitance on the bus. After upgrading, the user will probably not need the external pull-up resistor on the bus. Instructions for upgrading your box to version 16 are also on the Installation CD in the folder Upgrade. Documentation ------------- Documentation can be found on the Installation CD in the folder Documentation, in PDF format.