论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
Q1:=/Q0*Q1*/RD Q0*/Q1*/RD /Q0*Q1*/WR
Q0*/Q1*/WR
Q2:=/Q1*Q2*/RD /Q0*Q1*Q2*/RD Q0*Q1*/Q2*/RD
/Q1*Q2*/WR /Q0*Q1*Q2*/WR Q0*Q1*/Q2*/WR
;构成一个三位的二进制计数器
;Q2为最高位、Q0为最低位
;对读信号或写信号的宽度进行计数
GAL_READY.OE=VCC
/GAL_READY=/DS*A15*/A14*/A13*/A12*/Q1 /DS*A15*/A14*/A13*A12*Q1*/A0
;为RAM的访问插入3个周期
/DS*A15*/A14*/A13*A12*/Q0
/DS*A15*/A14*/A13*/Q1
/DS*A15*/A14*/A13*A12*/Q2
;为ROM的访问插入7个周期
图2是一个与写时序对应的时序图,其中在下三角符号标出的时刻,DSP对READY端进行查询。
这种方法能够充分使用硬件的速度,并且对软件是透明的,不会增加编程人员的负担。
图3 DSP与SJA1000的接口原理图
2 总线不兼容的情况
有一类芯片的总线接口是分时复用的,如CAN总线控制器SJA1000。SJA1000有8位的数据和地址复用的总线,可以和多种MCU直接相连。一次总线操作开始时,总线先传递此次操作访问的地址,在ALE信号将地址锁存后,再进行数据读写。而DSP的数据总线和地址总线被并行地引出,这种并行结构比分时复用的串行结构先进,有着高一倍的带宽。但DSP被设计时并没有考虑过会在芯片外将并行的总线再串行化,也就是没有设计相应的辅助信号来完成这种转换。这使得完全使用硬件方法进行串行转换比较困难。
此类问题通常使用软件和硬件配合解决,并不真正地靠硬件进行园,而是把一次总线操作分解成两步。先把此次操作的目标地址作为数据送到总线上,同时通过硬件产生一个锁存信号将其锁