Jump to content

alogic

Members
  • Posts

    153
  • Joined

  • Last visited

About alogic

  • Birthday 04/07/1981

Contact Methods

  • MSN
    alogic.on@gmail.com
  • Website URL
    http://www.myspace.com/alogicsound

Profile Information

  • Gender
    Not Telling
  • Location
    SPAIN

alogic's Achievements

MIDIbox Addict

MIDIbox Addict (2/4)

0

Reputation

  1. bonito proyecto!! realmente rollo retro ;) na, solo comentarte que para el 16f877 ya no hay soporte desde hace tiempo, busca un 18f452 como minimo. en estos ya se puede cargar mios, con el programador y las aplicaciones via midi. un saludo
  2. Perdona por el retraso ultimamente no visito mucho el foro :ninja: el secuenciador lo programe para que fuese con su propia sincronizacion ni tan siquiera envia/recibe midi clock solo dispara las notas que esten pulsadas, para conectar el encoder como plato que uso en el midiscratch y tirar ritmos sobre el sinte sin tiempo. si encuentro las ultimas modificaciones subo el codigo que no se ni ande anda un saludo
  3. pues siempre las hago en casa, aunque me estoy empezando a plantear encargar alguna ya que hay sitios realmente baratos No viene a cuento pero casi acabe este finde las caratulas del controlador que habia montado, os dejo unas foticos pa que lo veais un saludo
  4. bueno si te fijas son 5 placas para el frontal, una core y la del sid, se podria hacer poniendo algunas din y dout y tirar cablecillos, cosa que odio . pero vamos curro pa rato :rolleyes:
  5. sigo haciendo cositas, a ratitos. aqui teneis la version 0.1 de mi sid´logic :thumbsup: a espera de que tenga mas tiempo para ponerme a montarlo, y dinero, pues tiene unos cuantos encoder, teneis algun link ande los vendan mu baratos ?? tengo los led, pulsadores, placas, y el aluminio pa el chasis, pero hasta que no sepa exactamente el modelo de encoder no me puedo poner a montar. para que os hagais una idea de como va el diseño en el adjunto teneis el codigo y una simlacion para proteus, hay que seguir añadiendo pulsadores y por supuesto no hay emulacion para el sid pero sirve para hacer las pruebas
  6. hey, gracias por decir que estais por ahí, :thumbsup: gracias Amando el lcd se lo puse con los registros de desplazamiento para usar varios en cascada. luego de estar probando me di cuenta de que mi cacharro tiene muy pocas opciones al estar todos los mandos sobre el panel. solo cambio de canal y cargar guardar un nuevo pad. ademas me gustan bastante mis rusticos displays, son mu faciles de manejar, es el tmr0 del micro el que los maneja, si te fijas en el programa cuando desborda saca por los 74hc595 los datos cargados en unos registros actualizando los displays de forma automatica, por lo que una vez echo esto, solo hay que guardar la informacion a mostrar en esos registros. y el timer ya los sacara por los displays por que dices esto?? por que se hiba a enfadar TK?? chachi¡¡ estoy mirando los UAA170, UAA180 y algun otro en cuanto me decida ire subiendo esquemitas y pruebas
  7. bueno he pensado que asi seguramente me entendais mejor, una imagen vale mas que mil palabras este es el frontal en el que estoy pensando
  8. WooHaHaHa pues de momento en el simulador ya envia la direccion y valor de cada encoder y pulsador al sid :sorcerer: terminadas rutinas de RX para note y control change, que creo va a dar bastante juego desde el secuenciador irle modificando parametros :thumbsup: lo unico que lo estoy haciendo de otra forma, no me parecia divertido ponerle un pulsador para ir cambiando los mandos de las tres voces. asi que ha quedado para ponerle los mandos de esta forma, dadme vuestra opinion a ver que os parece ;mandos asociados a los registros ;------------------------------------------------- ;osciladores X3 para los tres osciladores ;encoders =6x3=24 ;-1 frecuencia H/L ;-2 pwn ;-3 A ;-4 D ;-5 S ;-6 R ;pulsadores =6x3=24 ;-control_reg ;1- NOISE_0 ;2-PULSE_0 ;3-SAWTOOTH_0 ;4-TRIANGLE_0 ;5-RING_MOD_0 ;6-SYNC_0 ;------------------------------------------------- ;filtro X1 ;encoders 2 ;-1 cutt of (frecuencia de corte) ;-2 resonance ;pulsadores 8 ;-1 filt 1 ;-2 filt 2 ;-3 filt 3 ;-4 filt 4 ;5- lp ;6- bp ;7- hp ;8- 3o ;------------------------------------------------- ;adicionales ;encoders ;1- volumen general ;2- modificar valor ;pulsadores ;1- menu, enter, ok... ;2- up ;3- down ;4- right ;5- left ;---------------------------------------------------------------------------------------- en el archivo adjunto teneis una simulacion para proteus y el codigo, para probar a cargar diferentes registros hay que cambiar los valores de la eeprom, asi cada mando se puede direccionar a un registro diferete del sid, referido a esta tabla, segun el valor que devuelva la lectura de eeprom saltara a un lado u otro SELECCION_REG_SID ADDWF PCL,F GOTO MEM_FREC_LH_0 GOTO MEM_PW_LH_0 GOTO MEM_CONTROL_REG_NOISE_0 GOTO MEM_CONTROL_REG_PULSE_0 GOTO MEM_CONTROL_REG_SAWTOOTH_0 GOTO MEM_CONTROL_REG_TRIANGLE_0 GOTO MEM_CONTROL_REG_TEST_0 GOTO MEM_CONTROL_REG_RING_MOD_0 GOTO MEM_CONTROL_REG_SYNC_0 GOTO MEM_CONTROL_REG_GATE_0 GOTO MEM_ATTACK_0 GOTO MEM_DECAY_0 GOTO MEM_SUSTAIN_0 GOTO MEM_RELEASE_0 GOTO MEM_FREC_LH_1 GOTO MEM_PW_LH_1 GOTO MEM_CONTROL_REG_NOISE_1 GOTO MEM_CONTROL_REG_PULSE_1 GOTO MEM_CONTROL_REG_SAWTOOTH_1 GOTO MEM_CONTROL_REG_TRIANGLE_1 GOTO MEM_CONTROL_REG_TEST_1 GOTO MEM_CONTROL_REG_RING_MOD_1 GOTO MEM_CONTROL_REG_SYNC_1 GOTO MEM_CONTROL_REG_GATE_1 GOTO MEM_ATTACK_1 GOTO MEM_DECAY_1 GOTO MEM_SUSTAIN_1 GOTO MEM_RELEASE_1 GOTO MEM_FREC_LH_2 GOTO MEM_PW_LH_2 GOTO MEM_CONTROL_REG_NOISE_2 GOTO MEM_CONTROL_REG_PULSE_2 GOTO MEM_CONTROL_REG_SAWTOOTH_2 GOTO MEM_CONTROL_REG_TRIANGLE_2 GOTO MEM_CONTROL_REG_TEST_2 GOTO MEM_CONTROL_REG_RING_MOD_2 GOTO MEM_CONTROL_REG_SYNC_2 GOTO MEM_CONTROL_REG_GATE_2 GOTO MEM_ATTACK_2 GOTO MEM_DECAY_2 GOTO MEM_SUSTAIN_2 GOTO MEM_RELEASE_2 GOTO MEM_FC_LH GOTO MEM_RES_FILTER GOTO MEM_MODE_VOL ahora lo que me va a dar guerra va a ser el porron de led que tengo pensado ponerle, conoceis algun circuito simple tipo vumetros de led para poner a la salida del sid y asi no cargar mas la memoria del pic con rutinas come memoria
  9. jajaj gracias pero no confieis mucho en lo que os diga, que a mi tambien se me escapa casi todo, esto es mu grande. pero creo que lo que pide Yota es cambio de pad con dos botones :rolleyes: esto seria tener varias configuraciones en el memory stick y saltando de unas a otras con el mismo controlador manejas diferentes cosas, como solucion rapida te puedo decir que puedes cambiar el canal midi, por ej en el canal 1 tienes asignados faders del 1-5 y en el canal 2 del 6 al 10 u asi, cambiando de canal en el controlador cambiarias a los otros mandos. como digo es la solucion rapida, pero busca eso de cambio de pad que recuerdo haberlo visto por el foro en spanish un saludo
  10. Hola Betances, y bienvenido a este mundillo. comentanos un poco que version has montado, que pic has utilizado 452, 4660... numero de ain, din si es un midibox64, lc, cosecha propia..... creo recordar que se grababa el mios desde el programador, que envia una señal cada ná, diciendo, estoy aqui (en midi) eso ya lo tienes se le metia el sist operativo, a traves del mios studio, esto parece que tambien lo tienes pero despues te queda ponerle la aplicacion. ya sea un sinte, controlador... etc hay configuraciones ya preparadas de cada aparato, pero tienes que hacerlas igual, si faltan o sobran botones, potes ... tendrias que configurarlo en el programa antes de cargarlo con mios studio un saludo
  11. hola Amando cuanto tiempo, si es que os tengo abandonaos. de momento estoy intentando recibir un note on, luego ya probare con cadenas largas de sysex, para cargar configuraciones diferentes uso un bank stick IIC en el que guardo la configuracion o cargo otra sobre la eeprom, pero con sysex todavia nada. solo mensajes de spp, sinc y mtc ya sabes, solo sincronismo. si ves la rutina rx de la usart. bueno le falta pulir, probar y mucho curro todavia. pero creo que va por buen camino y con pocas lineas para diferenciar unas tramas de otras. a ver si para esta semana monto un protoboard-sid :rolleyes: y le doy caña. pero asi le puedes echar un ojo y si quieres darme algun consejillo... :whistle: INT_RX ; BCF PIR1,RCIF ;EL BIT RCIF SE BORRA POR HARDWARE MOVF RCREG,W ;AL LEER RCREG MOVWF RX_TEMP BTFSC PIR1,RCIF GOTO INT_RX ;SI NO ESTA BAJO, NO SE VACIO EL BUFFER RCREG BTFSS RCSTA,OERR GOTO RX_BIEN BCF RCSTA,OERR ;BORRA ERROR POR DESBORDAMIENTO BCF RCSTA,CREN MOVF RCREG,W ;AL LEER RCREG MOVF RCREG,W ;AL LEER RCREG MOVF RCREG,W ;AL LEER RCREG BCF RCSTA,FERR BSF RCSTA,CREN RX_BIEN BTFSS RX_TEMP,7 GOTO IS_DATA IS_STATUS MOVF RX_TEMP,W ;SI COINCIDE EN EL MISMO CANAL ANDLW B'01110000' MOVWF RX_TEMP2 RRF RX_TEMP2,F RRF RX_TEMP2,F RRF RX_TEMP2,F RRF RX_TEMP2,F ;SE ROTA CUATRO VECES PARA QUEDARNOS CON LA PARTE ALTA MOVF RX_TEMP2,W ;A W ADDWF PCL,F ;Y SE SUMA AL PC PARA QUE SALTE A LA ORDEN DE STATUS QUE SEA GOTO ST_NOTE_OFF GOTO ST_NOTE_ON GOTO ST_AFTERTOUCH GOTO ST_CONTROL_CHANGE GOTO ST_PROGRAM_CHANGE GOTO ST_AFTERTOUCH_CANAL GOTO ST_PITCH_BEND GOTO ST_SISTEM_EXCLUSIVE NOP ST_NOTE_OFF BANKSEL PUNTEROS_RX MOVF RX_TEMP,W MOVWF STATUS_TEMP ANDLW B'00001111' ;SEPARA LOS BITS DE Nº DE CANAL 0-15=16 CANALES SUBWF REG_CHANNEL BTFSS STATUS,Z GOTO DATO_NO_VALIDO BSF UN_BYTE ;PONE A UNO LOS INDICADORES DE QUE FALTAN POR LLEGAR DOS BYTES BSF DOS_BYTE BSF INDICADOR_RX ;ESTE ES PARA SABER QUE AUN FALTAN BYTES POR LLEGAR RETURN ST_NOTE_ON ;A PARTIR DE AQUI SE ESPERAN DOS BYTES DE DATOS POR LLEGAR BANKSEL PUNTEROS_RX MOVF RX_TEMP,W MOVWF STATUS_TEMP ANDLW B'00001111' ;SEPARA LOS BITS DE Nº DE CANAL 0-15=16 CANALES SUBWF REG_CHANNEL BTFSS STATUS,Z GOTO DATO_NO_VALIDO BSF UN_BYTE ;PONE A UNO LOS INDICADORES DE QUE FALTAN POR LLEGAR DOS BYTES BSF DOS_BYTE BSF INDICADOR_RX ;ESTE ES PARA SABER QUE AUN FALTAN BYTES POR LLEGAR RETURN ST_AFTERTOUCH RETURN ST_CONTROL_CHANGE RETURN ST_PROGRAM_CHANGE RETURN ST_AFTERTOUCH_CANAL RETURN ST_PITCH_BEND RETURN ST_SISTEM_EXCLUSIVE RETURN IS_DATA BTFSS INDICADOR_RX GOTO DATO_NO_VALIDO BTFSC UN_BYTE GOTO UN_BYTE_ BTFSC DOS_BYTE GOTO DOS_BYTE_ DATO_NO_VALIDO RETURN ;------- UN_BYTE_ ;LLEGADO AQUI EL BYTE DE STATUS NOTE ON YA LLEGO Y FALTA OTRO POR LLEGAR BCF UN_BYTE ;LO PONE A CERO PARA EN EL SIGUIENTE BYTE_RX SALTAR MOVF RX_TEMP,W MOVWF UN_BYTE_TEMP ;ES UN NUMERO DE 0-127 INDICA LA NOTA QUE TIENE QUE SONAR MOVWF DATA_SID MOVF STATUS_TEMP,W ANDLW B'00000011' ADDWF PCL,F GOTO FREC_OSC_0 GOTO FREC_OSC_1 GOTO FREC_OSC_2 GOTO DATO_NO_VALIDO FREC_OSC_0 MOVF RX_TEMP,W BANKSEL REG_SINTH MOVWF FREC_H_0 BANKSEL DATA_SID MOVLW .1 MOVWF DIR_MEM_SID CALL SID6581_DATA ;CARGA EL DATO EN EL SID MOVLW .0 MOVWF DIR_MEM_SID CLRF DATA_SID ;A CERO EL VOLUMEN ES SOLO DE 0-127 CALL SID6581_DATA ;CARGA EL DATO EN EL SID RETURN ;Y RETORNA, A ESPERAR AL SIGUIENTE BYTE FREC_OSC_1 MOVF RX_TEMP,W BANKSEL REG_SINTH MOVWF FREC_H_1 BANKSEL DATA_SID MOVLW .8 MOVWF DIR_MEM_SID CALL SID6581_DATA ;CARGA EL DATO EN EL SID MOVLW .7 MOVWF DIR_MEM_SID CLRF DATA_SID ;A CERO EL VOLUMEN ES SOLO DE 0-127 CALL SID6581_DATA ;CARGA EL DATO EN EL SID RETURN ;Y RETORNA, A ESPERAR AL SIGUIENTE BYTE FREC_OSC_2 MOVF RX_TEMP,W BANKSEL REG_SINTH MOVWF FREC_H_2 BANKSEL DATA_SID MOVLW .15 MOVWF DIR_MEM_SID CALL SID6581_DATA ;CARGA EL DATO EN EL SID MOVLW .14 MOVWF DIR_MEM_SID CLRF DATA_SID ;A CERO EL VOLUMEN ES SOLO DE 0-127 CALL SID6581_DATA ;CARGA EL DATO EN EL SID RETURN ;Y RETORNA, A ESPERAR AL SIGUIENTE BYTE ;ESTE DATO HAY QUE ENVIARLO CONVERTIDO A 16 BITS AL REGISTRO FRECUENCIA RETURN ;DE MOMENTO SOLO LO GUARDA EN EL REGISTRO ESPERANDO EL SIGUIENTE DOS_BYTE DOS_BYTE_ BCF DOS_BYTE ;LO PONE A CERO PARA EN EL SIGUIENTE BYTE_RX SALTAR MOVF RX_TEMP,W MOVWF DOS_BYTE_TEMP ;ES UN NUMERO DE 0-127 INDICA LA NOTA QUE TIENE QUE SONAR ;AQUI LLEGARON LOS TRES BYTES QUE COMPONEN UN NOTE_ON BCF INDICADOR_RX ;BAJA EL INDICADOR PARA NO ALMACENAR MAS DATOS RETURN ;Y TERMINA YA NO QUEDAN MAS BYTES POR ESPERAR ;AQUI SE DEBERIAN ENVIAR LOS DATOS AL SID :D CON LA NOTA QUE TIENE QUE SONAR ENDM como decia mucho por pulir frec_osc_0, 1, 2 es lo mismo solo cambian las direcciones, quiero hacerlo por direccionamiento indirecto y demas, me falta seguir puliendo. sobre todo imagiarme las rutinas para control change y esa de sysex para el final. de momento no esta terminada ni el segundo byte de note por cierto, estuve buscando los dxf para el sid en el foro y solo encontre uno y no del original, alguno que no este peleado con el buscador. me haria el favor de buscar alguno que sea el original para el teclado de commodore :rolleyes: u otras versiones que creais que merece la pena y coger ideas para hacer uno nuevo. un saludo
  12. y otra vez me teneis por aqui, ya termine mi otro cacharrejo y quiero retomar este proyecto, pero otra vez desde cero :thumbsup: de esta forma depuro el soft anterior y lo hago exclusivo para manejar el sid. hasta el momento son solo rutinas sueltas. recepcion de la usart, rutinas para modulos din como encoders, pulsadores on/off, modulos dout, de momento tengo añadidas la rutina que usa el sid para cargar los datos y de otros proyectos los displays y leds que los tengo que añadir. me interesa que veais sobre todo esta, la del sid: se usa cargando el valor del registro sobre DATA_SID y la direccion del registro en DIR_MEM_SID se llama a la rutina y esto es lo que corre el programa ;MACROS PARA CARGAR DATOS EN EL SID ;-------------------------------------------------------------------------------------------------------------------------------------- SID6581_DATA MACRO WRITE_SID ;1º PONER A NIVEL BAJO #CS CHIP SELECT MINIMO TIEMPO ANTES DE ENVIAR LOS DATOS ;2º PONER A NIVEL BAJO R/W ESTE ESTA CONECTADO A TIERRA ASI QUE NOS OLVIDAMOS DE ÉL ;3º SACAR LOS DATOS DE DIRECCION DE MEMORIA A0-A4 ;4º SACAR LOS DATOS D0-D7 ;5º PONER A NIVEL ALTO #CS MINIMO TIEMPO 350nS BANKSEL PORTD BCF #CS NOP NOP MOVF DATA_SID,W MOVWF SERIAL_OUT_REG CALL WRITE_SID_1 MOVF DIR_MEM_SID,W MOVWF SERIAL_OUT_REG CALL WRITE_SID_1 CALL S_LATCH_ ;CALL DEMORA DE MINIMO 350nS ANTES DE SUBIR #CS BSF #CS NOP NOP RETURN ;----------- S_LATCH_ BCF S_LATCH NOP NOP NOP NOP BSF S_LATCH NOP NOP RETURN ;----------- WRITE_SID_1 MOVLW .9 MOVWF CON_SERIAL WRITE_SID_2 BCF S_CLK NOP NOP BCF S_DATA NOP NOP RRF DATA_SID,F BTFSC STATUS,C BSF S_DATA NOP NOP BSF S_CLK NOP NOP DECFSZ CON_SERIAL GOTO WRITE_SID_2 RETURN si os fijais en los siguientes pasos, ;1º PONER A NIVEL BAJO #CS CHIP SELECT MINIMO TIEMPO ANTES DE ENVIAR LOS DATOS ;2º PONER A NIVEL BAJO R/W ESTE ESTA CONECTADO A TIERRA ASI QUE NOS OLVIDAMOS DE ÉL ;3º SACAR LOS DATOS DE DIRECCION DE MEMORIA A0-A4 ;4º SACAR LOS DATOS D0-D7 ;5º PONER A NIVEL ALTO #CS MINIMO TIEMPO 350nS esto es lo que he sacado del datasheet lo podeis descargar de aqui por ej. http://hct.ece.ubc.ca/research/sidgroove/datasheets/6581.pdf en la pagina 9 abajo esta descrito el ciclo de escritura. ahora una vez echo esto tengo por un lado rutinas para encoders, estas detectan en que flanco esta girando modificando un registro, en el que guarda el nº de pasos que se movio 6-0 bits y en el 7 el estado de cada encoder. pulsadores lo mismo guardan la info de 6-0 y en el 7 el estado ademas este nos servira para indicar en un led si fue pulsado u no. ahora esto creo que ya esta listo para empezar. todo sea que las rutinas hagan lo que quiero. entonces llegado a este punto hay que saber de que forma vamos a cargar un sonido al sid. os comento como creo que se hace y de esta forma me podeis sugerir como deberia cargar los datos u si voy por buen camino, a partir de aqui un traspie puede tirar muchas horas de cogote al rojo :frantics: veamos, a ver si se me entiende. cada encoder y pulsador se asociara con una direccion del sid. para ello, he echo esta tabla de definiciones en la que se copiara el contenido de lo que haya cargado en el sid ;############################################ ;# oscilador 0 # ;############################################ #DEFINE REG_SINTH1 (REG_SINTH+.1) ;REGISTRO DONDE COMIENZA LA POSICION DE LOS RREGISTROS EN LA RAM PARA LOS VALORES #DEFINE FREC_L_0 (REG_SINTH+.1) ;DE LOS REGISTROS INTERNOS DE EL SINTETIZADOR #DEFINE FREC_H_0 (REG_SINTH+.2) #DEFINE PW_L_0 (REG_SINTH+.3) #DEFINE PW_H_0 (REG_SINTH+.4) #DEFINE CONTROL_REG_0 (REG_SINTH+.5) ;------------- NOISE_0 EQU 7 PULSE_0 EQU 6 SAWTOOTH_0 EQU 5 TRIANGLE_0 EQU 4 TEST_0 EQU 3 RING_MOD_0 EQU 2 SYNC_0 EQU 1 GATE_0 EQU 0 ;------------- #DEFINE ATTACK_DECAY_0 (REG_SINTH+.6) #DEFINE SUSTAIN_RELEASE_0 (REG_SINTH+.7) ;############################################ ;# oscilador 1 # ;############################################ ; #DEFINE FREC_L_1 (REG_SINTH+.8) #DEFINE FREC_H_1 (REG_SINTH+.9) #DEFINE PW_L_1 (REG_SINTH+.10) #DEFINE PW_H_1 (REG_SINTH+.11) #DEFINE CONTROL_REG_1 (REG_SINTH+.12) ;------------- NOISE_1 EQU 7 PULSE_1 EQU 6 SAWTOOTH_1 EQU 5 TRIANGLE_1 EQU 4 TEST_1 EQU 3 RING_MOD_1 EQU 2 SYNC_1 EQU 1 GATE_1 EQU 0 ;------------- #DEFINE ATTACK_DECAY_1 (REG_SINTH+.13) #DEFINE SUSTAIN_RELEASE_1 (REG_SINTH+.14) ;############################################ ;# oscilador 2 # ;############################################ ; #DEFINE FREC_L_2 (REG_SINTH+.15) #DEFINE FREC_H_2 (REG_SINTH+.16) #DEFINE PW_L_2 (REG_SINTH+.17) #DEFINE PW_H_2 (REG_SINTH+.18) #DEFINE CONTROL_REG_2 (REG_SINTH+.19) ;------------- NOISE_2 EQU 7 PULSE_2 EQU 6 SAWTOOTH_2 EQU 5 TRIANGLE_2 EQU 4 TEST_2 EQU 3 RING_MOD_2 EQU 2 SYNC_2 EQU 1 GATE_2 EQU 0 ;------------- #DEFINE ATTACK_DECAY_2 (REG_SINTH+.20) #DEFINE SUSTAIN_RELEASE_2 (REG_SINTH+.21) ;############################################ ;# filtro # ;############################################ #DEFINE FC_L (REG_SINTH+.23) #DEFINE FC_H (REG_SINTH+.24) #DEFINE RES_FILTER (REG_SINTH+.25) #DEFINE MODE_VOL (REG_SINTH+.26) ;LOS DEMAS REGISTROS SON DE SOLO LECTURA Y NO PODEMOS ACCEDER A ELLOS CON REGISTROS 74595 ;---------------------------------------------------------------------------------------- asi por ejemplo un pulsador asignado a NOISE_2 actvara desactivara el bit en la memoria del sid y en la memoria del pic, pero, siempre hay un pero como se genera un sonido?? usea una vez tenemos los encoders y pulsadores asignados a cada byte de la memoria, los colocamos como nos mole, y en ese momento llega un NOTE_ON por la usart. yo he pensado que sea con el nº de nota (segundo byte 0-127) modificar la frecuencia no se si seleccionar por canal el oscilador 1, 2 ó 3 y en base a la ecuacion. como ejemplo con el oscilador 1 ] Registros 00 y 01:Freq. LO/Freq. HI La unión de estos dos registros forman un número de 16 bits que controla linealmente la frecuencia del oscilador 1. La frecuencia se determina mediante al siguiente ecuación: Fout = (Fn * Fclk / 16777216) Hz Fn es el número de 16 bit mencionado antes, y Fclk es el reloj del sistema aplicado al pin 6 del circuito integrado. Para un reloj típico de 1.0 MHz, la frecuencia esta dada por: Fout = (Fn * 0.059604645) Hz y el segundo byte recibido del note_on que modifique el registro pwm con la operacion Registros 02 y 03:PW LO/PW HI La unión de estos dos registros forman un número de 12 bits (los bits 4..7 de PW HI no existen) que controla linearmente el ancho del pulso (ciclo útil) de la forma de onda pulso del oscilador 1. El ancho del pulso es determinado por la siguiente ecuación: PWout = (PWn / 40.95) % PWn es el número de 12 bit mencionado. La resolución del ancho del pulso le permite ser variado suavemente. La forma de onda pulso seleccionarse para el oscilador 1, para que el valor de estos registros tenga algún efecto en la salida. Valores de 0 o 4095 ($FFF) en estos registros producirán una salida constante de corriente continua, mientras que un valor de 2048 ($800) producira una onda cuadrada con un ciclo útil del 50%. de seguido se activa el bit GATE del registro CONTROL_1 del oscilador en cuestion lo que hace es GATE (Bit 0) El bit GATE controla el generador de envolvente para la voz 1. Cuando se pone este bit a 1, el generador de envolvente se dispara y el ciclo de ATAQUE/DECAIMIENTO/SOSTENIMIENTO comienza. Cuando el bit vuelve a 0, comienza el ciclo de RELAJAMIENTO. El generador de envolvente controla la amplitud de salida del oscilador 1, por lo tanto, el bit GATE debe ser seteado (junto con parametros de envolvente adecuados) para que la salida seleccionada del oscilador 1 sea audible. y de esta forma creo que puede funxionar mas menos, ya sabeis cualquier comentario siempre es bien recibido. aunque sea solo por mover un poco el foro de spanish a por cierto os cuelgo la direccion de la wiki de ucontrol con la traduccion del data del sid6581 gracias Ariel e aqui http://www.ucontrol.com.ar/wiki/index.php/SID6581 para los duros de mollera como yo un saludo PD dejo los archivos con lo que llevo echo para que le echeis un ojo, hasta el momento solo estoy haciendo pruebas con las salidas de datos para el sid en la simulacion de proteus, claro sin sid solo comprobando que salen y entran los datos por los registros proximo capitulo ''mandos'' que encoders y pulsadores ponemos
  13. was, casi na. se puede hacer de muchas formas eso que dices. pero no deberias empezar por algo mas sencillito?? tienes pantallas resistivas, capacitivas, ic especificos para control capacitivo como la rueda del ipod, pero le haces la forma que tu quieras al deslizador. incluso con leds lo puedes hacermidiendo la refraccion que se dan entre ellos, eso si vas a tener que currartelo y programarlo. o por lo menos yo no he visto ningun proyecto por aqui con algo asi. un saludo
  14. se a que te refieres >:( yo normalmente estoy por el foro todopic y he leido algun post de allá, muy cabreaos con los precios. pero no te creas que aqui no se columpian, cualquier componente cuesta el doble que en internet, ya ni te cuento como se suben por aqui los fabricantes de pcb, por ej un led si es rojo lo venden a 30centimos de euro (ya es caro) pero si es azul no los he visto por debajo de 1,5 leuros y esta mas caro que el dolar. te comente el pedirlo todo en una misma pcb por comodidad, solo era una idea. yo odio tirar cablecillos de una placa a otra y a los pulsadores, potes... ya ni te cuento. alfinal son todo ruidos. que se tarda la mitad en hacer una pcb donde encaje todo. respecto a lo de conocer el instrumento vas a tener que hacer algo mas que soldarlo para conocerlo, por lo menos desde mi punto de vista, para entender como y por que funciona, tendrias que cogerte los datasheets e ir haciendo los circuitos en eagle u otro, asi lo hice yo y de momento no me va mal, creo que de memoria podria dibujar un core jajajaj te puedo decir que nunca estudie nada de esto desde luego que si localizas precios mejores para hacer unas pcb que la tienda de smash, yo tambien estoy interesado en un fabricante asi para mis cosillas, ya te digo que es muy dificil superar esos precios. pero si lo conseguiste, Ole¡¡ tienen web para hacerles alguna consultilla?? aqui decimos mira, compara y si encuentra algo mejor... comprelo ;)
  15. pero ya que vais a pedir hacer las placas podriais ponerlas todas en la misma pcb ya conectadas, de esta forma os ahorrais el tenerlas que conectar con cablecillos que parece que no, pero es un rollo estarlos soldando. ademas podeis añadir un conector para la lcd ordenado y conectores midi. ya no os digo nada de potes y pulsadores ya que cada uno querra colocarlos de una forma diferente, pero es un punto ponerlo todo sobre un par de placas y conectarlas con pines hembra una y macho otra, tipo sandwich para los componentes no se que tal andara la cosa por alli, yo os recomiendo si vais a pedir los componentes por internet, mirar en futurlec.com tienen potes a 0,55$ ,para los led hay un chino en ebay al que le compre 100 rosas y 100 azules por 15 leuros tambien tiene lcd y algunas cosillas
×
×
  • Create New...