当前位置:文档之家› 采用FPGA通过BT656接口实现传输4路视频流的方法

采用FPGA通过BT656接口实现传输4路视频流的方法

采用FPGA通过BT656接口实现传输4路视频流的方法
采用FPGA通过BT656接口实现传输4路视频流的方法

采用 FPGA 通过 BT.656 接口实现传输 4 路视频流的方法
引言
ITU-R BT.656 定义了一个并行的硬件接口用来传送一路 4:2:2 的 YCbCr 的数字视频流。 视频流的分辨率为 720×576 像素的 D1 格式。我们需要发送的视频数据源通常是经过 MPEG2 压缩的,分辨率为 352×288 像 素的 CIF 格式。在输出到显示终端前,处理器需要对 CIF 格式的图像数据插值为 D1(720×576 像素)格式, 然后再通过 ITU-R BT.656 并行的硬件接口输出给视频编码器。 在这种前提下, 可以利用一个 ITU-R BT.656 的硬件接口传输 4 路不同的 CIF 格式的视频数据流,然后在接收侧通过 FPGA(现场可编程门阵列)将 4 路 视频数据流分离、插值生成 D1 格式的数据输出给视频编码器。通过该方式,可以克服某些视频处理器输 出端口的限制,使视频输出端口扩展为原来的 4 倍。同时,由于使用 FPGA 进行插值运算,分担了一部分 视频处理器的工作量。
1 硬件连接
图 1 展示了一个 BT.656 并行硬件接口用来连接一个视频处理器和视频编码器的情况。该硬件接口由 8 根 数据信号和 1 根时钟信号组成。
图 2 所示是通过 FPGA 扩展 4 路视频的连接方式。FPGA 通过 BT.656 接口接收视频处理器发出的数据信 号,然后将 4 路视频信号分离、插值后通过 4 路 BT.656 并行硬件接口输出到 4 个视频编码器,实现视频 处理器一个视频输出端口同时输出 4 路视频信号。
2 数据结构
2.1 标准 BT.656 并行数据结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

BT.656 并行接口除了传输 4:2:2 的 YCbCr 视频数据流外,还有行、列同步所用的控制信号。如图 3 所示, 一帧图像数据由一个 625 行、每行 1 728 字节的数据块组成。 其中,23~311 行是偶数场视频数据,336~ 624 行是奇数场视频数据,其余为垂直控制信号。
BT.656 每行的数据结构如图 4 所示。
图 4 中,每行数据包含水平控制信号和 YCbCr。视频数据信号。视频数据信号排列顺序为 Cb-Y-Cr-Y。每 行开始的 288 字节为行控制信号, 开始的 4 字节为 EAV 信号(有效视频结束), 紧接着 280 个固定填充数据, 最后是 4 字节的 SAV 信号(有效视频起始)。
SAV 和 EAV 信号有 3 字节的前导:FF、FF、00;最后 1 字节 XY 表示该行位于整个数据帧的位置及如何 区分 SAV、EAV。XY 字节各比特位含义见图 5。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

图 5 中,最高位 bit7 为固定数据 1;F=0 表示偶数场,F=1 表示奇数场;V=0 表示该行为有效视频数据, V=1 表示该行没有有效视频数据;H=0 表示为 SAV 信号,H=1 表示为 EAV 信号;P3~P0 为保护信号, 由 F、V、H 信号计算生成;P3=V 异或 H;P2=F 异或 H;P1=F 异或 V;P0=F 异或 V 异或 H。
2.2 使用 BT.656 并行接口传输 4 路 CIF 格式视频的数据结构
视频处理器的输出是灵活多变的, 可以改变处理器的输出数据结构来同时传送 4 路 252×288 像素的视频信 号。BT.656 并行接口传输的有效视频数据流为 720×586,正好可以分割为 4 个 360×288 像素的空间来传 输 4 路 352×288 像素的视频数据。多余的空间用固定数据“8010”进行填充。
修改后的数据结构如图 6 所示。
原来存放第 1 场的数据的位置用来存放第 1、第 2 路视频数据;原来存放第 2 场的数据的位置用来存放第 3、第 4 路视频数据。
3 FPGA 实现的功能
FPGA 主要用来完成 4 路 352×288 像素视频流的分离,以及将视频流插值到标准 BT.656 接口所需的 720×586 像素的分辨率。同时,该 FPGA 还要重新生成 SAV、EAV 帧控制信号,结合插值后的 4 路视频 流产生新的符合 BT.656 结构的数据帧传送给视频编码设备。其功能框图如图 7 所示。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

首先,4 路 352×288 像素的视频流从 BT.656 结构的帧结构中分离出来,分别存储到各自的存储空间。然 后,352×288 像素的视频流被读取、插值为 704×288 像素,然后再填充为 720×288 像素的视频流。在成 帧的模块中,产生 BT.656 的帧结构所需的 SAV、EAV 信号;将插值生成的 720×288 像素的数据作为偶 数场的数据填入 BT.656 的帧结构中,奇数场的数据复制偶数场的数据。最后,将生成的 BT.656 标准视频 流发送给视频编码器输出到显示终端上。
3.1 存储器选择
由于需要同时存储 4 路 352×288 的视频流,需要的存储空间为 4 路×288 行×352×2 字节(视频流为 4:2: 2 的 YCbCr 信号,一个点通过亮度信号和色差信号来表示,所以图像的一个点实际占用 2 字节)。计算可 得需要 800 kB 左右的空间。低成本的 FPGA 内部很难提供如此多的存储空间,可以外挂一片 1MB 容量的 SRAM 用于存储视频数据。
BT.656 接口定义的时钟频率为 27 MHz。SRAM 要能提供 1 路 8 bit×27 MHz 数据写入,4 路 8bit×27 MHz 读出,总共 1Gbit/s 以上的数据带宽。可以选择位宽为 16 bit、工作时钟频率 100 MHz、带宽为 1.6Gbit /s 的 SRAM。
3.2 插值算法
将 352×288 像素的原始视频流变换为 714×288 像素的视频流就需要进行插值。该插值运算是一维的,也 就是说只需要加倍每行的点数而行数不变。插值运算前,应该先将 Y、Cb、Cr 信号分离,然后分别对 Y、 Cb、Cr 信号进行插值。简单的插值法有最近邻域法和线性插值法等。最近邻域法是插入点的值简单复制邻 近点的值;线性插值法是插入点相邻的两个数据取算术平均值,得到插入值。应用更加复杂的插值算法可 以改善图像质量。在本文设计中,实现这两种简单的插值方法就已经满足需求。
4 结束语
本文提出一种利用一个 BT.656 接口传输 4 路视频流的方法。该方法利用 FPGA 接收 4 路 CIF 格式的视频 数据,然后分离、插值为 4 路 D1 格式视频流后,重新生成 BT.656 的数据帧发送给视频编码芯片,从而实 现视频处理器的一个硬件接口传输 4 路视频图像。通过该方法可以克服视频处理器芯片输出端口的限制, 增加了其扩展性。在实际测试和应用中,取得了满意的效果。
标准 BT.656 并行数据结构
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

标准 BT.656 并行数据结构 BT.656 并行接口除了传输 4:2:2 的 YCbCr 视频数据流外,还有行、列同步所用 的控制信号。如图 3 所示,一帧图像数据由一个 625 行、每行 1 728 字节的数 据块组成。其中,23~311 行是偶数场视频数据,336~624 行是奇数场视频数 据,其余为垂直控制信号。 BT.656 每行的数据结构如图 4 所示。 图 4 中,每行数据包含水平控制信号和 YCbCr。视频数据信号。视频数据信号 排列顺序为 Cb-Y-Cr-Y。 每行开始的 288 字节为行控制信号, 开始的 4 字节为 E AV 信号(有效视频结束),紧接着 280 个固定填充数据,最后是 4 字节的 SAV 信 号(有效视频起始)。 SAV 和 EAV 信号有 3 字节的前导:FF、FF、00;最后 1 字节 XY 表示该行位 于整个数据帧的位置及如何区分 SAV、EAV。XY 字节各比特位含义见图 5。 图 5 中,最高位 bit7 为固定数据 1;F=0 表示偶数场,F=1 表示奇数场;V=0 表示该行为有效视频数据,V=1 表示该行没有有效视频数据;H=0 表示为 SAV 信号,H=1 表示为 EAV 信号;P3~P0 为保护信号,由 F、V、H 信号计算生成; P3=V 异或 H;P2=F 异或 H;P1=F 异或 V;P0=F 异或 V 异或 H。 使用 BT.656 并行接口传输 4 路 CIF 格式视频的数据结构 视频处理器的输出是灵活多变的,可以改变处理器的输出数据结构来同时传送 4 路 252×288 像素的视频信号。BT.656 并行接口传输的有效视频数据流为 720× 586,正好可以分割为 4 个 360×288 像素的空间来传输 4 路 352×288 像素的视 频数据。多余的空间用固定数据“8010”进行填充。 修改后的数据结构如图 6 所示。
标准 BT.656 并行数据结构 BT.656 并行接口除了传输 4:2:2 的 YCbCr 视频数据流外,还有行、列同步所用的控制信号。 如图 3 所示,一帧图像数据由一个 625 行、每行 1 728 字节的数据块组成。其中,23~311 行是偶数场视频数据,336~624 行是奇数场视频数据,其余为垂直控制信号。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

