EP9301-IQZ Cirrus Logic Inc, EP9301-IQZ Datasheet - Page 79

32-Bit Microcontroller IC

EP9301-IQZ

Manufacturer Part Number
EP9301-IQZ
Description
32-Bit Microcontroller IC
Manufacturer
Cirrus Logic Inc
Series
EP9r
Datasheets

Specifications of EP9301-IQZ

Controller Family/series
(ARM9)
Core Size
32 Bit
A/d Converter
12 Bits
Supply Voltage
3.3V
No. Of I/o Pins
24
Mounting Type
Surface Mount
Operating Temperature Min
-40°C
Package / Case
208-LQFP
Core Processor
ARM9
Speed
166MHz
Connectivity
EBI/EMI, Ethernet, I²C, IrDA, SPI, UART/USART, USB
Peripherals
AC'97, DMA, I&sup2:S, LED, MaverickKey, POR, PWM, WDT
Number Of I /o
19
Program Memory Type
ROMless
Ram Size
32K x 8
Voltage - Supply (vcc/vdd)
1.65 V ~ 3.6 V
Data Converters
A/D 5x12b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Processor Series
EP93xx
Core
ARM920T
Data Bus Width
32 bit
Mounting Style
SMD/SMT
3rd Party Development Tools
MDK-ARM, RL-ARM, ULINK2
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Eeprom Size
-
Program Memory Size
-
Lead Free Status / Rohs Status
 Details
Other names
598-1250

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
EP9301-IQZ
Manufacturer:
Cirrus Logic Inc
Quantity:
10 000
DS785UM1
3.2.2 Example 2
3.2.2.1 C Code
3.2.2.2 MaverickCrunch Assembly Language Instructions
The following function performs an FIR filter on the given input stream. The variable “data”
points to an array of floating point values to be filtered, “n” is the number of samples for which
the filter should be applied, “filter” is the FIR filter to be applied, and “m” is the number of taps
in the FIR filter. The “data” array must be “n + m - 1” samples in length, and “n” samples will
be produced.
void
ComputeFIR(float *data, int n, float *filter, int m)
{
}
ComputeFIR
outer_loop
inner_loop
loop
cfmul32 c0, c0, c3
cfsub32 c0, c0, c2
cfcmp32 r15, c0, c1
blt loop
cfstr32 c0, [r0, #0x0]
int i, j;
float sum;
for(i = 0; i < n; i++)
{
}
mov
mov
sum = 0;
for(j = 0; j < m; j++)
{
}
data[i] = sum;
mov
cfsub64 c0, c0, c0
cfcvt32s c0, c0
sum += data[i + j] * filter[j];
r1, r1, lsl #2
r3, r3, lsl #2
cfldrs
r12, r3
c2, [r0], #4
Copyright 2007 Cirrus Logic
; c0 < 10 ?
;
; c0 <= c0 * 5
; c0 <= c0 - 1
no, store result
; int_sum = 0;
;
; n *= 4
; m *= 4
; sum = float(int_sum);
; c2 = *data++;
; j = m * 4
yes
MaverickCrunch Co-Processor
EP93xx User’s Guide
3-9
3

Related parts for EP9301-IQZ