Jump to content

Recommended Posts

Posted

not specially in mb ng... i would write my own mios based code....

i dont want to waste midi io on my core32

 

is a other connection then midi to the mf module possible? if yes are there any drawbacks? or what are the pros and cons. and what if i have to use more then one mf module    is the this solution then cascadeable

 

thx mike

 

Posted

There are good reasons why I decided to use an UART based MIDI interface for interconnections:

  • universal approach, easy to setup from a (PC) and easy to connect to other cores
  • MIDI messages are buffered via FIFOs, this relaxes the MIOS32 application requirement. E.g. it could prioritize the handling of other tasks and doesn't need to frequently poll for incoming messages to avoid information loss. By default the FIFOs are dimensioned with 64bytes, which means that we can bridge up to 20 mS
  • no need to program special interface communication handlers -> less troublesome & no special knowledge required
  • MIDI cable can be up to 10m
  • optocouplers decouple the noisy MF voltage from the MIOS32 core, this improves EMC
  • level-shifting 3.3V to 5V part of the physical MIDI interface

So, if you are searching for alternative interfaces, they all have cons

  • you have to learn how to program such interfaces. I won't have so much time to help you on this... you've to find your own way
  • the MBNB_MF_NG firmware is programmed in assembly language which is difficult to enhance for people who never did this before
  • all IO pins of the MBHP_MF_NG module are allocated, for a different interface you've not only program a new firmware, you also have to change the circuit

Possible interfaces:

SPI

Cons:

  • no programming example available for MIOS8
  • requires 4 IO pins (RC3, RC4, RC5, RA5)
    MBHP_MF_NG circuit has to be modified. But especially RA5 does hurt, since this is an analog input (actually a killer argument)
  • no programming via MIDI possible anymore, you've to use a PIC programmer instead
  • actually more valuable than MIDI ports, since only 3 SPI interface ports exist on a typical MIOS32 core. One (J8/9) is allocated for SRIO, another one (J16) for SD Card and Ethernet at 3.3V level, another one (J19) is free, but typically used for AOUT/AINSER, etc... However, if SPI, than you would either have to sacrifice J8/9 (-> no SRIO), or J19 (-> probably unusued in your application? But couldn't be used for all applications, so: only a dedicated solution for your purposes)
  • MIOS32 core has to frequently service the SPI to avoid message loss
  • programming will be much more complicated

I2C

Cons: 

  • requires 2 IO pins (RC3, RC4)
    MBHP_MF_NG circuit has to be modified
  • no programming via MIDI possible anymore, you've to use a PIC programmer instead
  • MIOS32 core has to frequently service the I2C
    I2C overhead higher than for other interfaces, will slow down your application and/or result into message loss
  • programming will be much more complicated

CAN

Cons:

  • requires different PIC chip (e.g. PIC18F4685)
  • requires 2 IO pins (RB2, RB3)
    MBHP_MF_NG circuit has to be modified
  • MIOS32 core has to frequently service the CAN interface.
    Similar to I2C and SPI there is a high risk for message loss if this isn't done frequently
  • programming will be most complicated compared to other interfaces

Best Regards, Thorsten.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...