BT.656 每行的数据结构如图 4 所示。
图 4 中,每行数据包含水平控制信号和 YCbCr。视频数据信号。视频数据信号排列顺序为 Cb-Y-Cr-Y。每行开始的 288 字节为行控制信号,开始的 4 字节为 EAV 信号(有效视频结束), 紧接着 280 个固定填充数据,最后是 4 字节的 SAV 信号(有效视频起始)。 SAV 和 EAV 信号有 3 字节的前导:FF、FF、00;最后 1 字节 XY 表示该行位于整个数据帧的 位置及如何区分 SAV、EAV。XY 字节各比特位含义见图 5。
图 5 中,最高位 bit7 为固定数据 1;F=0 表示偶数场,F=1 表示奇数场;V=0 表示该行为有 效视频数据,V=1 表示该行没有有效视频数据;H=0 表示为 SAV 信号,H=1 表示为 EAV 信 号;P3~P0 为保护信号,由 F、V、H 信号计算生成;P3=V 异或 H;P2=F 异或 H;P1=F 异或 V;P0=F 异或 V 异或 H。 ***************************************************************** ************************************
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

ITU-R601/656 原名 CCIR601/656,是国际电信协会提出的一个视频标准。 名词解释:BT.656 : This ITU recommendation defines a parallel interface (8-bit or 10-bit, 27 MHz) and a serial interface (270 Mbps) for the transmission of 4:3 BT.601 4:2:2 YCbCr digital video between pro-video equipment. 国际电信联盟无线电通信部门 656-3 号建议书: 工作在 ITU-RBT.601 建议(部分 A)的 4:2:2 级别上的 525 行和 625 行 电视系统中的数字分量视频信号的接口 国际电联无线电通信全会考虑到: a)对于电视广播机构和节目制作者, 525 行和 625 行系统的数字演播室标准方面有最多个数 在 的相同重要参数有明显好处; b)一种世界范围兼容的数字方法将会使设备的开发具有许多共同特点,运行会更经济,并便于 国际间节目’的交换; c)为实现上述目标,已以 ITU-RBT.601 建议的形式对数字电视演播室的基本编码参数达成了 协议;d)ITU-RBT.601 建议的实际实施要求规定接口和通过接口的数据流的细节;e)这些接 口在 525 行和 625 行两型问应该具有最大的共同性;f)在 ITU-RBT.601 建议的实际实施中, 希望对接口的串行和并行两种形式都作出规定; g)这些接口所产生的数字电视信号有可能是对其它业务的潜在干扰源,必须对无线电规则 No.964 给予应有的注意。建议凡在电视演播室里需要分量编码数字视频信号接口的地方,这 些接口和通过它们的数据流应符合规定比特并行和比特串行实施的如下说明: 1 引言 本建议描述了运行在 525 行或 625 行制式并符合 ITU-RBT.601 建议(部分 A)中所规定的 4: 2:2 编码参数的数字电视设备的互连方法。 第一部分:接口的通用信号格式 1, 接口的一般描述 接口为在单一信号源与单一终点之间提供单向互连。 并行和串行接口通用的单一信号格式在第 2 节中描述。数据信号采取编码成 8 比特字(也可任选 10 比特字’)的二进制信息的形式。这些信 号是: 1:视频信号, 2:定时基准信号, 3:辅助信号。 2,视频数据 表 1 场间隔定义
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

注 1:信号 F 和 V 在数字行的开始时与有效视频定时基准码同步改变状态。 注 2:行数的定义见 ITU-RBT.470 建议。注意数字行的行号如在 ITU-R BT。601 建议(部 分 A)中描述的,在 011 之前改变状态。 2.1 编码特性 视频数据符合 ITU-R BT.601 建议(部分 A)和示于表 l 的场消隐定义。 2.2 视频数据格式 8 个最高有效比特都是 l 或都为 0 的数据字用于标识目的, 所以 256 个 8 比特字中只有 254 个(1024 个 10 比特字中的 1016 个)可以用于表示信号值。视频数据字是以 27 兆字/秒的 速率复用传送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr,…… 其中,Cb,Y,Cr 这三个字 指的是同址的亮度和色差信号取样,后面的 Y 字对应于下一个亮度取样。 2.3 接口信号结构 图 l 示出了视频取样数据如何加入到接口数据流中。 l 中的取样标识符号符合 ITU-RBT. 图 601 建议(部分 A)的标识符号。 2.4 视频定时基准码(SAV,EAV) 有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在 每个视频数据块的结束(End of Active Video,EAV),如图 l 所示。 每个定时基准信号由 4 个字的序列组成,格式如下: FF 00 00 XY (数值以 16 进制表示,FF 00 留供定时基准信号用。)头三个是固定前缀,第 4 个 字包含定义第二场标识、场消隐状态和行消隐状态的信息。 定时基准信号内的比特分配列于表 2。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

数据比特号 第一字(FF) 第二字(00) 第三字(00) 第四字(XY)
注 1:示出的数值是为 10 比特接口的建议值。 注 2: 为了与已有的 8 比特接口兼容, 和 DO 比特的值末作规定。 D1 F=0/1 第 l/2 场时,V=0/1 其它处/场消隐时。H=0/1 有效视频开始处(SAV)/有效视频结束处(EAV)P0,P1,P2,P3: 保护比特(见表 3)MSB:最高有效比特表 l 规定了 V 和 F 比特的状态。P0,P1,P2,P3 比 特的状态决定于 F,V 比特的状态,见表 3。在接收机中,这种安排容许纠正 l 比特误码和检出 2 比特误码。
2.5 辅助数据 对在消隐期间以 27 MWord/s 的速率同步插入到复用组中的辅助数据做了规定。辅助数据信 号可以以 10 比特形式只在行消隐期间传送,还可以以 8 比特形式只在场消隐中的行的有效期 间传送(应当指出:符合 ITU-RBT.657 建议的数字录像机既不记录行消隐期间的数据,也不 记录场消隐期间的某些行)。数据值 00.Xh 和 FF.Xb(见第 2.2 节)保留用于标识目的。所 以不能在辅助数据中出现。 在场消隐期间的行有效部分载送的所有辅助数据信号必需加前缀:FF.x FF.x 除非作为一件特 殊设备想要有的功能,辅助信号不应被设备改变。 2.6 消隐期间的数据字 在数字消隐期间出现不用作定时基准码或辅助数据的数据字时, 应在复用起来的数据中的适当位 置上填入相当于 Cb,Y,Cr,Y 信号消隐电平的 80.0h,10.0h,80.0h, 10.0h 等序 列。Horizontal Format
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

The overall format of one complete line of the digital video data stream includes the following sections. The horizontal scan is considered to start with the beginning of the EAV section. · EAV - End of Active Video (timing reference signal) 2 samples (4 words) · Horizontal blanking · Active video 134 samples (268 words) · SAV - Start of Active Video (timing reference signal) 2 samples (4 words) 720 samples (1440 words)
EAV Timing Reference Signal: The EAV Timing Reference consists of four words in the following format:
where: F V H = Field select (defines which vertical scan during interlace scanning) = Vertical blanking = 1 indicating EAV
E3 = V xor H E2 = F xor H E1 = F xor V E0 = F xor V xor H Horizontal Blanking: The horizontal blanking section consists of a repeating pattern: 1000 0000 0001 0000 ........ SAV Timing Reference Signal: The SAV Timing Reference consists of four words in the following format:
where: F V H = Field select (defines which vertical scan during interlace scanning) = Vertical blanking = 0 indicating SAV
E3 = V xor H
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

