图5 DSP控制模型汽车运动的硬件原理图
DSP56311有多达34个用户可编程控制的通用输入输出接口(GPIO),诸如HI08、SCI、ESSI0、ESSI1等,本例中使用HI08(主机接口Host Interface 08)作为输出控制信号的接口。
HI08端口若要作为输入输出模式使用,则要求它所对应的端口控制寄存器HPCR(Host Port Control Register)的第6位-启动主端口HEN(Host Enable)置零;但仅把第6位HEN置零还不够,第0位-启动输入输出位HGEN(Host 输入输出 Port Enable)还需置一,因为该位是启用输入输出模式的控制位,它若为零,则作为输入输出的信号是断接的,输出呈高阻态;只有置一,才能得到要求的输入/输出。
在将端口HI08设为输入输出模式后,还必须设置另外两个寄存器,分别是:主端口数据寄存器HDR(Host Port Data Register)和主端口数据方向寄存器HDDR(Host Port Data Direction Register)。主端口数据寄存器是将数据(0或1)写入其中,这些数据就是将来要输出的数据:0表示低电平,输出时就是0V;1表示高电平,输出时就是+3.3V。主端口数据方向寄存器是用来控制该端口是作为输入使用,还是作为输出使用的:0表示输入;1表示输出。需要注意的是,主端口数据寄存器和主端口数据方向寄存器需要配合使用。对某一位的主端口数据寄存器(HDR)和主端口数据方向寄存器(HDDR)的配合使用,可简要表示如表1。