This is a quick and dirty project to provide an interface to the LIN bus physical layer. Software support for it will come later.
A few weeks ago, there was an article about LIN bus here on Hackaday. It seemed like it would be interesting to play with, and I wanted to mess with the single channel USB to UART chips that FTDI puts out. The schematic and layout were done in an afternoon, and the boards came back this week. Testing with minicom, the boards work as expected. There is a significant software layer to make these useful, but that will have to wait.
This could have been done as a 2 layer board, but I wanted the tight grounding that planes provide. If anybody is interested, I can share the design at OSHPark. Better still, wait a few weeks, I just submitted a 2 layer version for fabrication, that will cost 1/2 what the 4 layer version does. After I have had a chance to build and test it, I will share the 2 layer version.
Files
LIN_Dongle1_R1p3_6_30_2017.zip
Gerber Files for the 2 layer boards. Set up to go to OSHPark.
I just added the Gerber and Drill files to the Files area. These files are provided in the hope that they might be useful but completely "As Is". There is no warranty of any kind including correctness or suitability for any purpose. The Bill of Materials has Digikey part numbers that were current when I did this project. The chips should be readily available, the passives may have changed. There is nothing magic about the passive components, substitute like values, sizes and ratings, and they should be OK.
When I laid out the original board for this project, there were no connections to the power plane. Since a 3 layer board is not a valid choice, I just doubled the ground plane. After the layout was complete, it occurred to me that there was very little routing on the back side of the board. After the initial 4 layer boards came back and worked, I removed the 2 ground planes and poured a plane on the back side of the board. This configuration cut the board cost in half. The new 2 layer boards came back from OSHPark yesterday, and I built one up this morning and tested it. It works as expected.
Your LIN Dongle would perfectly suits my need for a development tool in my project. I would not need any software except Linux driver and documentation for the USB/UART. My project implements PIC16F1779/C running as slave and RaspberryZero/Python as master.
Sorry to take so long to notice your message. I put the manufacturing files up if you want to use them. There are going to be some issues generating the leading break signal accurately, so be warned... Good Luck!
Some automotive bus signals, such as the ambient lighting are easy to decode: Location ID, Color, Intensity, etc Only six total signals in the frame, two are singe bit. Automotive engineers spend a lot of time just looking at the signals on the CAN/LIN , remember somebody has to make hardware that responds to those frames.
I agree that LIN is interesting. I still have not gotten back to write support software for this. I think I am going to need a specific LIN based project to get moving on it again.
I have not done the software implementation for it yet, but from what i remember reading the LIN2.0 document, LIN bus uses a strict bus master arrangement where the slaves only transmit when requested by the master. Since the slaves can't grab the bus at random, there should never be any collision issue.
LIN is interesting. Unfortunately in practice its simplicity is hidden by AUTOSAR abstractions for which a huge software tool industry exist which has no interest in sharing its "secrets" with the maker community ;-) I think that FOSS implementations for LIN OSI layers would do much good to all kinds of projects.
Your LIN Dongle would perfectly suits my need for a development tool in my project. I would not need any software except Linux driver and documentation for the USB/UART. My project implements PIC16F1779/C running as slave and RaspberryZero/Python as master.