Generador de forma de onda arbitraria, para ~ 20$ (5 / 6 paso)

Paso 5: Programación del AWG

Aquí es una guía a la programación de este dispositivo. Voy a empezar con el programa utilizado para generar la onda senoidal de 1,7 Mhz:

INICIO:

.include "m8515def.inc"; Se trata de un archivo de definición de una cosa muy útil para utilizar. Si usted necesita una copia, google el nombre del archivo

REGISTERS0:
LDI r16, 0 x 00
LDI r17, 0x25
LDI r18, 0x7F
LDI r19, 0xD9; Carga coloca primero, así más adelante que el código puede producir salida de ~ 1 por ciclo de reloj
LDI r20, 0xFF; Estos valores fueron determinados por 127*sin(x)(pi/4), para valores enteros positivos de x.
out DDRB, r20

Sine0 de 2Mhz:
out PORTB, r18
out PORTB, r19
out PORTB, r20
out PORTB, r19
out PORTB, r18
out PORTB, r17
out PORTB, r16
out PORTB, r17; un período de sine onda @ 2Mhz si utiliza una velocidad de reloj de 16Mhz
rjmp sine0 de 2Mhz

Este siguientes son ejemplos de ondas senoidales de 1Mhz, generadas de dos formas diferentes.

Sine0 de 1Mhz:
out PORTB, r18
NOP
out PORTB, r19
NOP
out PORTB, r20
NOP
out PORTB, r19
NOP
out PORTB, r18
NOP
out PORTB, r17; un período de sine onda @ 1Mhz si utiliza una velocidad de reloj de 16Mhz
NOP
out PORTB, r16; Esta es la manera perezosa.
NOP
out PORTB, r17; El siguiente ejemplo demostrará la mejor manera.
rjmp sine0 de 1Mhz

REGISTERS1:
LDI r16, 0x7F
LDI r17, 0xAB
LDI r18, 0xD1
LDI r19, 0xF6
LDI r20, 0xFE
LDI r21, 0x53; Aviso que hemos cargado 9 registros a memoria! Tenga en cuenta cuántos registros tiene, y
LDI r22, 0x2D, hacer buen uso de ellos. Donde 127*sin(x)(pi/n), n puede ser cualquier número de registros
LDI r23, 0x08; donde el número de registros de más de 1 dividido por 2... Si no me equivoco!
LDI r24, 0 x 00
1Mhz sine1:
out PORTB, r16
out PORTB, r17
out PORTB, r18
out PORTB, r19
out PORTB, r20
out PORTB, r19
out PORTB, r18
out PORTB, r17
out PORTB, r16
out PORTB, r21
out PORTB, r22
out PORTB, r23
out PORTB, r24
out PORTB, r23
out PORTB, r22
out PORTB, r21
rjmp 1Mhz sine1

Lo anterior es un buen ejemplo de equilibrio entre resolución y frecuencia. Reducir a la mitad la resolución, puede ser doble de la frecuencia. Un lector perspicaz
habrá notado que ambas formas de onda usan 0x7F (127) como un punto cero sin importar el orden que se cargan los registros... Usted puede determinar que otra
punto cero es más útil para ciertas formas de onda... pero para los simétricos como estás más probabilidades de usar, 0x7F es óptimo.

Ahora, pasamos a un tema más complicado... ¿Cómo generamos una forma de onda de 1,5 Mhz? Tenga en cuenta:
sine(x)(PI/6)
que seria la resolución correcta a usar... pero, ya que esta resolución se divide uniformemente en 2pi, pero no en p/2... nuestra forma de onda se verá extraño,
porque en ningún momento es la salida igual al mínimo o el máximo de la función, es decir algo cerca de 0 x 00 o 0xFF! Para el colmo
frecuencias, la forma de onda puede ser aproximadamente correcto de todos modos, debido a la natural capacitancia e inductancia en los circuitos. Este resiste cualquier cambio
en corriente o voltaje, tan en frecuencias más altas, si salida 0 x 00 diez veces, luego 0xFF dos veces... la segunda 0xFF le dará un valor algo más alto
que la primera. Pruébelo y verá, puede o no funcionar dependiendo de las variables que son demasiado complejas para discutir aquí.

El punto es que es difícil o imposible generar frecuencias que no son fracciones binarias de la velocidad de reloj... En muy alta
las frecuencias podrían ser capaces de "hacer trampa" mediante la capacitancia parásita y la inductancia... y sin duda a bajas frecuencias la cuestión se convierte en irrelevante
como veremos en el siguiente ejemplo... pero sin duda hay algunas frecuencias que se pueden generar.

