第一篇:网络传输系统设计论文
1网络结构设计
1.1网络结构总体方案
网络结构是整个系统的基础,网络结构的设计直接关系到整个网络的传输质量、业务拓展及运营服务质量。目前,网络结构的设计已从电缆向光纤,从模拟向数字化、宽带化、智能化趋势发展。网络拓扑结构主要分星形网、树形网及环形网,一个网络一般由多种网络结构组合而成,为达到较高的可靠性拟采用环形+星型网络拓扑结构,在主干段以及配线段用光传输系统实现光纤到楼,再建同轴电缆和双绞线重叠网作为用户引入。重叠网在光信号通路上通过共缆分纤方式将电视与数据业务物理分开形成以CATV为基础的重叠式综合业务网络。整个网络拓扑图如图1所示,具体方案为:在小区综合楼内设置一分前端,并入会泽县城域骨干环网,具有自愈传输功能;从分前端到各个光节点采用一级星形结构,尽量延伸光传输距离,使光信号几乎送至用户;从光节点至用户电缆(同轴电缆或双绞线)采用星形无源结构,传输距离不超过100m,最大限度保证信号传输质量。
1.2分前端机房的设置
因要接入城区自愈环中,故机房应配备具有二选一光接收并且具有自动切换功能的光接收机和支持冗余环网拓扑结构的数据传输设备,从而实现来自顺方向及逆方向上信号的冗余。环网光缆采用48芯光缆,以满足今后多业务需求。根据实地情况,机房设于小区中较集中的综合楼内,同时考虑到今后这一区域的发展,在路口设一交接箱,以满足今后小区处用户的接入。
2分配光缆网路由规划
(1)光网络结构:如前所述,分前端后采用一级星形光网络拓扑结构。
(2)光节点芯数:考虑到下一步互动电视及今后其它数据业务的开展,每个光节点设计8芯(一芯下行、一芯上行、两芯数据、四芯备用)。
(3)光节点数:依据一步到位、分步实施、逐步发展的方针,同时根据小区实际情况,为满足星形无源电缆网的要求,尽可能延长光网络范围,以达到高质量传输、易维护的标准,小区内共设光节点38个。
(4)由于全部光缆为地沟敷设,且距离相对较短,考虑到降低施工难度,同时又能达到最高的网络传输标准,所有光节点均用8芯光缆直接铺设至机房。根据以上标准,绘制路由图如。
3CATV系统设计
网络整体结构确定之后,就可以对CATV及相应的数据业务系统进行设计。目前虽然新产品层出不穷,但对于HFC网络来说,网络结构确定之后对CATV系统的设计变得较为容易。
(1)光系统波长:环网节点仍采用以前的1550nm系统主用、1310nm系统备用的方案,分前端之后的分配光网络由于传输距离较短,故采用1310nm系统,具有很大的灵活性。
(2)由于分配光网络采用一级星形结构,故光发射机及分路器在分前端集中分配。
(3)计算出各光节点链路参数,确定所需光发射机参数,每个光节点接收机的输入光功率按-2dB计算,计算过程略。
(4)绘制出光系统分配图。
(5)光机以下的同轴电缆分配网由于采用无源星形入户设计,光机信号经分支分配器后直接至用户,经实地勘察最大传输距离不超过80m,故此部分网络较为简单,同时最大限度地保证了用户端的信号指标(同轴电缆分配图略)。
4数据传输系统设计
小区数据传输系统的设计必须依托于现有的城域骨干网。目前我县城域骨干网是由MSTP系统为切入,以CiscoCatalyst3750M为核心,旁挂BAS做认证设备,采用星形结构联至分前端各汇聚节点CiscoCatalyst3560上的网络构架。同样的,把小区分前端作为一汇聚节点,由于汇聚层不采用环路结构,故用CiscoCatalyst3560直接联至中心机房CiscoCatalyst3750M即可。通过开启CAT3750M的MPLSVPN功能即可满足汇聚层下集团用户对虚拟专用网的需求,同时用BAS实现对个人用户的认证工作。对接入层来说,根据上述网络设计结构,小区内共设38个星形接入点,如果接入点用户有MPLSVPN需求的,要求接入设备必须支持路由功能,否则的话直接采用普通接入交换机,来实现对个人用户的网络接入。数据传输系统结构设计。
5结束语
小区网络虽然是城市中的一个部分,但对传输系统的设计同样是一个系统工程,特别是对于规模较大的小区来说,更是要求设计者对整个网络的方方面面有所把握。对于基层技术人员来说,必须掌握一些基本的设计理念,同时通过大量的实践和经验积累来完善设计思路,再结合实际情况,才能做出最合理的设计方案。以上设计仅仅是以烟厂小区为例,根据平常工作经验,简单阐述网络传输平台中一些主要环节的设计方法,而对于其他很多环节如供电系统的设计、防雷与接地系统的设计等这里就不再赘述。
第二篇:广播电台传输覆盖系统设计
广播电台传输覆盖系统设计
一.概述
合理的构建广播电台信号的传输和覆盖网络,可最大限度的发挥广播电台的技术优势,作为地市级广播电台其经济状况、地理位置、人口分布、行业规定等情况在一定的条件下决定了当地广播系统的发展步伐及传输覆盖的形式,卫星覆盖的方式目前对于市级广播电台来讲,在播出覆盖成本、经济效益、技术等方面都不太实际,短时间内难以应用。互联网网上广播覆盖目前处于发展阶段,随着经济的发展和数字技术在广播系统的应用,可逐步实现地市级电台的网上广播,但不可能在短时间替代传统的广播节目接收手段,只能是传统广播在网络世界的延伸和补充。因此地市级电台利用中波、调频进行无线发射覆盖是目前的主要覆盖方式,利用有线电视网络传输广播电台信号是目前的主要传输方式。1.覆盖结构
地市级电台的覆盖按行政区域和人口分布情况可分为三个覆盖层面,即城市覆盖、城镇覆盖和乡村覆盖。城市覆盖应采用无线发射、有线电视分配网络辐射的形式,同时在公交车等小范围场所设立固定接收,城镇覆盖除采用上述形式以外,再在城镇乡村设立固定接收设施覆盖。村级以传输发展有线广播为主、有线用户发射(辐射)为辅的方式覆盖。2.发展要求(1)系统数字化:在节目的查询、采集、编排、审听、调用等方面实现节目数字化录制,数字化编辑,数字化存储和数字化音频节目资源共享等自动化功能,并逐步向实现广播全系统的数字化。
(2)播出自动化:在播出、管理等方面通过采用数字音频工作站系统,可极大的提高播出系统的安全可靠性和技术指标,不断加快广播电台的数字化进程。
(3)传输网络化:建立计算机局域网络互联互通系统,实现广播电台内部信息、数据的交互和节目资源的共享,在信号的外部传送方面,充分利用有线电视网络实现音频传输和射频传输。
(4)发射固态化:逐步更新原有的电子管发射机,采用全固态发射机。可大幅度提高发射设备的技术指标和系统稳定性并可同时降低发射成本。
二.信号传输系统 1.音频信号传输途径
(1)送到调频发射机房实现电台信号在市区的调频中心发射。
(2)送到微波机房经微波发射机传输到150公里外的兴隆县雾灵山上,实现电台信号的大功率调频覆盖发射。
(3)经光缆传输到3公里外的市网络公司有线电视前端机房后,分为两路:一路送入市区有线广播电视网实现电台信号的市区有线辐(发)射;另一路传输到各个县区的有线电视前端机房实现电台信号的县域网有线辐(发)射。同时,又为分布在各个县区的小功率调频发射机提供信号源,实现小功率调频覆盖发射。(4)经光缆传输到1.2公里外的中波台机房实现电台信号在市区的调幅(中波)中心发射。
(5)送到音频采集系统为今后实施互联网网上广播提供信号源。2.有线网络传输与覆盖
各县区目前已全部实现光纤联网,可在此基础上充分利用现有的传输系统实施广播电台信号的传输和覆盖。
(1)市区部分:将送入到市网络公司前端机房的音频信号,经调制后进入市区有线电视网完成对市区广播信号的调频有线覆盖。另外,可设立独立频道(频率),为宾馆、饭店、车站提供背景音乐及适时语音广播。
(2)县城部分:送入市网络公司前端机房的信号在调制之前经市县SDH传输网络传送到各县区的有线电视前端机房后分成两路,一路送入县级有线电视网络实现对县、乡(镇)的调频有线覆盖;另一路送入建在每个县城的调频发射机实现对该县城的调频无线覆盖。
(3)乡村部分:利用有线电视网络采用有线广播和有线电视共缆传送的模式实现县、乡、村的广播覆盖,具体是采用不同的频点,通过光纤或同轴网将调频信号送到各村调频音箱,实现终端调频自动接收多点扩音直接进行音频广播。
三.大功率调频调幅多频发射
无线发射系统以中波、调频为主要方式,市区采用多频调频、调幅混合发射覆盖,县级和乡镇采用调频同频发射。1.调幅(中波)发射 由建在海拔385米的沙子梁中波发射台完成承德电台两套节目在承德市区的中波覆盖。
第一套节目发射频率:1584KHz;发射机功率:1Kw;发射天线高度:90米。
第二套节目发射频率:900KHz;发射机功率:1Kw;发射天线高度:76米。
2.大功率调频发射
(1)由建在海拔355米的承德市佟山调频发射台完成承德电台两套节目在承德市区的调频覆盖。
第一套节目发射频率:89.1MHz;发射机功率:3Kw;发射天线高度:186米。
第二套节目发射频率:97.6MHz;发射机功率:1Kw;发射天线高度:186米。
覆盖区域:6400平方公里。覆盖半径:40公里。覆盖人口:约60万人。
(2)由建在海拔2118米的兴隆县雾灵山上的调频发射台完成承德电台第一套节目在承德周边区域的覆盖。
发射频率:93.8MHz发射机、发射机功率:5Kw、发射天线高度:60米。
覆盖区域:57000平方公里。覆盖半径:120公里,覆盖人口:约350万人。3.技术要求(1)每个调频发射频率要遵守频率制约关系。
(2)在中波、调频覆盖的中心区域(900平方公里市区)其中波场强要达到80dB以上、调频场强要达到65dB以上。
(3)系统技术指标全部要达到甲级。
四.结束语
广播电台的无线、有线、卫星和互联网四种传输覆盖形式,以传统的方式、发展的技术、未来的趋势从各自的特点充分发挥优势实现着传输和覆盖,作为地市级广播电台,要实现信号的广域传输和系统的覆盖,必须是传送与发射、有线与无线、多频与同频、调频与调幅互补相依的共同行为,用中波、调频进行无线发射覆盖仍然是目前主要的受众渠道,今后广播无线发射覆盖、有线传输覆盖和网络交互覆盖取长补短、相互促进是广播电台的发展方向,广播与互联网相结合、广播的无线和有线相互补充是未来广播技术发展的必然趋势,广播节目从采编播出到发射覆盖的全系统数字化将是广播电台的主要技术形式和技术目标。
第三篇:基于FPGA的频带传输系统设计
通信系统EDA设计
基于FPGA(cyclone系列EP1C6Q240C)的时分多路频带传输系统设计
(VHDL语言描述)
指导教师:陈德宏老师
班级:通信072 姓名:汪双承
学号:079064305 同组人员:肖慧,吴敏根
陈飞,冉彪
设计时间:二零一零年六月底
目录
一、课题背景…………………………
二、任务要求…………………………
三、原理说明…………………………
四、程序与仿真………………………
五、心得体会…………………………
一、课题背景
FPGA是现场可编程门阵列的简称,FPGA的应用领域最初
为通信领域,特别是在无线通信领域里,由于具有极强的实时性,使使其对话音进行实时处理成为可能;由于它是通过面向芯片结构指令的软件编程来实现其功能的,因而仅修改软件而不需改硬件平台就可以改进系统原有设计方案或原有功能,因而具有极大的灵活性;又由于FPGA芯片并非专门为某种功能设计的,因而使用范围广、产量大、价格可以降到很低。但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。越来越多的设计也开始以ASIC转向FPGA,FPGA正以各种电子产品的形式进入了我们日常生活的各个角落。
在完成了通信原理和vhdl语言的学习后,为了理论联系实际,为了紧跟时代的步伐,作为通信专业的学生就有责任去学习和掌握FPGA技术在通信领域的应用。故开展了这次通信系统EDA课程设计。
二、任务要求
1、项目名称:时分多路数字电话频带传输系统的设计与开发
(基于FPGA cyclone系列EP1C6Q240C)
2、系统设计指标:
(A)64KB/S的A律PCM数字话音编译码器的开发设计
(B)PCM 30/32一次群时分复接与分接器的开发设计(C)正交相对四相移相键控QDPSK调制器的开发设计
3、系统框图:
4、各功能模块技术要求 A、PCM编译码器参数指标
(1)符合ITU-T G.711建议
(2)PCM编码器输入信号为:
一个13位逻辑矢量的均匀量化值:D0,D1…D12 其中:D0为极性位,取值范围在-4096~+4096之间; 一个占空比为1/32的8K/S的取样时钟信号; 一个占空比为50%的2.048KB/S的合路时钟信号;
(3)PCM编码器输出信号为:
一个8位逻辑矢量的13折线非均匀量化值:C0,C1…C7 其中:C0为极性位.C0=1为正,C0=0为负; 一个占空比为1/32的8K/S的取样时钟信号; 一个占空比为50%的2.048KB/S的合路时钟信号;
(4)PCM译码器输入信号为:
一个8位逻辑矢量的13折线非均匀量化值:C0,C1…C7 其中:C0为极性位.C0=1为正,C0=0为负; 一个占空比为1/32的8K/S的取样时钟信号; 一个占空比为50%的2.048KB/S的合路时钟信号;(5)PCM译码器输出信号为:
一个13位逻辑矢量的均匀量化值:D0,D1…D12 其中:D0为极性位,取值范围在-4096~+4096之间; 一个占空比为1/32的8K/S的取样时钟信号; 一个占空比为50%的2.048KB/S的合路时钟信号;
B、时分多路参数指标:
(1)符合 ITU-T G.704 建议
(2)
16帧,2.0 ms复帧结构F0F1F2F3F4F5F6F7F8F9F10F11F12F13F14F1532路时隙,256 bit,125 s帧结构TS***2******262728293031帧同步时隙偶帧TS0×0011011话路时隙(CH1 ~ CH15)信令时隙00001A211话路时隙(CH16 ~CH29)CH30帧同步信号488 ns复帧同步信号F1abcda备用比特bcd3.91 s奇帧TS0×1A111111CH1CH
1(3)时分复接器输入信号为:
一个8位数据总线D7~D0(即30路PCM话音并行数据
公用总线 ;
一个一次群串行位同步时钟2.048MB/S信号;(4)时分分接器输出信号为:
一个一次群串行合路数据流2.048MB/S信号;
一个30位逻辑矢量时隙脉冲信号(每位对应一路时隙脉
冲);
一个一次群串行位同步时钟2.048MB/S信号; C、QDPSK解调器参数指标:
(1)QDPSK输入信号为:
一位2.048Mb/s串行合路数据;
一位8.192Mb/s输出时钟CLK(2)QDPSK输出信号为:
一个17位逻辑矢量载波抽样值输出;
一位8.192Mb/s输出时钟CLK
(3)提示:载波频率设为8.192MHz,每个载波周期8个样点
Cos:
07fffH,06d40H,03fffH,012bfH,0000H,012bfH,03fffH,06d40H
sin: 03fffH,06d40H, 07fffH,06d40H,03fffH,012bfH,0000H,012bfH-cos: 0000H,012bfH,03fffH,06d40H,07fffH,06d40H,03fffH,012bfH-sin:
03fffH,012bfH,0000H,012bfH,03fffH,06d40H, 07fffH,06d40H
三、原理说明
A、A律PCM编译码规则
说明:由表可知,编码由十位信号可知最高位为符号位,其他最先出现1的高位决定了编码的段落码,紧接着这个高位的后四位即段落码。译码时亦有此规律而来。
B、一次群时分复、分接器原理
C、QDPSK调制器原理(1)原理框图
说明:将QDPSK看成两路2DPSK分别调制,最后合成(2)差分编码
a、b到c、d满足差分编码关系
四、程序与仿真
--PCM编码,符合ITU-T G.711建议
--一个输入为13位逻辑矢量的均匀量化值,一个8000HZ占空比为1/32的取样脉冲--输出为八位逻辑矢量的A律PCM编码,和一个8000HZ的时钟
--虽然设计要求输入输出2.048MB/S时钟,个人觉得用不上,故舍去了--quartus软件是以下标大的位为高位,所以十三位输入采用D(12)为符号位
library ieee;--程序调用的库是IEEE库
use ieee.std_logic_1164.all;--定义了std_logic,std_logic_vector类型
entity PCMencode is
port(clkin :in std_logic;--输入时钟8000HZ
D
:in std_logic_vector(12 downto 0);--std_logic_vector全拼standard_logic标准逻辑矢量
C
:out std_logic_vector(7 downto 0);
clkout:out std_logic);end PCMencode;
architecture behavior of PCMencode is begin
process(clkin,D)begin if clkin'event and clkin='1' then
if D(11)='1' then C<=D(12)&'1'&'1'&'1'&D(10)&D(9)&D(8)&D(7);
elsif D(10)='1' then C<=D(12)&'1'&'1'&'0'&D(9)&D(8)&D(7)&D(6);
elsif D(9)='1' then C<=D(12)&'1'&'0'&'1'&D(8)&D(7)&D(6)&D(5);
elsif D(8)='1' then C<=D(12)&'1'&'0'&'0'&D(7)&D(6)&D(5)&D(4);
elsif D(7)='1' then C<=D(12)&'0'&'1'&'1'&D(6)&D(5)&D(4)&D(3);
elsif D(6)='1' then C<=D(12)&'0'&'1'&'0'&D(5)&D(4)&D(3)&D(2);
elsif D(5)='1' then C<=D(12)&'0'&'0'&'1'&D(4)&D(3)&D(2)&D(1);
else C<=D(12)&'0'&'0'&'0'&D(4)&D(3)&D(2)&D(1);
end if;end if;end process;clkout<=clkin;end behavior;
--PCM译码
--输入A律八位PCM编码,占空比为1/32的8000HZ的去取样时钟
--输出为十三位逻辑矢量均匀量化值,占空比为1/32的8000HZ的去取样时钟 library ieee;use ieee.std_logic_1164.all;entity PCMdecode is port(clkin:in std_logic;
C:in std_logic_vector(7 downto 0);
D:out std_logic_vector(12 downto 0);
clkout:out std_logic);
end PCMdecode;architecture behavior of PCMdecode is signal temp:std_logic_vector(2 downto 0);begin
temp <= C(6 downto 4);
process(clkin)
begin
if clkin'event and clkin='1' then
case temp is
when “111”=>D<=C(7)&“1”&C(3 downto 0)&“1000000”;
when “011”=>D<=C(7)&“01”&C(3 downto 0)&“100000”;
when “101”=>D<=C(7)&“001”&C(3 downto 0)&“10000”;
when “001”=>D<=C(7)&“0001”&C(3 downto 0)&“1000”;
when “110”=>D<=C(7)&“00001”&C(3 downto 0)&“100”;
when “010”=>D<=C(7)&“000001”&C(3 downto 0)&“10”;
when “100”=>D<=C(7)&“0000001”&C(3 downto 0)&“1”;
when “000”=>D<=C(7)&“0000000”&C(3 downto 0)&“1”;
when others=>D<=null;
end case;
end if;end process;clkout<=clkin;end behavior;
--时分复接器
--输入一个8位数据总线(即30路PCM话音并行数据共用总线),--输入一个一次群串行位同步时钟2.048MB/S信号
--输出一个一次群串行合路数据流2.048MB/S信号;一个一次群串行位同步时钟2.048MB/S信号
--一个5位时隙地址总线信号(即30路PCM话音并行地址总线)--(其说明当前输入的数据总线上是哪个时隙数据)
--此程序要特别注意器件的选择,该程序选择cyclone系列EP1C6Q240C8时得到所期望的结果
--若选用其他器件譬如Stratix II系列的器件会丢失第一路信息
library ieee;--程序所调用的库是IEEE库
use ieee.std_logic_1164.all;--定义了std_logic,std_logic_vector类型
use ieee.std_logic_unsigned.all;--用到基于std_logic,std_logic_vector类型的--无符号的算术运算 entity fujieqi is port(clkin: in std_logic;
datain: in std_logic_vector(7 downto 0);--30路语音信号输入
dataout:out std_logic;
--输出串行数据流
ads:out std_logic_vector(4 downto 0);--五位时隙总线信号
clkout:out std_logic);--输出时钟
end fujieqi;architecture behav of fujieqi is shared variable tscount:std_logic_vector(8 downto 0);--时隙计数器 shared variable bitcount:std_logic_vector(2 downto 0);--位计数器 begin p1:process(clkin)--位时钟和时隙计数 begin if clkin'event and clkin='1' then
if bitcount=“111” then
bitcount:=“000”;
tscount:=tscount+'1';
else bitcount:=bitcount+'1';
end if;end if;end process p1;p2:process(clkin)variable regester:std_logic_vector(7 downto 0);--定义一个内部的寄存器,--用于寄存输入的八位数据
variable temp:std_logic_vector(7 downto 0);--定义一个中间变量,用于数据的串行输出 begin if clkin'event and clkin='1' then
ads<=tscount(4 downto 0);--记录当前输出的是第几路信号
if bitcount=“000” then
if tscount(5 downto 0)=“000000” then
regester:=“10011011”;
--双帧计数为0时传帧同码
elsif tscount(5 downto 0)=“100000” then
regester:=“11111111”;
--双帧计数为32时传勤务信息
elsif tscount=“000010000” then
regester:=“00001111”;
--复帧计数为16时传复帧同步码
elsif tscount(4 downto 0)=“10000” then
regester:=“11111111”;
--除F0帧外,每帧的第16时隙都传信令信息
else regester:=datain;
--不满足以上条件时传语音信号
end if;
temp:=regester;
--并串转换
dataout<=temp(7);--时隙的第一个时钟上升沿输出最高位
else
temp(7 downto 1):=temp(6 downto 0);--右移
dataout<=temp(7);--接着发其他位
end if;end if;clkout<=clkin;--输出时钟 end process p2;end behav;
--QDPSK调制器,这里采用把一路QDPSK信号分为正交的两路2PSK分别调制,最后合成--输入一位2.048MB/S合路数据流,一位8.192MB/S输入时钟,内部进程所需时钟由分频而得
--输出一位8.192MB/S时钟,一个17位逻辑矢量载波抽样值输出
--由于FPGA器件适合做乘法运算,所以相干载波由八个样点表示,那么乘法运算转为适合 FPGA--器件加法运算
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;--定义了有符号与无符号类型,及基于这些类型上的算术运算 use ieee.std_logic_unsigned.all;entity qdpsk is port(clkin8192: in std_logic;
datain:in std_logic;
clkout8192:out std_logic;
dataout: out std_logic_vector(16 downto 0));end qdpsk;architecture behavior of qdpsk is signal clk1024: std_logic;signal clk2048: std_logic;shared variable a,b,c,d: std_logic;signal n:std_logic_vector(2 downto 0);--n为一个三位的计数器,用于控制八个样点的输出 signal q:std_logic_vector(1 downto 0);--c&d结合状态
signal count:std_logic_vector(2 downto 0);--对输入时钟计数,利用该三位计数器分频得到1.024mb/s的时钟
begin p1:process(clk1024)--串并转换
variable tem:std_logic_vector(2 downto 0);begin if(clk2048'event and clk2048='1')then if tem(0)='0' then
a:=tem(1);--偶数位
b:=tem(2);--奇数位
tem:=datain&“01”;else tem:=datain&tem(2 downto 1);end if;end if;end process p1;
--p1:process(clk1024)--p1进程也可以这么写,这样少一个分频,更加简洁--variable xx:std_logic_vector(1 downto 0);--begin--if clk1024'event and clk1024='1' then--
xx(1):=din;--elsif(clk1024'event and clk1024='0')then--
xx(0):=din;--
b<=xx(0);a<=xx(1);--end if;--end process p1;
p2:process(clk1024)--差分编码 variable temp:std_logic;begin temp:=(c xor d);if clk1024'event and clk1024='1' then
if temp='0' then
c:=not(b xor c);
d:=a xor d;
else
c:=a xor c;
d:=not(b xor d);
end if;
end if;end process p2;p3:process(clkin8192)--计数和分频并根据c&d的状态输出已调信号 begin
if clkin8192'event and clkin8192='1' then
count<=count+'1';
clk1024<=count(2);
clk2048<=count(1);
if count=“000”then
n<=“000”;q<=c&d;
else n<=n+'1';q<=q;
end if;end if;if clkin8192'event and clkin8192='1' then if q=“00” then case n is when “000” => dataout<=“***10”;when “001” => dataout<=“***00”;when “010” => dataout<=“***10”;when “011” => dataout<=“***11”;when “100” => dataout<=“***11”;when “101” => dataout<=“***10”;when “110” => dataout<=“***11”;when “111” => dataout<=“***11”;when others=>null;end case;elsif q=“01” then case n is when “000” => dataout<=“***10”;when “001” => dataout<=“***11”;when “010” => dataout<=“***11”;when “011” => dataout<=“***10”;when “100” => dataout<=“***11”;when “101” => dataout<=“***11”;when “110” => dataout<=“***10”;when “111” => dataout<=“***00”;when others=>null;end case;elsif q=“10” then case n is when “000” => dataout<=“***11”;when “001” => dataout<=“***11”;when “010” => dataout<=“***10”;when “011” => dataout<=“***00”;when “100” => dataout<=“***10”;when “101” => dataout<=“***11”;when “110” => dataout<=“***11”;when “111” =>dataout<=“***10”;when others=>null;end case;elsif q=“11” then case n is when “000” => dataout<=“***11”;when “001” => dataout<=“***10”;when “010” => dataout<=“***11”;when “011” => dataout<=“***11”;when “100” => dataout<=“***10”;when “101” => dataout<=“***00”;when “110” => dataout<=“***10”;when “111” => dataout<=“***11”;when others=>null;end case;end if;end if;end process p3;clkout8192<=clkin8192;end behavior;
--时分分接程序
--同步码捕获三次后方确认同步完成,若失步三次后重新捕获
--输入一个一次群串行合路数据流2.048MB/S信号,一个一次群串行位同步时钟2.048MB/S信号
--输出一个一次群串行合路数据流2.048MB/S信号,一个30位逻辑矢量时隙脉冲信号(每位对应一路时隙脉冲)--一个一次群串行位同步时钟2.048MB/S信号
--输出串行数据流分别于A1……A31相与即可得到各路话音信号
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity fenjieqi is port(datain,clkin:in std_logic;--输入2.048MB/S的合路数据流,输入--串行位同步时钟2.048MB/S
A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A17,A18, A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31:out std_logic;--输出30位逻辑矢量时隙脉冲信号,与dataout相与的结果就是所选择的一路语音--输出
clkout,dataout:out std_logic);--输出串行数据流和输出时钟 end fenjieqi;
architecture behave of fenjieqi is signal regester,singlecount:std_logic_vector(7 downto 0):=“00000000”;--regester为八位移位寄存器用于捕获同步码,singlecount为单帧计数器
signal doublecount:std_logic_vector(8 downto 0):=“000000000”;--双帧计数器以位为单位 signal catch:std_logic:='0';--同步码捕捉状态标志0表捕捉态,1表示同步态
signal syncount,lostcount:std_logic_vector(1 downto 0):=“00”;--同步计数器以位为单位--与失步计数器
begin
P1:process(clkin)--利用移位寄存器暂存当前输入码,敏感信号为时钟上升沿--即当时钟上升沿到达时该进程执行一次
begin if clkin'event and clkin='1' then--时钟上升沿有效暂存输入数据
regester<=regester(6 downto 0)&datain;end if;end process P1;
P2:process(clkin)--同步码捕捉,同步保持比较
begin if clkin'event and clkin='0' then--时钟下降沿有效验证是否为同步码
--及验证落后于暂存刚好半个时钟周期,敏感信号为时钟下降沿,即时钟下降沿到达一次程序执行一次
doublecount<=doublecount+1;singlecount<=doublecount(7 downto 0)+1;--借用双帧第八位单帧计数
if catch='0' then
--catch为0时为捕捉态
if syncount=“00” then
if regester=“10011011” then
syncount<=syncount+1;doublecount<=“000000111”;
--表示第一次捕捉到同步码,将其次数加一,并且让输出变为第八位
end if;
elsif doublecount=“000000110” then--已捕捉到同步码的同时验证捕获
if regester=“10011011” then
if syncount=“10” then catch<='1';syncount<=“00”;
--验证同步次数达到3次时转为同步状态
else syncount<=syncount+1;
end if;
else syncount<=“00”;--验证不是同步码时转为重新捕获状态
end if;
end if;
else
--catch为1,同步态时,同步保持比较
if doublecount=“000000110” and regester/=“10011011” then
--表示同步时验证不是同步码
if lostcount=“10” then catch<='0';lostcount<=“00”;
--验证失步次数达到三次时转为捕捉状态
else lostcount<=lostcount+1;
end if;
end if;
end if;end if;end process P2;
P3:process(clkin,singlecount,catch)--时钟上升沿有效,译码输出 begin if clkin'event and clkin='1' then
if catch='1' then
dataout<=datain;
if singlecount>=“00000111”and singlecount<=“00001110”then A1<='1';else A1<='0';end if;
if singlecount>=“00001111”and singlecount<=“00010110”then A2<='1';else A2<='0';end if;
if singlecount>=“00010111”and singlecount<=“00011110”then A3<='1';else A3<='0';end if;
if singlecount>=“00011111”and singlecount<=“00100110”then A4<='1';else A4<='0';end if;
if singlecount>=“00100111”and singlecount<=“00101110”then A5<='1';else A5<='0';end if;
if singlecount>=“00101111”and singlecount<=“00110110”then A6<='1';else A6<='0';end if;
if singlecount>=“00110111”and singlecount<=“00111110”then A7<='1';else A7<='0';end if;
if singlecount>=“00111111”and singlecount<=“01000110”then A8<='1';else A8<='0';end if;
if singlecount>=“01000111”and singlecount<=“01001110”then A9<='1';else A9<='0';end if;
if singlecount>=“01001111”and A10<='0';end if;
if singlecount>=“01010111”and A11<='0';end if;
if singlecount>=“01011111”and A12<='0';end if;
if singlecount>=“01100111”and A13<='0';end if;
if singlecount>=“01101111”and A14<='0';end if;
if singlecount>=“01110111”and A15<='0';end if;
if singlecount>=“10000111”and A17<='0';end if;
if singlecount>=“10001111”and A18<='0';end if;
if singlecount>=“10010111”and A19<='0';end if;
if singlecount>=“10011111”and A20<='0';end if;
if singlecount>=“10100111”and A21<='0';end if;
if singlecount>=“10101111”and A22<='0';end if;
if singlecount>=“10110111”and A23<='0';end if;
if singlecount>=“10111111”and A24<='0';end if;
if singlecount>=“11000111”and A25<='0';end if;
if singlecount>=“11001111”and A26<='0';end if;
if singlecount>=“11010111”and A27<='0';end if;
if singlecount>=“11011111”and A28<='0';end if;
if singlecount>=“11100111”and A29<='0';end if;
if singlecount>=“11101111”and
singlecount<=“01010110”then singlecount<=“01011110”then singlecount<=“01100110”then
singlecount<=“01101110”then singlecount<=“01110110”then singlecount<=“01111110”then singlecount<=“10001110”then singlecount<=“10010110”then singlecount<=“10011110”then singlecount<=“10100110”then singlecount<=“10101110”then singlecount<=“10110110”then singlecount<=“10111110”then singlecount<=“11000110”then singlecount<=“11001110”then singlecount<=“11010110”then singlecount<=“11011110”then singlecount<=“11100110”then singlecount<=“11101110”then singlecount<=“11110110”then
A10<='1';else A11<='1';else A12<='1';else
A13<='1';else A14<='1';else A15<='1';else A17<='1';else A18<='1';else A19<='1';else A20<='1';else A21<='1';else A22<='1';else A23<='1';else A24<='1';else A25<='1';else A26<='1';else A27<='1';else A28<='1';else A29<='1';else A30<='1';else A30<='0';end if;
if singlecount>=“11110111”and A31<='0';end if;
end if;end if;end process P3;clkout<=clkin;end behave;
singlecount<=“11111110”then
A31<='1';else
+
五、心得体会
这次课程设计老师十三周布置任务,我是我所在小组的组长。那时通信原理的书还有好几章没怎么看,VHDL语言我自己又没选,所以一开始压力就很大。虽然十二周就已经把vhdl语言看了些,但quartus平台还是不熟悉。十三周期中考试,十四周从网上下了些fpga的开发教程,熟悉了quartus软件,熟悉了一些小的经典程序的编写。虽然做了这些前期准备,自己真正开始课程设计的时候还是遇到了不少的困难。通信原理的书上的原理基本理解,但把它运用到课程设计中去,还是有困难。譬如说pcm编码书上用的是逐次逼近法编码,但所使用的fpga器件的编程与这个有很大不同,显的更加简单。再如QDPSK调制,虽然基本原理和书上一样,但由于是FPGA器件,把载波相乘转化成了载波抽样。让我认识到理论到实践还有很长的路要走。当作做完课程设计回头看书,反而更加清晰了。学工科就是如此,实践往往能让自己理解的更深刻,前期的伦理理解也很重要,不然不知如何下手。编程是实在的,我一直有种畏惧感,因为实践的机会少,也没什么头绪,这次编程,通过团队的合作,通过资料的参考,反复的调试仿真,让我找到可编程的一种激情,虽然程序编的不是很好,还有很多毛病,但我了解的这个流程,我比以前更加喜欢编程,也有了努力地方向。编程看再多的程序不如自己编个小程序,这才是提高编程能力的方法,要有个小项目,要尽量自己写程序。团队成员的帮助也相当重要,能发现你不能发现的问题。总之,这次课程设计收获颇多。自己的编程能力亟待加强!
第四篇:网络传输原理小结
局域网参考模型中数据链路层的LLC子层,MAC子层各是什么含义? LLC子层负责向其上层提供服务;
MAC子层的主要功能包括数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制等。MAC子层的存在屏蔽了不同物理链路种类的差异性。
最简单的办法是通过串口,在FPGA端实现串口接收要比网口简单的多。如果非要用网络传输的话,也可以在FPGA端做一个MAC和一个简单的UDP。如果数据不是很多,对传输的速度要求不高的话,还是用串口比较方便。
基于FPGA的网络传输设计与实现
采用 FPGA 设计的网络传输系统能满足某些声纳系统中的对数据大容量、远距离 数据传输要求,利用 FPGA 的特点使网络传输系统与其他设计电路无缝连接。
核心内容是基于目前主流 FPGA 器件,采用硬件方式来时实现符合 UDP/IP 协议的实时以太网传输系统。
总线局域网、基带总线局域网、以太网设计规则DIX Ethernet V2,IEEE 802.3标准、10Mb/s、MAC 帧格式、载波侦听多路访问CSMA/CD、以太网主要由网络传输介质、网络节点上的设备以及网络传输的信息等几部分组成。UDP/IP 协议、实际上两个系统之间的数据交换是经过层层打包或解包的协议路径。
需设计相应的硬件电路和控制程序。
设计了六通道数据同步采集,对采集的数据进行打包组帧后,设计一路MAC 控制器,将采集数据采用以太网传输方式进行远距离传输。以太网MAC 子层、MAC 子层与上层协议的接口设计以及MAC 与物理层(PHY)的MII 接口设计均采用 FPGA 实现。
设计中,FPGA 需实现的功能有:AD 芯片采集控制、FIFO 数据缓存器设计、UDP传输协议的实现、以太网数据传输控制以及采集数据的相关处理等。
4.3.2以太网 PHY 收发器
PHY 器件DP83640(它支持 RJ45 接口和光纤收发器接口,同时还支持硬件 1588 同步时钟协议,非常适用于网络节点之间的时钟同步设计;仅需对其内置的存储器进行修改可以实现多种网络接口功能。)
FPGA 控制电路是对 FPGA 器件进行外围电路配置、编程模式配置以及 FPGA 的I/O 接口设计。
4.5 以太网控制实现方法
主要包括以下四个方面的内容:MAC 模块设计、MAC 层传输协议、UDP 传输协议的实现、编码组帧设计。
4.5.1 MAC 模块设计
第五篇:公文传输系统解决方案
公文传输系统解决方案
1、系统简介
公文传输系统完成公文、会议通知和资料下发、公文上报,平级单位间公文交换等功能。适用于党政机关、行政职能部门、企事业单位及大专院校的公文传输管理系统,有效解决办公难题。
办公室每天有大量的文件需要处理,一份文件有时候要印刷几十份,甚至上百份。大量文件的转发、传阅、发送、签收、审核让办公室里文件堆积如山,杂乱如麻,让办公室的工作效率及其低下,对办公室应发挥的重要职能也有影响。希望您借助电子公文传输管理系统来帮助您,让您从文件堆中解脱出来,提高文件的传输效率,同时也减少大量纸张的浪费,缩短公文分发、上报的时间,详细及时的了解文件发送签收情况,而且便于文件的统一管理和分类。
电子公文传输管理系统的功能包括公文分发、会议通知和资料分发、文种与红头、电子印章管理、收发文监控、收文提醒、检索与统计、常用政务信息传送、组织机构管理、公文模板库、权限管理等功能模块组成。
2、系统功能
2.1、前台用户功能
公文发布和上报
在发布和上报文件时,输入文件文号、标题、类型、发文(上报)单位、选择文件正文等,然后设置文件接收的人员、单位、群组。同时,可以对以往发布和上报的文件内容和属性进行修改重新发布。
公文签收
对其它单位的来文,未签收的文件系统都有标识提示,可打开文件进行签收,下载打印。对本单位的发布的文件随时监控接收单位签收文件的情况报表,包括未签收单位、已签收单位,签收时间等。
公文分类查询
文件类型统一由管理员设定,用户可以按照类型查询文件。例如:市发、市会通、市办发、市组织、市政发等。
会议通知发布和签收
在发布会议通知时,输入会议名称、组织单位、开会时间、会议资料,还可以设置通知是否需要反馈和签到等,然后设置文件接收的人员、单位、群组。同时,可以对以往发布的通知进行修改重新发布。
会议材料发布和签收
会议结束后,形成会议纪要或决定,会议组织者可以把相应的材料发布给会议参加人或单位。
会议通知和材料签收反馈情况
会议通知或会议材料发布者,可以随时查看会议参加单位签收通知或材料的情况。
信息发布
请求办理事项
此模块将为领导与各下级单位、各委办局之间提供沟通渠道。对领导来说,方便对下级单位进行交办事项(如:领导需要下级单位提供某些信息;领导需要下级单位处理某些问题等);对委办局之间来说,方便单位之间工作的协调。被请求单位在收到领导的指示或其他单位的需求后,做出回应。
报送信息
此模块主要为办公室收集各单位信息,所收集信息是政府刊物的内容来源。其他单位也可利用此模块向有关单位收集本单位所需的信息。
专题报告
该模块直接向各委办局及领导提供信息。各委办局再将需要报送的专题信息输入此栏目。
刊 物
每个单位都会定期发布刊物。这些刊物将是领导了解本单位工作情况,获取信息的窗口或单位之间交流的桥梁,在工作中具有举足轻重的作用。
工作动态
工作动态分为全年和每月动态。全年动态的主要内容是:工作基本情况、存在问题、工作思路、工作计划和工作总结等。每月动态的主要内容是:上月工作进展、本月工作安排。
检索与统计
公文传输管理系统中的检索引擎允许公文交换平台用户采用简单和高级两种方式检索符合条件的公文内容,并可以完成对公文的统计,如按公文标题进行简单搜索或按公文标题、发文单位、来文单位、收(发)文日期、文号、主题词、密级、紧急程度等多种要素进行组合搜索。
2.2 后台管理功能
用户和群组管理
系统初始化时,先由管理员对要使用本系统的人员和单位进行注册、登记相关信息。人员注册的内容,大致包括用户名、中文名、所属部门、所属群组。
组织机构管理 对需要使用电子公文传输系统的单位和部门进行统一管理,通过系统设置可对组织机构的变动随时作出调整。由系统管理员对参与电子传输的各单位进行编码、并对各单位的名称等信息进行管理。
用户管理
由的管理员对使用电子公文传输管理系统的人员分配登录名,并根据工作需要授予不同的角色和权限。用户权限管理
“最高管理员”,所有功能。
“超级发文者”,增加、修改、删除用户,发布和管理文件,会议。
“高级发文者”,发布和管理自己所发的文件,会议。
“普通发文者”,发布和管理自己所发的文件。
“阅读者”,只能查看、签收文件和会议。管理员可对用户分配相应的权限。
文件类型管理
管理员进行文件类型维护,添加、修改、删除文件类型,分配和管理有权限发布某一类型文件的用户。
管理已发布文件
管理员统一管理所有已发布的文件,其它用户只能对自己发布的文件进行管理。可以查看文件签收情况或修改文件信息重新发布。
管理会议通知
管理员统一管理所有已发布的通知,其它用户只能对自己发布的通知进行管理。可以查看通知签到情况和反馈情况。
管理会议材料
管理员统一管理所有会议材料,其它用户只能对自己发布的会议通知管理相应的会议材料。可发布会议资料会议、修改、删除会议资料。
管理公告
管理员统一管理所有公告,其它用户只能对自己发布的公告进行管理。可修改、删除公告材料。
数据库管理
本软件具有数据库压缩整理、备份和恢复功能。
数据备份、恢复和压缩
数据库要以定期压缩,以提高速度。恢复数据库时,注意当时备份的日期,否则一经恢复,备份日期后的数据将会丢失。
公文模板库
平台预先设置公文模板库,起草公文的时候可以直接从公文模板库中选择相关的模板,公文模板库分为法定公文和事务性公文两大类,公文模板库除了有既定可选的模板外,还提供对该公文模板的添加、更新功能,可以根据政策的变化调整公文模板库中的公文模板,方便地进行扩充,使其能够适应灵活的变化。
由系统管理员对系统中所涉及到的公文模板进行维护、更新,提供各交换单位可以下载的公文模版。