函数发生器的如何设计

函数发生器的如何设计,第1张

设计一个函数发生器使得能够产生方波、三角波、正弦波。 频率范围 10Hz~100Hz,100Hz~1000Hz,1kHz~10kHz

频率控制方式 通过改变RC时间常数手控信号频率

通过改变控制电压Uc实现压控频率VCF

输出电压 正弦波Upp≈3 V 幅度连续可调;

三角波Upp≈5 V 幅度连续可调;

方波Upp≈14 V 幅度连续可调

波形特性 方波上升时间小于2s;

三角波非线性失真小于1%;

正弦波谐波失真小于3%。 (1) 根据技术指标要求及实验室条件自选方案设计出原理电路图,分析工作原理,计算元件参数。

(2) 列出所有元、器件清单报实验室备件。

(3) 安装调试所设计的电路,使之达到设计要求。

(4) 记录实验结果。

1、函数发生器的组成

函数发生器一般是指能自动产生正弦波、方波、三角波的电压波形的电路或者仪器。电路形式可以采用由运放及分离元件构成;也可以采用单片集成函数发生器。根据用途不同,有产生三种或多种波形的函数发生器,本课题介绍方波、三角波、正弦波函数发生器的方法。 (一)方案一:三角波变换成正弦波

由运算放大器单路及分立元件构成,方波——三角波——正弦波函数发生器电路组成如图1所示,由于技术难点在三角波到正弦波的变换,故以下将详细介绍三角波到正弦波的变换。

1。利用差分放大电路实现三角波——正弦波的变换

波形变换的原理是利用差分放大器的传输特性曲线的非线性,波形变换过程如图2所示。由图可以看出,传输特性曲线越对称,线性区域越窄越好;三角波的幅度Uim应正好使晶体接近饱和区域或者截至区域。方案一:用差分放大电路实现三角波到正弦波以及集成运放组成的电路实现函数发生器

2。 用二极管折线近似电路实现三角波——正弦波的变换

二极管折线近似电路 图3

根据二极管折线近似电路实现三角波——正弦波的变换的原理图,可得其输入、输出特性曲线如入3所示。

频率调节部分设计时,可先按三个频率段给定三个电容值:1000pF、001Μf、01μF然后再计算R的大小。手控与压控部分线路要求更换方便。为满足对方波前后沿时间的要求,以及正弦波最高工作频率(10kHz)的要求,在积分器、比较器、正弦波转换器和输出级中应选用Sr值较大的运放(如LF353)。为保证正弦波有较小的失真度,应正确计算二极管网络的电阻参数,并注意调节输出三角波的幅度和对称度。输入波形中不能含有直流成分。

(二)方案二:用二极管折线近似电路以及集成运放组成的电路实现函数发生器

图是由μA741和5G8038组成的精密压控震荡器,当8脚与一连续可调的直流电压相连时,输出频率亦连续可调。当此电压为最小值(近似为0)时。输出频率最低,当电压为最大值时,输出频率最高;5G8038控制电压有效作用范围是0—3V。由于5G8038本身的线性度仅在扫描频率范围10:1时为02%,更大范围(如1000:1)时线性度随之变坏,所以控制电压经μA741后再送入5G8038的8脚,这样会有效地改善压控线性度(优于1%)。若4、5脚的外接电阻相等且为R,此时输出频率可由下式决定:

f=03/RC4

设函数发生器最高工作频率为2kHz,定时电容C4可由上式求得。

电路中RP3是用来调整高频端波形的对称性,而RP2是用来调整低频端波形的对称性,调整RP3和RP2可以改善正弦波的失真。稳压管VDz是为了避免8脚上的负压过大而使5G8038工作失常设置的。

(三)方案三:用单片集成函数发生器5G8038

可行性分析:

上面三种方案中,方案一与方案二中三角波——正弦波部分原理虽然不一样,但是他们有共通的地方就是都要人为地搭建波形变换的电路图。而方案三采用集成芯片使得电路大大简化,但是由于实验室条件和成本的限制,我们首先抛弃的是第三种方案,因为它是牺牲了成本来换取的方便。其次是对方案一与方案二的比较,方案一中用的是电容和电阻运放和三极管等电器原件,方案二是用的二极管、电阻、三极管、运放等电器原件,所以从简单而且便于购买的前提出发我们选择方案一为我们最终的设计方案。

为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

1对称加密算法

OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。

2非对称加密算法

OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。

3信息摘要算法

OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法,此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。

4密钥和证书管理

密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。

首先,OpenSSL实现了ASN1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE64的编解码功能。OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#12和PKCS#8的编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。

在此基础上,OpenSSL实现了对证书的X509标准编解码、PKCS#12格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。

事实上,OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。

5SSL和TLS协议