Un ingeniero inteligente (es decir: no me) se instalará una toma de corriente para el oscilador de cristal utilizado en este dispositivo... así, él o ella puede trivial cambiar la
frecuencia fundamental del dispositivo y obtener esencialmente cualquier frecuencia quieren dentro de las especificaciones del microcontrolador
(He visto baratos... 2$... atmels que trabajan a velocidades de reloj de hasta 20 Mhz).

Ahora, aquí está algo de código para una onda de frecuencia decididamente menor. Se trata básicamente de código de la página web que aparece como una referencia:
http://www.AVR-ASM-tutorial.net/avr_en/AVR_DAC.html
La forma de onda es una onda diente de sierra. Ir a visita el sitio web y es muy útil el código allí es realmente bueno para ondas de frecuencia baja-media.

.include "m8515def.inc"
INICIO:
LDI r18, 0xFF
out DDRD, r18

DIENTE DE SIERRA:
out PORTD, r18
Inc r18
rjmp diente de Sierra

Esto genera una forma de onda de aproximadamente 2,5 kHz. Usted puede aumentar o disminuir la frecuencia agregando pausas (nop) o contadores de tiempo, o usted podría aumentar la frecuencia
por disminuir la resolución... en lugar de inc (incremento) sencillo agregar un número al r18. Si añades 2, la frecuencia se duplicaría. Si añades 3 y una pausa
(nop), la frecuencia se incrementará en 1.5 veces.

Para hacer una onda triangular, agregar un IPC declaración para probar si r18 es igual a 0xFF y si es así, rama a una función similar disminuye o resta de r18. Que función tiene por supuesto examen si r18 = 0 x 00 y si tan rama a la primera función.

Voy a terminar este tutorial con algunas pistas sobre cómo utilizar inteligentemente este dispositivo:
-Utilizar las funciones de temporizador adecuado para crear exactamente ondas de baja frecuencia. Es más difícil de lo que piensa hacer un seguimiento de ciclos de reloj de los programas en tu cabeza.
-Si las funciones de temporizador asustan (que me asustan), cuenta ciclos de reloj en la cabeza y luego probarlo en su alcance para asegurarse de que es correcto.
-A decimal a hexadecimal convertidor es muy útil para determinar lo que deben ser los valores de los registros.
-No conectar este dispositivo a una antena y utilizar para las comunicaciones inalámbricas si no tienes licencia y sabes lo que estás haciendo.
-Usted probablemente puede programar hasta una onda cuadrada de 4 Mhz con este dispositivo... usarlo como una fuente de reloj variable o inyectar comunicaciones serie en un circuito.
-8 de ellos junto a un reloj común haría una fuente genial programables paralelo.
-Generar potenciales de acción de la neurona con él y sin duda salvar su laboratorio de Biología un montón de dinero.
-Hacer un piano con él.
-Este dispositivo deja sin usar gran cantidad de entradas en el atmega. Si desea que el dispositivo más conveniente pero han restringido las funciones, se podría construir un
interfaz para él y un programa inteligente por lo que puede generar una variedad de formas de onda y frecuencias sin reprogramación.
-Recuerde que rjmp ciclos de reloj y crea un artefacto! Conseguir alrededor de esto incluyendo muchos períodos en su programa antes de bucle. Hacer un buen uso
de toda esa memoria en las atmegas!

Anticuado (Legión Labs es un esfuerzo de investigación nueva, sin fines de lucro, sin necesidad de grados situado actualmente en Montreal. No estamos afiliados con otras organizaciones.
Actualmente cuenta con uno de los miembros, ya que sólo muy recientemente he considerado ampliar el alcance de esta operación.)

Corriente: Legión Labs es un miembro de la sede en montreal sin fines de lucro investigación e ingeniería esfuerzo con un número de otras personas, que alquilan un taller industrial como un lugar para jugar.

Artículos Relacionados

Generador de forma de onda arbitraria Atmel Xmega USB/Serial

Generador de forma de onda arbitraria Atmel Xmega USB/Serial

este instructable le guía a través de la programación y uso de la evaluación Xmega Android Boston para trabajar como un generador de forma de onda arbitraria simple aprovechando el integrado 12 bit DAC y el controlador DMA de alta velocidad. He propo
Fácil Atmel Xmega senoidales / generador de forma de onda

Fácil Atmel Xmega senoidales / generador de forma de onda

