您当前的位置:五五电子网电子知识单片机-工控设备综合-其它用FPGA和单片机设计黑白四画面分割器 正文
用FPGA和单片机设计黑白四画面分割器

用FPGA和单片机设计黑白四画面分割器

点击数:7356 次   录入时间:03-04 11:40:29   整理:http://www.55dianzi.com   综合-其它

  近年来,随着视频监控系统在各个领域的广泛应用,作为其组成之一的多画面分割器的应用也愈来愈普遍。使用一台四画面分割器,在一台监视器上可同时监控四个目标,且只需使用一台录像机便可对四路视频信号同时录像。目前,多画面分割器有黑白/彩色四、九、十六画面分割器共六种类型。一般说来,多画面分割器除了画面分割功能外,还有视频信号切换功能及报警输入功能:视频信号切换功能是指多画面分割器有一路视频输出是输入视频信号的顺序切换,且切换时间可调;报警输入功能是指当某监控目标有异常发生时,画面分割器能报警,且画面上相应地叠加有报警信息,或将报警信息存储起来以便日后查阅。
  设计多画面分割器若使用专用的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] [2]  下一页


本文关键字:单片机  黑白  综合-其它单片机-工控设备 - 综合-其它