1 导言
近年来,微处理器(MPU)在嵌入式体系研制中所占位置越来越重要,许多运用场合对MPU的处理速度、集成密度也提出了更高的要求。Power PC系列MPU是Motorola公司推出的面向嵌入式运用的专用MPU,它在片内集成了根据RISC体系的微处理器的内核和支撑多种通讯协议的通讯处理器(CPM),具有强壮的通讯和网络协议处理才干,可广泛运用于通讯和网络产品中。CPLD(Complex Programmable Logic Device)是一种杂乱的用户可编程逻辑器材,和FPGA比较,因为选用接连衔接结构,易于猜测延时,然后使电路仿真愈加精确。近年来,因为选用先进的集成工艺和大批量出产,CPLD器材本钱不断下降,集成密度、速度和功用大幅度进步,一个芯片就可以完结一个杂乱的数字电路体系,再加上运用权便利的开发工具,因而运用权CPLD器材可以极大地缩短产品开发周期,给规划修正带来很大便利。
嵌入式体系常用MPU和CPLD联合规划。现以PowerPC系列MPC850和Xilinx公司的XC95144XL为例来介绍完结MPU功用的CPLD辅助规划办法。实践上,MPC850的外部复位和通讯模块(CPM)的规划在整个体系规划中占用重要位置,也是调试硬件中最简略出问题的环节。本文将对MPC850的外部复位逻辑和通讯模块的复用作一讨论,并给出了这两部分的CPLD逻辑完结办法。
2 MPC850的复位逻辑和CPLD完结
2.1 复位逻辑
MPC850内部的复位时钟具有复位操控逻辑,以及决议复位原因、同步和相应复位的逻辑模块。归纳起来,MPC850一共具有以下复位源:
*上电复位;
*外部硬复位;
*内部硬复位:包含失锁、软件看门狗复位、校验停复位、调试口硬复位;
*JTAG复位;
*外部软复位;
*内部软件复位:指调试口软复位。
规划中需求用户参加的首要是上复位和外部硬复位。其间上电复位的复位进程如下:
(1) 发生上电复位信号PORESET
(2) PORESET有用,CPU装备SCCR寄存器,PORESET坚持时刻至少在3μs以上。
(3) PORESET无效后,CPU选用MODCK(时钟形式装备)并锁存,一起初始化时钟。
(4) CPU驱动HRESET和SRESET信号512个时钟周期,512周期完毕后,假如RSCONF信号接低,则CPU从数据总线上采样装备数据,并将内部发生 的HRESET和SRESET信号置为无效;假如RSCONF信号接高,则CPU按内部缺省值进行装备。
(5) 计数器计数16个时钟周期,然后采样外部硬复位信号和外部软复位信号,假如存在职效的外部硬复位信号或软复位信号,则计数器清0,并从头计数,不然跳出,履行正常操作。
体系中硬件复位首要用于在CPU感知外部硬复位信号有用后,发生内部硬复位信号,然后依照上述上电复位进程从第4步开端履行。其时序图如图1所示。
可见,比较一些常用的MPU器材,MPC850的复位逻辑比较杂乱,并且对复位操控的时序有严厉的要求。一般的规划需求较多的外部器材来完结逻辑操控,而选用一片CPLD则只需编写简略的代码就可以了,且易于调度。本运用于规划选用Xilinx公司的XC95144XL进行逻辑规划。
2.2 根据CPLD的完结办法。
规划时,将MPC850的复位信号(上电复位poreset、硬复位hreset、软复位sreset)衔接到XC95144XL的衔接办法如图2所示。
该计划中CPLD的上电复位规划进程如下:
(1) 体系上电后,上电复位poreset由XC95144XL发生,为了使MPC850得到牢靠的复位,这个推迟时刻一般比要求的3μs要大一些。MODCK装备可一向固定。
(2) poreset 信号无效后(为高电平),MPC850会采样MODCK并驱动HRESET信号512个时钟周期。需求留意的是这个时刻由MPC850操控的,CPLD不作逻辑完结。然后MPC850开端采样总线上的32bit装备数据。这时不能立刻驱动总线数据线,应推迟若干时钟周期后驱动,经运用证明推迟8个时钟周期以上可以满足要求。
(3) 驱动总线装备数据16个时钟周期后把总线置为高阻态,上电复位完毕。
手动复位的逻辑完结首要考虑的是对按键的复位作抗颤动处理,以避免屡次时间短触摸对体系形成重复复位,可以在代码中参加一个RS触发顺来完结抗抖。
本规划选用VHDL言语完结,限于篇幅代码省掉。需求留意的是:在总线数据装备时,不能选用次序履行句子,而只要运用并发句子履行才干得到正确的装备。如:
d <="ZZZZZZZZZZZZZZZZ"when flag=true else"0000011010100010";
–512个时钟周期后,再等候8个时钟周期将初始装备字推至数据线
–选用条件代入句子的并发描绘
而假如选用次序描绘句子:
if flag =true then
d <="ZZZZZZZZZZZZZZZZ "
else
d <="0000011010100010";
则装备字将得不到正确读取。这一点需求特别留意。
3 MPC850通讯的CPLD完结
3.1 MPC850 CPM的运用
MPC850的CPM模块支撑7个串行通道,其间包含:2个串行办理操控器SMC(支撑通用异步收发UART、通明形式和通用电路接口)、2个串行通讯操控器SCC(支撑Ethernet、ATM、HDLC和其它多种通讯协议)、1个USB信道、1个I2C端口和1个串行外围接口SPI。
在实践运用中,可经过设置形式寄存器的相关操控位来决议各个通道应该选用的协议。各信道的接口经过MPC850的并行I/O口PA、PB和PC与外设进行衔接,这些I/O口对应的协议需求对端口的引脚装备寄存器(pin assignment register)和数据方向寄存器(data direction register)进行装备,但因为端口数量的约束,一切的通讯协议不可能被一起支撑,因而受I/O口约束,若干协议不能一起被运用。故此,在运用这些I/O口,就存在复用和互斥的问题。表1给出了各I/O口和通讯协议的对应联系。
表1 MPC850端口复用一览表
复用I/O 协议1(括号内对应该协议的功用引脚) 协议2 协议3
PA8 串口2(SMRXD2) RS485(SMRXD2) ISDN(L1TXDA)
PA9 串口2(SMTXD2) RS485(SMTXD2) ISDN(L1RXDA)
PA7 以太网2(RCLK1) ISDN(L1RCLKA)
PA5 以太网2(TCLK3) HDLC(CLK3) ISDN(L1TCLKA)
PB30 以太网2(TXD3) SPI(CLK) HDLC(TXD3)
PB29 以太网2(RXD3) SPI(OSI) HDLC(RXD3)
PB27 I2C(SDA) ATM(PHYCS)
PB26 I2C(SCL) ATM(RST)
PC13 以太网2(RTS3) TDMA(L1ST7) ATM(PHYRD)
PC11 USB(RXP) ATM(PHYAD7)
PC10 USB(RXN) ATM(PHYAD3)
PC7 USB(TXP) ATM(PHYAD2)
PC6 USB(TXN) ATM(PHYAD6)
PC5 以太网2(COL3) ISDN(L1TSNCA) HDLC(CTS3)
PC4 以太网2(CD3) ISDN(L1RSNCA) HDLC(CD3)
3.2 复用逻辑的CPLD完结
将MPC850需求复用的I/O端口悉数衔接到XC95144XL的可编程I/O口,然后将外部衔接的各通讯端口(RS232、以太网1、以太网2等)也衔接到XC95144XL的可编程I/O口。这样,当MPC850需求切换到某个外部端口时,除设置内部相关寄存器外,经过数据和地址线操控XC95144XL内部的复位操控寄存器就可以完结I/O口的切换。余下的作业便是了解复用操控寄存器的结构和CPLD的读写时序。这样,经过对各位的设置就能开关相应I/O口。图3和图4分别是CPLD的读写时序和复用操控寄存器的位界说结构图。
4 总结
本文介绍了MPU和CPLD在嵌入式规划中的归纳运用办法,一起供给了一种简略的完结计划,跟着VLSI集成度和功用的不断增强,MPU和CPLD的结合运用远不止文中说到的这些。跟着先进集成工艺和大批量出产的呈现,CPLD器材的本钱也不断下降,其集成密度、速度和功用也将大幅进步。别的,其CPLD器材的规划灵活性也使得它可以完结许多更多杂乱的在片规划,然后极大地扩展了MPU的功用,增强了体系的易削减特性,而这切都无颖将充沛提高规划人员的发明空间。