ECB-BF532/schematic/com/SPORT

From Wiki-linuxencaja
Jump to: navigation, search

Contents

Serial Ports (SPORTs) 0/1

Ubicación de los pines de conexión para los puertos seriales de alta velocidad en la tarjeta
Esquema de conexión entre los puertos Sincrónicos Seriales y los Conectores J21-J22

El procesador incorpora 2 puertos seriales sincrónicos de canal-dual para comunicaciones seriales y multiprocesadores.

  • Capacidad para operar I2S Bidireccional. Cada Sport tiene 2 conjuntos de pines de transmisión/recepción, permitiendo ocho canales de audio I2S estéreo.
  • Puertos de Buffer para transmisión/recepción.
  • Clocks. Cada puerto de transmisión/recepción puede utilizar un clock serial externo ó generar el propio internamente en un gran rango de frecuencias
  • Longitud de Palabra de Datos. Cada puerto serial soporta palabras de datos de 3- a 32-bits, transmitiendo al inicio tanto el bit más significativo (MSB) como el bit menos significativo (LSB).
  • Entramado: Cada puerto de transmisión/recepción puede usar o no la sincronización por trama para cada palabra de dato. Las tramas de sincronización pueden ser generadas de manera interna o externa, activo en alto o en bajo, y con cualquiera de los dos anchos de pulso y la sincronización de tramas temprana o tarde.
  • Compansión Hardware: Para cada Sport se puede implementar compansión por ley A o ley u de acuerdo con la recomendación ITU G.711. La compansión puede ser elegida en el canal de recepción y/o transmisión del Sport sin latencias adicionales.
  • Operaciones DMA con sobrecarga en 1 solo ciclo: Cada puerto puede automáticamente recibir y transmitir multiples buffers de memoria de datos. El procesador puede enlazar o encadenar secuencias de transferencias DMA entre los Sports y la memoria
  • Interrupciones: Cada puerto de TX/RX genera una interrupción al completar la transferencia de una palabra de datos o después de transferir un buffer(es) completo(s) de dato(s) hacia DMA
  • Capacidad Multicanal: Los Sport soportan 128 canales de salida por medio de una ventana de 1024 canales y es compatible con H.100, H.110, MVIP-90 y HMVIP
  • Frecuencia: Ya sea por medio de CLK externo o interno, el Sport puede llegar a frecuencias de operación como máximo de SCLK/2
  • Los 2 Sports tienen las mismas capacidades de operación y son programados de la misma manera. Cada Sport tiene su propio set de registros de control y buffers de datos.

Registros de Control y Estado

SPORT0

Dirección Mapeada en Memoria Nombre del Registro SPORT0
0XFFC0 0800 SPORT0_TCR1
0XFFC0 0804 SPORT0_TCR2
0XFFC0 0808 SPORT0_TCLKDIV
0XFFC0 080C SPORT0_TFSDIV
0XFFC0 0810 SPORT0_TX
0XFFC0 0818 SPORT0_RX
0XFFC0 0820 SPORT0_RCR1
0XFFC0 0824 SPORT0_RCR2
0XFFC0 0828 SPORT0_RCLKDIV
0XFFC0 082C SPORT0_RFSDIV
0XFFC0 0830 SPORT0_STAT
0XFFC0 0834 SPORT0_CHNL
0XFFC0 0838 SPORT0_MCMC1
0XFFC0 083C SPORT0_MCMC2
0XFFC0 0840 SPORT0_MTCS0
0XFFC0 0844 SPORT0_MTCS1
0XFFC0 0848 SPORT0_MTCS2
0XFFC0 084C SPORT0_MTCS3
0XFFC0 0850 SPORT0_MRCS0
0XFFC0 0854 SPORT0_MRCS1
0XFFC0 0858 SPORT0_MRCS2
0XFFC0 085C SPORT0_MRCS3

SPORT1