E2 = F xor H E1 = F xor V E0 = F xor V xor H Active Video: The active video section consists of the Y, Cb, Cr data in the following sequence. The Y, Cb and Cr values are the scaled, offset, digitized versions of Y, U and V. · Cr ·Y · Cb ·Y Vertical Format The details of the vertical format are shown in the complete screen diagrammed below. The scan is of the interlace type which means that the odd lines are scanned first, followed by the even lines. The symbols "F" and "V" refer to the values
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

contained in bits P8 and P7 of the EAV and SAV timing reference words.
ITU BT 601 与 ITU BT656 的区别
关于这两种信号的区别: ITU-R BT 601: 16 位数据传输;21 芯;Y、U、V 信号同时传输。 ITU-R BT 656: 9 芯,不需要同步信号;8 位数据传输;串行视频传输;传输速率是 601 的 2 倍;先传 Y,后传 UV。656 输出的是串行数据,行场同步信号嵌入在数据流中 601 是并行 数据,行场同 步有单独输出; 656 只是数据传输接口而已,可以说是作为 601 的一个传输方式。简单的说 ITU-R BT.601
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

是\"演播室数字电视编码参数\"标准,而 ITU-R BT.656 则是 ITU-R BT.601 附件 A 中的数字接 口标准,用于主要数字视频设备(包括芯 片)之间采用 27Mhz/s 并口或 243Mb/s 串行接口的数 字传输接口标准. CCIR601 号建议的制定,是向着数字电视广播系统参数统一化、标准化迈出 的第一步。在 该建议中, 规定了 625 和 525 行系统电视中心演播室数字编码的基 本参数值。 601 号建议单 独规定了电视演播室的编码标准。它对彩色电视信号的编 码方式、取样频率、取样结构都 作了明确的规定。 规定彩色电视信号采用分量编码。 所谓分量编码就是彩色全电视信号在转 换成数字形式之前,先被分离成亮度信号和色差信号,然后对它们分别 进行编码。分量信 号(Y、B -- Y、R -- Y)被分别编码后,再合成数字信号。 它规定了取样频率与取样结构。 例如:在 4:2:2 等级的编码中,规定亮 度信号和色差信号的取样频率分别为 13.5MHZ 和 6.75MHZ ,取样结构为正交结构,即按行、场、帧重复,每行中的 R-Y 和 B-Y 取样与奇次 (1,3,5……)Y 的取样同位 置,即取样结构是固定的,取样点在电视屏幕上的相对位置不 变。 它规定了编码方式。对亮度信号和两个色差信号进行线性 PCM 编码,每个取样点取 8 比特量化。同时,规定在数字编码时,不使用 A/D 转换的整个动态范围,只给亮度信号分 配 220 个量化级,黑电平对应于量化级 16,白电平对应于量化级 235。为每个色差信号分配 224 个量化级,色差信号的零电平对应于量化级 128。 综上所述,我们知道,分量信号的编码数据流是很高的。以 4:2:2 编码标准为例,其比特 流为:13.5×8+6.75×8×2=216Mb/S。若采用 4:4:4 编码方式,即对复合信号直接编码,其 抽样频率取为 13.3×8=106.4 Mb/S
CIF,4CIF,QCIF,D1
ITU-R BT 601: 16 位数据传输;21 芯;Y、U、V 信号同时传输。 ITU-R BT 656: 9 芯,不需要同步信号;8 位数据传输;串行视频传输;传输速率是 601 的 2 倍;先传 Y,后传 UV。656 输出的是串行数据,行场同步信号嵌入在数据流中 601 是并行数 据,行场同 步有单独输出; 656 只是数据传输接口而已,可以说是作为 601 的一个传输方式。简单的说 ITU-R BT.601 是 "演播室数字电视编码参数"标准,而 ITU-R BT.656 则是 ITU-R BT.601 附件 A 中的数字接口 标准,用于主要数字视频设备(包括芯 片)之间采用 27Mhz/s 并口或 243Mb/s 串行接口的数字 传输接口标准. CCIR601 号建议的制定,是向着数字电视广播系统参数统一化、标准化迈出 的第一步。在该 建议中,规定了 625 和 525 行系统电视中心演播室数字编码的基 本参数值。601 号建议单独 规定了电视演播室的编码标准。它对彩色电视信号的编 码方式、取样频率、取样结构都作了明 确的规定。 规定彩色电视信号采用分量编码。 所谓分量编码就是彩色全电视信号在转换成数字形 式之前,先被分离成亮度信号和色差信号,然后对它们分别 进行编码。分量信号 (Y、B -- Y、 R -- Y)被分别编码后,再合成数字信号。 它规定了取样频率与取样结构。例如:在 4:2: 2 等级的编码中, 规定亮 度信号和色差信号的取样频率分别为 13.5MHZ 和 6.75MHZ ,取样 结构为正交结构,即按行、场、帧重复,每行中的 R-Y 和 B-Y 取样与奇次(1,3,5……)Y 的取样同 位 置,即取样结构是固定的,取样点在电视屏幕上的相对位置不变。 它规定了编码方式。对 亮度信号和两个色差信号进行线性 PCM 编码,每个取样点取 8 比特量化。同时,规定在数字编 码时,不使用 A/D 转换的整个动态范围,只给亮度信号分配 220 个量化级,黑电平对应于量化 级 16,白电平对应于量化级 235。为每个色差信号分配 224 个量化级,色差信号的零电平对
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

应于量化级 128。 综上所述,我们知道,分量信号的编码数据流是很高的。以 4:2:2 编码标准为例,其比特流 为:13.5×8+6.75×8×2=216Mb/S。若采用 4:4:4 编码方式,即对复合信号直接编码, 其抽样频率取为 13.3×8=106.4 Mb/S 硬件解决问题
1 有关于 8 位,10 位,16 位,32 位的问题: 位数的概念其实是两个方面的: .1 是标准里面定义的"a uniformly-quantized 8-bit binary encoding,",也就是编码的格式,601 里面支持两种格式:8-bit,10-bit. 如果是 8-bit,那么信号的表示范围是 0-255,如果同时是 4:2:2,记住这个先决条件, 那么,就有下面的结论: "In the case of the 4:2:2 systems described in this Recommendation, levels 0 and 255 are reserved for synchronization data, while levels 1 to 254 are available for video." .2 硬件连接的表示方法: 因为 656 一般是用 8 位数据线的+1 根时钟线,那么也叫做 8-bit mode,很多人认为这个是 串行的,因为相对于 16bit 的 601 节省了 8 根数据线。然而,在 656 标准里面是却定义为位 并行的(BIT-PARALLEL INTERFACE) ,因为 656 还有更决的,那就是一根线传送的标准: (BIT-SERIAL INTERFACE) 而 601 一般是 16 位数据线的,那么也叫 16-bit mode,这个和编码的位的概念是不同的。 但是,601 似乎也有 8-bit 的所谓的接口串行的接法。 .3 有关于 16-BIT 601,这个是指数据线的位数。 我们知道, 一般是 16 位的数据线, 601 因为 y/cb/cr 的编码定义是同时的, 也就是串行的, 那么必须是 27M 的带宽时钟。 所谓串行不是指数据线的位数,传统认为,数据线位数多的就是并行。 这里的串行是指在一个基本的编码字(Code word)里面 Y/CB/CR 是否是交织的,这个 在后面我会写详细解释。 但有时候,也有用 16 位的数据线,把 y 和 cb/cr 分别同时传,这样只需要 13.5M 的带宽 时钟。 2 有关于支持串行和并行两种模式: 所谓串行和并行,有时候,定义为如果 y/cb/cr 同时传送那就是串行的,否则就是并行的。 所谓串行不是指数据线的位数,传统认为,数据线位数多的就是并行。 这里的串行可以是指在一个基本的编码字(Code word)里面 Y/CB/CR 是否是交织的。 有是并行的,没有串行的。 但 这 些 并 行, 串 行 的 方式 总 的 来 说都 可 称 为数 字 串 行 的 接 口( serial digital video interfaces) ,因为每一个端口的数据都不是固定的, 根 据 编 码 的 格 式 不 同 , 比 如 : 601-8bit , 他 的 端 口 ( D7-D0 ) 可 以 是 ...0(8-bit) , CB(8-bit),Y(8-bit),CR(8-bit),Y,0,... 601 8-bit 模式是 Y/CB/CR 的串行传送的数字串行接口,所以带宽要求高。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

