Jump to content

flo

Programmer
  • Posts

    71
  • Joined

  • Last visited

Everything posted by flo

  1. > What's wrong with the MT88? Nothing really. > significantly less expensive Ah... any idea on the exact prices? I have not found any good sources yet. Futurlec and ebay sells the DIP40 version of the MT8816 for around $5 but not the PLCC 44 version. I can not find the AD75019 at all. > there are two projects to base your work on already So far I only found: http://www.midibox.org/forum/index.php/topic,10247.0.html Which one am I missing? There are a few reasons for me to probably drop the MT8816 in favor of the AD75019: - It was posted that the harmonic distortion of the MT8816 is larger than the AD75019. If so, I'd rather use the AD75019. I'm building my own guitar FX with only high quality components so I do not want to reduce quality again in the switching because of a relatively small amount of money like 10 euro's or so. In the datasheets, the harmonic distortions and crosstalk specs are not so different so either one seems ok to use: AD75019: THD = 0.01% max , RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p Crosstalk = 92 dB , 1kHz, RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p MT8816: THD = 0.01% typical , 1kHz, RS 600 Ohm, RL 1 kOhm, VSIGNAL 2 V p-p Crosstalk = 90 dB , 1kHz, RS 600 Ohm, RL 10 kOhm, VSIGNAL 2 V p-p - The AD75019 has more switching capabilities while its footprint is the same as with the MT8816 (PLCC 44). - The price difference and quality difference between the two is too small for the time it would cost me to design another hardware extension and write a driver for the MT8816. It's just too much trouble. Better to surf the wave a bit and help out with one good solution (AD75019) that is already on its way for a switch matrix hardware extension with driver for the MidiBox. So in short: I'd rather use the AD75019 because it seems you guys are already doing all the hard work. ;) Sorry for that...
  2. Thanks for that info, a great help. Are the "public" interface function prototypes that need to be implemented per driver for an audio switch matrix extension already defined? Or, to put it differently, what are the functions that the "apps" expect/need in order to work with an audio switch matrix? I guess that each specific driver will need to implement that set of functions?
  3. Sorry for being slow but: > "J5 is spread across two IO ports (A and E) so it's not the greatest for that." I do find J5 a bit messy but I thought the "j5_io" module was written to hide that complexity? You prefer to share the J15 jumper between LCD and other hardware like a MT8816 extension? When you say "mios driver" does that mean a bunch of functions that can be used in a MIOS program to control the MT8816 chip? > "then we can make that app compatible with the driver." Sorry, I don't understand exactly what is meant by "app" compared to "driver", both sound like software. What is the distinction between the two in this case? Does that mean trying to get a MT8816 extension working via the J15 shared usage solution that you are developing? > "It'd be great to be able to use it in both hardware designs" You mean using the software developed by you for the shared usage of J15, with both the AD75019 and MT8816 hardware extensions? Thanks for being patient... :)
  4. Well at least you found a dealer. :) I'm not even able find a source... :( So when this development is sort of done (software and hardware), it will be made public? Can we then also facilitate some sort of sourcing for the hardware like a place to buy the AD75019 + socket and a PCB to interface with the MidiBox? I'm sorry but I'm having a fit of GAS. ;) Can't wait to build myself a simple audio patchbay version with a AD75019. Sort of lost interest in using the MT8816. Is there any way I can help this project along?
  5. Soldering that AD75019 44PLCC chip seems hard. Do you guys use a: 44 WAY CHIP CARRIER SOCKET (RC) http://www.rapidonline.com/Cables-Connectors/Connectors-Multipole/PLCC-Sockets/Production-PLCC-sockets/63776/kw/PLCC or something?
  6. > that code that won't work in SDCC I might as well mention now: there's no bool type, and you can't declare counter vars in the for statement. Yes, it was just a bit of pseudo code doodling. Did not mean to confuse anyone by it. I'm a C++ programmer and haven't programmed ASM or C in 15 years, so I still got to get the hang of the SDCC syntax and data types. SDCC is basically just ANSI-C, right? So, is the following correct? Data-types: http://www.nextdawn.nl/c-reference/data-types-declaration.php Functions etc: http://www.nextdawn.nl/c-reference/program-structure-and-functions.php http://www.nextdawn.nl/c-reference/flow-of-control.php I guess the "j5_io" module is also very appropriate for parallel control via J5 (I just found it...): http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fmodules%2Fj5_io%2F > I don't see what's so bad about using serial control? Indeed, I also have no problems with a serial control via DOUT or something like that. I think that if one writes a few handy helper functions, controlling the MT8816 either serial or parallel is just as easy or "long". I was reacting to what chuck posted about his reservations on it: http://www.midibox.org/forum/index.php/topic,10247.msg94497.html#msg94497 "I used 74HC595 shift registers to switch the MT8816, and connected them just like the DOUT module. This was a mistake, I should have interfaced the 8816 better to the PIC, but I afraid of having to write a driver since I don't know assembler well enough to do so. It really needs a parallel interface because the commands needed for the "serial control" just get too long." @Chuck: Perhaps, if you don't mind, you can explain your reservations on the serial control some more? > this is exactly what we're doing in that other thread that you said was too complex hehehe... why not join the party? Ah, ok I'll take another look at it. I guess you mean: DIY audio patchbay with digital routing....How hard? http://www.midibox.org/forum/index.php/topic,11262.0.html
  7. MT8816 based effects router http://www.midibox.org/forum/index.php/topic,10247.0.html ------------------- Re: MT8816 based effects router http://www.midibox.org/forum/index.php/topic,10247.msg94551.html#msg94551 Long post ahead (sorry): Although I'm just learning this particular uController, I got the impression that one can control the various ports on the PIC using "C", no need for ASM. Check this: http://www.midibox.org/forum/index.php/topic,11705.msg94362.html#msg94362 Perhaps that lowers the threshold for you to rework this project. So controlling the MT8816 with a parallel port would be better? We could for instance use: - J15 of the midi-box (although it is also to be used for the LCD) or - J5 - 7 pins for addressing one switch. This could be: LATB pin [0, 6] (output latch B) = [J15:D0, J15:D6] or LATA pin [0, 3] & RA5 & LATE pin [0, 2] (output latch A & latch E) = [J5:A0, J5:A6]. - 1 pin for: DATA. This could be: LATB pin 7 (output latch B) = J5:D7 or LATE pin 2 (output latch E) = J5:A7 - 1 pin for: STROBE. This could be: LATD pin 7 (output latch D) = J5:E or LATC pin 0 (output latch C) = J6:RC / J7RC - Perhaps 1 pin for CS when using multiple MT8816 chips. When only using one, just keep it active (HIGH). - Perhaps 1 pin for RESET although I think that one is not needed, just keep it inactive (LOW). Then, for instance, setup one switch in the switch matrix with one C function and two input arguments, that does: ///////////////////////////////////////////////////////////////////////////// // SetSwitch // Enables or disables one switch in the MT8816 switch matrix. (pseudo-code) // // byte switchAddress [in] Address of the switch to set: [0, 127]. // bool enable [in] Enable (true) or disable (false) the switch. ///////////////////////////////////////////////////////////////////////////// void SetSwitch( byte switchAddress, bool enable ) { ///////////// // Init: Has to be done only once so move this to a more appropriate function like: // void Init(void) __wparam. // Assume using J15 => LATB & LATD.LATD7 // Set the whole port as an output: TRISB = 0; TRISD.TRISD7 = 0; // Select the MT8816 chip (if needed): // MT8816.CS = 1; // Deactivate RESET (if needed): // MT8816.RESET = 0; // End Init ///////////// // Set STROBE to LOW (just to be sure): // MT8816.STROBE = 0; LATD.LATD7 = 0; // Address the switch: // MT8816.SWITCH = switchAddress; LATB = switchAddress; // Enable / disable the switch: // MT8816.DATA = enable; LATB.LATB7 = enable; // Stobe the switch data: // Set STROBE to HIGH: // MT8816.STROBE = 1; LATD.LATD7 = 1; // Set STROBE to LOW: // MT8816.STROBE = 0; LATD.LATD7 = 0; } Memory usage: PIC18F4620: Flash (bytes) = 64K # Single-Word Instructions = 32768 SRAM (bytes) = 3986 EEPROM (bytes) = 1024 Is the SRAM the available data memory for an application (I'm not sure yet)? I'll just assume it is for now. One switch matrix "patch" (=how all 127 switches are setup) needs: 8 * 16 = 128 bits = 16 bytes The position of the bit "tells" us for which switch needs to be enabled/disabled. So we can store lots (>200) patches. ///////////////////////////////////////////////////////////////////////////// // SetPatch // Setup all 127 switches in the MT8816 switch matrix. (pseudo-code) // // double byte patchData [in] The states for all 128 switches. ///////////////////////////////////////////////////////////////////////////// void SetPatch( double byte patchData ) { // Iterate over all 128 switches and set each switch: for( byte switchAdress = 0; switchAdress < 128; switchAdress = switchAdress + 1 ) { // Set one switch of the patch: bool enable = patchData.switchAddress; SetSwitch( switchAddress, enable ); } } Now, I haven't touched the "user interface" yet...
  8. @stryd_one: Thanks a lot for that great post! Now I understand. 8) I have just ordered the CORE, DIN, DOUT, AIN, AOUT kits, a PIC 18F4620 with the bootloader and an LCD from www.mikes-elektronikseite.de. I'll just build the stuff starting with the CORE and the DOUT and start programming! I'll post my progress.
  9. Not trying to steal the thread (please lets continue about the MT8816 and the MidiBox!), but I'm building on that Pico compressor too (well, I've just received the stereo and mono kits...). Some information I gathered on the Pico Compressor: http://www.picocompressor.com/PicoComp/PCB-Kits/Documents/PicoComp_Document_Index.htm http://www.picocompressor.com/picocomp/PCB-Kits/index.htm http://www.ka-electronics.com/forum/php/viewforum.php?f=1 http://www.diystompboxes.com/smfforum/index.php?topic=68031.0
  10. Using the MT8816 switch matrix chip is very interesting. I have been looking at it for a while already. Did you need an (opamp) buffer for every input and output or was that not needed? How did you experience the cross-talk and harmonic distortion of that chip? Any troubles in separating the digital part steering the switches and the analog signals going through the switches, any noise or digital "bleed-trough"? Perhaps, if you are willing, you can already post the hardware circuit part of interfacing the MT8816 chip with the MidiBox core and some code snippets for addressing / programming it? I would be interested in it in order to build or try-out a (much) reduced / simplified 8x8 matrix version of it with a very primitive (if any) user interface. It would make a nice variant on a 8 looper version with relais that I'm trying to build using the MidiBox.
  11. Thanks for the link to that MIOS pin list. So a "Core Port" like J15 can be adressed in MIOS with predefined "system" variables like "RB5", "RB", "PORTB" and such. Please, where can I find the the MIOS programming documentation about the definitions and usage of these "Core Port" variables? > "Look for J5 as DIN/ J5 as DOUT, also the J5IO module on SVN." Sounds interesting but please tell me, what or where is "SVN"?
  12. I have been reading this: http://www.ucapps.de/mbhp_core.html but I can not find any reference to a "PORTB" as stated in the code snippet: http://www.ucapps.de/mios_c_pic_pin.html I think it is a MIOS "system variable" that is mapped to the "RB" 8 bit output port, pin [33, 40], of the PIC as displayed in: http://www.ucapps.de/mbhp/mbhp_core_v3.pdf On the CORE information page is a table that refers to "available ports" and then calls them "interfaces" which probably is the same as a "port". This inconsistent usage of terms confuses me a bit. Perhaps "port" is something of the PIC like "RA", "RB" and "interface" is the header on the PCB that is connected to "port" pins on the PIC. Can ports and interfaces both be addressed in MIOS? I see there that the LCD should be connected to the 11 bit wide interface J15 consisting of 8 bit from "RB" as well as three pins from port "RD" (pin [28, 30]). There is also a 6 bit wide interface J10: "Interface to application specific module extensions...". It made from pins of ports "RC" and "RD" where RD5 and RD6 are shared with J15. Looks a bit messy but perhaps I'm not getting it. Is this the preferred interface to connect my relais to? So how do I address this in MIOS, what is the name of the "system variable" for this interface? So next to the interface J15 for the LCD the only 8 bit wide interface is J5, pin [2, 10]? The "interface" table states: "Interface to the AIN module for MIDIbox64 and MIDIbox64E. There are also some application which use this pin as digital in- or output". How can this interface be addressed in MIOS as an 8 bit wide output that I can "set"? I hope you bear with me and all these questions...
  13. Thanks for that tip! I hope I can test and debug it using my scope but if I need that LCD, would that also need to be connected to port B of the PIC? Actually, I do not yet know which pins of the PIC make up "port B". I only read about it in the code snippet I have posted above. That snippet also states: "Note that Port B is normaly used for the LCD, in this example we have to unconnect it". If so, are there also other 8bit ports available in the MidiBox? Perhaps somebody can point me to the page containing that information of the MidiBox, thanks! There are of course other projects available on the web that try to accomplish the same goal with some variations. So for anybody that is interested I have also checked the following: The Looper Mitch - Midi Switch http://www.jimkim.de/html/index.htm MIDI Change-Over Relay Units http://tomscarff.tripod.com/relay_changeover/relay_changeover.htm FX Switcher Project http://www.diystompboxes.com/smfforum/index.php?topic=56264.0 The Crossbar Project, a matrix effects switcher http://www.diystompboxes.com/smfforum/index.php?topic=43104.0 Geofex FX switching http://www.geofex.com/Article_Folders/juggler/juggler.htm, 4 November 1999 http://www.geofex.com/Article_Folders/fxswitchr/fxswitchr.htm, 18 January 2000 http://www.geofex.com/Article_Folders/ASMOP/ASMOP.htm, 28 October 2001 http://www.geofex.com/Article_Folders/ASMOP/asmop1d.pdf http://www.geofex.com/Article_Folders/ASMOP/asmop1e.gif
  14. If I minimize it by not having a user-interface nor a LCD nor a DOUT module and use only the CORE module and drive port B directly when the MidiBox recieves a MIDI program change event on a specific channel (say 15 and 16). There is a code example for something like that: Driving PIC pins of port B via MIDI http://www.ucapps.de/mios_c_pic_pin.html I only have to change that code to react to a program change event on channel 15 or 16 instead of a note-on event. I can then use the 8 pins of port B to control 8 DPDT switching relais combined with indicator LEDs for visual feedback. That would give me 8 FX true-bypass switches with minimal efford & components.
  15. Thanks for the input. Yes, I saw that Midi-8 GigRig. Nice, inspiring and almost what I want, except lacking the remote switching via midi using a midi-footcontroller. What is interesting is the question of wiring the loopers in a serial manner internally like the Midi8 does or to provide a input and output per looper like loop 4 of the Axess GRX4. A series chain would halve the amount of jacks but decreases the flexibility. I guess the Midi8 remotely controlled via midi foot controller with some loopers wired as a series chain and some indepent ones is the way to go. Midi-8 manual: http://www.thegigrig.com/acatalog/TheGigRig_MIDI-8_Manual.pdf GRX4 Guitar Router/Switcher http://www.axess-electronics.com/sc/GRX4-Guitar-Router-Switcher-p-16135.html http://www.axess-electronics.com/sc/axess/images/i_pdf.gif
  16. Glad you like it but I've hardly scratched the surface here... Still need to get all the details clear. Like: - Requirements: What do I actually want/need? Need to get this really clear and minimized or else this project will only add up to something that is way too complex and a drag to build. - Architecture: Block diagram, midi implementation. - Schematics: Especially the wiring and relais boards. The rest is probably regular MidiBox stuff. - Layout: Putting it into one enclosure or go "modular"? - User interface: Need it or not? Currently I hope to do without it. Perhaps only some basic visual feedback with LEDs indicating what is enabled and a "midi-recieved" indication. - Input and outputs: How to keep it simple, cheap AND flexible/usable enough. What do I need and what can I do without. - Parts: Bill Of Materials. Were to get all components and parts. - Relais: What kind, were to get them, how to hook them up, DPDT or something else, implus or latching. So many questions... - Software: What programming do I still need to do to filter out the appropriate midi messages and control the relais via a DOUT board.
  17. Ah that's right, only 7 bit available. Hmmm So how to get to more "bits"? Use two midi messages and combine that? Sounds a bit cumbersome. Use the midi channel information also? Perhaps not a good idea when also using other midi equipment on the same midi cable but I could use two midi channels and use the program change messages from those two channels to get one extra bit of information. Then I could get to max 14 relais which is sufficient. What was that midi message again for controlling parameters... not a CC message but a ... ? Something that was 14 bit or so... A RPN or NRPN! How about using that? Can the MidiBox handle NRPN gracefully? Well, probably it all depends on what my foot controller can send. It's a Behringer FCB1010. Now where's that manual...
  18. To keep it simple, I can leave out any user-interface so I would not need a DIN module nor a frontpanel with knobs and stuff. As long as I can program the foot-controller's midi program change messages that'll work I think. Switching 8 relais with midi program changes can be done "binary": Midi program 0 = 0000 0000 = all relais OFF Midi program 1 = 0000 0001 = first relais ON, rest OFF Midi program 15 = 0000 1111 = first 4 relais ON, last 4 relais OFF etc.
  19. Thanks for the reply. So far I've read the following threads but none of them are "ready to go" projects. Still an interesting read: DIY audio patchbay with digital routing....How hard? http://www.midibox.org/forum/index.php/topic,11262.0.html (Too complicated, too many features) Program change to guitar fx gear controll http://www.midibox.org/forum/index.php/topic,7729.0.html MT8816 based effects router http://www.midibox.org/forum/index.php/topic,10247.0.html (interesting) looking to make a effect box http://www.midibox.org/forum/index.php/topic,10070.0.html Midibox amp switcher http://www.midibox.org/forum/index.php/topic,3801.0.html Has this link but its dead: http://216.250.178.122/will/midibox/signalrouter/index.html programable midi to relay unit http://www.midibox.org/forum/index.php/topic,8901.0.html Midibox as Switcher advice sought (newbie alert :-) http://www.midibox.org/forum/index.php?topic=4836.0 Building Pedal Box / Pedal Board http://www.midibox.org/dokuwiki/pedal_box
  20. Hi, I just found the MidiBox projects at www.ucapps.de. Looks great to get into Midi controlled applications. I'm a electronics engineer and programmer but I'm lazy so I'd rather buy and build the MidiBox kits from www.mikes-elektronikseite.de than to reinvent the wheel. ;) I'm trying to build a midi controlled guitar FX switcher using multiple DPDT relais (or a switch matrix chip) and a Behringer FCB1010 midi foot-controller. I tried searching for a project on this forum but could not find a clearly described project for it. I think I need a: - CORE Module, that I can program to receive the midi from the footcontroller and translate midi program changes into on-off digital signal outputs. - DOUT Module, the digital outputs that will be set by the CORE module and will control the relais. - LC Display 16x2 with backlight - PIC18F4620 (with the bootloader) - DPDT relais switch board, controlled by the DOUT module each of these DPDT relais will bypass or enable one FX. (probably need to diy that relais board myself or use something like a relais card from Velleman: http://www.velleman.be/ot/en/product/view/?id=9069 € 17.95) OR - MT8816 - 8 x 16 Analog Switch Matrix chip from Zarlink (Futurlec $4,50), controlled by the DOUT module this chip can switch FX outputs to FX inputs for a flexible programmable FX router: http://www.datasheetcatalog.org/datasheet/zarlinksemiconductor/zarlink_MT8816_MAR_97.pdf http://www.futurlec.com/cgi-bin/search/qty_price.cgi?part_no=MT8816AE Any ideas or comments? Am I on the right track here?
×
×
  • Create New...