本文设计了一种基于ARM7的电力电缆沟道监测系统,该监测系统能够对电缆沟道起到防盗、防火、防潮等安全监测作用。本课题采用的嵌入式硬件是基于ARM7架构的LPC2292芯片;同时针对市场上种类繁多的实时操作系统,本课题选用的是内核小,易剪裁,移植性好源代码公开的实时操作系统μC/OS-II并且使用CAN总线进行数据传输。CAN总线是现场总线的一种,它能有效地支持分布式控制或实时控制,具有高性能和高可靠性的特点,现已形成国际标准。 本课题简要介绍了电力电缆沟道监测系统的特点与研究背景,讲述了设计电缆沟道监测系统时所采取的总体设计思想与框架结构。之后介绍了ARM7处理器和CAN总线的特点和功能,然后详细论述了整个系统硬件电路设计。在对实时操作系统μC/OS-II作了介绍之后,详细说明了将μC/OS-II移植到LPC2292硬件平台的具体实现过程。最后提出了基于CAN总线和ARM7微控制器实现的电缆沟道数据采集控制系统的软件设计。 实际测试表明,该系统能够稳定运行,并且能够实现对电缆沟道的实时监测,数据采集以及安全警报等功能,满足电力电缆在线监测系统的要求。
上传时间: 2013-07-20
上传用户:xoxoliguozhi
目前,嵌入式系统在工业控制和智能家电等众多领域得到了广泛的应用。但同时大量的嵌入式应用也对嵌入式设备的性能和功能提出了更高的要求。随着国内嵌入式应用领域的发展,ARM芯片以其高性能、低功耗、低成本的优势获得了广泛的重视和应用。嵌入式Linux是在标准Linux基础上,经过适当地简化(裁剪),然后加入一些特定的功能,形成的一个精巧的、高效的、满足特定应用需求地专用(定制)操作系统,它具有用户可裁剪、可配置的特点。在各种嵌入式操作系统中,嵌入式Linux凭借其内核结构优良、功能强大、高性能、稳定性好以及源代码开放等方面的优势,成为了嵌入式系统领域应用中的技术热点。本论文设计了以嵌入式微处理器和嵌入式操作系统为核心的系统,并在这个平台上实现了应用软件,构建了一个嵌入式的数据采集和发布系统,可以对设备数据进行串口采集,并利用因特网进行发布和控制操作。 为了实现这些功能,本文选用了Cirrus Logic公司的EP9302(ARM920T)作为系统的核心,以源代码开放的经过裁剪配置的嵌入式Linux为软件平台,设计了应用软件的设备数据采集、数据分析、数据交换网关模块,实现了网页服务器GoAhead移植,并完成了GoAhead服务器支持的自己的ASP页面以及后台函数的编写,并在此基础上研究了系统为保证可靠性而采取的一些措施。在整个系统的设计过程中充分发挥了嵌入式Linux的可移植性好、源代码公开、开发成本低的优点,解决了软件移植和设计编写、提高系统可靠性等的一系列关键性问题。 本嵌入式系统采集平台的用途是实时采集被监控设备的当前运行状况信息,使用户能够远程通过网页浏览器及时掌握被监控设备的运行状况,在必要时刻根据需要能够对设备进行相关控制操作和设置相关运行参数,以便能够控制被监控设备的运行方式。本论文设计的嵌入式数据采集、发布系统可以在类似远程数据控制的系统中得到广泛应用。
上传时间: 2013-05-27
上传用户:kgylah
随着信息技术和电子技术的进步和日益成熟,计算机数据采集技术得到了广泛应用。由于ISA数据采集卡的固有缺陷,PCI接口的数据采集卡将逐渐取代ISA数据采集卡,成为数据采集的主流。为了简化PCI数据采集卡结构,提高数据采集可靠性,本文研究并开发了一种基于FPGA的PCI结构的数据采集卡系统。 论文对PCI对目标设备数据采集卡实现的原理和方法进行了深入研究,设计了基于FPGA的PCI数据采集卡的硬件电路,通过在FPGA中嵌入了PCI目标设备的IP核与用户逻辑部分,构成了SOPC系统。使用Verilog硬件描述语言设计并实现了FPGA内部采集数据管理、数据管理寄存器和FIFO数据缓冲队列等模块电路。利用ModelSim对PCI系统进行了仿真。完成了系统硬件电路PCB板的设计,最终制作了PCI数据采集卡。 论文针对PCI结构的数据采集卡系统软件需求,研究了WDM设备驱动软件、Windows环境的简易虚拟示波器以及简易虚拟逻辑仪实现原理和方法。利用DriverStudio+Windows DDK for XP+VC6的软件平台,开发了WDM设备驱动程序。实现了Windows环境的简易虚拟示波器,和简易虚拟逻辑仪。系统测试结果表明该系统设计正确,系统运行稳定,功能和指标达到了设计要求。
上传时间: 2013-07-22
上传用户:z754970244
随着信息量的急剧增长,信息安全日益受到人们重视。移动硬盘的出现使得数据的转移和携带更加方便,但也不可避免的带来了数据安全隐患。只要窃走了移动硬盘,任何想窃取硬盘信息的人便可以轻松得逞,即使设置了类似访问口令这样的逻辑密钥,要想破解也不是件难事。 一个完整的数据加解密系统应该具备安全可靠的密码认证机制和数据加解密算法。本文基于MEMS强链、USB控制器和FPGA设计了一种USB接口的高效数据加解密系统,采用物理认证并用硬件实现AES加密算法。普通IDE硬盘挂接该系统后成为安全性极高的加密USB移动硬盘,其平均数据吞吐率接近普通U盘,达到10MB/s。
上传时间: 2013-06-16
上传用户:1159797854
摘要: 介绍了时钟分相技术并讨论了时钟分相技术在高速数字电路设计中的作用。 关键词: 时钟分相技术; 应用 中图分类号: TN 79 文献标识码:A 文章编号: 025820934 (2000) 0620437203 时钟是高速数字电路设计的关键技术之一, 系统时钟的性能好坏, 直接影响了整个电路的 性能。尤其现代电子系统对性能的越来越高的要求, 迫使我们集中更多的注意力在更高频率、 更高精度的时钟设计上面。但随着系统时钟频率的升高。我们的系统设计将面临一系列的问 题。 1) 时钟的快速电平切换将给电路带来的串扰(Crosstalk) 和其他的噪声。 2) 高速的时钟对电路板的设计提出了更高的要求: 我们应引入传输线(T ransm ission L ine) 模型, 并在信号的匹配上有更多的考虑。 3) 在系统时钟高于100MHz 的情况下, 应使用高速芯片来达到所需的速度, 如ECL 芯 片, 但这种芯片一般功耗很大, 再加上匹配电阻增加的功耗, 使整个系统所需要的电流增大, 发 热量增多, 对系统的稳定性和集成度有不利的影响。 4) 高频时钟相应的电磁辐射(EM I) 比较严重。 所以在高速数字系统设计中对高频时钟信号的处理应格外慎重, 尽量减少电路中高频信 号的成分, 这里介绍一种很好的解决方法, 即利用时钟分相技术, 以低频的时钟实现高频的处 理。 1 时钟分相技术 我们知道, 时钟信号的一个周期按相位来分, 可以分为360°。所谓时钟分相技术, 就是把 时钟周期的多个相位都加以利用, 以达到更高的时间分辨。在通常的设计中, 我们只用到时钟 的上升沿(0 相位) , 如果把时钟的下降沿(180°相位) 也加以利用, 系统的时间分辨能力就可以 提高一倍(如图1a 所示)。同理, 将时钟分为4 个相位(0°、90°、180°和270°) , 系统的时间分辨就 可以提高为原来的4 倍(如图1b 所示)。 以前也有人尝试过用专门的延迟线或逻辑门延时来达到时钟分相的目的。用这种方法产生的相位差不够准确, 而且引起的时间偏移(Skew ) 和抖动 (J itters) 比较大, 无法实现高精度的时间分辨。 近年来半导体技术的发展, 使高质量的分相功能在一 片芯片内实现成为可能, 如AMCC 公司的S4405, CY2 PRESS 公司的CY9901 和CY9911, 都是性能优异的时钟 芯片。这些芯片的出现, 大大促进了时钟分相技术在实际电 路中的应用。我们在这方面作了一些尝试性的工作: 要获得 良好的时间性能, 必须确保分相时钟的Skew 和J itters 都 比较小。因此在我们的设计中, 通常用一个低频、高精度的 晶体作为时钟源, 将这个低频时钟通过一个锁相环(PLL ) , 获得一个较高频率的、比较纯净的时钟, 对这个时钟进行分相, 就可获得高稳定、低抖动的分 相时钟。 这部分电路在实际运用中获得了很好的效果。下面以应用的实例加以说明。2 应用实例 2. 1 应用在接入网中 在通讯系统中, 由于要减少传输 上的硬件开销, 一般以串行模式传输 图3 时钟分为4 个相位 数据, 与其同步的时钟信号并不传输。 但本地接收到数据时, 为了准确地获取 数据, 必须得到数据时钟, 即要获取与数 据同步的时钟信号。在接入网中, 数据传 输的结构如图2 所示。 数据以68MBös 的速率传输, 即每 个bit 占有14. 7ns 的宽度, 在每个数据 帧的开头有一个用于同步检测的头部信息。我们要找到与它同步性好的时钟信号, 一般时间 分辨应该达到1ö4 的时钟周期。即14. 7ö 4≈ 3. 7ns, 这就是说, 系统时钟频率应在300MHz 以 上, 在这种频率下, 我们必须使用ECL inp s 芯片(ECL inp s 是ECL 芯片系列中速度最快的, 其 典型门延迟为340p s) , 如前所述, 这样对整个系统设计带来很多的困扰。 我们在这里使用锁相环和时钟分相技术, 将一个16MHz 晶振作为时钟源, 经过锁相环 89429 升频得到68MHz 的时钟, 再经过分相芯片AMCCS4405 分成4 个相位, 如图3 所示。 我们只要从4 个相位的68MHz 时钟中选择出与数据同步性最好的一个。选择的依据是: 在每个数据帧的头部(HEAD) 都有一个8bit 的KWD (KeyWord) (如图1 所示) , 我们分别用 这4 个相位的时钟去锁存数据, 如果经某个时钟锁存后的数据在这个指定位置最先检测出这 个KWD, 就认为下一相位的时钟与数据的同步性最好(相关)。 根据这个判别原理, 我们设计了图4 所示的时钟分相选择电路。 在板上通过锁相环89429 和分相芯片S4405 获得我们所要的68MHz 4 相时钟: 用这4 个 时钟分别将输入数据进行移位, 将移位的数据与KWD 作比较, 若至少有7bit 符合, 则认为检 出了KWD。将4 路相关器的结果经过优先判选控制逻辑, 即可输出同步性最好的时钟。这里, 我们运用AMCC 公司生产的 S4405 芯片, 对68MHz 的时钟进行了4 分 相, 成功地实现了同步时钟的获取, 这部分 电路目前已实际地应用在某通讯系统的接 入网中。 2. 2 高速数据采集系统中的应用 高速、高精度的模拟- 数字变换 (ADC) 一直是高速数据采集系统的关键部 分。高速的ADC 价格昂贵, 而且系统设计 难度很高。以前就有人考虑使用多个低速 图5 分相技术应用于采集系统 ADC 和时钟分相, 用以替代高速的ADC, 但由 于时钟分相电路产生的相位不准确, 时钟的 J itters 和Skew 比较大(如前述) , 容易产生较 大的孔径晃动(Aperture J itters) , 无法达到很 好的时间分辨。 现在使用时钟分相芯片, 我们可以把分相 技术应用在高速数据采集系统中: 以4 分相后 图6 分相技术提高系统的数据采集率 的80MHz 采样时钟分别作为ADC 的 转换时钟, 对模拟信号进行采样, 如图5 所示。 在每一采集通道中, 输入信号经过 缓冲、调理, 送入ADC 进行模数转换, 采集到的数据写入存储器(M EM )。各个 采集通道采集的是同一信号, 不过采样 点依次相差90°相位。通过存储器中的数 据重组, 可以使系统时钟为80MHz 的采 集系统达到320MHz 数据采集率(如图6 所示)。 3 总结 灵活地运用时钟分相技术, 可以有效地用低频时钟实现相当于高频时钟的时间性能, 并 避免了高速数字电路设计中一些问题, 降低了系统设计的难度。
上传时间: 2013-12-17
上传用户:xg262122
针对目前温度测试系统缺乏实时性的特点,为了解决测温系统的实时性储存数据的目的,采用单片机进行系统的整体控制,利用实时芯片DS1302构成时钟系统,单总线温度采集芯片获取温度数据。该系统可以对温度报警上下线和记录数据的时间点进行调整。通过具体硬件电路的设计,软件程序的编写,以及实际电路的测试试验,得出该系统能够在设定的温度警戒线和时间点进行报警提示,并能稳定的记录所需特殊时刻的有关数据,到达了预期的效果,有一定的实际应用价值。
上传时间: 2013-11-01
上传用户:ca05991270
摘要:现场总线已成为数据总线领域中最为活跃的热点,CAN 总线被公认为最有前途的现场总线之一,CAN 总线节点的设计、调试是CAN 总线通讯系统设计的重点。在此介绍了C8051F040单片机内部集成的CAN 控制器,并基于C8051F040单片机设计了一个CAN通信节点,并给出了CAN 节点测试模式软件设计程序,可以用于CAN 总线模块的测试,节省测试时间。
上传时间: 2013-11-12
上传用户:蠢蠢66
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
本文介绍一种采用智能数字温度传感器DS18B20进行温度采集,并通过单片机与PC机完成数据处理的系统。 硬件电路由四部分组成:温度数据采集部分,即时温度显示驱动部分,温度数据存储部分和上位PC机数据处理部分。整个硬件设计原理图如图1所示。
上传时间: 2013-10-28
上传用户:wettetw
PC机之间串口通信的实现一、实验目的 1.熟悉微机接口实验装置的结构和使用方法。 2.掌握通信接口芯片8251和8250的功能和使用方法。 3.学会串行通信程序的编制方法。 二、实验内容与要求 1.基本要求主机接收开关量输入的数据(二进制或十六进制),从键盘上按“传输”键(可自行定义),就将该数据通过8251A传输出去。终端接收后在显示器上显示数据。具体操作说明如下:(1)出现提示信息“start with R in the board!”,通过调整乒乓开关的状态,设置8位数据;(2)在小键盘上按“R”键,系统将此时乒乓开关的状态读入计算机I中,并显示出来,同时显示经串行通讯后,计算机II接收到的数据;(3)完成后,系统提示“do you want to send another data? Y/N”,根据用户需要,在键盘按下“Y”键,则重复步骤(1),进行另一数据的通讯;在键盘按除“Y”键外的任意键,将退出本程序。2.提高要求 能够进行出错处理,例如采用奇偶校验,出错重传或者采用接收方回传和发送方确认来保证发送和接收正确。 三、设计报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法) 四、8251A通用串行输入/输出接口芯片由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。能够完成上述“串←→并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251。8251A异步工作方式:如果8251A编程为异步方式,在需要发送字符时,必须首先设置TXEN和CTS#为有效状态,TXEN(Transmitter Enable)是允许发送信号,是命令寄存器中的一位;CTS#(Clear To Send)是由外设发来的对CPU请求发送信号的响应信号。然后就开始发送过程。在发送时,每当CPU送往发送缓冲器一个字符,发送器自动为这个字符加上1个起始位,并且按照编程要求加上奇/偶校验位以及1个、1.5个或者2个停止位。串行数据以起始位开始,接着是最低有效数据位,最高有效位的后面是奇/偶校验位,然后是停止位。按位发送的数据是以发送时钟TXC的下降沿同步的,也就是说这些数据总是在发送时钟TXC的下降沿从8251A发出。数据传输的波特率取决于编程时指定的波特率因子,为发送器时钟频率的1、1/16或1/64。当波特率指定为16时,数据传输的波特率就是发送器时钟频率的1/16。CPU通过数据总线将数据送到8251A的数据输出缓冲寄存器以后,再传输到发送缓冲器,经移位寄存器移位,将并行数据变为串行数据,从TxD端送往外部设备。在8251A接收字符时,命令寄存器的接收允许位RxE(Receiver Enable)必须为1。8251A通过检测RxD引脚上的低电平来准备接收字符,在没有字符传送时RxD端为高电平。8251A不断地检测RxD引脚,从RxD端上检测到低电平以后,便认为是串行数据的起始位,并且启动接收控制电路中的一个计数器来进行计数,计数器的频率等于接收器时钟频率。计数器是作为接收器采样定时,当计数到相当于半个数位的传输时间时再次对RxD端进行采样,如果仍为低电平,则确认该数位是一个有效的起始位。若传输一个字符需要16个时钟,那么就是要在计数8个时钟后采样到低电平。之后,8251A每隔一个数位的传输时间对RxD端采样一次,依次确定串行数据位的值。串行数据位顺序进入接收移位寄存器,通过校验并除去停止位,变成并行数据以后通过内部数据总线送入接收缓冲器,此时发出有效状态的RxRDY信号通知CPU,通知CPU8251A已经收到一个有效的数据。一个字符对应的数据可以是5~8位。如果一个字符对应的数据不到8位,8251A会在移位转换成并行数据的时候,自动把他们的高位补成0。 五、系统总体设计方案根据系统设计的要求,对系统设计的总体方案进行论证分析如下:1.获取8位开关量可使用实验台上的8255A可编程并行接口芯片,因为只要获取8位数据量,只需使用基本输入和8位数据线,所以将8255A工作在方式0,PA0-PA7接实验台上的8位开关量。2.当使用串口进行数据传送时,虽然同步通信速度远远高于异步通信,可达500kbit/s,但由于其需要有一个时钟来实现发送端和接收端之间的同步,硬件电路复杂,通常计算机之间的通信只采用异步通信。3.由于8251A本身没有时钟,需要外部提供,所以本设计中使用实验台上的8253芯片的计数器2来实现。4:显示和键盘输入均使用DOS功能调用来实现。设计思路框图,如下图所示: 六、硬件设计硬件电路主要分为8位开关量数据获取电路,串行通信数据发送电路,串行通信数据接收电路三个部分。1.8位开关量数据获取电路该电路主要是利用8255并行接口读取8位乒乓开关的数据。此次设计在获取8位开关数据量时采用8255令其工作在方式0,A口输入8位数据,CS#接实验台上CS1口,对应端口为280H-283H,PA0-PA7接8个开关。2.串行通信电路串行通信电路本设计中8253主要为8251充当频率发生器,接线如下图所示。
上传时间: 2013-12-19
上传用户:小火车啦啦啦