601 16-bit 模式是 Y ,CB/CR 的并行传送的数字串行接口,但是因为是 16bit 所以带宽减 半 656 作为"practical implementation of Recommendation 601",因为固定 8 位的 (The data signal are in the form of binary information coded in 8-bit words.) ,所以应该归为串行的传送。但是, 因为可以 656 还可以变为一根线传送的,所以,又支持位串行和位并行两种方式,这个和传 统的串行和并行不同。 3 有关于 601 是 8-bit 模式的硬件连接,为什么传送带宽反而要求更高。 因为 601 是"co-sited"的"sampling structure", 对于,4:2:2 结构来说,那么,"co-sited"是 指同时的,那么它的带宽就是: Y+CR+CB = 13.5M+6.75*2M = 27M 也就是在一帧的视阈内,同时在 8 位的数据线上传送这些数据,所以带宽要求高。当然 也有 16-bit 模式的 601. 656 作为 601 的扩展,支持串行和并行两种模式:并行模式下,16 根数据线,可以用一 般的带宽分别传送: Y + CRCB =13.5M. 4.16-bit mode 601 和 656 的并行模式区别和选择理由: 。1 同步传送和非同步 656 除了基本的 601 信息外,还含有一些同步数字编码信息,比如 SAV,EAV 等等。所以 他总共 9 位,8-bit data + clock 601 -16bit 除了 16 位的数据,还有 HS,VS,CLK 信号,总共是 19Bit.
CCIR656 是同步传输的,decoder 端不用自己产生 clock。在 CCIR601 中,decoder 要自己去锁定 这个同步讯号,再自己产生 clock 来解。所以以 CCIR656 来传递的 video 讯号质量应该更 。2 速度因素:601 有更多的 Pin 脚,而且省去了再解码 656 -〉601 的步骤,所以应该更快 总结,现在 IC pin 脚的节省大于速度因素,所以,一般考虑 656。 好控制。
5.抽样频率的选择和两大系统的统一 对于数字分量编码,CCIR601 建议亮度抽样频率为 525/60 和 625/50 三大制式行频公倍数 2.25MHz 的 6 倍,即 13.5MHz。对现行 NTSC 电视制式而言,亮度信号的带宽是 6MHz, 13.5MHz>2×6MHz=12MHz,所以它符合奈奎斯特定理。而色差信号的带宽比亮度信号窄得 多, 所以在分量编码时两个色差信号的抽样频率可以低一些。 因同时考虑到抽样的样点结构 应满足正交结构要求,两个色差信号的抽样频率均选为亮度信号抽样频率的一半,即 6.75MHz,这样亮度信号与两个色差信号的抽样频率之比为 4∶2∶2。 6.数字分量视频信号有效行取样点数的确定和两大系统的统一 每行数字分量信号的取样点数为: 对于 625 行/50 场制式: 每 行 亮 度 取 样 点 =13.5Mhz/15625Hz=864 点 / 行 ; 每 行 每 个 色 度 取 样 点 =6.75Mhz/15625Hz=432 点/行。 对于 525 行/60 场制式: 每 行 亮 度 取 样 点 =13.5Mhz/15734.266Hz=858 点 / 行 ; 每 行 每 色 度 取 样 点 =6.75Mhz/15734Hz=429 点/行。
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

可见,这两种制式选用了相同的抽样频率,但每行取样点数却不相同。所以把两者取样 点数之差别放在数字有效行以外的部分,而使每个数字有效行内的取样点数相同。 CCIR 601 建议两种制式有效行内的取样点数亮度信号取 720 个, 两个色差信号各取 360 个, 即每个数字有效行包括 720 个亮度数据和 720 个色度数据(两个色度各 360 个),这样就统 一了数字分量编码标准, 使三种不同制式便于转换和统一。 所以有效行亮度信号与两个色差 信号的取样点数之比也为 4:2:2 (720:360:360)。 上述两点即为获取高质量的后期制作由 CCIR 601 建议所确定的数字分量编码标准: 7.同步的方式: ITU656 接口为 8bit 数据位宽接口,为内同步方式,即同步字嵌入于 ITU656 码流当中; ITU601 接口可以为 16bit 数据位宽接口,为外同步方式,即同步信号用单独的信号线传 输。 从 ITU656 接口转换为 ITU601 接口的方式是通过将嵌入在 ITU656 码流内部的同步信号 提取出来, 同时将表示亮度和色度的数据流分离开,排成 16bit 数据位宽的 ITU601 格式同时输出, 从而完成格式的转换。 8.656 内部使用的校验码基本 P3,P2,P1,P0 是 1 位误码纠错和 2 位误码检错的功能 海明校验码 这是由 Richard Hamming 于 1950 年提出、目前还被广泛采用的一种很有效的校验方法, 是只要增加少数几个校验位, 就能检测出二位同时出错、 亦能检测出一位出错并能自动恢复 该出错位的正确值的有效手段,后者被称为自动纠错。它的实现原理,是在 k 个数据位之外 加上 r 个校验位,从而形成一个 k+r 位的新的码字,使新的码字的码距比较均匀地拉大。把 数据的每一个二进制位分配在几个不同的偶校验位的组合中, 当某一位出错后, 就会引起相 关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自 动纠错提供了依据。假设为 k 个数据位设置 r 个校验位,则校验位能表示 2r 个状态,可用 其中的一个状态指出 "没有发生错误", 用其余的 2 r -1 个状态指出有错误发生在某一位, 包 括 k 个数据位和 r 个校验位,因此校验位的位数应满足如下关系: 2r ≥ k + r + 1 (2.7) 如要能检出与自动校正一位错,并能同时发现两位错,此时校验位的位数 r 和数据位的位数 k 应满足下述关系: 2r-1 ≥ k + r (2.8) DM6437 视频处理前端 VPFE 为视频处理系统提供二大功能, 一是为多种标准数字视频输入 提供无缝接口,二是为各种视频处理应用提供必要的预处理。 DM6437 数字视频输入接口被称为 CCD 控制器,为输入数字视频流提供数据通路和必需 的同步信号,其功能如下: *16 位视频数据总线 *像素时钟频率最高可达 75MHz
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

*可直接接口 CCD 或 CMOS 图像传感器 *可接口 8/10 位 BT.656 标准数字视频流 *可接口 8/16 位带行、场同步信号的 YCbCr 4:2:2 格式数字视频流 对于视频监控应用来说, 视频信号一般为来自于摄像头的模拟视频信号, 其经视频解码 器转换为 8/10 位 BT.656 或 8/16 位带行、场同步信号的 YCbCr 4:2:2 数字视频流,再输入 到 DSP 中进行处理。 为适应各种视频处理应用,DM6437 的视频前端还提供下列 3 个预处理功能: 预览器 Previewer:将来自 CCD 控制器或来自外部存储器的 RGB 图像格式转换为 YCbCr 4:2 :2 图像格式。 缩放器 Resizer:接受来自预览器或文本存储器的视频数据,由硬件实现图像大小的缩 放,水平和垂直方向缩放比例相互独立,缩放范围为 1/4x~4x。 H3A:由硬件实现自动对焦、自动白平衡、自动曝光。首先接受 RGB 图像格式,并将图 像细分成二维像素块,像素块的大小、位置可编程。然后对像素块进行累加和峰值统计。最 后实现 3A 控制输出。 DM6437 视频处理后端 VPBE 用于实现视频图像的输出显示。 显示屏上的一幅图像可以分 成若干个区域,每个区域可以代表不同的视频源,即来自不同的视频输出缓冲器,在输出显 示之前, 需要将来自不同视频输出缓冲器的视频数据复合成一个完整的数字视频流, 这个过 程称为视频窗口管理;另外,还经常需要将某些图形、字符等信息叠加到视频图像上一起输 出显示, 这些叠加到视频图像上的图形、 字符存储于独立的缓冲器中, 因而在输出显示之前, 还需要将来自图形、字符缓冲器的数据复合进输出数字视频流中,这个过程称为图形、字符 OSD 窗口管理与叠加。最后,将复合后的完整的数字视频流以一定的时序格式进行输出,这 个过程称为视频输出编码。DM6437 视频处理后端可以同时支持 2 个视频窗口和 2 个图形、 字符 OSD 窗口管理,并可支持 8 种视频窗口与 OSD 窗口数据叠加方法。DM6437 的视频输出 编码既可以实现用于直接驱动模拟监视器的标准模拟视频输出, 也可实现用于直接驱动带数 字接口的显示器的多种标准数字视频输出。 对于视频监控应用来说, 视频输出一般用于预览某一通道的视频输入, 由模拟监视器来 显示,所以直接用 DM6437 的模拟视频输出即可实现。 4 通道视频解码器 TVP5154 概述
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

