在一个系统中,可能存在多片数字信号处理器TMS320VC5416,它们分别完成DTMF收发号、FSK来电号码显示和会场话音融合等功能。TMS320VC5416采用8位HPI接口与嵌入式处理器进行数据交换,其通信原理与两个处理器之间采用双口RAM进行数据通信相似,即两处理器共享一段内存空间,分不同时间对其读写操作。当处理器1正在对一个内存地址操作(读或写),而处理器2也需对其进行操作(写或读)时,此时输出忙占用信号,处理器2需等待忙占用信号结束后才能完成本次写或读操作。TMS320VC5416与双口RAM IDT71V321的不同之处在于:嵌入式处理器操作IDT71V321是直接内存操作,而嵌入式处理器操作TMS320VC5416是通过HPI接口地址、数据寄存器间接操作TMS320VC5416的内存空间的。另外,TMS320VC5416的HPI接口忙信号HRDY为高电平有效,IDT71V321接口忙信号BUSY为低电平有效。HRDY和BUSY信号的产生均具有随机性,且随着总线操作频率的增加而加大;忙等待时间tRDY和tBUSY也具有不确定性,与其通信的处理器运行速度的快慢有关,读写时序如图4所示。
VGGl2864E是北京维信诺科技有限公司开发的128×64点阵OLED显示模块,读写时序如图5所示。该OLED模块的使能信号E的周期tEC最小为1 000 ns(相当于固定1 Mbps的总线速率),使能信号脉冲宽度tEH、tEL最小为450 ns。嵌入式处理器MPC8272若采用总线方式直接控制0LED模块,则MPC8272的读、写周期最大值为170 ns,其读、写时序不能满足该OLED模块的要求,需设计相应的外部硬件等待逻辑电路来扩展MPC8272的读、写周期时长,以满足OLED模块的要求。
3 总线适配设计
快速嵌入式处理器与慢速外设的总线适配方法大致有3种:降低外部总线频率、调整片选控制寄存器时钟周期数和使用外部输入确认信号TA(Intel处理器名为数据准备好信号RDY,三星处理器名为总线周期延长请求信号nwait,它们的工作原理相同)。
降低嵌入式处理器外部总线频率可加长总线数据传输周期,达到与低速外设匹配的目的,但大大降低了处理器的利用率和效率。该方法不可取。
调整嵌入式处理器片选控制寄存器的插入时钟周期数,可以满足总线周期固定且不大于处理器外部总线周期的外设的要求,但不能满足总线周期不确定和大于处理器外部总线周期的外设的要求。例如,MPC8272的外部总线工作频率为100 MHz,外部总线指令周期最大为170 ns,可以满足总线周期小于170 ns的外设的要求,但不能与0LED模块(周期为l000 ns)连接。由于TMS320VC5416和IDT71V321接口的不确定性,其总线也不能与嵌入式处理器总线直接连接,需使用其外部输入确认信号TA并设计外部逻辑电路进行适配,以满足稳定、可靠的外部总线读写需要,其硬件连接如图6所示。MT90826数据总线接口为16位宽,设置MPC8272的片选CS4为16位宽与其匹配;其他外设数据总线均为8位宽,共用MPC8272的片选CS5,并与高位地址线A18、A17进行地址译码产生其他外设的片选使能信号。CPLDEPM3064的详细设计如图7所示。