OpenSSL实现了SSL协议的SSLv2和SSLv3,支持了其中绝大部分算法协议。OpenSSL也实现了TLSv10,TLS是SSLv3的标准化版,虽然区别不大,但毕竟有很多细节不尽相同。

虽然已经有众多的软件实现了OpenSSL的功能,但是OpenSSL里面实现的SSL协议能够让我们对SSL协议有一个更加清楚的认识,因为至少存在两点:一是OpenSSL实现的SSL协议是开放源代码的,我们可以追究SSL协议实现的每一个细节;二是OpenSSL实现的SSL协议是纯粹的SSL协议,没有跟其它协议(如HTTP)协议结合在一起,澄清了SSL协议的本来面目。

6应用程序

OpenSSL的应用程序已经成为了OpenSSL重要的一个组成部分,其重要性恐怕是OpenSSL的开发者开始没有想到的。现在OpenSSL的应用中,很多都是基于OpenSSL的应用程序而不是其API的,如OpenCA,就是完全使用OpenSSL的应用程序实现的。OpenSSL的应用程序是基于OpenSSL的密码算法库和SSL协议库写成的,所以也是一些非常好的OpenSSL的API使用范例,读懂所有这些范例,你对OpenSSL的API使用了解就比较全面了,当然,这也是一项锻炼你的意志力的工作。

OpenSSL的应用程序提供了相对全面的功能,在相当多的人看来,OpenSSL已经为自己做好了一切,不需要再做更多的开发工作了,所以,他们也把这些应用程序成为OpenSSL的指令。OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。

7Engine机制 Engine机制的出现是在OpenSSL的096版的事情,开始的时候是将普通版本跟支持Engine的版本分开的,到了OpenSSL的097版,Engine机制集成到了OpenSSL的内核中,成为了OpenSSL不可缺少的一部分。 Engine机制目的是为了使OpenSSL能够透明地使用第三方提供的软件加密库或者硬件加密设备进行加密。OpenSSL的Engine机制成功地达到了这个目的,这使得OpenSSL已经不仅仅使一个加密库,而是提供了一个通用地加密接口,能够与绝大部分加密库或者加密设备协调工作。当然,要使特定加密库或加密设备更OpenSSL协调工作,需要写少量的接口代码,但是这样的工作量并不大,虽然还是需要一点密码学的知识。Engine机制的功能跟Windows提供的CSP功能目标是基本相同的。目前,OpenSSL的097版本支持的内嵌第三方加密设备有8种,包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、SureWare以及IBM 4758 CCA的硬件加密设备。现在还出现了支持PKCS#11接口的Engine接口,支持微软CryptoAPI的接口也有人进行开发。当然,所有上述Engine接口支持不一定很全面,比如,可能支持其中一两种公开密钥算法。

8辅助功能

BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多。

OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。

OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。

你好my90738je,随机密钥加密算法:RC4

位密码算法:DES 三重DES(Triple-DES)仍然是很安全的,但是也只是在别无他法的情况下的一个较好的选择。显然高级加密标准(AES)是一个更好的加密算法,NIST用AES代替Triple-DES作为他们的标准(下面有更详细的讨论)。其他较好的算法包括另外两个AES的变种算法Twofish和Serpent-也称为CAST-128,它是效率和安全的完美结合。这几个算法不仅比DES更安全,而且也比DES的速度更快。为什么要使用一些又慢又不安全的算法呢?SHA1是一个哈希函数,而不是一个加密函数。作为一个哈希函数,SHA1还是相当优秀的,但是还需要几年的发展才能用作加密算法。如果你正在设计一个新系统,那么谨记你可能会在若干年后用SHA1代替目前的算法。我再重复一遍:只是可能。呵呵,希望能帮到你!谢谢望采纳哦!

位密码算法:DES 三重DES(Triple-DES)仍然是很安全的,但是也只是在别无他法的情况下的一个较好的选择。显然高级加密标准(AES)是一个更好的加密算法,NIST用AES代替Triple-DES作为他们的标准(下面有更详细的讨论)。其他较好的算法包括另外两个AES的变种算法Twofish和Serpent-也称为CAST-128,它是效率和安全的完美结合。这几个算法不仅比DES更安全,而且也比DES的速度更快。为什么要使用一些又慢又不安全的算法呢?SHA1是一个哈希函数,而不是一个加密函数。作为一个哈希函数,SHA1还是相当优秀的,但是还需要几年的发展才能用作加密算法。如果你正在设计一个新系统,那么谨记你可能会在若干年后用SHA1代替目前的算法。我再重复一遍:只是可能。呵呵,希望能帮到你!谢谢望采纳哦!

SSL版本中所用到的加密算法包括:RC4、RC2、IDEA和DES,

而加密算法所用的密钥由 消息散列函数MD5产生。

RC4、RC2是由RSA定义的,其中RC2适用于块加密,RC4适用于流 加密。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12183151.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存