Corel VNC II Theory of Operation
General Description
The Corel VNC II is a "single board" embedded system providing the user
with:
-
powerful processing support
-
fast SA-110 processor
-
large memory complement (32MB typ, 128MB max)
-
local hard disk (500MB typ)
-
independent PCI bus for multi-media activity
-
double Ethernet connectivity
-
one is 100BaseT/10BaseT switchable
-
second one is 10BaseT only
-
modem access
-
telephone support features
-
interface to most handsets
-
interface to generic telephone
-
audio features
-
built-in microphone
-
build-in speaker
-
external audio drive
-
plays CD quality sound
-
video output to VGA or NTSC/PAL
-
video capture from any NTSC/PAL source
-
support for standard mouse and keyboard and IR keyboard
-
low power and small size
Market Opportunities
-
NC opportunities
-
education
-
general business
-
terminal replacement
-
VNC specific
-
cable modem bundle
-
ADSL bundle
-
VideoPhone
-
IP telephony
Connectors:
Signal |
Direction |
Physical |
VGA |
out |
15 pin sub D |
NTSC out |
out analog |
RCA |
NTSC in |
in analog |
RCA |
audio out |
out analog |
walkman jack |
audio in |
in analog |
walkman jack |
power |
in |
ac adapter |
parallel port |
in/out |
25 pin sub D |
serial |
in/out |
9 pin sub D |
Ethernet 100/10 |
in/out |
RJ45 |
Ethernet 10 |
in/out |
RJ45 |
handset |
in/out analog |
RJ11 |
telephone |
in/out analog |
RJ45 |
IR |
in/out |
[through front panel] |
keyboard |
in |
DIN5 |
mouse |
in |
DIN5 |
Block Diagram
Blocks
CPU
The CPU is an SA-110 with FootBridge support. This allows us to run at
full SA-110 speed and still have access to all the PCI devices that we
require.
The SA110 address bus connects only to the FootBridge and the boot FLASH,
which converts it into the memory address bus, and PCI address.
The SA110 data bus connects only to the FootBridge, the SDRAM array
and the boot FLASH.
The SA110 control bus connects only to the FootBridge.
The FootBridge manages a single DIMM socket of SDRAM, and a single Flash
device for boot. All these devices operate at 3V.
The FootBridge provides:
-
PCI bus master
-
4 timers (incl watchdog)
-
2 DMA (not functional)
-
serial (not functional)
-
PCI arbiter (not functional)
-
DRAM controller
-
FLASH controller
PCI Bus
There are 6 devices on the bus:
-
FootBridge
-
bus master
-
irq controller
-
VGA
-
bus master
-
irq source
-
The C2000 VGA controller chip can drive the VGA or NTSC/PAL output. It
also has 2MB of local DRAM.
-
Ether10
-
irq source
The Winbond 940 Ethernet chips implements a 10BaseT port, using a single
external SRAM chip.
-
Ether100
-
bus master
-
irq source
The DEC Ethernet chip implements a 100BaseT/10BaseT port, using the
LevelOne physical interface chip.
-
IDE
-
bus master
-
arbiter
-
irq source
-
irq controller
-
The Winbond 553 IDE controller implements the hard disk interface, the
interrupt controller, the PCI arbiter and a local ISA bus.
-
FPGA
-
bus slave only
-
provides fifo services to the modem chip
VGA
The VGA chip is the Cyber2000. This is an enhanced VGA accellerator chip
from IGS. This chip can:
-
display 2,4,8,16 and 24 bit video
-
320x240, 640x480, 800x600, 1024x768 pixels displays
-
hardware accellerated blits, pattern fills, line draw
-
page flipping for animation
We have wired the board for 2MBytes of DRAM.
The VGA is addressed through PCI I/O space ports, using similar-to-PC
addresses ports.
It is connected to the video capture port so that the VGA can display
a live image of the video capture source.
Ether100/Ether10
The Ether100 port is managed by a Digital 21242 Ethernet controller chip.
It expects to be managed by tx/rx command blocks located in main host RAM,
and it expects DMA access to these commands and the associated data blocks.
The Ether10 port is managed by a Winbond '940 chip. This chip has 32k
bytes of local RAM. It is NE2000 compatible.
IDE Controller
The IDE is managed by the Winbond '553 chip, which contains a "sonata"
core. This core implements:
-
16 bit to 32 bit pack/unpack from the PCI to IDE bus
-
DMA of data to/from host memory, including scatter/gather
SuperIO
The SuperIO chip implements
-
keyboard/mouse (standard 8042 mode)
-
2 serial ports (PC compatible)
-
serial "A" is the external serial port
-
serial "B" is the console for development/debug
-
IR
-
parallel port (PC compatible)
Audio Services
The audio port is implemented through a SoundBlaster compatible device.
This will allow us to sample/playback at any rate from 8Ks/s to 44.1Ks/s,
mono or stereo.
This device has DMA access to the host memory, although the path is
a bit circuitous. The SoundBlaster is on the ISA bus, and must request
an ISA DMA channel. The '553 device must be set up so that the ISA DMA
request goes through to the PCI DMA channel.
The SoundBlaster audio ports are connected to various devices. Audio
out goes to:
-
local speaker (mono)
-
line out (stereo)
-
telephone handset (mono)
-
telephone set (mono)
The local (on-board) speaker can be muted independently of the line-out.
The other output ports run constantly.
The audio in comes from:
-
local microphone (mono)
-
line in (stereo)
-
telephone handset (mono)
-
telephone set (mono)
The host can select which audio source to use.
Telephony Services
The telephony services come in two sections: local audio, and outside line.
First, the local audio can be connected to either a telephone handset
or to a telephone set. The VNC has ports for connecting either. The first
option allows the user to plug in a handset or headset that is compatible
with most telephones. The second option allows the user to plug in a regular
telephone. With a real telephone, the user has a dial pad and a "cradle"
for the handset. In both cases, the audio source/sink is the SoundBlaster
port.
The handset port has the ability to sense when a handset is connected.
The telephone set port can tell when the phone is off-hook.
Secondly, there is another independent audio channel, wired to the outside
line. This line can be connected to any telco line, in the same way a modem
can be. The hardware can terminate the line, detect ringing, and source/sink
audio to a high quality delta-sigma codec. The codec has several words
of FIFO so that the StrongArm can burst data in and out.
From a software point of view, this codec is connected through the VideoCompression
chip; this was just a matter of convenience. The VidComp chip has DMA support
to move the codec audio to/from the host RAM.
Power Supply
The power supply simply takes an unregulated 9V.
Most of the central section of the board runs from a +3.3V digital and
a +5V digital rail. The StrongARM bus is +3.3V and the PCI bus is +5V rail.
These rails are generated by switchers off the +9V raw supply.
The StrongARM itself requires a 2V rail, which we generate by a linear
drop-down from the +3.3.
Each complex chip has a 0 ohm series resistor in the supply rail so
that we can measure each chip.
The analog section gets its own +5V analog rail, from a linear regulator
connected to the +9V rail.
The telephone set drive comes from the raw +9V, through a current source.
During power down, only the RTC gets held over, by means of a super-cap.
The reset source is from a power supply monitor, OR'd with the push
button. The reset goes to the SA-110, which forwards it to the FootBridge,
which then forwards it to the PCI bus.
Physical
The VNC II fits into a modified Corel Video console.
The VNC is designed to live mostly one one 5"x9" pc board. All the connectors
(listed above) are located along one of the long edges of the card. The
Ether100 and modem-transformer are wired on a daughter (mezzanine) card,
which gives us a second row of connectors.
The system memory is installed on another daughter card. This memory
card is physically and logically a SO-DIMM SDRAM memory card, so any industry-standard
memory card may be used as a substitute.
There is a tiny adapter board to hold the microphone and IR components
at right angles to the main PCB, and to align the mike and IR to the plastic
housing.
Clocks
Freq |
Used by |
3.57MHz |
SA-110 |
25MHz |
Ether100 phy chip |
20MHz |
Ether10 chip; Ether100 controller chip |
14.318/17.734MHz |
VGA |
18.432MHz |
SuperIO (977) |
66MHz |
Footbridge |
Resource Assignments
Many of the chips on board have multiple virtual devices. To simplify the
memory map, the following assignments are made:
Timers:
-
553.timer3 is assigned as a watchdog
-
FB.timer0 is the 10 millisecond time base for the OS (countdown for 66.666MHz);
on Rev 5 boards, FB.timer3 is used instead (countdown from 14.318MHz)
-
553.timer0, 553.timer1, 553.timer2, FB.timer1 & FB.timer2 are free
DMA channels
-
553.channel 0 & 1 are the IDE data in/out movers
-
553.channel 2 & 3 are the sound in/out movers
-
FB.channels are not used yet
-
VGA & Ether100 have their own bus master DMA channels
PCI bus master
-
FB is the main bus master (CPUBUSREQ)
-
VGA (BUSREQ2) and Ether100 (BUSREQ3) can all become bus masters
-
IDE uses BUSREQ7
-
ISA bus requests (audio on DRQ1 and sio on DRQ0) are merged and come through
the 553 as BUSREQ6
IRQ channels
-
FB.channel 0 is the Ether10 request
-
FB.channel 1 is the Ether100 request
-
FB.channel 2 is the IDE data irq
-
FB.channel 3 is the combined irq from the 553 device
-
553.channelA is the VGA
-
553.channelB is the VidComp (video compression chip)
-
553.channel1 is the combined irq from the SuperIO chip; this signal leaves
the 977 chip on INT8
-
553.channel3 is the audio irq
-
533.channel4 is the modem ring-in sense
Serial channels
-
FB.serial is not used
-
977.serial 1 is the general purpose user serial (UART)
-
977.serial 2 is the console and debugging port; not brought out to the
user (UART_CON)
up: TOC