ARM9+FPGA 开发板使用说明
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
北京飞旭科技有限公司
版 本 日期 说明
1.0 2008-8-18
ARM9+FPGA数据采集开发板使用说明书
2
目 录
1 整体介绍 .......................................................................................................................................... 3
2 开发板接口说明 .............................................................................................................................. 3
2.1 FPGA-开发板接口布局图 ...................................................................................................... 3
2.2 FPGA IO接口信号定义 ....................................................................................................... 4
2.3 FPGA-PC104接口信号定义 .................................................................................................. 5
3 FPGA开发板软件说明 .................................................................................................................. 6
3.1 VERILOG程序功能 ............................................................................................................... 6
3.2 ARM-PC104主板程序功能 ................................................................................................. 6
4 快速安装操作说明 .......................................................................................................................... 7
4.1 操作步骤 ................................................................................................................................. 7
4.2 如何测试 FPGA .................................................................................................................... 10
4.3 FPGA 测试举例 .................................................................................................................... 10
4.4 自己开发 FPGA .................................................................................................................... 11
ARM9+FPGA数据采集开发板使用说明书
3
1 整体介绍
ARM9+FPGA 开发板是基于一个高精度多通道同步数据采集项目的副产品, 开发的总
体目标是完成多通道高精度 AD数据采集、数据处理和网络传输, FPGA板提供的接口主要
用于和多通道 AD 底板通信,以及和 PC104 接口的 ARM 和外部的通信接口;基于 PC104
接口的 FPGA开发板的最大优点是可以使用各种高性能的基于 PC104接口的ARM主板或者
X86主板。FPGA-PC104主板接口的分布下面有详细说明。
2 开发板接口说明
2.1 FPGA-开发板接口布局图
5V电源
FPGA
复位
配 置
芯片
烧 录
插座
AS
FPGA
IO 扩
展 总
线
FPGA IO接口 有源晶振
JTAG
调 试
接口
FPGA EP1C6/12
6-12K逻辑单元
PC104总线
FPGA
IO 扩
展 总
线
3个 FIFO
ARM9+FPGA数据采集开发板使用说明书
4
2.2 FPGA IO 接口信号定义
FPGA 的外扩 IO接口,原
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
用于连接一个 12通道的同步采集 AD底板,下面是左右
两边的扩展 IO接口的信号定义。其中的 DRDY,DIN,DOUT,SCLK是专用于 AD的 SPI 接口
的,共有 12组 SPI信号,全部连接到 FPGA的 IO 口,可以重新自定义信号功能,用于其
他目的。
J401 插座的信号,原设计是用于连接外部时钟、同步和触发信号,用于与其他 AD 采
集系统同步,这些信号都连接到 FPGA的 IO口,用户也可以自定义用于其他场合。
ARM9+FPGA数据采集开发板使用说明书
5
2.3 FPGA-PC104 接口信号定义
FPGA 的 PC104接口,主要用于与 PC104接口的 ARM进行 8位/16位数据读写通信,
也可以与 PC104接口的 X86主板进行数据通信,下面是其接口信号连接图。
。
ARM9+FPGA数据采集开发板使用说明书
6
3 FPGA开发板软件说明
3.1 VERILOG 程序功能
1) 实现 FPGA的 8位读写寄存器。
2) 实现 24位计数器,写入 FIFO。
3) 实现 24位 FIFO的写时序逻辑。
4) 实现 24位 FIFO的 D[23:16]位数据读和 D[15:0]16位数据读时序控制。
5) 实现 24位 FIFO的 3位状态寄存器:空 EF,半满 HF,满 FF。
6) 实现 24位 FIFO的复位控制寄存器。
7) 实现 FPGA的 IO口控制读写寄存器。
3.2 ARM-PC104 主板程序功能
开发板提供的 ARM主板为北京飞旭科技有限公司开发的 PAM9200A,CPU是 ATMEL
公司的 AT91RM9200,主频 180M,64MB内存,4+64MB FLASH,提供 3个 RS232串口,
1个 USB,1个 100M以太网,支持 SD卡存储。特别适合数据采集和网络通讯应用。具体
详细信息请参考 PAM9200A的开发使用手册。
针对 FPGA-PC104开发板,在 PAM9200A中提供以下程序测试 FPGA的各个接口。
1) 通过 FPGA的 PC104总线进行 8位寄存器读写。
2) 读取 FPGA开发板中的 FIFO数据。
3) 读取 FIFO状态。
ARM9+FPGA数据采集开发板使用说明书
7
4) 复位 FIFO。
5) 读写 FPGA的 IO寄存器。
PAM9200A本身提供的相关演示程序请参考 PAM9200A开发手册。
4 快速安装操作说明
4.1 操作步骤
1、 将 FPGA-PC104板插在 PAM9200A主板上面,便于调试测量 FPGA的信号。
2、 连接串口转接电缆到 USB接口的 10针插座,将交叉串口线连接到 PC,配置好开发环境。
3、 将 5针的电源转接线连接到 PAM9200A的电源输入插座,并连接 5V电源,请注意千万
不能连接大于 5V的电源!!
4、 通电后,监视超级终端或 LINUX下的MINICOM中显示的信息,应该看到如下信息:
*************************************************************
Fly sun loader for PAM9200A-1.2 2004-2007 Flysun Ltd.,Co 2MB
Web : www.fly-sun.com.cn
Email: zounix@163.com
*************************************************************
U-Boot 1.1.2 (Oct 25 2007 - 18:00:03)
U-Boot code: 21F00000 -> 21F164D4 BSS: -> 21F1A644
RAM Configuration:
Bank #0: 20000000 32 MB
AMD_ID_LV160B (16Mbit)
Flash: 2 MB
MAC ADDRESS = AB9978563412
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
sd power off
sd power on
zImage is copied to 0x20008000
ramdisk is copied to 0x21000000
copy kernel data to memory ok!
copy ramdisk data to memory ok!
ARM9+FPGA数据采集开发板使用说明书
8
## Starting application at 0x20008000 ...
Uncompressing Linux......................................................... done, booting the kernel.
Linux version 2.4.19-rmk7 (root@localhost.localdomain) (gcc version 2.95.3 20010315
(release)) #320 2007Äê 09ÔÂ 10ÈÕ ÐÇÆÚÒ» 16:25:46 CST
CPU: Arm920Tid(wb) revision 0
Machine: ATMEL AT91RM9200
Warning: bad configuration page, trying to continue
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: mem=64M console=ttyS4,115200 initrd=0x21000000,8000000
root=/dev/ram rw
Calibrating delay loop... 89.70 BogoMIPS
Memory: 64MB = 64MB total
Memory: 55056KB available (1514K code, 353K data, 56K init)
Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
pty: 256 Unix98 ptys configured
MMC loaded
at91rm9200_MMC: MMC Init Starting
at91rm9200_board_generic_MMC: MMC started
set mmc clock 400 vs 399 KHz
MMC: CMD55 failed
at91rm9200_MMC: MMC started
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
NAND device: Manufacture ID: 0xec, Chip ID: 0x76
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V)
Creating 1 MTD partitions on "NAND 64MiB 3,3V":
0x00000000-0x04000000 : "yaffs"
usb.c: registered new driver hub
ARM9+FPGA数据采集开发板使用说明书
9
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik
hid-core.c: USB HID support drivers
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
ttyS%d0 at MEM 0xfefc0000 (irq = 6) is a AT91_SERIAL
ttyS%d1 at MEM 0xfefc4000 (irq = 7) is a AT91_SERIAL
ttyS%d2 at MEM 0xfefc8000 (irq = 8) is a AT91_SERIAL
ttyS%d3 at MEM 0xfefcc000 (irq = 9) is a AT91_SERIAL
ttyS%d4 at MEM 0xfefff200 (irq = 1) is a AT91_SERIAL
irda initialized
pio initialized
eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (12:34:56:78:99:ab)
AT91 Watchdog Timer enabled (5 seconds)
AT91 Real Time Clock driver
PCF8563 initialized
usb-ohci.c: USB OHCI at membase 0xc5016000, IRQ 23
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
pc104_io initialized
pc104_mem initialized
armio initialized
lcm initialized
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 7812K
VFS: Mounted root (ext2 filesystem).
Mounted devfs on /dev
Freeing init memory: 56K
init started: BusyBox v1.00 (2005.01.01-08:17+0000) multi-call binary
Starting pid 14, console /dev/console: '/etc/init.d/rcS'
yaffs: dev is 7936 name is "1f:00"
login[24]: root login on `ttyS4'
ARM9+FPGA数据采集开发板使用说明书
10
BusyBox v1.00 (2005.01.12-03:28+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
runing /etc/profile ok
[/mnt/yaffs]
在[/mnt/yaffs]提示符下可以输入各种命令.
4.2 如何测试 FPGA
PAM9200A 中提供了应用演示程序,其中 demos/02_pc104bus 中的 io.c 程序完成了对
PC104总线的 IO读写的测试功能,下面说明 io 程序命令的参数。
io [r/w] [addr] [m]
io : PC104读写命令
[r/w] 第一个参数,r
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示读 ,w表示写
[addr] 第 2个参数表示读写的地址,可以输入 16禁止进制 0x30 ,也可以输入 10进
制的 48。
[m] 第三个参数,可以输入任意值,不输入第 3个参数,则一次只读写一次,否
则连续读写。
下面是寄存器的地址定义:
//0X00 低 16位 FIFO数据
//0X02 高 16位 FIFO数据
//0X30 FIFO 状态寄存器
//0X32 8位计数器
//0X34 8位测试寄存器
//0X38 8位测试寄存器 2
//0x3a FIFO reset 寄存器
4.3 FPGA 测试举例
1、 读取 FPGA板子中 FIFO的 D[15:0]数据,输入如下命令:
io r 0
2、读取 FPGA板子中 FIFO的 D[23:16]数据,输入如下命令:
io r 2
3、读取 FPGA板子中 FIFO的当前状态,输入如下命令:
io r 0x30
读取的值的最低 3位,代表 FF、HF、EF,其他位无效。
4、写入 8位数据到 FPGA 的测试寄存器并读出。
ARM9+FPGA数据采集开发板使用说明书
11
io w 0x34 0xfa
io r 0x34
这时应该读出的值与写入的值相同。
4.4 自己开发 FPGA
使用 ALTERA公司提供的 QUARTUS II -7.0可以打开光盘中提供的 VERILOG源代码,
用户可以在读懂的基础上进行修改,实验。对于测试可以连接 FPGA的 JTAG接口,进行下
载到 SRAM测试。固化程序可以使用 AS 接口进行烧录。配置芯片为 EPCS4.。