DSP+FPGA 嵌入式多路视频监控系统硬件平台 本文介绍的 DSP + FPGA 嵌入式多通道视频监控系统硬件平台有 8 个模拟视频输入通道, 选用 TI 的单片 4 通道视频解码器 TVP5154,其原理框图如图 2。
图2
4 通道视频解码器 TVP5154 原理框图 TVP5454 的特点是内含 4 个独立的 TVP5150 单通道视频解码器、4 个独立的缩放器和 1
个 IIC 总线,将 4 通道标准模拟视频输入转换成 4 通道 8 位数字视频输出。每个通道可接 受 1 路超级视频输入或 2 路复合视频输入;每个通道的缩放器水平、垂直方向均可独立缩放 1/4x~4x;每个通道的数字视频输出接口既可是 8 位 YCbCr 4:2:2 的 BT.656(内嵌行、场同步 码),也可是 8 位 YCbCr 4:2:2 的带行、场同步信号的数字视频流;可通过 IIC 总线分别或广 播配置和获取 4 个视频解码器或 4 个缩放器的控制和状态信息。 Xilinx Spartan-3 系列 FPGA 概述 8 通道模拟视频输入需要 2 片 TVP5154 视频解码器,总有 8 个 8 位 BT.656 数字视频接 口,而 DM6437 视频前端 VPFE 只有 1 个视频输入口,为了实现 8 通道视频输入,二者之间需 要耦合逻辑,此耦合逻辑的基本功能需要实现: *接收/缓冲 8 个 8 位 BT.656 数字视频输入数据(像素时钟为 27MHz) *每个通道水平/垂直均缩小 1/2,由 D1 格式缩小为 CIF 格式 *将 8 个 CIF 格式的数字视频拼接成 1 个 8-位、54MHz、YCbCr 4:2:2 带行、场同步的数 字视频流,以接口 DM6437 的视频前端 VPFE
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

关于 CCIR656 的一点基础了解
最近看到 AUO 一款 TFT 上面用到了 CCIR656,不知道是个甚么东西,于是在网上 搜集了下面这些资料,以备后面自己查询。 ===================================================================== ========= ===================================================================== ========= 656 输出的是串行数据,行场同步信号嵌入在数据流中; 601 是并行数据,行场同步有单独输出; 656 只是数据传输接口而已,可以说是作为 601 的一个传输方式。 简单的说 ITU-R BT.601 是"演播室数字电视编码参数"标准,而 ITU-R BT.656 则 是 ITU-R BT.601 附件 A 中的数字接口标准,用于主要数字视频设备(包括芯 片)之间采用 27Mhz/s 并口或 243Mb/s 串行接口的数字传输接口标准. CCIR601 号建议的制定,是向着数字电视广播系统参数统一化、标准化迈出的第 一步。 在该建议中, 规定了 625 和 525 行系统电视中心演播室数字编码的基本参 数值。 601 号建议单独规定了电视演播室的编码标准。它对彩色电视信号的编码方式、 取样频率、取样结构都作了明确的规定。 它规定彩色电视信号采用分量编码。 所谓分量编码就是彩色全电视信号在转换成 数字形式之前,先被分离成亮度信号和色差信号,然后对它们分别进行编码。分 量信号(Y、B -Y、R -- Y)被分别编码后,再合成数字信号。 它 规定了取样频率与取样结构。例如:在 4:2:2 等级的编码中,规定亮度信号和 色差信号的取样频率分别为 13.5MHZ 和 6.75MHZ ,取样结构为正交结构,即 按行、 帧重复,每行中的 R-Y 和 B-Y 取样与奇次(1,3,5……)Y 的取样同位置, 场、 即取样结构是固定的, 取样点在电视屏幕上的相对位置不变。 它规定了编码 方式。 对亮度信号和两个色差信号进行线性 PCM 编码, 每个取样点取 8 比特量化。 同时,规定在数字编码时,不使用 A/D 转换的整个动态范围,只给亮度信号分配 220 个量化级,黑电平对应于量化级 16,白电平对应于量化级 235。为每个色差 信号分配 224 个量化级,色差信号的零电平对应于量化级 128。 综上所述,我们知道,分量信号的编码数据流是很高的。以 4:2:2 编码标准为 例,其比特流为:13.5×8+6.75×8×2=216Mb/S。若采用 4:4:4 编码方式,即 对复合信号直接编码,其抽样频率取为 13.3×8=106.4 Mb/S。 关于这两种信号的区别: ITU-R BT 601(CCIR601 旧称):16 位数据传输;21 芯;Y、U、V 信号同时传输。 ITU-R BT 656(CCIR656 旧称):9 芯,不需要同步信号;8 位数据传输;串行视 频传输;传输速率是 601 的 2 倍;先传 Y,后传 UV。 ===================================================================== =========
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

===================================================================== ========= CCIR601 要通过行、场同步两根信号线来传递行、场同步信息; 而 CCIR656 不需要这两根信号线,它只通过 8 位数据线实现“软”同步。 CCIR656=CCIR601+HSYNC+VSYNC ITU-R BT 601: 16 位数据传输;21 芯;Y、U、V 信号同时传输。 ITU-R BT 656: 9 芯,不需要同步信号;8 位数据传输;串行视频传输;传输速率是 601 的 2 倍; 先传 Y,后传 UV。
CCIR 601 号建议 为了便于国际间的节目交换,为消除数字设备之间的制式差别,和为 625 行电视 系统与 525 行电视系统之间兼容, 1982 年 2 月国际无线电咨询委员会(CCIR) 在 第 15 次全会上, 通过了 601 号建议, 确定以分量编码为基础, 即以亮度分量 Y、 和两个色差分量 R-Y、 B-Y 为基础进行编码,作为电视演播室数字编码的国际标 准。 该标准规定: (1).不管是 PAL 制,还是 NTSC 制电视,Y、R-Y、B-Y 三分量的抽样 频率分别为 13.5MHz、6.75MHz、6.75MHz。(2). 抽样后采用线性量化,每个样 点的量化比特数用于演播室为 10bit, 用于传输为 8bit。(3). Y、R-Y、B-Y 三 分量样点之间比例为 4:2: 2。 在 1983 年 9 月召开的国际无线电咨询委员会(CCIR)中期会议上, 又作了三点补 充:(l)明确规定编码信号是经过 γ 预校正的 Y、(R-Y)、B-Y)信号;(2)相应于 量化级 0 和 255 的码字专用于同步, l 到 254 的量化级用于视频信号;; (3) 进一步明确了模拟与数字行的对应关系, 并规定从数字有效行末尾至基准时间样 点的间隔,对 525 行、 60 场/秒制式来说为 1 6 个样点,对 625 行、 50 场/ 秒制式则为 12 个样点。 不论 625 行/50 场或 525 行/60 场,其数字有效行的 亮度样点数都是 720,色差信号的样点数均是 360,这是为了便于制式转换。若 亮度样点数被 2 除,就得到色差信号的数据。 ===================================================================== ========= ===================================================================== =========
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/fa12500655.html,

ARM、DSP、FPGA的特点和区别

