Circuit is robust, IO chip is designed for industrial applications ( robotics ).

Question: is anybody interested on that? My interest is NOT to sell it. But I can't spent endless time on that for support etc. because I have to do my work. Can provide the Target File. But I can't provide any parts, I'm not a distributor or dealer.Is somebody able to help on interrupt driven SPI driver for RPI / EMBIR-JX?

I want to provide the schematic / layout data in Target PCB & Gerber format. For free of course.But let me work a little bit more on documentation and Linux driver.Final solution should work interrupt driven ( C / C++ ).My Raspberry is still not arrived, was expected last week, can test only with other SPI source.

If you need filter in front of the analog inputs, ok, there is still some space on the pcb.Will provide the Target PCB & Gerber sources, for free of course. Then you can add what you need.Analog out is a good idea. Space for AD converter is available, but not for additional connector.Think it's better to design EMBIR-AD, same size, with good AD on it.

Made some final tests with my driver, now it works stable. Written in C, together with alittle program to send and receive data from EMBIR-JX..The driver is verifying each sent / received data byte. It's a secure protocol.But very fast. If I use the 2. SPI channel, it is possible touse 4 EMBIR-JX at the same time ( 128 IO's ). Remember, EMBIR-JX is not designed to switch only LED's on and off,they are normally not required.It's possible to check for open's or short's on the outputs,so if you want to control a CNC machine, mill machine, alarm system of your home, washing machine, switch relays, lamps, solenoids etc. read and compute lot's of analog inputs, then EMBIR-JX is the right one.Especially in case you are interested on enhanced diagnostics and safety.

Could you post a large high-resolution photo of thetop side of the board and if there any componentson the bottom side? It would help to determine whatchips you are using. I assumed, that when youstarted your project, you created some block diagramof what chips you planned to use and how they wereinterconnected. I wasn't expecting the details of aschematic.

mjtessmer wrote:Could you post a large high-resolution photo of thetop side of the board and if there any componentson the bottom side? It would help to determine whatchips you are using. I assumed, that when youstarted your project, you created some block diagramof what chips you planned to use and how they wereinterconnected. I wasn't expecting the details of aschematic.

Yes, that's fine for me. And there is nothing on the bottom side. All optional stuff ( Oscillator, 2.5V Reference, LED's, Resistors ) is THD, so it's possible to solder that by hand. At the moment the SMD components are also soldered by hand, you need some experience for that.

Still working on documentation, without it's hard to understand. With the driver it's very simple and easy to use.

here is a simple block diagram of EMBIR-JX.Opto couplers are currently not on the PCB, if required, an option for the future.The component name is iC-JX, 2 of them are on one EMBIR-JX board.Datasheet is here http://www.ichaus.de/jx ( English and German ).

here is a picture of the latest EMBIR-JX PCB ( top ).The oscillator, the 2.5V diode and the LED's are optional, in normal case not required.Have to find a good place to save all that stuff.My account is space and volume limited.

I made an adapter board to make it more easy to connect on EMBIR-JX.Available for download: http://dl.dropbox.com/u/38387544/EMBIR_Adapter.T3001It's TARGET PCB format.Flat cable connection to EMBIR-JX.Then you need only a screw driver to connect your lamps, relays, solenoids, potentiometer or whatever it is.Pepito

Thinking also about opto coupler for digital inputs.Does it make sense? Better to isolate the SPI interface?There is some space on the board..... but:Currently it's a one layer board, would like to keep it with only 1 layer.

here is the new Breakout Adapter Board for EMBIR-JX.Flat cable connection to EMBIR-JX,screw type connector to connect on cable without burning fingers

Especially for analog inputs it's possible to use a resistor voltage divider to have best fitto your requirements, also possible to add capacitors.Digital inputs do not need a filter, the IO chips contain programmable digital filters for that.

Please use 0 Ohm resistors or wires for RN1, RN2, RN3, RN4, RN5, RN6, RN7, RN8 if the divider is not required. Use resistor networks in DIL8 ( 4 resistors ) or DIL16 ( 8 resistors ) or single 125mW resistors. Do not connect directly on 220V or 110V. For that you need capacitive divider and optocouplers.