Dirección Mapeada en Memoria Nombre del Registro SPORT1
0XFFC0 0900 SPORT1_TCR1
0XFFC0 0904 SPORT1_TCR2
0XFFC0 0908 SPORT1_TCLKDIV
0XFFC0 090C SPORT1_TFSDIV
0XFFC0 0910 SPORT1_TX
0XFFC0 0918 SPORT1_RX
0XFFC0 0920 SPORT1_RCR1
0XFFC0 0924 SPORT1_RCR2
0XFFC0 0928 SPORT1_RCLKDIV
0XFFC0 092C SPORT1_RFSDIV
0XFFC0 0930 SPORT1_STAT
0XFFC0 0934 SPORT1_CHNL
0XFFC0 0938 SPORT1_MCMC1
0XFFC0 093C SPORT1_MCMC2
0XFFC0 0940 SPORT1_MTCS0
0XFFC0 0944 SPORT1_MTCS1
0XFFC0 0948 SPORT1_MTCS2
0XFFC0 094C SPORT1_MTCS3
0XFFC0 0950 SPORT1_MRCS0
0XFFC0 0954 SPORT1_MRCS1
0XFFC0 0958 SPORT1_MRCS2
0XFFC0 095C SPORT1_MRCS3


SPORTx_TCR1 y SPORTx_TCR2

Los registros "Transmit Configuration" están encargados principalmente para la transmisión de datos. Los bits que componen el registro SPORTx_TCR1 son:

  • Clock Falling Edge Select (TCKFE)
  • Late Transmit Frame Sync (LATFS)
  • Low Transmit Frame Sync Select (LTFS)
  • Data-Independent Transmit Frame Sync Select (DITFS)
  • Transmit Frame Sync Requiered Select (TFSR)
  • Internal Transmit Frame Sync Select (ITFS)
  • Transmit Bit Order (TLSBIT)
  • 2 Data Formatting Type Select (TDTYPE)
  • Internal Transmit Clock Select (ITCLK)
  • Transmit Enable (TSPEN)

Los bits que componen el registro SPORTx_TCR2 son:

  • Left/Right Order (TRFST)
  • Transmit Stereo Frame Sync Enable (TSFSE)
  • TxSEC Enable (TXSE)
  • 5 SPORT Word Lenght (SLEN)

Un SPORT está habilitado para transmitir si TSPEN=1. Al habilitar TSPEN se genera inmediatamente una interrupción que indica que el registro de transmisión está vacío y debe llenarse.

El bit ITCLK selecciona el tipo de Clock que se va a utilizar ya sea interno (=1) ó externo (=0).

Los 2 bits para TDTYPE especifica el formato de datos ya sea para operación en canal sencillo ó multicanal

El bit TLSBIT decide que tipo de dato se transmite primero en la trama, si el MSB ó el LSB

La longitud de palabra serial (SLEN) indica el tamaño de la palabra en bits para cada transmisión por SPORT. SLEN puede tomar valores entre 2 y 31. Los valores comunes para SLEN son 15 con lo que se transmiten palabras de 16-bits, 7 para transmitir 8-bits o 23 para transmisión de 24-bits.

ITFS es un bit que selecciona si el SPORT utiliza TFS interno si está en alto ó TFS externo si está en bajo.

TFSR=1 indica que se requiere un trama de sincronización para transmitir cada palabra de datos, de lo contrario, si TFSR=0 esta sincronización por trama no se requiere.

El bit DITFS selecciona si el SPORT genera un TFS independiente de los datos (sincronización a un intervalo seleccionado) ó un TFS dependiente de los datos (sincronización cuando los datos están presentes en SPORTx_TX). Este bit es ignorado cuando se selecciona sincronización por trama externa.

El bit LTFS selecciona si el TFS es activo en bajo (=1), o si el TFS es activo en alto (LTFS=0)

El bit LATFS sincroniza por principios de trama (=1), o por finales de trama (=0)

El bit TCKFE designa que tipo de flanco de la señal TCLKx se utiliza para operar los datos, las tramas de sincronización y para generar tramas externas de sincronía.

TXSE es un bit que habilita el segundo transmisor del puerto serial (=1)

TSFSE habilita el modo de operación "Serial Stereo" (=1).

Cuando el bit TRFST=1 el canal derecho de transmisión utiliza el modo serial stereo, de lo contrario, se utiliza el canal izquierdo primero.