说明ARM、DSP、FPGA的异同点 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 DSP(digital signal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。(缺点)

FPGA与ARM的关系

区别: ⒈我做个比喻吧,ARM呢就像是一个设计好的办公楼,那个部门负责什么事情都是定好的,你要做的就是合理调配部门资源合理搭配来完成你的目的。FPGA呢就是给你一大堆建筑材料和人员,你要它建成什么样子它就是什么样子 ⒉FPGA就像是一张白纸,里面可以写自己想要的逻辑,只要FPGA的逻辑门数够多,里面跑个ARM核还是很简单的。ARM是ASIC吧,专用芯片,只能使用。 ⒊DSP主要用做运算,如语音,图像等信号的运算处理,但基本不用做控制。 MCU,FPGA,ARM主要用做控制,MCU低价低功耗,但门限很少,结构简单,不能实现复杂控制。 ARM控制能力较强,但运算能力相对较弱。因此现在很多手持设备是用ARM+DSP来实现的,就是所谓的“双核心”。 FPGA可做复杂的逻辑控制,功能很强大。 ⒋单片机(MCU),又称为微控制器,在一块半导体芯片上集中了CPU,ROM,RAM,I/O Interface, timer/counter, interrupt system, 构成一台完整的数字计算机 ARM(Advanced RISC Machines)是微处理器行业的一家知名ARM企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置ARM生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。这里有一篇介绍ARM结构体系发展介绍。 DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。 FPGA既现场可编程门阵列:可由最终用户配置、实现许多复杂的逻辑功能的通用逻辑器件。常用于原型逻辑硬件设计。

ARM、DSP、FPGA的特点和区别

ARM、DSP、FPGA的特点和区别 2008年05月09日星期五 16:33 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC 微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 DSP(digital signal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点: (1)在一个指令周期内可完成一次乘法和一次加法; (2)程序和数据空间分开,可以同时访问指令和数据; (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; (4)具有低开销或无开销循环及跳转的硬件支持; (5)快速的中断处理和硬件I/O支持; (6)具有在单周期内操作的多个硬件地址产生器; (7)可以并行执行多个操作; (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、

FPGA和ARM和STM32和DSP区别

FPGA和ARM和STM32和DSP区别 2012-12-02|分享 越详细越好,谢谢大侠们 10分钟内有问必答前往下载 满意回答 1.FPGA:是可编程逻辑阵列,常用于处理高速数字信号,不过随着科技的发展,现在很多FPGA CPLD可以集成mcu内核,甚至具备了ARM DSP的功能 2.ARM,是一类内核的称谓,就像51一样,具体到芯片的话,会有很多不同的厂家不同等级,诸如三星、易法、飞利浦、摩托罗拉等等,其中STM32是易法半导体的一款面向工控低功耗内核为Cortex M3内核的ARM芯片 3.DSP顾名思义就是数字信号处理,厂家主要是德州仪器(TI)主要用于数字型号处理等对运算速度有特殊要求的场合,诸如音频视频算法,军工等领域,但同时dsp有2000 5000 6000等系列也可满足不场合需要! 其他想要了解,可以追问,相互探讨哈! 追问 他们主要的应用领域,那个应用广泛点呢 回答 应用领域的话 1.FPGA一般不会用来做复杂的系统,只用来做些简单的系统如状态机实现的自动售货机...展开>等,多少还是用来做信号的高速变换和处理,毕竟它只是可编程逻辑阵列。 2.ARM和DSP就各有千秋了; ARM的系列从V3 V5 V7 V9 XSCALE,从thumb指令到arm指令(thumb arm也可同时实现),可以说遍布机会所有的领域,只要你接的价格可以接受(其实许多arm并不是很贵的),单片机所有的功能基本他都能实现,我就不用举例子,特别是现在与各种RTOS结合更是开发方便功能强大。 DSP相对arm价格要贵些,这也是可能个体厂家使用较少的一个原因吧,2000系列主要用于工控特别是2812这个用的人比较多,5000 6000主要用于手持设备、PDA、通信等领域; DSP还有一个特色就是对一些特殊算法的支持如快速福利叶变换等,所以对运算速度有特殊要求的场合一般会选择DSP; DSP因其性能和功能比较好,还广泛用于军工领域!<收起

基于ARM和FPGA的高速数据采集卡的设计与实现 (1)

清华大学 硕士毕业论文报告 课程名称:嵌入式系统课程设计 专业班级:应用电子技术09201班 学生姓名:崔剑 指导教师:袁里弛 完成时间:2011年12月26日 报告成绩: 评阅意见: 评阅教师日期

目录 第一章系统设计方案和主要器件选型 (2) 1.1 系统设计方案 (2) 1.2 ADC芯片选型 (2) 1.3 DA芯片选型 (2) 1.4 FPGA芯片选型 (3) 1.5 主控CPU选型 (3) 第二章数据采集与触发电路设计 (4) 2.1 前端采集电路设计 (4) 2.2 触发电路与触发控制 (5) 2.3 SDRAM控制器设计 (6) 第三章各芯片间的数据传输与处理 (7) 3.1 采集卡各芯片速度等级的划分和数据流向 (7) 3.2 ARM与FPGA通信 (7) 3.3 数据的模拟输出 (8) 第四章设计总结 (13) 参考文献 (13) 附录1 ARM外围电路 (14) 附录2 FPGA外围电路 (15) 附录3 ARM读取显示程序 (20)

第一章 系统设计方案和主要器件选型 1.1 系统设计方案 整个系统是由前端模拟通道、触发电路、FPGA 数据采集预处理、数据模拟输出和ARM 数据处理显示五部分组成。FPGA 数据采集预处理分为A/D 数据采集、触发控制、帧控制、SDRAM 控制器和ARM 数据交换五个部分,模拟数据经过A/D 装换后在FPGA 中缓冲,缓冲之后使用触发控制将采集到的数据分成512个数据点组成的数据帧,数据按照帧的顺序传输,经过SDRAM 存储后,通过ARM 与FPGA 中的共享存储区传输给ARM 。具体的数据采集系统的硬件结构图如下图2-1所示: 图2-1 数据采集卡硬件结构图 1.2 ADC 芯片选型 A/D 转换器是整个采集系统的核心,系统前端模拟电压调理电路、FPGA 数据采集和后端的采集控制部分都与A/D 直接相关,A/D 芯片的选择不但关系到系统设计的性能,而且直接决定了整板设计的难度。 1.3 DA 芯片选型 为了输出高性能的模拟信号,DAC 采用采样率高达175M 的高速DAC 。AD970X 系列DAC 针对低功耗特性进行了优化,同时仍保持出色的动态性能,适合用于手持便携式仪器等需要有效地合成宽带信号的场合。AD9707 精度高达14位 ,采样率为175MSPS ,内部集成边沿触发式输入锁存器,1V 温度补偿带隙基准电压源和自校准功能,使AD9707能提供真14位INL 与DNL 性能。 FPGA AD ARM 模 拟通道 SDRAM PLL DA GPIO 触发电路GPIO 晶振 复位JTAG FLASH SDRAM LCD UART 数据总线控制线 配置线 模拟输入 模拟输出时钟 地址总线

ARM、DSP、FPGA的特点和区别

说明ARM、DSP、FPGA的异同点 3 ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90 以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 DSP(digital signal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。 当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,

ARM与FPGA通信

在数据采集卡中ARM主要负责数据显示和数据分析,处理的速度处于MS 级;而FPGA在系统中处于数据的高速采集和高速处理,处理的速度是ns级。两个处理器的之间的数据传输属于典型的异步数据通信,它们之间通信的速度之间决定了系统处理数据的效率。FPGA与ARM之间属于大量数据交换,以异步并行读取的方式为例介绍ARM与FPGA的通信,实际设计中使用DMA方式来实现ARM 与FPGA之间的大数据量通信。 ARM存储系统分析 S3C2410A存储控制器提供访问外部存储器所需要的存储器控制信号。 S3C2410A支持大、小端模式,将存储空间分为8个组(Bank),每组大小是128M,共计1GB,如图1所示。所有存储器组都可用于ROMA或者SRAM,Bank6、Bank7还可以用于SDRAM。所有内部块的访问周期都可编程。总线访问周期可以通过插入外部等待来延长,支持SDRAM的自刷新和掉电模式。Bank0~Bank6的开始地址是固定的,Bank7的开始地址是Bank6的结束地址,灵活可变,并且Bank7的大小与Bank6的大小必须相等。除Bank0外,其余各存储器的总线宽度可编程设置为8位、16位或者32位,但是Bank0只支持16位或者32位。Bank0作为引导ROM,地址映射到0x0000_0000。OM[1:0]是系统的引导模式控制引脚,在复位时,系统将检测OM[1:0]上的逻辑电平,并根据这个电平来决定Bank0区存储器的总线宽度。

图1 ARM存储单元分配图 在设计中ARM的bank0用于Nor Flash,bank6和bank7用于两块SDRAM,我们选择bank4作为FPGA内部RAM映射的空间。Bank4在ARM的统一基地址为0x20000000,后面的采集的数据都是基于这个地址为首地址的。

ARM与FPGA通信接口板设计.

ARM与FPGA通信接口板设计 关键词:双口RAM;乒乓操作;流控机制1 概述 某项目中需设计一块通信接口板,实现ARM 2440核心板和FPGA信号处理板之间的通信,因该板交换速率达到10Mbps,要求不能频繁中断ARM处理器,且具备流控机制,设计上有一定难度,基于双口RAM设计了乒乓操作机制和流控机制,有效地降低了系统负荷。 2 电路及驱动设计 2.1 接口板电路设计 接口板基于两片双口RAM芯片IDT CY7C007AV实现,电路示意图如图1所示。每片CY7C007AV有8KB的存储空间,12位地址总线,8位数据总线。为提高端口读写效率,FPGA对ARM发送时采用乒乓操作方式,ARM对FPGA发送时采用流控方式。 由于核心板扩展槽的地址总线和数据总线位宽限制,采用两片双口RAM,一片供FPGA向ARM发送数据用,另一片供ARM向FPGA发送数据用,以下分别建成上部双口RAM和下部双口RAM。上部双口RAM分为两部分,供FPGA采用乒乓操作方式写入数据,FPGA写完上半部后通过在EINT5上产生上升沿中断通知ARM,写完下半部后通过通过在EINT6上产生上升沿中断通知ARM。下部双口RAM供ARM向FPGA写入数据,其接线方式与上部双口RAM类似。 两块双口RAM的电路采用对称方式,其电路如图2所示。两片双口RAM可以互换,下部双口RAM也可供FPGA写入数据,而ARM则写入上部双口RAM。在实际测试中,两种方式均测试过。 ARM与双口RAM连接时,采用SRAM时序,为避免/减弱二次反射,ARM与总线驱动之间加33欧的串联匹配电阻,匹配电阻靠近扩展槽的近端。FPGA端对双口RAM的读写也采用SRAM时序,在与双口RAM连接时均串了33欧姆的匹配电阻。 由于核心板上ARM处理器距离接口板较远,接近十厘米,且核心板为四层板,总线驱动能力较弱,在ARM处理器和双口RAM之间添加四片总线驱动芯片,除增加总线驱动能力外还可通过关断总线驱动芯片,避免接口板噪声干扰核心板。 ARM的8位数据线通过245总线驱动芯片引出,其方向由LnOE读信号控制,地址总线则采用244和541芯片实现。ARM读时,数据由245流向ARM侧,ARM写时,数据由245流向双口RAM一侧。中断信号线连接在244芯片上,数据线连

详解ARM处理器和FPGA之间的通信技术

详解ARM处理器和FPGA之间的通信技术 1前言在ARM+FPGA系统结构中,实现基于ARM的嵌入式处理器和FPGA之间通信最简单的方法就是通过异步串行接口EIARS232C。考虑选用集成有UART(Universal Asynchronous Receiver / TraNSmitter )控制器的嵌入式处理器(例如,EP7312),那么嵌入式处理器一侧就具有了利用异步串行接口收、发通信的能力。然而,FPGA内部并不拥有CPU控制单元,无法处理由UART控制器产生的中断,所以FPGA 一侧不能利用现成的UART控制器构成异步串行接口,必须将UART控制器的功能集成到FPGA内部。 同一个系统中的ARM与FPGA之间属于短距离通信连接,他们之间的异步串行通信并不需要完整的UART功能,那些RS232标准中的联络控制信号线可以省略,仅仅保留收、发数据线和地线,这样给UART功能的FPGA编程实现带来了极大的省略。嵌入式处理器EP7312带有2个支持异步串行通信RS232的16550类型的UART,UART1不仅有TX,RX,而且支持Modem控制信号,UART2只有标准的TX,RX以及地信号,刚好能够利用UART2与FPGA实现通信。 2简化UART功能的FPGA实现本文将详细地讨论简化UART功能在FPGA中的实现方法。简单回顾一下异步串行通信的数据格式。图2表明在异步传送中串行发送一个数据字节的位定时关系(图中没有包括奇偶校验位)。发送一个完整的字节信息,首先是一个作为起始位的逻辑0位,接着是8个数据位,然后是1个、1+1/2个或2个停止位逻辑1位,数据线空闲时呈现为高或1状态。在字符的8位数据部分,先发送数据的最低位,最后发送最高位。每位持续的时间是固定的,由发送器本地时钟控制,每秒发送的数据位个数,即为波特率。起始位和停止位起着很重要的作用。显然,他们标志每个字符的开始和结束,但更重要的是他们使接收器能把他的局部时钟与每个新开始接收的字符再同步。异步通信没有可参照的时钟信号,发送器随时都可能发送数据,任何时沿的出现时间,从而正确地采样紧接着的10~11位(包括开始位、数据位和停止位)。接收器的时钟与发送器的时钟不

STM32与FPGA+之间的FSMC通信

1.引言 STM32是ST(意法半导体)公司推出的基于ARM内核Cortex-M3的32位微控制器系列。Cortex-M3内核是为低功耗和价格敏感的应用而专门设计的,具有突出的能效比和处理速度。通过采用Thumb-2高密度指令集,Cortex-M3内核降低了系统存储要求,同时快速的中断处理能够满足控制领域的高实时性要求,使基于该内核设计的STM32系列微控制器能够以更优越的性价比,面向更广泛的应用领域。 STM32系列微控制器为用户提供了丰富的选择,可适用于工业控制、智能家电、建筑安防、医疗设备以及消费类电子产品等多方位嵌入式系统设计。STM32系列采用一种新型的存储器扩展技术——FSMC,在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。 2.FSMC机制 2.1FSMC技术优势 ①支持多种静态存储器类型。STM32通过FSMC町以与SRAM、ROM、PSRAM、NOR Flash 和NANDFlash存储器的引脚直接相连。 ②支持丰富的存储操作方法。FSMC不仅支持多种数据宽度的异步读/写操作,而且支持对NOR/PSRAM/NAND存储器的同步突发访问方式。 ③支持同时扩展多种存储器。FSMC的映射地址空间中,不同的BANK是独立的,可用于扩展不同类型的存储器。当系统中扩展和使用多个外部存储器时,FSMC会通过总线悬空延迟时间参数的设置,防止各存储器对总线的访问冲突。 ④支持更为广泛的存储器型号。通过对FSMC的时间参数设置,扩大了系统中可用存储器的速度范围,为用户提供了灵活的存储芯片选择空间。 ⑤支持代码从FSMC扩展的外部存储器中直接运行,而不需要首先调入内部SRAM。 # FSMC内部结构 STM32微控制器之所以能够支持NOR Flash和NAND Flash这两类访问方式完全不同的存储器扩展,是因为FSMC内部实际包括NOR Flash和NAND/PC Card两个控制器,分别支持两种截然不同的存储器访问方式。在STM32内部,FSMC的一端通过内部高速总线AHB连

工程师深谈ARM+FPGA的设计架构

工程师深谈ARM+FPGA的设计架构 最近学习了ARM+FPGA的设计架构,ARM和FPGA结构的通信大致可以分为两种: 一种是数据量小、通信速率要求不高的情况,可以考虑采用SPI、IIC等差UN星通信方式。ARM都带有相关的SPI通信控制器等,在ARM端直接对相关的SPI通信控制器操作就可以了。而FPGA这一端可作为SPI从,按照SPI协议的时序写好从设备接口,这个工作量没有多大,所以相对都比较容易。 另一种是数据量大、通信速率要求较高的情况,就要采用并行总线的方式了。这时把FPGA 当做ARM的一个片外的SRAM访问就可以,可以在FPGA内部生成一个双口RAM,输出的数据总线管腿直接连接到ARM的并行总线的数据总线上,双口RAM一端的地址总线也一样直接连接到ARM的并行总线中的地址总线。这样就可以实现FPGA从DPRAM 一端读写,ARM从DPRAM的另一端读写的功能了,当然还需要其他一些使能或片选的控制信号。这里FPGA一侧较好实现,而ARM一侧需要开发SRAM(FPGA)驱动,这个还没有实际做过,所以没有把握。 NXP的ARM即LPC系列的并行总线称之为外扩地址与数据总线,由EMC(外部存储器控制器)控制,通过对EMC寄存器的控制就可以实现在外扩地址和数据总线上的数据收发。若是采用LPC系列ARM加一片FPGA,实现他们通信的关键应该在于这个EMC寄存器的控制,不知道按照一定的顺序操作这个寄存器组写出来的数据收发程序是不是就可以称之为所谓的驱动,求大神解释。 TI的ARM或DSP都有一个GPMC(通用内存控制器),它类似于LPC的EMC,是TI 的芯片中用于与外部存储设备如NORFLASH、NANDFLASH、SRAM等通信的一个借口。对于这个同样也有上边的那个疑问。 三星的S5PV210则是有一组并行总线接口,称之为SROM,同样也有一个SROM控制器,

FPGA与ARM核结合实现功能互补

FPGA与ARM核结合实现功能互补 时间:2012-08-20 11:08:35 来源:作者: 关键字:FPGA ARM 随着FPGA技术的不断发展和创新,使RISC处理器与FPGA集成、两种系统的融合与优化成为新一代FPGA的发展趋势。 如今,FPGA技术正处在高速发展时期,芯片规模越来越大,集成度越来越高,速度不断提高,性能不断提升,功耗也越来越低。FPGA凭借其强大的并行信号处理能力,在应对控制复杂度低、数据量大的运算时具有较强的优势。但是在复杂算法的实现上,FPGA却远没有32位精简指令集计算机(RISC)处理器灵活方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要RISC和FPGA结合使用。这样,电路设计的难度也就相应地增加。 RISC和FPGA结合成发展趋势 RISC处理器与FPGA集成,减小了硬件电路的复杂性和体积,降低了功耗,提高了可靠性。 FPGA技术的不断发展和创新使RISC处理器与FPGA集成,从而大大减小了硬件电路复杂性和体积,同时也降低了功耗,提高了系统可靠性,两种系统的融合与优化成为新一代FPGA的发展趋势。 2010年,FPGA厂商Xilinx和Altera先后联手英国ARM公司瞄准下一代消费电子、汽车及工业电子应用领域,推出了各自的FPGA内嵌ARM硬核嵌入式处理器架构。与传统嵌入式微处理器概念不同,基于ARM的FPGA单片系统通过内部高速总线有效的提升系统间信号传递的速度与稳定性,摆脱了PCB布线线宽对信号带宽的限制。在降低PCB布局布线复杂程度的同时,极大程度地缩小了芯片尺寸。作为高性能、低成本协处理器的最佳选择,FPGA 为处理器提供了硬件加速的空间。同时,FPGA庞大的可编程逻辑资源与灵活的可重配置能力使系统级芯片可以在内部进行软、硬件升级,解决了由升级系统功能带来的更换外部设备带来的成本问题。 作为迈入嵌入式系统领域的第一步,Altera和Xilinx(赛灵思)都成功地将片上系统硬核融入可编程逻辑。其中Xilinx仅与ARM合作,而Altera则提供更多嵌入式硬核的种类。然而两种系统的组合均可以根据实际应用需求进行优化与裁剪。Altera和Xilinx在2011年提出了以ARM为核心的可扩展式处理器平台。其中可编程逻辑仅作为可访问硬件资源被集成在ARM系统中。较以往的ARM处理器,这种可拓展式的嵌入式平台具有动态配置可编程逻辑的功能,可在需要时提升处理器速度,扩展处理器缓存容量。在FPGA与ARM系统接口方面,赛灵思提出的带有可编程逻辑的ARM系统解决了将FPGA嵌入ARM核方案中遇到的带宽问题。 FPGA与ARM核结合实现功能互补 两种高集成度芯片的融合将对已有的基于ARM和FPGA嵌入式系统重新定义。 FPGA与ARM融合的价值不仅仅体现在处理器性能的提升上。 用于视频监控领域的基于ARM的FPGA能够进行高级决策与控制处理,并管理复杂的控制系统结构和多个并行数据接入,同时进行高性能低延迟的信号处理,以通过分布式/远程智能视频系统对各种行为进行监控、分析和比较,并做出正确的行为决策。用于汽车电子领域的ARM嵌入式系统能够方便的连接到最新传感器技术,通过可编程逻辑的高性能并行处理能力处理多个数字信号输入(视频、雷达、红外等),并能快速将数据传输给ARM处理系统进行分析、比较,然后做出反应,并在汽车电子系统框架中进行通信。另外,用于通信领域的FPGA芯片内部集成了高频无线收发模块。该类型FPGA与ARM的结合将给软件无线电提供片

fpga arm dsp区别

fpga arm dsp区别 2010-07-10 18:09 FPGA 区别于ASIC设计属于硬件设计的范畴ASIC是硬件全定制FPGA是硬件半定制 具体来说ASIC整个电路都由设计师设计的用多少资源设计多少资源一般多用于产品设计 FPGA资源事先由厂商给定例如Altera Xilinx等都提供不同系列的FPGA芯片设计师可以在给定资源下做硬件设计开发 DSP 主要用于处理信号事先算法特点是多级流水可以加快数据处理的速度开发环境主要是C语言可以说DSP应用的范围更专DSP的设计 可以理解为软件设计设计师不需要太了解DSP的结构 补充几个小概念 DSP愿意就是指数字信号处理只不过DSP芯片由于主要功能是实现数字信号处理实现各种算法所以简称为DSP(数字信号处理器) FPGA一样可以做DSP(数字信号处理),就意味着可以用FPGA做硬件设计来实现DSP芯片的功能,当然,相比较专业的DSP芯片成本太高 现在除了FPGA和DSP之外还有一个近几年热门的产品ARM ARM主要应用与手持设备和嵌入式产品几乎笼罩了90%的市场份额可以说ARM开发也偏向于软件开发设计者主要是讲wince系统或者 linux系统移植到ARM开发平台上,然后做各种软件应用开发 所以这三个方向都有其不同的应用场合很难讲谁更有前途不过作为我个人而言更喜欢做硬件设计所以我选择FPGA作为自己的方向FPGA 主要是给设计者提供了一个硬件平台开发的核心还是需要独立的应用设计和高效的算法设计所以设计者应该处理好工具的掌握和具体设 计的区别 这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。 DSP就是一个指令比较独特的处理器。它虽然是通用处理器,但是实际上不怎么“通用”。技术很牛的人可以用DSP做一台电脑出来跑windows,而实际上真正这么干的肯定是蠢材。用DSP做信号处理,比其他种类的处理器要厉害;用DSP做信号处理之外的事情,却并不见长。而且信号处理的代码一般需要对算法很精通的人才能真正写好。数据结构里面的时间复杂度和空间复杂度在这里是一把很严酷的尺子。 FPGA只不过披着软件的外衣,实际上是硬件。FPGA内部有两层相对独立的电路。使用者“编码->编译”后生成一个映像,这个映像作用于第一层电路。这层电路之际上就是一个0,1的开关矩阵,这个开关矩阵用来控制第二层工作电路,将第二层工作电路配置成一个相应的处理器。理论上FPGA可以配置成任何需要的处理器,而实际上为了尽量少出bug,FPGA开发都使用已经开发好的“库文件”,也就是把人家能稳定工作的电路图拿过来。因此,对大多数FPGA开发者来说,FPGA内部有几个核基本上只能从库文件里面选——除非你有能力自己设计核心内部的电路和核间总线——ram和rom也是用宏来配置,自己只需要改改外部的专用电路和接线方式等等。甚至外部的专用电路都有库文件,搭个积木就完事了。玩FPGA真正挣钱的人是做积木的人,你原创几个积木并且能申请专利,迫使人家给你交专利费,那你这辈子可以衣食无忧了。 -----------------------------------------------------------------------------------------------------------------------------------

相关主题
文本预览
相关文档 最新文档