西门子6ES7222-1BD22-0XA0库存充足
西门子6ES7222-1BD22-0XA0库存充足
Altera公司的产品基本上都属于CPLD结构。由于它的内部连线均采用连续式互联结构,即利用同样长度的金属线实现逻辑单元之间的连接,所以它具有延时可预测的优点。由于采用了全新的结构,先进的技术再加上MAX+PLUSII可编程逻辑的开发环境,使得Altera公司的PLD器件不仅具有PLD器件的一般优点,而且还有如下一些优势:高性能、高集成度、价格合理、开发周期较短、可以很方便的进行在线编程。
MAX系列是Altera目前为流行,使用广泛的两个系列之一,因此本文章以MAX7000系列芯片为例介绍了可编程芯片在DSP系统设计中的应用。
MAX7000系列器件的特点
MAX7000系列是高密度,高性能的CMOS CPLD,是在Altera公司的第二代MAX结构基础上构成的,采用先进的0.8umCOMS EEPROM技术制造。MAX7000系列提供600到5000可用门(器件上提供1200-10000门),引脚到引脚的延时为6ns,计数器频率可达151.5MHz。MAX7000系列的-7和-10P速度等级同PCI总线标准一致。MAX7000系列的高密度器件称为MAX7000E系列。它们有几个加强的特性:附加全局时钟,附加输入使能控制,增加连线资源、快速输入寄存器和可编程的输出电压摆动率。
MAX7000是用CMOS EEPROM单元实现逻辑函数的。可编程的MAX7000结构容纳各种各样的,有独立的组合逻辑和时序逻辑函数。在设计开发和调整阶段,MAX7000器件可以快速而有效地重新编程,并保证可编程的擦除100次。
DSP系统结构
在进行DSP系统设计时采用CPLD来实现DSP和其他外围芯片的接口电路的优点主要是硬件设计简单,因为CPLD的管脚具有重定义的功能,这使得PCB板的设计要简化很多;同时因为MAX7000系列CPLD的功能比较强大,可以很容易实现地址译码、等待时序的插入以及这种简单的总线转换,一般用一块CPLD就可以实现系统所有的接口电路。它的功能框图如下:
下面从等待时序的产生、地址译码和LCD接口电路的实现几个方面来举例说明。
用CPLD产生等待时序
TMS320C2X支持与慢速外设接口的硬件等待状态插入。当与慢速外设接口时,系统必须提供能产生等待状态的硬件电路。外设存取的速度越慢,所需插入的等待状态数量就越多。那么,如何根据外设存取速度来确定所需的等待数可以由下式确定:
设t为外设访问时间
TMS32020 [200(N-1)+85]ns
TMS320C25-40 [100(N-1)+40]ns
TMS320C25-50 [80(N-1)+29]ns
假设设计的系统在访问程序空间时需要加入两个等待,I/O空间和数据空间则是全速。用VHDL语言描述如下:
—— generate wait state for low speed interface
g_wait_prog:
PROCESS (clockout, reset)
BEGIN
IF ((res_cpu = ‘0‘) or (ps = ‘1‘))THEN
progwaitclock <= 0;
ELSIF (clockout‘EVENT AND clockout= ‘0‘) THEN
IF (ps = ‘0‘) THEN
IF progwaitclock = 2 THEN
progwaitclock <= 0;
ELSE
progwaitclock <= progwaitclock + 1;
END IF;
ELSE
progwaitclock <= progwaitclock ;
END IF;
END IF;
END PROCESS g_wait_prog;
—— generate ready signal
PROCESS
BEGIN
IF ((progwaitclock = 0)and(lcdwaitclock = 0)) THEN
ready <= ‘1‘;
ELSE
ready <= ‘0‘;
END IF;
END PROCESS ;
Clockout为CPU的时钟输出信号,信号量progwaitclock是用来计数clockout的个数,当CPU访问程序空间时,PS为低电平,progwaitclock开始计数,当progwaitclock的值不为0时ready为高,CPU等待外部设备就绪,当progwaitclock计数到要等待的个数时,progwaitclock复位为零,ready变为低,CPU等待结束。
用CPLD实现存储器接口
存储器接口包括ROM接口和RAM接口两种。ROM主要指PROM和EPROM,而RAM主要是静态RAM(SRAM)。设计存储器接口时主要考虑到存储器速度,以确定需要插入几个等待状态,同时还要考虑到地址译码,地址空间分配的问题。
1 快速PROM/EPROM接口
快速PROM/EPROM(存取时间 35ns)可直接和TMS320C2××接口而不用加入等待,但要考虑到地址译码的问题。
2 慢速EPROM/EEPROM/FLASH MEMORY的接口
对于慢速器件,在和DSP这种较快的处理器接口的时候要加入合适的等待周期,同时还要考虑地址译码的问题。
3 快速SRAM接口
TMS320C2××既可将SRAM用作程序存储器,也可用作数据存储器。不管是程序空间还是数据空间,它都只要考虑译码的问题,用正确的线片选即可,如程序空间用PS片选,而数据空间用DS片选。
4 程序和数据公用SRAM
在很多时候,为了方便调试不但要扩展程序SRAM也要扩展数据SRAM。因为TMS320C2××分别用PS和DS来选程序和数据空间,所以一般的做法是用PS和DS分别片选不同的芯片,为了使DSP有足够的程序和地址空间,我们需要多片存储器芯片,这样,会给PCB布线的时候带来很大的麻烦。因为采用了CPLD来进行译码,我们可以很方便的用一块容量较大的SRAM,通过合适的译码电路使它的空间能分开,既有程序空间又有数据空间。下以CY7C1024-15为例来说明:
—— ram address albbbbbbbb.
—— pro_data = 1 means select 8000H——ffffH(data);
—— pro_data = 0 means select 0000H——7fffH(program);
PROCESS (ds,ps)
BEGIN
IF((strb= ‘0‘)and(ds = ‘1‘)and(ps = ‘0‘)) THEN
pro_data <= ‘0‘;
ELSIF((strb= ‘0‘)and(ds = ‘0‘)and(ps = ‘1‘)) THEN
pro_data <= ‘1‘;
ELSE
pro_data <= ‘0‘;
END IF;
END PROCESS;
—— ram control line.
control:
PROCESS (we, w/r, ps, ds, ios, br, strb)
BEGIN
IF strb = "0" THEN
IF ((ds = ‘1‘)and(ps = ‘0‘))or((ds = ‘1‘)and(ps = ‘0‘)) THEN
ram_cs <= "0";
ram_w/r <= w/r;
ram_oe <= we;
ELSE
ram_cs <= "1";
ram_w/r <= "1";
ram_oe <= "1";
END IF;
ELSE
ram_cs <= "1";
ram_w/r <= "1";
ram_oe <= "1";
END IF;
CY7C1021是Cypress公司生产的64k×16bit Static RAM,以上程序要完成的功能是让一块芯片的64k空间中的低端32k为程序空间,另外32k为数据空间。程序中的pro_data接CY7C1021的高位地址线A15,当ps为低时pro_data为低电平,选中RAM的低32k空间,当ds为低时pro_data为高电平,选中RAM的高32k空间,ram_cs、ram_w/r、ram_oe分别接CY7C1021的片选、读、写线。
用CPLD实现LCD接口电路
我们常用的LCD有很多种,如段型、点阵型,这儿主要介绍如何用CPLD来实现DSP和点阵型LCD的接口。由于点阵型液晶显示器的引线多,用户使用极不方便,所以制造商将点阵型液晶显示器做在一块板上成套出售,这种产品称为液晶显示模块。在液晶显示模块上装配好了液晶显示驱动电路和分压电路,并提供驱动电路的接口,这使得液晶显示模块和微处理器的接口十分方便。它在结构上可分为接口、控制和输出三大部分。以深圳天马公司的液晶模块为例,简单介绍它的接口。它一共有11条信号线:
RS用于寄存器选择,低电平选择指令寄存器,高电平选择数据寄存器。
R/W为读/写控制端,低电平时写显示模块,把CPU的数据写入显示模块;高电平读显示模块,把显示模块的数读回CPU。
E为允许输入信号线(数据读写操作允许信号),高电平有效。
D0-D7为数据线。
相比较DSP而言,LCD显示模块是慢速器件,在设计接口电路时除了要考虑它的接口时序匹配外还要考虑加入合适的等待周期。在下面给出的例子中地址线a0用来控制是读还是写,a1用来选择数据寄存器还是控制寄存器。Lcd_rs接到LCD模块的RS管脚,lcd_wr接到LCD模块的W/R管脚,lcd_e接到E管脚。程序中的high_adr是DSP地址线高3位a15-a13的组合,在这个例子程序中LCD模块的操作地址被映射到DSP的IO空间的0x2000-0x3fff。
—— lcd interface :
—— bbbbb : a1(lcd_rs), a0(lcd_wr) ,we, wr, ios, strb ;
—— a1,a0 => "00" : write command
—— a1,a0 => "01" : read AC value
—— a1,a0 => "10" : write data
—— a1,a0 => "11" : read data
—— lcd_rs : select register bank ‘1‘ for data, ‘0‘ for command
—— lcd_wr : write/read control ‘1‘ for read, ‘0‘ for write
—— lcd_e : enable signal; ‘1‘ for read , ‘1‘ to ‘0‘ write data in
lcd_en:
PROCESS (we, wr, ios, strb)
BEGIN
IF ((strb = ‘0‘) and (ios = ‘0‘)) THEN
IF (high_adr = "001") THEN
lcd_rs <= a1;
lcd_wr <= a0;
lcd_e <= (not (we or wr));
ELSE
lcd_rs <= ‘0‘;
lcd_wr <= ‘0‘;
lcd_e <= ‘0‘;
END IF;
ELSE
lcd_rs <= ‘0‘;
lcd_wr <= ‘0‘;
lcd_e <= ‘0‘;
END IF;
END PROCESS lcd_en;
—— generate wait state for low speed interface
g_lcd_wait:
PROCESS (clockout, reset1 )
BEGIN
IF ((reset1 = ‘0‘)or(not((ios = ‘0‘) and (high_adr = "001")))) THEN
lcdwaitclock <= 0;
ELSIF (clockout‘EVENT AND clockout= ‘0‘) THEN
IF ((ios = ‘0‘) and (high_adr = "001")) THEN
IF lcdwaitclock = 5 THEN
lcdwaitclock <= 0;
ELSE
lcdwaitclock <= lcdwaitclock + 1;
END IF;
ELSE
lcdwaitclock <= 0;
END IF;
END IF;
END PROCESS g_lcd_wait;
用CPLD实现键盘接口电路
DSP和键盘的接口可以用专用的键盘接口芯片来实现,但如果是要识别的键不是很多,用一块专门的键盘接口芯片就显得有些多余,用一块CPLD附带就能实现键盘接口,它可以把键码的识别映射到DSP的一个IO空间,然后通过读这个IO地址来判断是否有键按下,它也可以很方便的实现按键中断,所以的键通过与的关系产生一个信号,这个信号连到CPU的中断输入管脚,当有键按下时,这个信号发生调变触发CPU的中断。同时它还可以很容易实现硬件消抖。因为这部分比较简单,故不再举例说明。
仿真波形
如图所示为以上VHDL程序在MAXPLUSII中编译仿真的结果,仿真仅仅给出了每个功能模块的部分波形,图中显示了当访问程序空间时,pro_data为低电平,ready保持两个时钟周期的低电平使得CPU总线插入两个周期的等待。图中还显示了当访问IO空间的0x2002地址时的波形,对这个地址进行读操作是从LCD的控制寄存器读入数据,这时ready保持5个时钟周期的低电平来让CPU插入5个周期的等待,在这个期间lcd_wr保持高电平表示对LCD进行读操作,lcd_rs保持低电平表示选择LCD的控制寄存器。
结论
芯片的设计、生产和制造技术的发展使得CPLD的在各种设计中有越来越多的应用,而随着DSP芯片性能价格比和开发手段的不断提高,DSP已在通信与信息系统、信号与信息处理、自动控制、雷达、军事、航空航天、医疗、家用电器等许多领域也得到广泛的应用。DSP的高速度和期复杂的接口时序使得在设计DSP系统时往往会难于设计DSP和外围电路的接口,本文以存储器,LCD等为例简单介绍了MAX7000系列在DSP系统中的应用,并辅有VHDL实现的例子,通过在这方面的实践应用,总体感觉用CPLD来处理DSP的外围接口电路很方便,因为它的IO管脚几乎可以随意分配,可给PCB布线带来很大的方便;尤其在调试的时候,甚至不用断电就可以重新向CPLD中写入新的逻辑关系就可以调试。
屏蔽门是城市轨道交通中的重要设备,应用于地铁站台,将站台和列车运行区域隔开,通过控制系统控制其自动开启,其性能与质量对保障城市轨道交通安全有重大意义。易控(INSPEC)作为上位监控软件在北京若干地铁站台得到应用,可对地铁、轻轨屏蔽门进行高效监控及检测,全面监控屏蔽门状态并及时进行故障诊断,有效保证了屏蔽门的性能、安全性与可靠性,为城市轨道交通中同类应用起到示范与借鉴作用。
2. 系统简介
本系统应用于轻轨、地铁站台,对屏蔽门进行监控与检测。主要完成两项功能,(1)对轻轨、地铁站中各屏蔽门运行情况进行实时监控;(2)对各屏蔽门进行参数性能检测及故障诊断。
系统对安全性、可靠性及数据采集有较高的要求。
所用硬件为门控机,且涉及大量数据的反复高速采集,所以数据通过高速采集板卡与计算机进行通信,通信采用串口方式。其中,易控(INSPEC)为客户定制了高速驱动程序。
3. 软件应用
易控(INSPEC)监控系统可以对地铁站中上行与下行双向屏蔽门同时进行有效监控,包括开关门状态、PSL状态、IBP状态、锁定状态、网关状态、故障状态等数据。
易控(INSPEC)轻轨、地铁屏蔽门监控系统不仅包括安全登陆、报警功能、实时曲线、历史趋势曲线等常见功能,还针对行业特点,为用户提供程序下载、故障下载、数据导出等功能。
程序下载与故障下载功能,可以轻松对门控机设备进行检测流程和检测参数的设置。
4.系统特殊功能
易控(INSPEC)轻轨、地铁屏蔽门监控系统可轻松对各屏蔽门进行参数性能检测及故障诊断。通过采集和分析屏蔽门开合过程中的大量数据,来全面检测屏蔽门各方面性能与质量安全。
系统特殊需求
本系统使用博得门控机设备对地铁屏蔽门进行实测,屏蔽门开关速度为5秒-8秒,即在5秒-8秒内需要对集控开门命令、集控关门命令、操作允许信号、手动转换信号、紧急解锁信号、隔离锁信号、应急门使用信号、闭锁开关、门板开关、服务命令、屏蔽门锁闭、屏蔽门打开、蜂鸣器等24路信号状态进行反复高速采集,并通过数据状态来分析所测屏蔽门的性能与安全参数。由于所测参数众多,并且采集速度极快,故对系统的数据采集能力有较高要求。由于需要进行状态判断的参数数据量过大,无法通过人工方式进行直接判断,故需要特殊功能,使检测者容易进行判断。
解决方案
1)高速驱动
易控为系统的北京博得门控机设备定制了专门的高速驱动,通信速度高达 100ms以上,数据传输稳定可靠,可以有限时间内完成对大量参数的反复、准确采集,完全满足本系统对数据采集的要求。
2)仿真模块
易控通过其独特的C#用户程序功能,在系统中增加了仿真模块。该独特的仿真功能,可以将系统采集来的大量数据,按照检测人员指定的速度进行回放,从而顺利解决检测人员需要在极短时间内检测大量参数状态的难题。
检测人员点击“开始检测”,进行正常测试,屏蔽门进行动作,各种信号通过高速采集进行实时刷新,再点击“结束测试”,保存此次测试数据。然后调节仿真速度,就可以使数据按指定的速度进行回放,使得检测工作变得容易并且便利。
5.结束语
易控(INSPEC)地铁、轻轨屏蔽门监控及检测系统,运行稳定、界面友好、易学易用,而且满足了系统大量数据高速采集及分析的特殊要求。与同类型产品相比,具有操作方便、维护简单等优点,其可靠性、高效性及安全性深得用户好评。
- 西门子S7-1200 SB1222 数字量信号板模块6ES7222-1AD30-0XB0
- 西门子SM1222 数字量输出模块16输出24V 6ES7222-1BH32-0XB0
- 西门子SM1222 数字量输出模块, 16输出继电器6ES7222-1HH32-0XB0
- 西门子SM1222 数字量输出模块6ES7222-1XF32-0XB0 8输出切换继电器
- 西门子SM1222 数字量输出模块6ES7222-1BF32-0XB0 8输出24V 8输出24V
- 西门子SM1222 数字量输出模块6ES7222-1HF32-0XB0 8输出继电器
- 西门子6ES7222-1BH32-OXBO 现货 质量保证
- 西门子6ES7222-1HF22-0XA8授权代理商-现货供应
- 模块 6ES7222-1HH32-0XB0具备外部短路保护功能
- 西门子S7-200 EM222 4出继电器6ES7222-1HD22-0XA0