se trata de cómo puede utilizar una de las juntas de evaluación de BostonAndroid.com Xmega ($20) para crear un generador de forma de onda de seno ajustable simple con resolución de 12 bits y capaz de producir frecuencias de 125Hz - 20KHz con DAC inte
Generador de forma de onda de Arduino controlado por iOS

Generador de forma de onda de Arduino controlado por iOS

Este generador se basa en el trabajo de Amanda Ghassaei. Generadores de forma de onda (o generadores de funciones) se utilizan para probar y depurar circuitos. por ejemplo, respuesta de frecuencia de amp op o sensores. Este generador es alimentado po
Generador de forma de onda de Arduino Shield

Generador de forma de onda de Arduino Shield

Generadores de forma de onda (también llamados generadores de funciones) son útiles para probar y depurar circuitos. Pueden ser utilizados para probar la respuesta de frecuencia de componentes electrónicos como sensores y amplificadores op o para car
Controlar el generador de forma de onda analógica Discovery™ en LabVIEW

Controlar el generador de forma de onda analógica Discovery™ en LabVIEW

El objetivo de este proyecto es para enseñarle a controlar el descubrimiento análogo con LabVIEW. En particular, este proyecto demostrará cómo controlar el generador de forma de onda analógica descubrimientos. Usted puede controlar la frecuencia y am
Cero de Arduino CAD Resumen y ejemplo de generador de forma de onda

Cero de Arduino CAD Resumen y ejemplo de generador de forma de onda

En este Instructable echamos un vistazo en el digital al convertidor análogo (DAC) en el cero de Arduino. Veremos un ejemplo simple de cómo utilizar el CAD y luego veremos un ejemplo más complejo que convierte el CAD en un generador de forma de onda
Cómo instalar 2015 de formas de onda en Windows

Cómo instalar 2015 de formas de onda en Windows

Formas de onda de 2015 es una pieza de software desarrollado por Digilent diseñado para uso con el Analog Discovery 2, Descubrimiento análogo,EE Juntao Analog Discovery 2 NI edición.Proporciona la interfaz de usuario para un osciloscopio de canal 2,
Cómo instalar formas de onda 2015 en Linux

Cómo instalar formas de onda 2015 en Linux

Formas de onda de 2015 es una pieza de software desarrollado por Digilent diseñado para uso con el Analog Discovery 2, Descubrimiento análogo, EE Juntao Analog Discovery 2 NI edición.Proporciona la interfaz de usuario para un osciloscopio de canal 2,
Cómo instalar formas de onda 2015 en OSX

Cómo instalar formas de onda 2015 en OSX

Formas de onda de 2015 es una pieza de software desarrollado por Digilent diseñado para uso con el Analog Discovery 2, Descubrimiento análogo, EE Juntao Analog Discovery 2 NI edición.Proporciona la interfaz de usuario para un osciloscopio de canal 2,
Manejo de formas de onda de LapTop

Manejo de formas de onda de LapTop

Mostrar en términos de voltios y amperiosPaso 1: Recursos de ordenador portátil Computadoras portátiles contienen típicamente los recursos para encender un circuito y monitor de formas de onda.Muchas aplicaciones gratis pueden mostrar las formas de o
Laboratorio de prueba de banco-osciloscopio/forma de onda

Laboratorio de prueba de banco-osciloscopio/forma de onda

Banco de pruebas de laboratorioPara las clases de ingeniería eléctrica, equipo de laboratorio básico tales como osciloscopios y generadores de señal suele costar cientos de dólares.En este proyecto que quiero implementar el hardware y el software ini
Forma de onda collar y pulsera de

Forma de onda collar y pulsera de

Obtener un único collar o pulsera, grabando su voz!El diseño de este collar es generado de cualquier tipo de muestra de audio, su forma representa la forma de onda de audios.Enviar un mensaje de amor, palabras de grabar el primero de su hijo, use el
Forma de onda Media

Forma de onda Media

este proyecto se relaciona con nuevos medios de almacenamiento. (Este soudwaves son mensajes grabados de sus preciosos. (Y se puede escuchar el mensaje cada vez que desee.Ver esta película!Los medios de comunicación de la onda acústica de Yusuke Naka
Hacer una caja de regalo en forma de corazón para San Valentín!

Hacer una caja de regalo en forma de corazón para San Valentín!

En este instructable te voy a mostrar cómo hacer una sencilla caja de regalo bonita en forma de corazón para el día de San Valentín! Visita mi tienda de marco local y recoger raspaduras o descatalogado esteras. Más el tiempo que me dan estos gratis o