并口与连接
1.并行口基地址:
0x0378 新系统通用,通常是LPT1,也可以是LPT2,通常使用中断IRQ7
0x0278 通常是LPT2,也可以是LPT1,LPT3(只能用此基地址),通常使用中断IRQ5 2.寄存器定义
3.状态寄存器(379)和控制寄存器(37A)的定义:
5.连接方式
a)hybus255与并口的连接是通过74CH541与并口连接
LPT D0 Pin 2 and TCK J10 Pin 4
LPT D1 Pin 3 and TDI J10 Pin 11
LPT D2 Pin 4 and TMS J10 Pin 9
LPT Busy Pin 11 and TDO J10 Pin 13
b)2410以及44b0连接图
TCK---------------->DATA0
TDI---------------->DATA1
TMS---------------->DATA2
TDO---------------->STATUS7
6.寄存器的读写
a)先对控制寄存器(Control)初始化
如果禁止中断用out(37A,0x80),如果使用中断用out(37A,0x90)
b)写一个寄存器的两条基本指令:
out(37B,addr);// 将addr写入用户设备地址寄存器
写:out(37C,data);// 将数据data写入addr指向的用户设备空间单元
读:in(37C);// 从addr指向的用户设备空间单元中读取数据
JTAG接口信息
1.TCK:输入移位时钟TMS和TDI的数据在TCK的上升沿被采样数据在时钟的下降沿输出到TDO
2.TMS:输入方式选择TMS用于控制TAP状态机
3.TDI:输入。
输入到指令寄存器IR或数据寄存器DR的数据出现在TDI输入端在TCK的上升沿被采样
4.TDO:TDO输出来自指令寄存器或数据寄存器的数据在时钟的下降沿被移出到TDO
TAP状态机
*状态机框图中位于箭头旁边的数字表示TCK变高时TMS的逻辑状态
JTAG时序
1.TAP复位时序
在hybus255-Jflash中
void test_logic_reset(void)
{
putp(1,1,IGNORE_PORT); // keep TMS set to 1 force a test logic reset
putp(1,1,IGNORE_PORT); // no matter where you are in the TAP controller putp(1,1,IGNORE_PORT);
putp(1,1,IGNORE_PORT);
putp(1,1,IGNORE_PORT);
putp(1,1,IGNORE_PORT);
}
2.IR,DR扫描时序。