当前位置:首页 > EDA > 电子设计自动化
[导读]介绍了用CPLD辅助设计在嵌入系统中进行曲MPU复杂逻辑功能设计的总体方案,给出了通过对XC95144中复用控制寄存器进行配置以实现MPU复位逻辑和CPM协议切换的实现方案和设计要点。

    摘要:介绍了用CPLD辅助设计在嵌入系统中进行曲MPU复杂逻辑功能设计的总体方案,给出了通过对XC95144中复用控制寄存器进行配置以实现MPU复位逻辑和CPM协议切换的实现方案和设计要点。

    关键词:MPU CPM CPLD 复位逻辑性I/O口 MPC850

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的功能,增强了系统的易裁减特性,而这切都无颖将充分提升设计人员的创造空间。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