IOx Basic a.k.a. IOx-OEM

New boards that are planned or are in development

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Thu Aug 04, 2011 10:46 am

Rod,

Actually, JP5 should have VDD and VSS indicated and the board connects VDDA and VSSA to VDD and VSS (with all the power pins connected together). VREFH and VREFL are only connected to JP5. And you're correct about the decoupling capacitor. As for page 31, I think this is done to simplify the diagram shown (and is the typical setup as well as the mandatory one for the packages which don't have separate VREF pins). I referred to the chip demo board schematics to get a real example since as you saw the data sheet is somewhat confusing or generic. They use a decoupling cap per power pin.

On the IOx, the power supply is similar to the MS V3 board design and I bring VRef to JP5 through a solder jumper so that if someone wanted to have a different VRef (or if I designed a new add-on board with a power supply), they could connect to JP5 and remove the link to the on-board supply. And in that case, the board would still have the decoupling cap for VRef. I also have a solder jumper to connect VREFL to VSS. And I kept VDDA separate from VREFH and connected to VDD because the data sheet shows more restriction on the value of VDDA with respect to VDD that for VREFH.

So with the IOX-OEM, you need to provide the equivalent functionality of the 2 solder jumpers on the IOx board. This can be done by connecting VDD to Vsyn and VREFH to Vref on the MS board and VSS and VREFL to your board ground. However, you have to check how much current the IOx-OEM and the other circuits you add will draw. The V3 supply is rated at up to 1A (when using the LM2940) so if you have a sufficient heat sink that's the maximum you should have.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Thu Aug 04, 2011 11:28 am

Thanks Jean,

The answers were what I was hoping for.

The CPU datasheet is a bit "generic" in places (esp p31) but makes reasonable sense when the version specific pages are read.

My mainboard power supply is also pretty "similar" to the MS V3.0 board with a TO220 regulator on a large heatsink so has adequate capacity, I just need to modify it slightly to give me individual wires from Vsyn and Vref up to the new board.

Then hopefully I can get all of this in one single metric case :mrgreen:

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Sun Aug 07, 2011 4:55 am

Jean,

I've been sketching out my proposed layout and all the Hrdware type input/output possibilities are straightforward from the manual on your website for the full size IOx but,

1 - a sanity check on the additional comms.....