SPORTx_RCR1 y SPORTxRCR2

Los registros "Receive Configuration" son los principales para la recepción de cada puerto serial

Los bits que componen el registro SPORTx_RCR1 son:

  • Clock Falling Edge Select (RCKFE)
  • Late Receive Frame Sync (LARFS)
  • Low Receive Frame Sync Select (LRFS)
  • Receive Frame Sync Required Select (RFSR)
  • Receive Enable (RSPEN)
  • Internal Receive Clock Select (IRCLK)
  • 2 Data Formatting Type Select (RDTYPE)
  • Receive Bit Order (RLSBIT)
  • Internal Receive Frame Sync Select (IRFS)

Los bits que componen el registro SPORTx_RCR2 son:

  • Left/Right Order (RRFST)
  • Receive Stereo Frame Sync Enable (RSFSE)
  • 5 SPORT Word Length (SLEN)
  • RxSEC Enable (RXSE)

RSPEN: Cuando está activo permite que el SPORT esté dispuesto para recibir datos

IRCLK=1 significa que se utiliza un clock interno, si IRCLK=0 entonces el clock será externo

Los 2 bits de RDTYPE permiten especificar uno de los cuatro tipos de datos por canal sencillo ó multicanal

RLSBIT selecciona que tipo de dato se transmite primero en la trama, si el MSB ó el LSB

SLEN indica el tamaño de la palabra en bits para cada transmisión por SPORT. SLEN puede tomar valores entre 2 y 31.

IRFS selecciona si el SPORT usa un RFS interno (=1) o externo (=0)

RFSR selecciona si se requiere o no una trama de sincronía para la recepción por cada palabra de datos

LRFS selecciona si el RFS es activo en bajo (=1) o en alto (=0)

LARFS sincroniza por principios de trama (=1), o por finales de trama (=0)

RCKFE designa que tipo de flanco de la señal RSCLK se utiliza para operar los datos, las tramas de sincronización y para generar tramas externas de sincronía.

RXSE Habilita el puerto serial secundario de recepción (=1)

RSFSE habilita el modo Estéreo Serial

RRFST l canal derecho recibe primero y en modo estéreo. Por defecto el canal izquierdo recibe primero.

SPORTx_TX

El registro "SPORT Transmit Data" es de sólo escritura en el cual sólo se escribe la palabra de datos la cual es transmitida por medio de una FIFO para que luego otro registro de corrimiento permita enviarlos de forma serial

Nota: La FIFO es común para el primario y secundario,

Hay 2 registros de transmisión cada uno de 16-bit, creando así un registro de 32-bit

SPORTx_RX

El registro "Receive Data" es de sólo lectura. La lectura se hace a partir de los datos recibidos en la FIFO de recepción y por medio de un registro de corrimiento.

Hay 2 registros de recepción cada uno de 16-bit, creando así un registro de 32-bit

SPORTx_STAT

El registro "SPORT Status" es utilizado para determinar si la FIFO de transmisión o recepción están ocupadas (lleno), o sin datos (vacío)

Este registro contiene los siguientes bits:

  • Transmit Hold Register Empty (TXHRE)
  • Sticky Transmit Overflow Status (TOVF)
  • Sticky Transmit Underflow Status (TUVF)
  • Transmit FIFO Full Status (TXF)
  • Receive FIFO Not Empty Status (RXNE)
  • Sticky Receive Underflow Status (RUVF)
  • Sticky Receive Overflow Status (ROVF)

TXF: Indica si la FIFO de transmisión está llena de datos

RXNE: Inidica si existen datos actualmente en la FIFO de recepción

TXHRE: Indica si el registro HOLD está vacío

TUVF: Se activa cuando ocurre la señal TFS se activa tanto de fuente interna como externa

TOVF: Este bit se activa cuando se intenta escribir en la FIFO de TX cuando está llena.

ROVF: Cuando el registro SPORT RX HOLD está lleno y se recibe una nueva palabra de datos en el registro de corrimiento se activa este bit por overflow

