【摘 要】 介绍了用fpgaxcs10xl和单片机msu2964设计黑白四画面分割器的方法。
关键词:黑白四画面分割器,现场可编程门阵列,i2c总线存储器
近年来,随着视频监控系统在各个领域的广泛应用,作为其组成之一的多画面分割器的应用也愈来愈普遍。使用一台四画面分割器,在一台监视器上可同时监控四个目标,且只需使用一台录像机便可对四路视频信号同时录像。目前,多画面分割器有黑白/彩色四、九、十六画面分割器共六种类型。一般说来,多画面分割器除了画面分割功能外,还有视频信号切换功能及报警输入功能:视频信号切换功能是指多画面分割器有一路视频输出是输入视频信号的顺序切换,且切换时间可调;报警输入功能是指当某监控目标有异常发生时,画面分割器能报警,且画面上相应地叠加有报警信息,或将报警信息存储起来以便日后查阅。
设计多画面分割器若使用专用的dsp芯片,可满足对速度的要求,但开发周期较长,产品的调试修改及升级比较困难,且成本较高。而fpga器件具有集成度高、体积小、功耗低、设计灵活及价格较低等优势,因而目前多画面分割器的设计基本上采用fpga作为其中的视频信号处理器件。由于fpga的功能由其内部的编程数据来确定,而编程数据的装载几乎都是上电后由单片机来实现的,因此多画面分割器必须要有单片机。由此可见,多画面分割器是一个以fpga器件和单片机为核心,外加a/d、d/a、帧存储器、存储器、时钟和字符叠加等辅助芯片组成的一个系统。黑白四画面分割器的组成方框图如图1所示。下面具体介绍黑白四画面分割器的设计方法。
1 各部分电路的结构及工作原理
1.1 输入缓冲及a/d转换
该部分电路的主要功能是将输入的模拟视频信号转换成数字视频信号供fpga器件处理,其方框图如图2所示。四路视频信号经过由fpga控制的模拟多路选择器后,输出二路视频信号,经过缓冲放大后再送到由fpga控制的模拟开关,然后输出给a/d,两路视频信号需要两片a/d芯片。a/d芯片选tlc5510,该芯片是一分辨率为8位、20msps(20兆采样点/秒)的coms模/数转换器,在fpga的控制下,tlc5510将输入的模拟视频信号转换成数字视频信号,然后送往帧存储器。
1.2 帧存储器
帧存储器选averlogic公司的al422,共需两片al422。al422是一存储量为384k×8 bits的fifo(first in first out)dram,它支持vga、ccir、ntsc、pal和hdtv分辨率,具有独立的读/写操作及输出使能控制;存取时间为15ns的高
速异步串行存取,可在5v或3.3v电源电压下工作,标准的28脚sop封装。
1.3 fpga器件
fpga是本设计的核心,fpga与传统逻辑电路和门阵列相比具有不同的结构,fpga利用小型查找表(16×1 ram)来实现组合逻辑,每个查找表连接到一个d触发器的输入端,由d触发器来驱动其它逻辑或驱动i/o。这些模块通过金属连线互相连接或连接到i/o模块。fpga的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储单元中的值决定了fpga实现的功能,fpga的这种结构允许无限次地重新编程。由此可见,用fpga设计的产品调试修改及升级均很容易,且具有很大的灵活性。fpga的种类很多,在本设计中选用spartan系列的xcs10xl,该芯片是xilinx公司推出的低价格、高性能的fpga,其主要特点为:
(1)系统门的数目达到了10000,logic cell数目达到了466,系统资源丰富。
(2)具备片上可编程分布式ram,最多可编程的ram比特数达6272。
(3)分布式算术逻辑单元,支持分布式dsp运算。
(4)灵活的高速时钟网络,内部三态总线;工作电压为3.3v。
fpga的编程数据存储在单片机的flashrom里,每次上电后单片机将编程数据装入xcs10xl,编程模式选从串模式,因而其22脚(mi)和24脚(mo)悬空。编程数据装入后,xcs10xl的逻辑功能就确定了。xcs10xl要控制视频信号的输入及a/d转换,在其内部,xcs10xl将每路视频信号压缩为原来的1/4,同时在单片机的控制下给每路叠加时间、日期、通道数等字符信息,然后将压缩的四路视频信号合成为一路完整的数字视频信号,并输出给d/a。
1.4 d/a转换及输出缓冲放大
d/a转换电路将fpga输出的数字视频信号转换成模拟视频信号,然后经过缓冲放大输出给监视器。d/a芯片选hi1171,该芯片是一分辨率为8位,频率为40mhz的高速d/a转换器,其最大积分和微分线性误差分别为1.3lsb和0.25lsb,最小建立时间仅为5ns,在单5v下工作,功耗只有80mw。输出缓冲放大由分立元件组成。
1.5 单片机
由于程序量较大,且要装载fpga的编程数据,因而选用内部flash rom为64k的8位msu2964单片机。该单片机的主要特点为:内部ram为256 bytes,工作电压范围为4.5v~5.5v,具有空闲和掉电两种工作模式;可在16/25/40mhz三种时钟频率下工作,有8位无符号乘法和除法指令,其余和mcs-51系列单片机兼容。由于msu2964具有乘除法指令,因而给软件编程带来了很大的方便,另外,64k的flash rom空间也为以后的软件升级留下了余地。
1.6 看门狗
由于msu2964无看门狗定时器,为了防止系统死机,保证系统可靠地工作,需外加看门狗电路。本设计采用max813l作为电源监控和看门狗电路,当电源上电、掉电时,该芯片均可提供复位电平,并且当其wdi管脚不能采集到脉冲信号时,就会发送200ms的复位脉冲。单片机采用p1.0脚定时向看门狗电路发送脉冲信号,以示系统正常工作;当由于外部干扰或其他原因导致系统死机时,看门狗电路会自动发出复位信号,以保证系统可靠工作。
1.7 存储器
存储器芯片采用串行e2prom芯片x24c16,该芯片是容量为2kbytes带写保护的i2c总线数据存储器,当wp=1时,只能读,不能写数据。它使用串行数据线(sda)和串行时钟线(scl)来进行主从器件之间的数据传输。i2c总线上的数据传输率可达100bit/s,快速方式下可达400bit/s。在i2c总线传输中,开始和停止条件定义如下:当scl为高时,sda由高变低为开始的条件;当scl为高时,由低变高时为停止的条件(如图3(a)所示)。sda和scl都是双向传输线,sda线上的数据在时钟为高期间必须是稳定的,只有当scl线上的时钟信号为低时,数据线上的状态才可以改变(如图3(b)所示)。输出到sda线上的每一个字节必须是8位,每次传输的字节不受限制,每个字节必须有一个应答位。本设计中,x24c16的第5脚(sda)和第6脚(scl)分别接单片机的p3.6和p3.7。
1.8 时钟和字符叠加电路
时钟芯片选串行时钟ds1302,有关ds1302的具体使用方法可参阅参考文献〔1〕。
字符叠加电路由nec公司μpd6453组成,该芯片可在屏幕上显示12行每行24个字符,每个字符为12×18点阵,字符的大小、闪烁频率可以根据需要进行调整,屏幕的背景色、字符的边缘色以及字符本身的颜色也可以进行修改,该芯片内部除了固化了191个日文、英文字母和数字等字符的字模以外,还固化了49个汉字(如年、月、日、时)的字模;另外,该芯片提供16个字符的ram空间以供用户填入自定义字符。由于画面分割器不需要叠加太多不同的字符,因而本设计不外加汉字字库,这样既节省了成本和线路板的空间,又简化了电路结构。μpd6453所需的行、场同步信号及时钟信号均由fpga提供。单片机通过串行数据传输将一系列命令(包括所要显示的字符或汉字、字体大小、字符的间距、字符的属性)送往μpd6453,μpd6453收到命令后再将所要显示的字符或汉字等信息送至fpga。单片机及fpga与μpd6453的接口电路如图4所示。单片机的p0.0、p0.1、p0.2、p0.7分别与μpd6453的pin1、pin2、pin3、pin4相连;fpga的p61、p62、p35、p34分别与μpd6453的pin9、pin15、pin19、pin20相连。
1.9 max4545芯片
视频信号切换电路由max4545组成,该芯片可用于50ω~70ω系统中,是一种300mhz的低电压、双向多路高频开关器件,在10mhz频率下有大于80db的较好的高频关断隔离和串扰指标,这种cmos开关在±2.7v至±6v的供电范围内均能正常工作。一片max4545可构成一只4×1视频信号选择开关,刚好满足本设计的要求。
1.10 报警信号处理
报警信号的接收及处理由单片机直接完成,无需经过fpga。当有报警发生时,单片机收到报警信息,发出命令使蜂鸣器发出警报声,同时通知fpga和μpd6453使对应的画面闪烁并出现“报警”字样。
2 软、硬件设计时要注意的几个问题
(1)由于单片机msu2964本身不带看门狗定时器,为保证系统工作时不死机,务必要加看门狗芯片max813l。由于max813l的wdi脚在1.6秒内无脉冲信号输入时,会产生复位信号输出,因此在软件设计时要使p1.0输出脉冲信号的间隔不能大于1.6秒,为留有余地,最好不大于1.3秒。这一点在处理中断子程序及和x24c16或ds1302串行传送数据时要特别注意,因为串行传送数据时,单片机往往要等待ack(应答)信号,确保等待时p1.0也有脉冲信号输出。
(2)使用帧存储器al422应注意的问题
·由于帧存储器al422是fifodram,因而须确保wck和rck信号始终有、且信号的频率不低于1mhz,因wck和rck中频率较高者将作为dram的刷新时钟信号。
·在al422的/rrst信号的上升沿,/re信号不能为低,这一点在确定fpga的编程数据时要特别注意(因/rrst和/re信号均由fpga提供)。
·al422可在5v或3.3v电源电压下工作,当使用5v电源时,其dec脚(pin19)须接2.2μf的去耦电容;当使用3.3v电源时,dec脚(pin19)可直接与3.3v相连,并通过0.1μf电容旁路到地。电容均使用钽电容。由于使用3.3v时,器件功耗低,且受噪声干扰小,因而在本设计中采用了3.3v电源对al422供电。
(3)为避免视频信号之间的串扰,各路模拟视频信号间均用较粗的地线隔开,且视频走线足够宽。
DSP为什么具有多个电源呢
轻量应用服务器是如何硬“刚”传统云服务器的?
OpenHarmony原子化服务开发快速入门体验(上)
微博曝光了一组疑似一加7真机的照片
压力控制器简介
用FPGA和单片机设计黑白四画面分割器
华为Mate10最新消息:全面屏反面指纹识别超薄机身,华为Mate10要来了!
华为升级鸿蒙操作系统需要备份吗 升级鸿蒙系统好不好
Alphabet前董事长Schmidt不赞同Musk的AI威胁论
大唐恩智浦电池CT检测技术开启全球商业化进程
YOOSEN煜晨科技观点|浅谈品牌:缺乏这个因素,你的品牌就要注意了
国产示波器RIGOL MSO/DS7000系列数字示波器全“芯”上市
通过利用虚拟仪器技术实现路前置放大器测量系统的设计
一名合格的激光焊接工作者不能不知道的名词
各国基金对于区块链的进度如何
赋能工业企业数字化转型,橙色云“麟玑”AI产品正式发布!
AI偏见广泛存在 企业应当为技术应用划线
基于TEA1755的绿色电源设计
钓鱼爱好者的福音--磁阻传感器
通信网络测试领域企业信而泰 加入中国仪器仪表行业协会