here is a 3D picture of the new Breakout Board.http://dl.dropbox.com/u/38387544/Adapterboard_V2_3D.pngBTW ..... concerning the analog inputs, I read the datasheet again ...... as long the input voltage is < 36V ..... there is no voltagedivider required for the analog inputs.

Here is the driver for EMBIR-JX.Hope it's easy to use, at the moment only from Linux command prompt.Goal was to hide the complicated stuff, but use the mechanism for secure data exchangebetween Raspberry and EMBIR-JX. It works without kernel modifications.

Let's start with the Read.me file. This file is also attached.It's a description what EMBIR-JX can, how to put it together,and how to use.I recommend to have also a hard copy of the iC-JX data sheet http://www.ichaus.de/JX_datasheet_en on the desk, start with page 13,programming. Then it's more easy to understand.

And we have 2 files calledrun_test_1run_test_2Both are bash script files, you can open with a text editor.It makes only sense to execute in case the EMBIR-JX board is connected.Otherwise you get only an error message.

run_test_1 is an example how to use output ports,initialize as outputs, write pattern to the outputs, enable the hardware blink functionality.

run_test_2 is an example of an binary up and down counter .... one 4 bit up counter and one 4 bit down counter.

Both are made to demonstrate possibilities how to set outputs.Execute./run_test_1or./run_test_2to see what happens ( remember, works only with connected EMBIR-JX board )

We have some sub directories, here you can find the driver stuff ( C language ) and Makefiles to compile.1.) lib here is a copy of the Broadcom BCM 2835 library with a little patch and jx_transfer.c, the driver for EMBIR-JX. You can open with a text editor.

2.) Get_Status here is a simple C program to read the registers of the iC-JX chips on the EMBIR-JX board. It's called get_status.c. The compiled executable is called EMBIR_get_status

3.) Set_Config here is a simple C program to change the configuration of the iC-JX chips on the EMBIR-JX board. You can define what are the outputs, what are the analog inputs, start analog measurement, blink and diagnostic stuff. Hard copy of the data sheet will definitely help. It's called set_config.c. The compiled executable is called EMBIR_set_config

4.) Set_Port here is a simple C program to write pattern to the output ports. It's called set_port.c . The compiled executable is called EMBIR_set_port

In Get_Status, Set_Config and Set_Port are Makefiles to recompile ( if you made changes in the .c files ). Just cd to the directory and type make.I was using ddd for debug, It's a easy to use UI around gdb, you can single step, watch variables, change variable values etc. It's not installed by default, if you need it, executesudo apt-get install ddd

There is a lot of room for enhancements. This is a starting point to make things work ina very short time.

working on a little PCB with 4 small relays ( Panasonic DE Relays 440V/2000VA ).Can be directly connected via 6 wire ribbon cable to EMBIR-JX.Size of the PCB is just the area of the relays and the connectors.One EMBIR-JX can drive 8 of them ( 32 relays ).

Think the PCB is available for download on Saturday or Sunday ( Target PCB format ).

Split the 26 wire flat cables beginning from 1 in slices of 6, Cut the last 2 wires ( 25 and 26 ) because thats +5V from Raspberry PI, not required here.Press on each 6 wire slice a 6 pin ribbon connector. That's it .... connect to the relay board,check connections ( GND -> GND, VB -> VB, no shorts, no opens ) ..... power on and it works.

Pepito

Board is made with Target PCB, the free version. You can very easy modify the board in case you have different relays, other requirements or what ever.Think on clearance in case you plan to work with high voltage.It's very dangerous, be careful. Think of fuses. Isolate all high voltage areasBest is to be below 24V ......

Hi,use the EMBIR-JX schematic as starting point. You need 5 iC-JX for 96 IO's. 4 on CS0 and 1 on CS1.VB mut be 12V min. 5V input is possible, if the input is declared as analog.Driver modification is done in 1line to differentiate between CS0 and CS1. But you need a smart version of Target PCB because the demo version is limited. Expect 2 or 3 days of work. Then you can send the PCB data to manufactoring.Pepito