tSU/ns
3.5
4.5
4.5
4.5
6.0
6.0
tCO/ns
4.0
4.5
4.5
4.5
6.0
6.0
fCNT/MHz
100
125
125
125
111.1
111.1
fSYSTEM/MHz
100
83.3
83.3
83.3
66.7
66.7
注:fCNT=16位计数器最高工作频率;fSYSTEM=整个系统的最高工作效率。
ALE:地址锁存信号。
CS:片选信号。
RD:读信号。
WR:写信号。
AD0~AD7:数据地址复用信号。
本例的设计思想是,在XC95216设置两个控制寄存器,通过单片机对两个控制寄存器的读写来完成对其它过程的控制。
XC95216设置的两个控制寄存器,可以作内部寄存器,也可以直接是映射为I/O口。
图2 XC9516同单片机接口原理图
4 CPLD同单片机接口设置结果
本例中,使用Xilinx公司提供的Fundation ISE 4.2i+Modelsim 5.5f软件实现设计。实现设计的源文件模块如下:
/**************************
//MCU和XC95216接口程序
//目的:MCU读写XC95216
/**************************/
module mcurw(MCU_DATA,ALE,CS,RD,WE,CONREG1,CONREG2);
inout[7:0]MCU_DATA;//单片机的地址数据复用信号
output[7:0]CONREG1,CONREG2;//内部控制寄存器
input ALE; //单片机的地址锁存信号
input CS; //单片机的片选信号
input RD; //单片机的读信号
input WE; //单片机的写信号
reg[7:0]LAMCU_DATA; //内部控制寄存器
reg[7:0]ADDRESSREG; //内部地址锁存寄存器
reg[7:0]CONREG1; //内部控制寄存器
reg[7:0]CONREG2; //内部控制寄存器
assign MCU_DATA=RD?8'bzzzzzzzz:LAMCU_DATA;
initial //寄存器初始化
begin
LAMCU_DATA<=0;
ADDRESSREG<=0;
CONREG1<=0;
CONREG2<= 上一页 [1] [2] [3] 下一页 |