现在位置 >首页 > 所有 CPLD介绍及应用 分类文章
I2C器件接口IP核的CPLD设计
1 IP核简介
IP核是指:将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器、SDRAM控制器、PCI接口等等设计成可修改参数的模块,让其它用户可以直接调用这些模块,以避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。许多公司推荐使用现成的或经过测试的宏功能模块、IP核,用来增强已有的HDL的设计方法。当在进行复杂系统设计的时侯,这些宏功能模块、IP核无疑将大大地减少设计风险及缩短开发周期。使用这些宏功能模块、IP核,就会将更多的时间和精力放在改善及提高系统级的产品方面,而不需要重新开发现成的宏功能模块、IP核。我国IP核库的建设已相当迫切,它是集成电路产业发展的一个重要目标。
2 I2C串行通信特点简介
Philips公司推出的I2C软、硬件协议十分巧妙,在单主方式的I2C总线系统中,总线上只有一个单片机,其余都是带I2C总线的外围器件。由于总线上只有一个单片机成为主节点,单片系统永远占据了总线,不会出现竞争,主节点不必有自己的节点地址。只要每个外围器件有自己的器件地址,两根I/O口线SCL(时钟线)和SDA(数据线)就可以虚拟I2C总线接口。总线上传送的每一帧数据均为1个字节。启动总线后,要求每传送1个字节后,对方回应一个应答位。在发送时,首先发送最高位。每次传送开始有起始信号,结束时有停止信号。在总线传送完1个字节后,可以通过对时钟线的控制,使传送暂停,这时可在应答信号后使SCL变低电平,控制总线暂停。当主节点要求总线暂停时亦可采用同样的方法。
3 在MaxplusII环境下I2C串行扩展IP核的建立
MaxplusII是美国Altera公司用于CPLD解密的EDA软件,内部有许多常用的宏单元,如计数器、四则运算、各类逻辑门乃至ROM、RAM等。这些宏单元内具体的参数都可以由用户来自行设定,这就是上面提到的IP核形式。它避免了重复劳动,提高了效率。以下将要设计的是下位机的IP核。
MaxplusII的AHDL(Altera Hard ware Description Language)是Altera公司开发的完全集成于MaxplusII中的一种模块化高级语言,特别适合于描述复杂的组合逻辑、组运算、状态机和真值表。本文利用AHDL,直接生成IP核。
设计思路是利用状态机实现时序。主要包括输入数据锁存、起始、数据传输、停止等状态机。通过状态机,在每一状态下确定下一状态SDA和SCL是高电平或者低电平,通过这种方式实现了I2C所需要的每一种时序。由于使用的是AHDL,这种状态机实现起来非常方便,程序简洁明了。由于篇幅限制,仅介绍数据传输的状态机。
简易通用型PCI接口的VHDL-CPLD设计
用CPLD设计所构成的CPI接口系统具有简洁、可靠等优点,是一种行之有效的设计途径。很多技术杂志和网站上,都有不少用CPLD设计PCI常规传输系统的文章。但用这些方法在MzxPlusII、Fundition等环境下进行模拟仿真时,其产生的时序往往与PCI规范有很大出入。虽然 Altera 等公司推出PCI核可以直接使用,但这样的内核占用CPLD解密资源较多,且能适配的器件种类少,同时价格也高,在实际设计应用中有很大的局限性。因此,使用通用型CPLD器件设计简易型PCI接口有很大的现实意义。在Compact接口的CPLD设计中,笔者根据PCI总线传输时序来进行状态机构造,并使用VHDL语言进行功能模拟和定时分析,从而达到了预期目的。用该方法设计的CPLD-PCI接口既可支持PCI常规传输,也可支持PCI猝发传输,而且在系统编程和下载器件方面,效果也都很好。
1 典型的CPLD-PCI接口模型简介
这里,CPLD/FPGA用于完成PCI主/从传输时序的逻辑构成与变换,并对双口RAM进行适当操作。在整个系统的设计中,CPLD常常使用PCI总线的33MHz时钟,双口RAM常常选用高速器件来简化PCI传输的逻辑设计。
2 PCI总线传输时序分析
PCI总线传输至少需要40多条信号线,包括数据/地址线、接口控制线、仲裁、总线命令及系统线等。每次数据传输均由一个地址脉冲和一个或几个数据脉冲组成。一次传输一个地址和一个数据的称为常规传输;一次传输一个地址和一批数据的称为猝发传输。常用的控制信号有:帧同步信号FRAME、主设备准备好信号IRDY、从设备准备好信号TRDY、从设备选通信号DEVSEL、命令/字节信号C/BE等。
分析PCI总线的传输时序,可以看出,PCI总线传输有以下几个显著特点:
(1)每次数据传输时首先传出地址和命令字,从设备一般可从地址中确定是不是对本机的访问,并确定访问的首地址;而从设备则从命令字中识别该访问是读操作还是写操作;
(2)读写访问只有在信号IRDY、TRDY、DEVSEL都为低状态时才能进行;
(3)猝发传输通常需要通过逻辑来实现地址的自动递加;
(4)主从设备中任一方没有准备好,操作中都需要能够引起等待状态插入的活动;
(5)系统通常在帧同步信号FRAME的下降沿诱发数据传输,而在上升沿指明只有一个数据或只剩下一个数据;
(6)读操作比写操作多一个中间准备过程。
3 基于CPLD的状态机设计
3.1 状态机的构造
完成一个简易PCI总线传输需要设计六个状态:S0~S5,其中状态S0标识PCI总线空闲时期;状态S1标识地址与总线命令识别阶段;状态S2标识读操作入口的准备阶段;状态S3标识读/写访问周期;状态S4标识最后一个数据传输阶段;状态S5标识操作中的等待时期。
3.2 状态功能的确定
各状态所应执行的功能如下:
状态S0~S2用于对PCI总线置高信号TRDY和DEVSEL;对双口RAM则置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。此外,在S1态还应依据地址信号来确定是不是对本机的选择,并识别是不是读或写操作。
状态S3~S4用于对PCI总线置低信号TRDY和DEVSEL;对双口RAM则产生片选信号CS、读或写信号,同时确定适当的读写访问地址。
状态S5用于对PCI总线置低信号TRDY和DEVSEL;并且对双口RAM置高片选信号CS,以使读/写信号处于读状态,此时地址呈现三态。
3.3 状态变化的确定
根据对PCI总线传输时序的分析,影响各个状态相互转化的因素是:帧同步信号FRAME、主设备准备好信号IRDY、从设备选择信号CS-MAP、读识别信号READ以及写识别信号WRITE。这里,可用CS-MAP、READ、WRITE来标识状态S1产生的中间识别信号。
需要注意,在状态S1时要寄存收到的首地址,而在状态S3变化时要适时进行地址递增。
还要注意状态机设计时产生的容错问题,以便在非设计状态下能够无条件回到空闲态S0。
由于采用的是高速双口RAM,并且规划分开了RAM两侧的写操作区域,因此可以认为:RAM是可以任意访问的。
4 VHDL语言的描述
设计时,使用三个进程和几个并行语句可实现整个CPLD的功能:一个进程用于完成从设备及其读写操作的识别;一个进程用于完成操作地址的获取与地址的递增;第三个进程完成状态机的变化。用几个并行语句完成操作信号的产生时,需要注意,各状态所完成的功能要用并行语句实现,不能再用进程,否则就会引起逻辑综合的麻烦,有时甚至根本不能综合。
5 MaxPlusII的验证
设计CPLD时,可使用MaxPlusII软件来进行逻辑综合、功能模拟与定时分析。本例选用 Altera 的Max7000系列在系统可编程器件EPM7064SLC84-5。
基于电阻触摸屏和CPLD来实现多点触摸系统
触摸屏是成熟的技术,最基本、也是最常用的是4/5线电阻触摸屏。很多标准屏支持多种尺寸,可以选择多种解码模拟解决方案。电阻触摸屏支持多种输入方法,比如手指、触摸笔、手套和指甲等等。电容触摸屏是一种新的解决方案,也有4/5线选择,标准屏比较少,复杂的模拟解码器解决方案也比较少。电容触摸屏比较适合手指的输入,不太适合指甲、触摸笔和手套的输入。电容屏幕最主要的优势是表面耐用性,成熟的电阻和电容触摸屏限于单点触摸。iTouch CPLD解密等产品则采用了多点触摸技术,多点触摸增加了人机接口,并增加了两路以上的同时输入或者触摸点。静态输入触摸的例子有键盘或者游戏手柄上的Shift键和Control、Alt、Delete功能键等,它们都有多路独立的控制;动态输入的例子有手势、命令、旋转动作或者收缩、扩大等等。使用过多点触摸技术以后,传统的触摸技术就显得太简单了。
目前,可以使用到多点触摸技术的应用包括医疗影像(超声、X射线和MRI在进行图像处理时需要用到)、信息查询终端 (相片打印、零售信息查询终端、地图/导航等)、音乐/视频播放器(iTouch)、家电等。
多点触摸解码
任何多点触摸解决方案都从触摸屏开始。文中的例子使用NKKSwitch的数字SmartTouch,型号为FTAS225-5.7A-N。还有别的供应商提供的尺寸不同的其他数字电阻屏。处理接口是I2C,但也可以使用其他接口。
FTAS225-5.7A-N采用了5.7”叠层屏幕,15行×15列,触点分辨率为5mm×7mm。屏幕叠层实际上是15×15的开关矩阵。数字电阻屏叠层使用水平和垂直的铱锡氧化物(ITO)走线。走线之间是分开的,触摸时会使两层短路。
在此次演示中,设计简化为8×8数字电阻触摸屏。本例子使用了处理器I2C接口,但是也可以为任何处理器提供任意串行或者并行接口。该设计只需要MAX II将数字电阻触摸屏与处理器连接起来,利用MAX II内部上拉电阻和内部振荡器减少外部元件。
垂直寄存器在每一列为每一行进行采样,水平寄存器组成了移位寄存器,阵列每次都被驱动为低电平。当屏幕上没有点被触摸时,行探测信号保持高电平。当屏幕上第2行第2列被触摸时,导致第二行在C2采样期间被拉低。每次扫描显示屏时,I2C模块向处理器发送8字节数据。
多点触摸解码是怎样工作的呢?三个触点导致扫描期间出现3个低电平脉冲。在某些3手指触摸条件下,简单解码器会错误地报告出现混叠信号,而后者是不正确的触点解码。3个触点必须呈三角形,其中两个点共享一行,两个点共享一列。
改进后的解码器电路可以减小甚至消除混叠信号。首先,我们要做的是时钟速率提高,通常将时钟速率提高10-100倍。I2C时钟从100kHz提高到4MHz。增加了同步移位和采样使能信号(绿色)。 SFT是移位使能信号,SEN是采样时能信号。加入了时序控制模块,支持SFT至SEN延时调整(红色),支持移位使能信号对使能延时调整进行采样。时序控制模块能够减小移位使能采样,使能延时可以增大移位使能。采样使能延时独立地控制每一列、每一行延时。
Atmel电视机直接背光LED驱动器特性及应用电路
Atmel公司MSL4163/MSL4164是电视机直接背光LED驱动器。MSL4164具有20MHz SPI总线,每串LED的电流为100mA,电流精度和匹配度优于3%,可驱动16×10个白光LED,16个器件级联可驱动高达2560个白光LED。MSL4163提供1MHz I2C串口,器件包括先进的PWM引擎以及片上EEPROM等。主要用在电视和台式电脑监视器、医疗、工业仪表和汽车音/视频显示器。
MSL4163则提供1MHz I2C串行接口,这种接口都能够为16个级联器件实现视频逐帧LED串强度控制,从而实现了有效区域调光。该器件采用了先进的PWM引擎,可以轻松地与视频信号保持同步,每串LED都具有相位调整功能,从而减少了不必要的CPLD解密现象,如运动模糊。此外,片上EEPROM让我们能够通过串行接口定制加电默认值。
利用Atmel自适应SourcePower™技术,MSL4163/4能够适当控制为LED串供电的DC-DC转换器。这些效率优化器能够将功耗降至最低水平,同时还能保持较高的LED电流精度。
独特的值电流控制和脉冲宽度管理组合提供了简单的全屏亮度控制、各种区域调光和稳定白点。利用1个外部电阻为所有LED串设定全局峰值参考电流,通过8位寄存器实现了全局峰值电流精调。利用8位全局强度寄存器调整全局灯串驱动脉冲宽度,利用12位寄存器调整个别灯串的脉冲宽度。
MSL4163/4能够监测开路、短路、视频同步丢失和过热等故障条件,提供故障输出以便通知系统控制器。通过串行接口提供详细故障状态与控制。
MSL4163/4采用6 x 6 x 0.75mm、40引脚TQFN封装,工作温度范围为-40℃~85℃。
Atmel推出低功耗AES-128安全应答器
微控制器及触摸技术解决方案的领导厂商爱特梅尔公司(Atmel®Corporation)宣布提供基于爱特梅尔AVR®微控制器(MCU)的新型超低功耗安全微模块(micromodule)应答器产品。用于汽车遥控无匙门禁系统的ATA5580应答器包含开放式防盗器(immobilizer)协议堆栈,内置有高性能AES-128硬件加密单元、一个用于电源和双向通信的低频(LF)防盗器接口cpld解密,以及一根低频天线。ATA5580单独式防盗器应答器可通过包覆成型工艺集成到简单的机械钥匙中,以提供齐全的遥控无匙门禁密匙功能。为此,ATA5580防盗器应答器和ATA5795遥控无匙门禁AVR微控制器具有相同的LF、协议与AES实施方案,允许在单一系统中无缝部署这两种类型钥匙。
ATA5580应答器以触点阵列(LGA)类型封装为基础,无需使用引线框架结构,提供了业界最佳的静电放电保护(ESD),这对于严苛的环境,如包覆成型工艺来说尤为重要。
ATA5580应答器具有超低功耗设计和高调制指数,在运行完整的AES认证时提供范围为1%的典型耦合因数。由于典型AES防盗器应答器具有更高的耦合因数要求,因而ATA5580具备独特的条件,可让汽车制造商从过时的加密系统转向AES加密方案,并且无需重新设计锁芯机械,免除昂贵的成本。
AVR微控制器嵌入8kB闪存和2kB EEPROM存储器,存储有在制造期间编程的爱特梅尔开放式防盗器软件栈。该协议堆栈采用开源授权许可发布,实现真正的同等评议(peer-reviewing)过程和安全审查。
现在市面上所有的传统竞争产品都采用均一的通用模式,相比之下,ATA5580应答器协议能够通过EEPROM进行大量配置,可让设计人员针对耦合因数/位安全性轻易优化如认证时间等系统参数,最大限度地提高特定环境的通信连接稳健性。
爱特梅尔公司汽车门禁产品营销经理Jedidi Kamouaa博士表示:“防盗器系统是汽车门禁系统的最关键部分,它们完全不允许出现故障。ATA5580应答器提供了别具吸引力的高安全性AES加密和采用非安全防盗器算法的基础应答器状态机通常具有的耦合因数要求组合。这款器件证明AES并不意味着高功耗。”
基于CPLD的RS-232串口通信实现
CPLD(Complex Programable Logic Device)是一种复杂的用户可编程逻辑器件。采用连续连接结构,延时可预测,从而使电路仿真更加准确。CPLD解密是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。开发工具Quartus II、ISE等功能强大,编程语言灵活多样,使设计开发缩短了周期。
随着嵌入式的发展,对数据的传输和人机交互通信的要求越来越高。而串口通信因其资源消耗少、技术成熟而被广泛应用。系统中上位机与嵌入式芯片之间的交互通信可以通过专用集成芯片作为外设RS-232异步串行接口,如TI、EXAR、EPIC公司的550、452等系列UAWT集成电路,或在拥有Nios系统的FPGA上可以方便地嵌入UART模块。但是在设计中用户会提出自己的要求,如:数据加密或只使用UART部分功能等,即要求更灵活的UART.而且有时CPLD资源剩余,出于成本考虑也会要求设计一种模拟的UART.对于上述的两种情况,就可以在CPLD其丰富的资源上制作一款UART,实现PC机与嵌入式系统之间的数据交换。
1 串口通信协议
1.1 UART简介
通用异步收发器(Universal AsynchrONous Receiver Transmitter,UART)。异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用。
异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。
1.2 自定义数据包格式
多个上文所描述的帧就可以组成一个数据包。串口通信是在RS-232数据帧结构的基础上定义的,传输以数据包为单位进行。
本文采用和校验的结构,一个数据包包含15 Byte.其中第1个字节是数据包头即握手字符。第2字节为控制字符,EE代表写命令,DD代表读命令。第3至第14为可利用数据。第15字节作为校验字符,理论上应等于这个数据包中数据字符串之和的后8bit.
2 设计方案
2.1 UART的设计结构
笔者设计采用模块化设计,方案的UART主要由逻辑控制模块、波特率发生模块、发送模块和接收模块等组成。波特率发生模块可以建立精确的时钟,确保数据采样准确、工作时序顺畅。逻辑控制模块、波特率发生模块、发送模块和接收模块完成工作有:确定数据起始位、数据收发,串并转换、建立握手连接、判断命令、数据校验等功能。
2.2 状态图
利用串口通信在数据交互过程中涉及到了多种工作状态,情况比较多样,而利用程序设计中的有限状态机(FSM)理论进行编程设计,这个问题可以迎刃而解。
有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,有限状态机的状态(即由寄存器组各位的1和0的组合状态所构成的有限个状态)只能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态。
本设计的有限个状态编码使用独热码形式,即寄存器组每一个bit位代表一种状态(如“0100”,“1000”为四态机中的两种状态),这种状态码的好处是避免了状态混乱。状态机采用Mealy型有限状态机,这种状态机的下一个状态不但取决于各个输入值,还取决于当前所在状态,符合UART的工作原理。
逻辑控制模块、数据接收模块和发送模块的设计都使用到了状态机,其中以逻辑状态机为主状态机,其余两个为从状态机。确定各种工作状态和工作流程后便可构建出状态图,方便直观地进行后续设计。
3 各模块设计
3.1 波特率发生器
串口通信必须要设定波特率,本设计采用的波特率为9 600 bit/s.产生波特率的时钟频率是越高越好,这样才可产生较高且精确的波特率。设计选用50M主频率要产生9600bit/s波特率,每传送一位数据需要5 208.33个时钟周期。取一个最接近的数是5 208,则波特率为9 600.61,其误差约为0.006%,误码率很低可以确保通信正常。
波特率发生器要解决的另一个关键性问题是确保准确地捕获起始位“0”。即时准确地捕获起始位不仅决定通信是否顺畅开始,而且还影响后续的数据采样过程可靠地进行。方案采取了16分频的波特率发生器,即通过对50 M总时钟源分频,得到一个9 600×16 Hz的时钟进行数据传输,这样每16个时钟信号采样1 bit数据。在Rxd数据接收端口接收到从空闲高电平“1”跳变为起始位低电平“0”信号后,连续8个分频周期确认是否是起始位。若是连续的低电平则捕获起始位,自此之后每16个时钟周期读取1 bit数据。这种方法不仅确保了起始位的准确捕获,而且使数据采样点处于了数据的正中央保证了数据的准确。
3.2 接收器
在波特率发生器捕获起始位并启动后,接收器将开始工作。其主要工作是接收每一位数据,将串行数据移位存入缓冲寄存器,并在接收完一字节数据后将数据存入锁存器完成串并转换,同时发出char_ok信号通知逻辑控制模块一个字节的数据已经接收完毕。
3.3 逻辑处理模块
逻辑处理模块是模拟UART的决策模块。它主要完成PC机与CPLD的握手、数据处理和数据校验、状态分析与给收发模块提供决策。
PC机要向CPLD发数据时,先向串口发送FF,FF表示PC机要与CPLD建立联系。CPLD收到这个信息后,由逻辑模块的talk信号通知发射模块握手情况,发送器通过串口给PC机反馈信息,DD表示CPLD收到了PC机的要求并同意建立联系,CC表示握手不成功PC机可以再次发出请求。握手成功后,PC机要向CPLD发出命令字符,E1表示写,E2表示读。
随后进入数据接收或发送状态,每个数据包接收完毕后逻辑处理模块进入下一状态–数据校验状态。根据上文提到的本设计的数据校验采用和校验,数据校验完后逻辑处理模块会根据校验结果给出信号check,通知发送模块Txd发送反馈信息给PC机。
3.4 发送器
[...]
Altera发布了基于FPGA的视频分析解决方案
进一步延续其在基于FPGA的视频监控解决方案上的领先优势,Altera公司 (NASDAQ: ALTR)日前发布了面向监控系统数字视频录像机(DVR)和网络视频录像机(NVR)的四通道标准清晰度(SD)视频分析解决方案。与Eutecus公司联合开发,Altera最新的视频分析解决方案支持用户使用一片FPGA同时分析四路D1 480p/30fps (每秒帧数)视频通道。用户可以在现有SD监控投入上迅速高效的增加功能,不需要购买集成了分析功能的新摄像机。
Altera的视频分析解决方案包括低成本、低功耗Cyclone IV FPGA,以及Eutecus的多核视频分析引擎(MVE™)知识产权(IP)内核,它在FPGA中完成分析功能。与DSP或者传统的基于服务器的方法相比,这一解决方案支持设计人员采用单片FPGA来替代多个DSP处理器,从而降低了成本,而功耗不到3W。Altera基于FPGA的视频监控解决方案非常适合用户设计实现多种应用,包括,银行、教育、城市、工业、政府和车流量监控等系统。
这一基于FPGA的视频分析解决方案非常灵活,支持设计人员定制他们自己的视频监控系统。Eutecus的MVE™ IP结合了大量的并行算法以及特殊的多核协处理器,多个Altera® Nios® II内核集成在Cyclone IV FPGA中。这一解决方案还提供软件GUI,支持设计人员针对他们的特殊应用来定制事件探测参数和规则。Eutecus的IP包括可靠的应用程序接口(API),支持用户链接自己的视频管理系统,或者用于开发自己的定制GUI解决方案。
Altera军事、工业和计算部资深副总裁Jeff Waters评论说:“Altera和Eutecus的高性能、低成本、低功耗基于FPGA的视频分析解决方案专门设计用于为视频监控系统开发人员提供灵活的平台,突出最终系统的优势。帮助设计人员快速方便的获得硬件和IP,支持用户在现有监控设备上高效的扩展他们的分析功能,迅速将产品推向市场。”
Eutecus CEO兼总裁Csaba Rekeczky评论说:“Altera的Cyclone IV FPGA及其Quartus II软件环境是Eutecus新一代MVE解决方案理想的模块化设计环境。视频分析用户可以在单通道IP摄像机和多通道DVR/NVR上采用Eutecus高度模块化、灵活的可更新IP产品以及Altera的低成本、低功耗、可定制FPGA,从而充分发挥我们公司之间密切的合作优势。”
Altera全面的低成本、低功耗视频监控解决方案面向高清晰度(HD)和标准清晰度(SD)分辨率系统。2011年,Altera和Eutecus推出了业界的第一款基于FPGA的视频分析解决方案,实现了全HD 1080p/30fps实时视频处理能力。使用相同的处理引擎,两家公司能够为四通道D1分辨率系统迅速定制HD引擎,在低分辨率多通道解决方案基础上满足用户更高的要求。
CPLD与TMS320VC55x的McBSP接口设计
1 McBSP的硬件接口及时序分析
TMS320VC5509是TI公司生产的第三代高性能低功耗DSP芯片,有三个McBSP串口,McBSP串口是在标准同步串口基础上的功能扩展,提供了强大的同步串口通信机制,速度可达100Mbit/s,具有以下特征:
·全双工通信;
·双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输;
·为数据发送和接收提供独立的帧同步脉冲和时钟信号;
·能够发送中断给CPU,发送事件信号给DMA控制器;
·发送和接收各有128个通道,可以允许或阻断某个通道的传输;
·数据长度可以为8、12、16、20、24、32;
·提供了A-律和μ-律压缩扩展;
·内部时钟和帧同步信号的可编程性;
·与T1/E1、SPI、AC97、I2S等直接接口。
McBSP串口一般通过六只引脚使得数据通路和控制通路与外部设备相连。数据经McBSP串口与外设的通信通过DR和DX引脚传输,控制同步信号则由CLKX、CLKR、FSX、FSR等四只引脚来实现。由于McBSP串口的数据线DR和DX有缓存寄存器,帧同步信号FSX、FSR,以及时钟信号CLKX、CLKR具有可编程性,使得其与CPLD之间的接口设计非常灵活,设计的步骤可以是:先对CPLD进行编程,然后根据所产生的数据发送和接收的波形特点,对McBSP串口编程,与CPLD的波形相匹配。
2 CPLD的内部结构设计
数据输入通道是由视频采样芯片SAA7114H、CPLD和C5509的McBSP串口组成,视频采样数据从SAA7114H出来之后,在CPLD的内部输入FIFO(先入先出队列)中缓冲一下,由于McBSP是串行的,所以在CPLD内部要进行并串转换,串行输出,同时还要产生同步时钟给McBSP串口。
数据输出通道是由McBSP串口、CPLD和LCD(液晶)控制器组成,解码后的视频数据经过McBSP串行进入CPLD,在其内部串并转换之后,送入内部的输出FIFO暂时缓存一下,然后进入外部的LCD控制器
基于单片机+CPLD的延时控制系统设计
1 引言
现代控制系统中控制对象可能是复杂、分散的,而且往往是并行、独立工作的,但整体上它们是相互关联的有机组合。因此,控制信号的时序逻辑则要求更加精确。 CPLD单片机为控制系统提供了技术支持,由CPLD和单片机组成的多机系统具有逻辑控制方便,时序精确,并行工作,人机接口友好等优点。因此,本文提出了一种基于CPLD与单片机控制的多路精确延时控制系统的设计方案。
2 设计指标与系统原理
2.1 设计指标
输出多路脉宽为10 ms正脉冲信号;
脉冲输出时间独立调节、显示;
时间调整范围与精度为微秒级的调整范围为l~199μs,调节精度为lμs;毫秒级的调整范围为1~199 ms,调整精度为1 ms;
提供计时基准信号和工作状态提示声音;
9 V电池供电。
2.2 系统设计原理
2.2.1 系统时钟
本系统设计由CPLD和多个单片机组成,CPLD对24 MHz高精度一体化晶体振荡器二分频得到多路同步时钟信号作为多个单片机的系统时钟,并由各个单片机外脉冲信号引脚XTAL2注入,二分频确保信号的占空比为50%,满足单片机时钟脉冲信号高低电平持续时间大于20 ns和最高脉冲频率为12 MHz的要求,同时也提高系统的可靠性。5l系列单片机采用定时控制方式,具有固定的机器周期,1个机器周期共有12个振荡脉冲周期,则机器周期是振荡脉冲的12分频。本系统采用12 MHz振荡脉冲频率,1个固定机器周期为1μs,因此能保证设计指标所要求的最高控制精度。
2.2.2 同步计时启动信号
本系统设计由外部按键提供启动信号,由于机械接触点的弹性及电压突跳等原因,按键存在抖动效应,为保证按键准确识别,本系统设计采用软件去抖动,再经单片机引脚输出无电压毛刺的稳定启动信号,再经CPLD变换后,可提供多路同步计时启动信号。
2.2.3 输出信号
本系统设计采用10 ms单脉冲信号作为各模块单元控制输出信号,其输出形式可根据需要通过软件调整,并保证系统输出信号的时序与逻辑关系。
2.2.4 系统时序
在计时脉冲的驱动下,按键信号经去抖动变换、CPLD逻辑同步后形成计时启动信号(0一n),以计时基准脉冲的前沿为计时起点,经设定延时后,系统输出相应的输出信号,其延时时间可独立调整,信号输出形式可由软件编程设置。
2.2.5 系统原理
电源稳压单元实现系统5 V电源的稳压与滤波。单片机采用外部系统时钟。主控单片机CPUO完成按键检测、计时基准信号输出和系统提示声音输出等功能。NO.1~N0.n单元完成时间调整与显示、μs/ms(微秒/毫秒)变换和信号输出等功能,CPLD完成时钟2分频、同步计时脉冲输出和计时启动信号同步输出功能。
3 硬件电路设计
3.1 主控单元
每个系统都由独立的主控单元组成。主控单元由电压、CPUO 和CPLD同步控制模块等组成。电压模块完成由可充电电池电压到稳定的5 V系统电源变换与滤波。CPUO单元模块选用ATMEL公司51系列单片机AT89S52A。AT89S52是低功耗、高性能CMOS 8位微控制器,具有8 KB在系统可编程Flash存储器、256字节的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)端口、5个中断优先级2层中断嵌套中断、2个16位可编程定时计数器、2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器,兼容标准MCS一5l指令系统。CPUO模块完成按键信号检测,工作状态提示音输出,计时基准信号输出等功能。CPLD同步控制模块采用ALTRA公司EPM7032SLC44为控制核心。 EPM7032SLC44是MAX7000 CPLD,是基于先进的多阵列矩阵(MAX)架构,采用先进的CMOS制造工艺,提供从32到512个宏单元的密度范围,速度达3.5 ns的引脚到引脚延迟。支持在系统可编程能力(ISP),可以在现场进行重配置。CPLD同步控制单元完成时钟分频与同步,按键信号同步等功能,ProKram插座是CPLD的编程接口。
3.2 输出控制单元
每个系统由n(本系统设计中n=9)个输出控制单元组成,这n个单元输出控制独立并行工作。N0.1~N0.n以ATMEL公司5l系列单片机AT89C2051为核心。AT89C205l是低功耗、高性能CMOS 8位单片机,具有15个双向输入/输出(I/O)端口、片内含2 K字节的可反复擦写的只读Flash程序存储器和128字节的随机存取数据存储器(RAM);采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS一5l指令系统。输出控制单元(NO.1~NO.n)并行工作,完成延时时间设置、μs/ms变换设置、控制信号输出和延时显示等功能,延时时间显示通过单片机串口实现,由3片串/并变换器件74LSl64驱动3个共阳数码管。
4 [...]
Altera发售Cyclone V系列
Altera公司今天宣布,开始发售其28-nm Cyclone V FPGA。Cyclone V器件是目前市场上功耗最低、成本最低的28-nm FPGA。该系列通过集成,前所未有的同时实现了高性能、低系统成本和低功耗,非常适合工业、无线、固网、军事和汽车等市场应用。Cyclone V系列完成了Altera的28-nm定制系列产品的全系列发售,提供多种器件以满足用户的各类设计需求——从最大带宽到最低功耗。
Cyclone V系列采用了TSMC的28-nm低功耗(28LP)工艺进行开发,满足了目前大批量低成本应用对最低功耗、最低成本,以及最优性能水平的需求。与前几代产品相比,该系列总功耗降低了40%,静态功耗降低了30%。Cyclone V FPGA CPLD解密提供功耗最低的串行收发器,每通道在5 Gbps时功耗只有88-mW,处理性能高达4,000-MIPS,而功耗不到1.8W。此外,该系列集成了丰富的硬核知识产权模块,例如,支持400MHz DDR3和PCI Express Gen2硬核IP模块的多功能硬核存储器控制器等,帮助工程师降低系统成本和功耗,缩短设计时间,同时突出产品优势。(请观看“采用Cyclone V FPGA降低设计、制造和调试成本”网播,了解详细信息)。为保护宝贵的IP投入,该系列还提供最全面的设计保护功能,包括支持易失和非易失密钥的256位高级加密标准(AES)。
Altera产品市场总监Patrick Dorsey评论说:“全面完成Altera定制28-nm系列产品的发售后,我们的用户可以充分发挥业界最全系列产品的优势,满足其独特的性能、功耗和成本系统需求。提高集成度、增强性能、降低功耗等技术要求越来越高,而对产品快速面市的要求也越来越复杂,因此,Cyclone V系列是低成本、大批量市场最合适的解决方案。”
