数据采集是信号与信息系统中一个重要的组成部分,也是数字信号处理的关键环节。本论文主要介绍一种基于FPGA的数据采集系统,提出一种由高速A/D转换芯片、高性能FPGA和PCI总线接口组成的数据采集系统方案及其的硬件电路实现方法。该系统利用AD器件对信号进行放大、差分转换和模数转换,利用FPGA设计内部模块和时钟信号来进行电路控制及实现数据缓存、数据传递等功能,最后通过PCI逻辑接口把暂存在FPGA的数据传送到PC主机。FPGA作为采集系统的核心部件,完成了内部数字电路设计,使系统具有很高的可适应性、可扩展性和可调试性。 本论文从研究数据采集的理论出发,重点研究了A/D模数转换、FPGA芯片设计及PCI总结接口设计,完成了系统的各级电路硬件设计,并通过系统仿真验证了系统的可行性。
上传时间: 2013-04-24
上传用户:小杨高1
在过去的十几年间,FPGA取得了惊人的发展:集成度已达到1000万等效门、速度可达到400~500MHz。随着FPGA的集成度不断增大,在高密度FPGA中,芯片上时钟的分布质量就变得越来越重要。时钟延时和时钟相位偏移已成为影响系统性能的重要因素。现在,解决时钟延时问题主要使用时钟延时补偿电路。 为了消除FPGA芯片内的时钟延时,减小时钟偏差,本文设计了内置于FPGA芯片中的延迟锁相环,采用一种全数字的电路结构,将传统DLL中的用模拟方式实现的环路滤波器和压控延迟链改进为数字方式实现的时钟延迟测量电路,和延时补偿调整电路,配合特定的控制逻辑电路,完成时钟延时补偿。在输入时钟频率不变的情况下,只需一次调节过程即可完成输入输出时钟的同步,锁定时间较短,噪声不会积累,抗干扰性好。 在Smic0.18um工艺下,设计出的时钟延时补偿电路工作频率范围从25MHz到300MHz,最大抖动时间为35ps,锁定时间为13个输入时钟周期。另外,完成了时钟相移电路的设计,实现可编程相移,为用户提供与输入时钟同频的相位差为90度,180度,270度的相移时钟;时钟占空比调节电路的设计,实现可编程占空比,可以提供占空比为50/50的时钟信号;时钟分频电路的设计,实现频率分频,提供1.5,2,2.5,3,4,5,8,16分频时钟。
上传时间: 2013-07-06
上传用户:LouieWu
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
由LPC1114芯片数据手册可得:芯片内部IRC精度±1%,作为主时钟可满足串口波特率对时钟精度的要求,而看门狗振荡器精度为±25%,误差较大不能满足串口对于时钟精度的要求。但是看门狗振荡器的功耗比内部RC振荡器的功耗低。因此设定以下2种测试方案:测试方法1:LPC1114进行A/D转换时使用看门狗振荡器作为主时钟源,时钟频率为1MHz,串口通信时将主时钟源切换到内部RC振荡器输出,时钟频率为1MHz,完成串口通信后时钟再次切换到看门狗振荡器输出,如此循环执行;
上传时间: 2013-11-13
上传用户:潜水的三贡
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
上传时间: 2015-01-08
上传用户:lifangyuan12
RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了..... 再来, 计算 n = pq....... m, n 这两个数便是 public_key ,编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a < n.... 如果 a >= n 的话, 就将 a 表成 s 进位 (s
标签: person_key RSA 算法
上传时间: 2013-12-14
上传用户:zhuyibin
数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no
上传时间: 2015-05-21
上传用户:daguda