Este es un escenario muy corriente últimamente. En este artículo, vamos a dar unos consejos básicos para utilizar la DSP en aplicaciones de packet 1200 o 9600, con aplicaciones para DOS o Windows.
Vamos por partes.
Este es un ejemplo de conexión, que es usado por Doug. El además usa PTT independientes.
Esto es todo. Algún manitas en su tiempo instaló un MAX232 para poder utilizar las señales del puerto serie que por defecto no se usa.
He aquí un ejemplo con prácticamente todas las posibilidades:
Lo primero que tendremos que hacer es comprobar la correspondencia de los pines empleados en nuestro interfaz con los que se emplean en el módem. En la EVM, la correspondencia es la siguiente con el conector J7:
El pin 16 es el que está conectado a masa.
Luego comprobaremos a que pin tenemos conectados los LED y sobre todo el PTT. Para ver esto, basta con mirar en el fuente con un editor de textos ascii (el Edit del MSDOS, o el Notepad de Windows) y buscar órdenes similares a esta:
DCDLED macro mode
;DCD LED clr/set/chg
b\mode #13,X:$FFE4
endm
Esta es una macro que define tres órdenes que nos vamos a encontrar más tarde en el programa. Las órdenes, serán:
DCDLED CLR ; Para apagar el LED
DCDLED SET ; Para encender el LED
DCDLED CHG ; Para cambiar el estado del LED
Aquí se define la posición del bit que controla la el LED correspondiente al DCD. La clave está en el valor después del #, ya que hace referencia al pin del puerto B, que se va a modificar, el valor X:$FFE4 es fijo y se refiere a la puerta B. Para variar el pin que va a gobernar esta orden, bastará con sustituir el #13 de este caso con el número del nuevo pin al que nosotros tenemos conectado el LED. En el caso de que el programador no haya usado macros, bastará con buscar órdenes que contengan la cadena ",X:$FFE4"
Un conexionado muy corriente es el siguiente que corresponde a lo primeros montajes de Johan KC7WW y Dannie ZS6AWK. Es el empleado también en el interfaz que ha desarrollado Jabi EA2ARU.
Portadora : #13
PTT : #0
DCD : #2
Una vez que hemos comprobado que las conexiones de nuestro interfaz coincide con lo que el autor del fuente espera, conviene comprobar donde espera éste encontrarse las conexiones de entrada y salida de audio, esto se ve estudiando las órdenes del tipo:
ctrlcd 1,r2,buflen,MIC,0.0,0.0,LINE|HEADP,0.0,0.0
Tal y como se ha visto en artículos anteriores, se definen entre otros la línea de entrada que se va a utilizar, las atenuaciones de los dos canales, las líneas de salida que se van a usar y la ganancia de los canales. Esta es la razón por la que no hay potenciómetros, cambiando los valores de las ganancias, podemos sacar los niveles de salida y de entrada deseados. Además los programas pueden gestionar por soft el valor de la ganancia de manera que sean los óptimos. En general podríamos ver en que canal el autor no espera audio, observando donde pone ganancia 0. En principio no bastaría con cambiar las ganancias para utilizar el otro canal, ya que habría que cambiar el programa para que lea los valores del nuevo canal.
La variante que se propone aquí es utilizar la versión de la BIOS y el programa DL de Doug N1OWU. Estos programas añaden una funcionalidad muy interesante que es que una vez programada la BIOS, se pueden cargar programas a través de la puerta serie, en vez de a través del puerto ONCE y con el programa de debug. Es decir, se puede automatizar el funcionamiento, pudiendo cargar diversos modems desde un fichero .bat. En principio, será necesario tal y como se ha visto en artículos anteriores, ensamblar la bios, el módem y la aplicación de carga con los comandos:
ASM56000 -a -b -g -l bios2.asm
ASM56000 -a -b -g -l fsk1200.asm
ASM56000 -a -b -g -l flshboot.asm
Si no hemos modificado el leonid estaremos configurando el módem a 19200.
Una vez hecho esto, ejecutaremos las órdenes siguientes:
force r
ch X:0#$3ff 0
ch Y:0#$3ff 0
ch P:0#$3ff 0
load bios2
load fsk1200
load flshboot
go FlashCopy
Siempre que reprogramemos la EEPROM, es recomendable inicializarla a 0 con los comandos CH tal como se muestra, ya que a veces, los modems no inicializan todas las variables y puede ser motivo de que no funcione correctamente.
En caso de utilizar modems con tamaño mayor, sería necesario, calcular el tamaño de los mismos, e incluirlo en el fichero flshboot.asm tal y como se describe en el mismo fichero.
Después de acabar de ejecutar la rutina de grabación, en un par de segundos tendremos nuestro flamante módem con interfaz kiss. Después de hacer un reset podemos empezar a usarlo. No olvidaros de cambiar el cable serie a la otra puerta.
Si quisiéramos emplear el DL.EXE para cargar programas, no tenemos más que ensamblar el programa (después de revisarlo) transformarlo a .LOD desde el .CLD nativo que se genera con el comando:
cldlod modem.cld > modem.lod
Y cargarlo con el comando:
dl -p 2 -g modem.lod
Si inicializamos el entorno con la variable DSPPORT=x, donde X es el número de la puerta serie que se utiliza, basta con usar el comando:
dl modem.lod
Además de sumamente cómodo da la posibilidad de cambiar el valor de variables en tiempo de carga, lo que evita tener que reensamblar los fuentes cada vez.
Para programas que se las entiendan con interfaces de tipo host, se puede emplear el TFKISS. Esto incluye a programas como el TSTHOST, o el Graphic Packet.
Un clásico que es un poco difícil de poner a funcionar es el Winpack con Windows 95. Para hacerlo funcionar hay que montar un BPQ, seguir las instrucciones respecto al driver de modo protegido, solo que teniendo en cuenta que hay que instalarlo obligatoriamente en un directorio llamado C:\WINDOWS\SYSTEM, no valen otros nombres ni otros discos. Hay que incluir en el autoexec.bat, una llamada al BPQCODE. El último paso, consiste en crear un perfil de hardware en Windows 95 que elimine el puerto COM que está usando el BPQ. Después de esto, se rearranca Windows seleccionando este perfil y se configura el Winpack para usar BPQ. Hay quien dice que este último paso (la creación del perfil no es necesario), la razón del mismo es impedir que programas de Windows que escanean puertos de comunicaciones automáticamente, lo hagan sobre el puerto que estamos empleando.
Los programas a los que se hace referencia en este artículo están disponibles como se ha mencionado en ftp://det.bi.ehu.es/pub/ham