RUVF:Este bit se activa cuando se intenta leer de la FIFO de RX pero está vacía

SPORTx_TCLKDIV y SPORTx_RCLKDIV

La frecuencia del clock generado internamente es función de la frecuencia del clock del sistema (SCLK) y el valor de cada uno de estos registros de 16-bit.

El registro TCLKDIV hace alusión al clock interno para transmisión

El registro RCLKDIV hace alusión al clock interno para recepción

El SPORTx_TCLKDIV registro contiene los siguientes bits:

  • 16 Serial Clock Divide Modulus

El SPORTx_RCLKDIV registro contiene los siguientes bits:

  • 16 Serial Clock Divide Modulus

SPORTx_TFSDIV y SPORTx_RFSDIV

Estos registros son utilizados para especificar cuantos ciclos de reloj deben ser contados antes de generar un pulso de TFS o RFS cuando la trama de sincronización es generada internamente

El registro TFSDIV esta compuesto por:

  • 16 Frame Sync Divider

El registro RFSDIV esta compuesto por:

  • 16 Frame Sync Divider

SPORTx_MCMCn

Cada SPORT tiene 2 registros de configuración para configuración multicanal: SPORTx_MCMCn

El primer registro SPORTx_MCMC1 está compuesto por los siguientes bits:

  • 4 Window Size (WSIZE)
  • 10 Window Offset (WOFF)

El segundo registro SPORTx_MCMC2 está compuesto por los siguientes bits:

  • 4 Multichannel Frame Delay (MFD)
  • Frame Sync to Data Relationship (FSDR)
  • Multichannel Frame Mode Enable (MCMEN)
  • Multichannel DMA Receive Packing (MCDRXPE)
  • Multichannel DMA Transmit Packing (MCDTXPE)
  • 2 2X Clock Recovery Mode (MCCRM)

WSIZE: Define el número de canales que pueden ser habilitados/deshabilitados por los registros de selección multicanal. Este rango de palabars es llamado "ventana"

WOFF: Especifíca en que rango de os 1024 canales debe ponerse la ventana activa. El valor de 0 significa que no existe offset

MFD: Retraso entre el pulso de la trama de sincronización y el primer bit de datos en modo multicanal

FSDR: Selecciona modo H.100 cuando es activo

MCMEN: Activa las operaciones de multicanal

MCDRXPE y MCDTXPE: Activan DMA Multicanal para recepción y transmisión respectivamente

MCCRM: Modo de Recuperación de Clock para el modo H.100

SPORTx_CHNL

El registro "SPORTx Current Channel" indica el canal que está siendo utilizado para las operaciones multicanal. Es un registro únicamente de lectura que funciona como contador cada vez que un canal es accedido aumenta en 1 unidad, y sólo es reiniciado a 0 al llegar al tope definido de ventana.

Está compuesto por los siguientes bits:

  • 10 Current Channel Indicator (CHNL)

SPORTx_MTCSn

Los registros de "SPORT Multichannel Transmit Selection" son utilizados para activar/desactivar canales de transmisión de datos individualmente. Hay 4 registros cada uno de 32-bit correpondientes a 128 canales

Los canales se seleccionan poniendo un sólo bit en alto, al hacer esto se selecciona la palabra que se desea utilizar para transmitir del múltiple bloque de datos. Ejemplo: Seleccionar el bit 0, selecciona la palabra de datos que está en la posición 0. Activando el bit 12, se seleccionan los datos que están en la palabra de la posición 12, y así sucesivamente

SPORTx_MRCSn

Los registros de "SPORT Multichannel Receive Selection" son utilizados para activar/desactivar canales de recepción de datos individualmente. Hay 4 registros cada uno de 32-bit correpondientes a 128 canales

Los canales se seleccionan poniendo un sólo bit en alto, al hacer esto se selecciona la palabra que se desea utilizar para recibir datos del múltiple bloque de datos. Ejemplo: Activar el bit 0, selecciona la palabra en la posición 0 para la recepción de datos. Activando el bit 12, se selecciona la palabra en la posición 12, y así sucesivamente

Fuente

BF533 Hardware Manual Reference

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox