philetaylor Posted October 7, 2008 Report Share Posted October 7, 2008 Hi.Sorry if this is the wrong forum, but I am new here.I am interested in the midibox project and I have an application that I would like to try. I have a sony MDS-E52 Minidisc Deck which can be fully controlled via an RS-232 interface. It appears that a good staring point for me would be to purchase a Core and LTC module and then write an interface between MMC and Sonys RS-232 protocol??From searching the archives, somebody asked a similar question about 5 years ago but there didn't seem to be any follow-up other than it should be possible.I am a C programmer and I have some experience of assembler (from college many years ago!) but before I embark on this project I wondered if it is likely to be possible? Can I use MIDI<->RS-232 with the LTC module and control what is sent over the RS-232 port or can it just be used as a TO-HOST style port?Also the Sony desk only supports 9600,n,8,1. Is it possible to set this baud rate on the serial port and still support MIDI commands on the MIDI ports? I would appreciate any pointers anybody can give me.ThanksPhil Quote Link to comment Share on other sites More sharing options...
lylehaze Posted October 7, 2008 Report Share Posted October 7, 2008 As you guessed, the basic core has only one serial port, and we usually use it for MIDI. (MIDI is a serial protocol at an odd baud rate).So you are correct that you would need more ports to make this work. I have no experience with the LTC, so I'll do a bit of research.. (reading.. reading.. OK, I'm back)I looked the LTC over. It can do the serial voltage changes I mentioned below with a MAX232, but you'll lose the MIDI ports to get the serial port. The IIC module can apparently add more MIDI ports for you.Now we need an expert to tell us if we can use both at once. :-)One other issue to watch out for is the serial voltage levels. "real" serial uses - and + 8 volts (approx, maybe more) But a "logic level" serial port usually uses +5 volts and GND (as it comes out of the PIC). You can use something like a MAX232 to create the odd voltages and do the level shifting. I can't tell if that will be needed without seeing more data on the minidisc player.Finally, there are "standard" MIDI commands for start, stop, song position pointer etc. You may want to support the standards instead of making up your own as you go along. You can learn a lot about MIDI by reading a website like http://home.roadrunner.com/~jgglatt/There's a TON of well organized information there.A good place to start is http://home.roadrunner.com/~jgglatt/tech/midispec.htmthen scroll on down to MIDI Start, MIDI Stop, MIDI ContinueBut I'm telling you stuff you probably already know.Welcome aboard, have fun, enjoy the friendly community.LyleHaze Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 7, 2008 Report Share Posted October 7, 2008 if we can use both at once.Yeh that should work! Phil, have a search around for info on changing the baud rate, and using IIC_MIDI to upload apps etc. It'll definitely be tricky, and you'll have to do most of the work alone, but it sounds like you should be able to pull it off. Good luck!! Quote Link to comment Share on other sites More sharing options...
philetaylor Posted October 7, 2008 Author Report Share Posted October 7, 2008 Thanks for the info both of you, I (not surprisingly) have more questions....My current thought is to use an IIC-MIDI module to handle the 'actual' midi, I would plan to connect this to my Yamaha 01x which has MMC transport controls. I was then thinking of 'also' connecting an LTC module to handle the RS-232 side of it. Do you think this would be a workable configuration? If I do it this way, my thoughts are that I would 'only' need to create a MIOS application to handle the translation and I can leave the midi communications to the IIC-MIDI? Am I barking up the wrong tree here?ThanksPhil Quote Link to comment Share on other sites More sharing options...
arumblack Posted October 7, 2008 Report Share Posted October 7, 2008 Please share if you get this working, I have thought this would be useful in the past, but have no time to work on it currently. Also, you could look at modifying the IIC MIDI firmware to be an IIC Serial port, could be useful for those who need to control mopre than one serial device, and I think it is hinted somewhwere on the IIC MIDI page that this is possible, but it needs development.Anyway, it's a good idea and makes MIDIbox even more flexible.FYI: my interest in this is to build a transport controller for the DV decks I use at work, amongst others.Thanks!AB Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 7, 2008 Report Share Posted October 7, 2008 IIC-MIDI module to handle the 'actual' midi,........ connecting an LTC module to handle the RS-232 side of it. Do you think this would be a workable configuration? Yep, that's the idea! :) Quote Link to comment Share on other sites More sharing options...
philetaylor Posted October 7, 2008 Author Report Share Posted October 7, 2008 That's good. I have placed an order for exactly that (+ an LCD) with Mike so watch this space !!! Quote Link to comment Share on other sites More sharing options...
philetaylor Posted October 16, 2008 Author Report Share Posted October 16, 2008 Well I have had a fun few evenings!The kits arrived on Tuesday (thanks Mike) and I got them (Core, IIC, RTC, LCD) built and tested that evening. There was only 1 solder bridge when I built the core which (unfortunately) was shorting the output of the bridge rectifier, once I fixed that everything came up and I was able to load MIOS and one of the sample programs. I then built the other two kits and they both worked first time. Great work everyone that has been involved in the development!I have now written a fairly simple C based project which receives MMC commands on the IIC and forwards them to the Core (RTC Com interface) in the correct format for the Sony MDS-E11/MDS-E52 Minidisc decks!I did need to make a slight mod to mios_midi.inc and re-make MIOS in order to force the Core baud rate to 9600 (the Sony only supports this...). In case you are interested, the only line that needed changing was:movlw 2*0x21-1 ; set baudrate to 38400 baudtomovlw 2*0x80-1 ; set baudrate to 9600 baudI got the number from the Datasheet for the PIC. It is actually 9766baud but seems to be OK. I did wonder as interfaces 0x2 -> 0xf aren't used for anything would it be worth using them as a way of setting different baud rates for the internal USART from within MIOS_MIDI_InterfaceSet?I still have many other things that I would like to add including feedback from the Minidisc desk back to MMC and maybe display track info on the Core LCD. Once I have done this (and tidied up the code a bit) I am quite happy to release my work back to the community but so far I think I have jumped the biggest hurdle in actually getting the things talking!I did find a commerical product that seems to fulfil a similar function for Sony video decks but as it is about 500UKP this may become a low cost option?CheersPhil Quote Link to comment Share on other sites More sharing options...
arumblack Posted October 17, 2008 Report Share Posted October 17, 2008 Excellent!Good work. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 18, 2008 Report Share Posted October 18, 2008 I did need to make a slight mod to mios_midi.inc and re-make MIOS in order to force the Core baud rate to 9600 You can do that in your application, and you should. Quote Link to comment Share on other sites More sharing options...
philetaylor Posted October 19, 2008 Author Report Share Posted October 19, 2008 I have had a bit of a redesign, I got fed-up of removing and reinserting the optocoupler in the core everytime I wanted to send an updated program so I decided to use the IIC for the RS-232 comms (with the LTD) but of course the IIC does quite a lot of MIDI processing which is not compatible with the Sony RS-232 protocol (it uses 0xff as a terminator for a start) so I bypassed most of the MIDI processing from IIC_MIDI and reprogrammed the IIC PIC.It is all working now with feedback including sending track counter information as MTC events). I still need to do a 'lot' of tidying up of the code and a 'lot' more testing.I have learnt an enormous amount about PIC programming in a very short time, I didn't realise how rusty my assembler skills were (mostly 6502 in the late 80's)!!CheersPhil Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 20, 2008 Report Share Posted October 20, 2008 Nice 1 Phil, keep rolling!Hope you'll share the code and schems and such, when it's all done? :) Quote Link to comment Share on other sites More sharing options...
/tilted/ Posted October 27, 2008 Report Share Posted October 27, 2008 I have learnt an enormous amount about PIC programming in a very short time, I didn't realise how rusty my assembler skills were (mostly 6502 in the late 80's)!!hey, don't underestimate the power of the 6502!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.