计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
计算机系统综合课程设计基于MIPS32的SOC设计实践(下)(Verilog+Quartus Ⅱ+Cyclone版)
主讲 杨全胜东南大学计算机科学与工程学院2014-4-19 P.1
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
第3章 外围电路及控制系统设计
为MiniSys加I/O功能 16位定时/计数器 16位脉冲宽度调制PWM 4×4键盘扫描电路 4位7段LED显示控制 简单UART控制 看门狗控制 中断的设计2014-4-19 P.2
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(1)
MiniSys为I/O统一编址方式。 将DATA RAM地址分区,其中高256个 字节用来做IO,一共是128个16位端口。0000H
4KBRAM0FFFH
256BYTE2014-4-19 P.3
FF00H
FFFFH
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(2)
IO端口地址分配原则(可自行决定)将8根IO端口线(16位地址线的低8位,高8 位为全1)的高4位用来译码得到最多16个接 口电路的片选信号。 低4位组成每个接口电路的16个字节端口地 址,由于Minisys只有16位数据处理能力。所 以每个接口电路实际上是有8个字端口地址。
2014-4-19
P.4
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(3)
对MiniSys的修改
修改MemWrite和MemRead信号的逻辑。增加IORead和 IOWrite信号,改MemtoReg为MemorIOtoReg。
assign RegWrite = (R_format || Lw || Jalc || I_data) && !(Jrn) ; // 需要写寄存器的指令 assign MemWrite =((Sw==1 ) && (ImmediatHigh[9:2] != 8’b11111111)) ? 1:0 ; // 写存储器, ImmediatHigh[9:0] 是新增的输入信号=instructions[15..6] assign MemRead = ((Lw==1) && (ImmediatHigh[9:2] != 8’b11111111)) ? 1:0 ; // 读存储器 assign MemorIOtoReg = IORead || MemRead; // 读操作需要从端口或存储器读数据到寄存器 assign IOWrite = ((Sw==1)&& (ImmediatHigh[9:2] == 8’b11111111)) ? 1:0 ; // 写端口 assign IORead = ((Lw==1) && (ImmediatHigh[9:2] == 8’b11111111)) ? 1:0 ; // 读端口, ImmediatHigh[9:0] 就是instructions[15:6]2014-4-19 P.5
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(4)
增加一个MEMorIO模块译码 单元
wdata
Address
存储 单元
rdata
运算 单元
2014-4-19
P.6
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(5)
增加一个MEMorIO模块mwdata mAddress
存储 单元
mrdata
译码 单元
运算 单元
Address PortNumber
MEM orIOIrdata 片选信号2014-4-19 P.7
rdata iwdata
wdata
注意它
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
为MiniSys加I/O功能(6)具体端口分配片选信号 LEDCtrl KEYCtrl CTCCtrl PWMCtrl UARTCtrl WDTCtrl2014-4-19 P.8
首地址 FF00H FF10H FF20H FF30H FF40H FF50H
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
16位定时/计数器(1)
功能
两个定时/计数器CNT0和CNT1。 具有计数和定时两个功能。 计数方式下可以对输入的外部脉冲进行计数, 当计数到初值寄存器的值的时
候,设置状态 寄存器的相应位。 定时方式下,在时钟作用下计时器做减 1, 到1的时候设置状态寄存器的相应位,并在 相应的COUT脚输出一个时钟的低电平(平 时COUT是高电平)。 状态寄存器在被读取后被清零。2014-4-19 P.9
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
16位定时/计数器(2)CNT0方式寄存器(FF20H) CNT1方式寄存器(FF22H) ;两个寄存器均为只可写
1 0 15 ×××××××××××××× 0:非循环 0:定时 1:循环 1:计数2014-4-19 P.10
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
16位定时/计数器(3)CNT0状态寄存器(FF20H) CNT1状态寄存器(FF22H) ;两个寄存器均为只可读,读取后被清0
15
1 0
×××××××××××××1:计数到 1:定时到
0:定时/计数未开始 1:定时/计数开始2014-4-19 P.11
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
16位定时/计数器(4)
CNT0初值寄存器(O)/当前值寄存器(I) (FF24H) CNT1初值寄存器(O)/当前值寄存器(I) (FF26H)15 ×××××××××××××××× 两个寄存器通过读/写线区别 0
2014-4-19
P.12
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
16位定时/计数器(5)
输入输出安排
rdata15~rdata0(O)用于CPU读数据 wdata15~wdata0(I)用于CPU写数据 CS(I) 片选端 CLK(I) 时钟信号 Reset(I)复位信号 pulse0, pulse1(I)两个CNT的外部脉冲信号 address3~address0(I)端口地址 IOW(I)写信号 IOR(I)读信号 COUT0, COUT1(O)定时/计数器输出2014-4-19 P.13
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
脉冲宽度调制PWM(1)
功能内部一个16位计数器和一个16位对比值, 计数器周而复始的加1计数,计数到计数器 的最大值(默认为FFFFH)的时候转为0再 计数。当计数器的值大于对比值,输出端 输出低电平,否则输出高电平。 对比值(默认为7FFFH)的不同决定了输 出脉冲的占空比。 计数器的最大值可以由软件设定,以便确 定PWM的输出脉冲的调制频率。 2014-4-19 P.14
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
脉冲宽度调制PWM(2)
输入输出安排RESET(I) 初始化 address2~address0(I)端口地址 D15~D0(I)用于写入对比值和最大值 CS(I) 片选端 CLK(I) 时钟信号 IOW(I)写信号 PWM(O)输出端 2014-4-19 P.15
计算机系统综合课程设计4-接口与软件设计
教育部-英特尔精品课程
脉冲宽度调制PWM(3)
内部寄存器最大值寄存器(FF30H)(只写) 对比值寄存器(FF32H)(只写) 使能寄存器(FF34H)(只写)
0 15 ×××××××××××××××
默认为0
0:不许输出脉冲 1:允许输出脉冲
2014-4-19
P.16
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典行业资料计算机系统综合课程设计4-接口与软件设计在线全文阅读。
相关推荐: