I have a XK-AUDIO-216-MC I'd like to add some HID devices, rotary controls, mostly.
Am I correct that all the GPIO pins are already reserved for other functions?
Any ideas for modifications to board to free up some inputs?
I'm not planning to use the coaxial connections, for example.
or could/should I setup a bus to an off-board processor to connect the controls?
What do you recommend?
XK-AUDIO-216-MC free GPIO pins?
-
- Junior Member
- Posts: 7
- Joined: Mon Dec 11, 2017 4:53 am
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
I looked at the schematic for the board and I can't see any I/O that's directly taken to a connector. If you're not using MIDI, there are the serial input and output that you could use to communicate with an off-board processor.
-
- Junior Member
- Posts: 7
- Joined: Mon Dec 11, 2017 4:53 am
Thanks CousinItt,
after thinking about this a bit, it seems the best solution is to use the i2C bus and put an i2C enabled encoder on it.
There's a couple guys on Tindie that can provide a ready-made item.
Comments?
after thinking about this a bit, it seems the best solution is to use the i2C bus and put an i2C enabled encoder on it.
There's a couple guys on Tindie that can provide a ready-made item.
Comments?
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
Do you have access to the I2C bus, other than by tacking on wires?
If you're using the existing bus, you just need to check the 3V3 signalling level is compatible and there is no addressing conflict and then you should be fine.
I'm assuming that the bus runs at 100 kHz (the limit for the CS2100 - I've not checked the other parts) and there's plenty of slack time - I2C is used typically for configuration of audio devices and then goes quiet. Also note some manufacturers prefer the I2C isn't used once that's done to minimise noise. For example, the CS2100 data sheet says "to avoid potential interference problems, the control port pins should remain static if no operation is required."
If you're using the existing bus, you just need to check the 3V3 signalling level is compatible and there is no addressing conflict and then you should be fine.
I'm assuming that the bus runs at 100 kHz (the limit for the CS2100 - I've not checked the other parts) and there's plenty of slack time - I2C is used typically for configuration of audio devices and then goes quiet. Also note some manufacturers prefer the I2C isn't used once that's done to minimise noise. For example, the CS2100 data sheet says "to avoid potential interference problems, the control port pins should remain static if no operation is required."
-
- Junior Member
- Posts: 7
- Joined: Mon Dec 11, 2017 4:53 am
There are SCL and SDA solder rings on the MC board. I'd attach some headers for access.
I'm considering this: https://www.tindie.com/products/arielnh ... positions/
It uses the TI PCF8574 which runs 3.3v and 100mhz max.
Both the address ranges offered, 0x20 - 0x27 and 0x38 - 0x3F, are out the way of the three devices listed in the hardware guide: CS5368 0x4C, CS4384 0x18, CS2100 0x4E.
The controls are for gain and balance, one of each.
I'm considering this: https://www.tindie.com/products/arielnh ... positions/
It uses the TI PCF8574 which runs 3.3v and 100mhz max.
Both the address ranges offered, 0x20 - 0x27 and 0x38 - 0x3F, are out the way of the three devices listed in the hardware guide: CS5368 0x4C, CS4384 0x18, CS2100 0x4E.
The controls are for gain and balance, one of each.
-
- XCore Addict
- Posts: 185
- Joined: Tue Mar 26, 2013 12:10 pm
If you're not using MIDI, you could use the MIDI_TX and MIDI_RX pins for the i2c connectivity.
See the hardware manual : https://www.xmos.com/download/private/x ... 1.2%29.pdf.
Best regards,
John
See the hardware manual : https://www.xmos.com/download/private/x ... 1.2%29.pdf.
Best regards,
John
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
ztrail - sounds good.
John - the I2C SDA signal is bidirectional - wouldn't using the MIDI lines involve a bit of surgery?
John - the I2C SDA signal is bidirectional - wouldn't using the MIDI lines involve a bit of surgery?
-
- XCore Addict
- Posts: 185
- Joined: Tue Mar 26, 2013 12:10 pm
All of the I/O on the xmos device is software programmable and you just connect your software modules to the required GPIO pins. if you implement i2c on the MIDI GPIO pins then you can solder a header to MI_TX and MI_RX through holes on the board and from there connect to your i2c device.
Best regards,
John
Best regards,
John
-
- Respected Member
- Posts: 367
- Joined: Wed May 31, 2017 6:55 pm
Hi John, I meant that the MIDI RX line is permanently driven by U31 and R171 = 220R.
-
- XCore Addict
- Posts: 185
- Joined: Tue Mar 26, 2013 12:10 pm
Ah yes, it is, sorry, my mistake.
Another option would be to use the ADC and DAC in TDM mode so that it only requires one GPIO for each direction. You could then re-task the other GPIOs for i2c.
The benefit of this is that the headers are already fitted to the board.
All the best,
John
Another option would be to use the ADC and DAC in TDM mode so that it only requires one GPIO for each direction. You could then re-task the other GPIOs for i2c.
The benefit of this is that the headers are already fitted to the board.
All the best,
John