I've been back over all the relevant threads/posts and for the comms and I have,
I2C (SLC modules) SDA2/SCL2 (with appropriate pull-ups)
RS232 (Innovate chain) RXD2/TXD2 (through a standard RS232 chip)
(but can't have both SLC and Innovate data together yet)
USB (via Sparkfun board) RXD1/TXD1 (sparkfun board reset to 5V or a FT232RL chip if I could solder it)

If I've got those right is there any reason why I2C uses SDA2/SCL2 rather than SDA1/SCL1 ?
Also are there any limitations on RXD2/TXD2 and RXD1/TXD1 being in use at the same time ? I assume not as you have USB on your logger board.

2 - power supply.

I've decided to put one on my carrier board rather than take it from Vsyn and Vref on the MS board, partly because I need to put a 12V supply on it anyway to be able to adopt your protocol for a 4 wire CAN connector, and partly because I can now envisage a situation where this could end up in a different case to the MS board.

Doing one similar to the MS design is easy enough (I've already done it once and it works !!!) but I decided to look at how you impemented it on the full size IOx board to see how much more compact you would have made it with SMD (I can solder the large ones. just not the small ones) and realised U5 isn't actually the 5V regulator (I had allways assumed it was) but is something in "series" with the 12V input. The part numbers draw a blank on searches in Farnell and Digikey but whatever it is, you must have had a good reason for putting it there.....

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Sun Aug 07, 2011 9:24 am

Rod,

You are correct on all the connections in your first point. And the reason I use the second I2C bus is that the first one is used for the realtime clock. It would not be an issue to have the realtime clock on the same bus but that simplified the code and the bus was available. And there is no limitation on having both serial ports active at the same time: I actually have a passthrough mode which requires it.

As for U5 in the power supply circuit, it is an RBO08-40G from STM. It is somewhat overkill in this application but it is a single package for protection against the bad things that can happen to the battery voltage in an automotive environment. I started using it a while ago on other boards and it does the job but I should check what other alternatives may exist out there to see if there is something better. But as I said it does the job and is designed for the automotive environment and it's also reasonably priced.

And doing the power supply in SMDs should allow you to save some space and you can use larger packages than the ones I use for the smaller ones. The 0603 ones are small but you could get them in an 0805 or 1206 package which would make it easier to manipulate and solder. And you would still save some space and use a single layer which would free the second one for other traces or for heat dissipation assuming you put some thermal vias (which I would recommend for the voltage regulator).

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Sun Aug 07, 2011 10:15 am

I just wanted to add some information on the mapping of the ADC channels as it may not be obvious but is important to take into consideration when doing a carrier board layout. The ADC channel numbering that is used in the data either in the TunerStudio ADC channel activation, through a log or when transferring the data through CAN is NOT the same numbering as the CPU ADC pin numbers. This can be confusing because that (CPU pin numbering) is what is shown in the JPx headers pinout.

The different numbering used is done so that the data can be used in consecutive data blocks according to their function on the standard IOx boards (IOx and logger boards). And the CPU pins were chosen to make the most efficient board layout and routing.

So if you plan on using ADC inputs, you need to be aware of the mapping used especially if you intend to transfer the data to either an MS2 or MS3 ECU and definitely when activating the channels in TS. The mapping is as shown below where the adc_map is the log content position and the number on the right is the AD pin number:

Code: Select all
  // Initialize the ADC mapping to allow sequential blocks for each function (hardcoded for now)
  adc_map[0]  = 10;
  adc_map[1]  = 19;
  adc_map[2]  = 11;
  adc_map[3]  = 12;
  adc_map[4]  = 20;
  adc_map[5]  =  5;
  adc_map[6]  = 13;
  adc_map[7]  =  6;
  adc_map[8]  =  9;
  adc_map[9]  =  0;
  adc_map[10] =  4;
  adc_map[11] = 18;
  adc_map[12] = 23;
  adc_map[13] = 17;
  adc_map[14] = 15;
  adc_map[15] =  8;
  adc_map[16] = 16;
  adc_map[17] = 21;
  adc_map[18] = 14;
  adc_map[19] =  7;
  adc_map[20] = 22;
  adc_map[21] =  1;
  adc_map[22] =  2;
  adc_map[23] =  3;


So that means the ADC0 will actually be the data from pin PTB2/ADP10 on the JP5 header, ADC1 will be PTC3/ADP19 on JP5 and so forth.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Sun Aug 07, 2011 10:17 am

Thanks Jean,

Found the RBO08 eventually (I had read it as RB(diamond)08 etc, even with my double MaGoo glasses so had no luck with my search).

Can only find it on US sites at the moment, looks like it covers the functions of D10,11,12 and 13 on the MS V3.0 board.

Nice small package.

Thanks for your usual fast, helpfull answer :D

EDIT - and the table above (didn't see that until I had already posted).... I've seen that in another thread so it was on my list of things to go back and check :D

I think once a couple of us have got this up and running we can post a list of things we have found it best to do.

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Sun Aug 07, 2011 11:09 am

Rod,

You're correct that this replaces the diodes.

And I should add some information about the ADC mapping that I already emailed to Rod. There is also the issue of using the AFR data in MS2/Extra. As I've mentioned in other posts, the method used is a bit of a hack in that it overwrites a number of ADC values with the AFR data so that the MS2/Extra code can use it. This due to the fact that there is a single 8-word block of CAN data that can be used and the fact that the AFR data in the IOx is in a different memory location.

What that means though is that you lose the ability to log data on the ADCs mapped to the locations used by the AFR data. If you have 2 AFR values overwriting ADC values then ADC6 and ADC7 (which are on pins PTB5/ADP13 and PTA6/ADP6 on JP5) will not be usable for reading an analog signal: all the data read, if the ADCs are activated, will be overwritten.

So you will have to plan the use of the ADC channels carefully depending on what you need or want to transfer on the MS2/Extra and what simply needs to be logged. But as mentioned, any ADC channel that is used for AFR value transfer is lost for any use.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Wed Aug 10, 2011 7:51 am

Jean,

Three things with respect to the ADC mapping table and the restrictions,

1 - In the table above, and in TS/MTx the ADC ports are refered to as ADC0 onwards, but in your webpage on the IOx (full size) you list as follows

Circuit CPU Port DB37 Pin
ADC1 PTB2/ADP10 20
ADC2 PTC3/ADP19 21
ADC3 PTB3/ADP11 22
ADC4 PTB4/ADP12 23
ADC5 PTC4/ADP20 24
ADC6 PTA5/ADP5 26
ADC7 PTB5/ADP13 25
ADC8 PTA6/ADP6 4
(sorry, can't get it to format right)

Is this just a case of you using "conventional" numbering (1-8) rather than true port numbering (0-7) on your IOx hardware description ???

2 - The mapping table implies all 24 ADC ports are available in your IOx code. Is that correct and although you only hardwired 8 of them on the full size IOx board, we can actually access all 24 (if we wanted to) on our own carrier boards ???

3 - TS/MTx only goes up to ADC7 for selecting dual wideband inputs. You have used ADC6 and ADC7 as an example in the post above and have mentioned using these two in at least one other thread I have found. Whilst TS/MTX imposes the upper limit of ADC7 for EGO control in MS2, is it still possible to collect data through MS2 (and TS/MTx) from ADC8 - ADC23 if they are hardwired to analogue sources ??? ie, can ADC8 - ADC23 actaully be used for anything when using the IOx-OEM.


Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Wed Aug 10, 2011 9:43 am

Rod,

1 - Yes, this is simply a numbering convention issue. The problem is that there is a mix of 0-n and 1-(n+1) conventions both here and on the MS side.

2 - All 24 ADC ports are available and the logger board actually uses 13 of them: 8 for EGT, 3 for the accelerometer, 1 for 12V and 1 for 3.3V. Those are also hardcoded in the code but can be used with the IOx-OEM.

3 - The only way to collect data for the remaining 16 ADC channels is to do a datalog of the IOx data. I'll have to see if the data between the 2 devices can be correlated in TS and/or MLV. But TS does collect the data on all the CAN devices in a project (actually, that can be disabled now).

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Thu Aug 11, 2011 12:44 pm

Jean,

Next confusion.....

I've hooked up my full size IOx to a spare MS2.

Bearing in mind what you have said about the ADC tables to ports, I thought I would look at the digital IOs.

In TS I have the full range of PTA0 to PTL7 for everything on the three port settings, ie 88 ports (A-L x 8).

None of them seem to be greyed out even though you obviously use , for example, PTE0/PTE1 for serials comms, not hardware IO.

Even if you could use all 88, you don't have them all on the physical jumpers.

So which are actually available ???

(I ask in terms of track routing)

Is it just the default ones in TS and the way you have hardwired the full size IOx, or can others be accessed.


the default IOx ini file for TS shows all 88 on all 3 ports( 24 lines).....


I am now totally confused.



Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Thu Aug 11, 2011 1:49 pm

Actually, there are only 4 that are not on the JP headers: PTE6, PTE7 which are for the CAN bus and PTG0, PTG1 which are for the crystal. All the other 84 digital ports are on the JP headers. And of those, only PTE0 and PTE1 are hardcoded for some function which in this case is the serial port. All the other are used for functions which can be disabled so they can be used for digital I/Os if wanted. But I should grey out or remove the 6 ports mentioned.

So, as long as you don't enable a feature that uses the same port as the one you want to use as a digital I/O, you'll be fine. For example, if you want to use PTG6 and PTG7 as digital I/Os, you won't be able to use the second I2C port to communicate with an SLC. If you don't enable the SLC reading then using these as digital I/Os will work.

Of course, with the number of ports available, it should be easy to use dedicated I/Os that don't interfere with other available features.

One thing to note is that while all the ports are shown even when setting the port as a PWM output, it will only work with the timer 1 and timer 2 ports. The issue is that I can't conditionally grey out the individual ports in the pull down menu, as far as I know. I'll have to ask Phil if there is a way to do so to make it clearer.

So hopefully that removes some of the confusion. And that means you can use the ports which are physically the closest to the board area you want to use to minimize the trace length and avoid routing issues.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Thu Aug 11, 2011 3:06 pm

Jaen,

Surely though, if all the CPU ports (apart from PTE0/PTE1) are re-assignable in TS/your code, there must still only be 24 ADC channels off the 24 pins you tabled earlier ?? So presumably those can't be re-assigned as digital without losing some of the (potential) 24 analogue inputs.

Rod

(I think I'm beginning to understand it.......)
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Thu Aug 11, 2011 3:22 pm

Rod,

The ADC channels are like the other features. If you enable an ADC channel, it is no longer available as a digital output. But if not enabled as an ADC channel, the same pin can be enabled as a digital I/O. This is also why I have indicated all the functions in the pin out of the JP headers.

I tried to keep things as flexible as possible to be able to use almost all the CPU features. The problem is that is makes things confusing especially since I have neglected the documentation part of this.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Thu Aug 11, 2011 3:33 pm

Jean,

It's not a problem, I'm just coming to terms with it looking at all the possibilities of the IOx-OEM card.

Everything was well defined before because of the way you had hardwired to normal IOx board.

Now we have the oppertunity to access most of the CPU ports via the IOX-OEM, it's a little more confusing.

So hopefully my posts will help anyone else wanting to use it with their own carrier board. :D

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Thu Aug 11, 2011 3:57 pm

Rod,

One thing I should add. Even though the ADC channels are hardwired with respect to where they fit in the log and where the AFR overwritten values are located, the block of data that you read from the MS2 can be anywhere in the IOx. So you could 'cheat' and use channels 6 to 13 and the 2 AFR values would still be in ADC6 and 7 on the IOx side. However, you would tell the MS2 to use the offset 14 for its ADC polling and you'd need to use ADC0 and 1 for the AFR because that's where the MS2 would find them in its memory block.

Hopefully I'm not confusing you even more. I'm just mentioning it so that you're aware that there is a bit more flexibility in the ADC channels you can use since the MS2 can read any contiguous block of 8 ADC values within the 24 available on the IOx. However, the AFR overwriting will always use the same positions within the IOx memory.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby turbo355 » Tue Oct 11, 2011 2:15 am

Do you have any of these ready to go Jean?
turbo355
 
Posts: 25
Joined: Wed Jan 19, 2011 5:48 pm

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Tue Oct 11, 2011 9:23 am

I have what's needed to assemble a few units and I assemble them upon request. I can ship just a day or two after receiving an order. They are $75 plus shipping.

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Fri Oct 14, 2011 6:26 am

Jean,

Re. the header sockets in the post below....

jbelanger wrote:This is the actual part I'm using: http://search.digikey.com/scripts/DkSea ... e=S7109-ND. And the matching pin header I use is this one: http://search.digikey.com/scripts/DkSea ... 011E-36-ND. Or if I want to connect on both sides of the board, I use this one: http://search.digikey.com/scripts/DkSea ... 021E-36-ND.


From my usual UK supplier, I couldnt get any 11X2 which are needed on two edges so I ordered 6x2s and 5X2s but, contrary to the measurements on the data sheet, they are slightly longer than x + 1 so won't fit unless I file bits off the end.

I'm now in the position where I have to order some other parts from DigiKey (UK suppliers don't stock what I want) so I thought I would buy some of these (just the females) at the same time.

But according to the linked catalogue in DigiKey UK, the manufacturer you used doesn't one 11X2, only 12X2, 10X2 and smaller.

What did you do for the 11X2, is there one in the USA catalogue, but I'm not seeing it on the UK DigiKey site, or did you cut a 12X2 down ???

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

Re: IOx Basic a.k.a. IOx-OEM

Postby jbelanger » Fri Oct 14, 2011 8:12 am

There is an 11x2 which is the S7114-ND: http://search.digikey.com/scripts/DkSea ... nd&x=0&y=0. There are currently 721 shown in stock at Digikey. At least from Digikey Canada.

Let me know if that doesn't show up for you

Jean
Image
jbelanger
 
Posts: 3578
Joined: Sat Oct 03, 2009 12:24 pm
Location: Quebec, Canada

Re: IOx Basic a.k.a. IOx-OEM

Postby Rod S » Fri Oct 14, 2011 8:57 am

Thanks Jean,

The link worked and I added it to my UK order.

Not sure why I couldn't see it from the UK site, only 12s and 10s, no 11s, but ordered using your link anyway.

Thanks again,

Rod.
Rod S
 
Posts: 310
Joined: Mon Sep 06, 2010 4:03 am
Location: Rural Suffolk, England, UK

PreviousNext

Return to New Boards

Who is online

Users browsing this forum: No registered users and 1 guest