DSP与慢速设备接口的实现
自动硬件等待扩展电路如图4所示。选用74HC4040的Q5脚输出作为延时等待控制,等待时间
为1600ns。将Q4脚输出信号分别与DSP的读写信号相或,产生外部设备的读写控制信号,这样可以充分保证读写操作时数据的保持时间。该电路所产生的时序如图5所示。
经过以上硬件状态等待扩展,DSP以外部设备读写周期达到1600ns,读写操作的数据保持时间大于20ns,满足液晶模块的时序要求。此外,DSP在进行内部程序和数据访问时,READY始终为高电平,不影响DSP的内部运行速度。应用该电路,DSP与MDL(S)16465液晶模块的直接访问连接如图6所示。
RS为液晶模块的数据指令控制输入端,“1”表示数据,“0”表示指令;R/W为读写控制输入端,“1”为读操作,“0”为写操作;E为使能控制输入端,高电平有效。按图6的接法,用两根地址线A8、A9分别与RS、R/W相连,根据每个引脚的功能定义,液晶模块的指令口写地址为0000H,指令口读地址为0200H,数据口写地址为0100H,数据口读地址0300H。DSP对液晶模块的访问控制子程序如下:
lcdcwaddr .set 0000h ;指令口写地址
lcdcraddr .set 0200h ;指令口读地址
lcddwaddr .set 0100h ;数据口写地址
lcddraddr .set 0300h ;数据口读地址
lcdenable:splk #6ff2h,60h ;io1=1
out 60h,iosr ;lcd enabled
ret
lcddisable:splk #6ff0h,60h ;io1=0
out 60h,iosr ;lcd disabled
lcdrw: call lcdenable
in 60h,[读地址] ;读操作
……………………
out 61h,[写地址] ;写操作
……………………
call lcddisable
ret
利用TMS320F206的IO1作为读写使能控制信号调用LCDENABLE和LCDDISABLE两个子程序打开和关闭对液晶模块的访问功能。除了需要调用两个简单的控制子函数以外,读写操作分别由IN和OUT两条指令完成,实现对该液晶模块的直接读写访问。由于该液晶模块没有单独的读写控制引脚,访问控制要求比较特殊,所以只能按照图6的方式进行连接。
如果外部设备具有单独的读写控制引脚,可直接与图4中的DEV-RD和DEV-WE分别相连,然后将数据线与地址线对应连接,就能够进行直接读写访问控制。作者为处理键盘输入和打印机输出接口时,就是采用这种连接方式。使用结果表明,访问和控制都十分可靠。