测控技术与仪器 毕业论文范文——基于C8051F020的数据采集系统的设计_第1页
测控技术与仪器 毕业论文范文——基于C8051F020的数据采集系统的设计_第2页
测控技术与仪器 毕业论文范文——基于C8051F020的数据采集系统的设计_第3页
测控技术与仪器 毕业论文范文——基于C8051F020的数据采集系统的设计_第4页
测控技术与仪器 毕业论文范文——基于C8051F020的数据采集系统的设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 C8051F020 的数据采集系统的设计的数据采集系统的设计 摘要摘要 数据采集是计算机在工业生产、自动控制中得以广泛应用的基础。本文介绍 了一种可以采集电压量和电荷量的基于 C8051F020 的数据采集系统。该数据采集 器充分利用 C8051F020 强大的内部功能和丰富的片内资源,只需添加简单的信号 调理电路就可实现数据的采集。该系统可根据用户需要配置相应的传感器,适用 于不同采集对象的数据采集场合。本设计的主要工作流程是:传感器采集到的信 号经过放大器放大并经过滤波器滤波后,送至 C8051F020 片内集成的 ADC 实现 模数转换。转换后的数据先放到采集器的存储器中暂存,然后通过串行通信接口 传送到 PC 机上进行进一步处理。 关键词关键词:数据采集,ADC,C8051F020 The Development of a SoC Universal Data Gathering System Base on C8051F020 Abstract Data gathering is the base of the wider use of computer in industrial production and automatic control of the foundation. A data gathering system which can gather voltage volume or charge volume base on C8051F020 is given in this paper. The data collector take full advantage of the internal functions of C8051F020 powerful and rich on-chip resources and simply adding a simple signal conditioning circuit can achieve the data collection. The system can apply to different data gather occasions according to usersdemandThe main task of this design process is: sensor acquisition to enlarge the signal amplifier and a filter,sent to the C8051F020-chip integrated ADC to achieve analog-digital conversion. After converting the data collected for the first put in temporary memory,then sent to the serial communication interface on PC for further processing. Key words:Data gathering system,ADC,C8051F020 第 I 页 共 II 页 目录目录 1 引言1 1.1 数据采集技术的发展1 1.2 数据采集系统的应用1 1.3 现代数据采集系统的特点2 2 数据采集器的系统结构3 3 数据采集器的硬件设计4 3.1 信号调理电路的设计4 3.1.1 放大电路4 3.1.2 滤波电路6 3.2 C8051F020 单片机的应用7 3.2.1 C8051F020 的介绍7 3.2.2 ADC0 的应用7 3.2.3 晶体振荡器的设置10 3.3 扩展外部数据存储器11 3.3.1 存储器的选择11 3.3.2 配置外部存储器接口12 3.3.3 非复用方式配置13 3.4 串口连接电路的设计14 3.5 本设计采用的抗干扰措施14 3.5.1 增加系统的抗干扰能力的措施14 3.5.2 采用的其他降低噪声与电磁干扰的措施15 3.6 系统硬件的整体介绍16 4 数据采集器的软件设计17 4.1 选择编程语言17 4.1.1 汇编语言17 4.1.2 单片机 C 语言 17 4.1.3 结论18 4.2 单片机控制程序18 第 II 页 共 II 页 4.2.1 程序流程图18 4.2.2 各程序模块的介绍20 4.2.3 程序的整体思路介绍23 5 结束语24 附录 A 硬件连接图25 附录 B PCB 图27 附录 C 单片机控制程序 28 参考文献34 致 谢35 第 1 页 共 35 页 1 引言引言 数据采集是计算机在工业生产、自动控制中得以广泛应用的基础。它对不同 的测量量进行采集,采集到的模拟信号经 ADC 转换为数字信号后,再将其存储到 采集器的存储器中,然后传送到上位机进行处理。因此,数据采集性能的好坏直 接影响到计算机控制系统的控制质量。本文介绍一种采用 C8051F020 单片机构成 数据采集器的方法。 1.1 数据采集技术的发展数据采集技术的发展 数据采集技术是信息科学的一个重要分支,它研究信息数据的采集、存储、 处理以及控制等作业。在智能仪器、信号处理以及工业自动控制等领域,都存在 着数据的测量与控制问题。将外部世界存在的加速度、压力、流量、位移以及角 度等模拟量转换为数字信号,再收集到计算机并进一步予以显示、处理、传输与 记录这一过程,即称为“数据采集”。相应的系统即为数据采集系统。 数据采集技术已在雷达、通信、水声、遥感、地质勘探、振动工程、无损检 测、语音处理、智能仪器、工业自动控制以及生物医学工程等领域有着广泛的应 用。 应该强调指出的是:科学技术的发展,已在速度、分辨率、精度、接口能力、 软件设计以及抗干扰能力等方面向现代数据采集技术提出了越来越高的要求。可 以预言:随着超大规模集成电路技术与计算机科学技术的发展,数据采集技术的 应用领域将更为广阔。1 1.2 数据采集系统的应用数据采集系统的应用 在国外,数据采集技术已在军事、航空电子设备及宇航技术方面被广泛地采 用。特别是在七十年代的后期,出现了高性能、高可靠性的单片数采系统(DAS) 。 1983 年美国已设计生产了对军事/航空方面应用的完整的 12 位单片数采系统,体 积非常小,这是与计算机完全兼容的数采系统。 在国内,虽然起步较晚,但现在数据采集系统已发展到开始用小型计算机、 微型机、单板机、单片机等大规模集成电路组成的各种系统,逐渐在军事、科研、 工业等各行业得到广泛应用。2 第 2 页 共 35 页 1.3 现代数据采集系统的特点现代数据采集系统的特点 1、现代数据采集系统一般都内含有计算机系统,这使得数据采集的质量和效 率等大为提高,同时,显著节省了硬件资源。 2、软件在数据采集系统中的作用越来越大,增加了系统设计的灵活性。 3、随着微电子技术的发展、电路集成度的提高,数据采集系统的体积越来越 小,可靠性越来越高。在超深亚纳米工艺技术支持下,实现了在一块硅芯片上集 成不同功能模块,使其成为系统级的集成芯片。将各种功能模块集成于一块芯片 上的完整系统,叫做片上系统(system on chip)也就是 SOC 芯片。 4、速度快,数据采集过程一般都希望有“实时”特性,对于通用数据采集系统 一般希望有尽可能高的速度,以满足更多的应用环境。 5、采用先进的模块式的结构,根据不同的应用要求,通过简单的增加和更改 模块,就可扩展或修改系统,可以很迅速的组成新的系统。3 第 3 页 共 35 页 2 数据采集器的系统结构数据采集器的系统结构 数据采集器使用 C8051F020 芯片,系统的主体构成简化为一片单片机。通过 连接不同的传感器(限于电荷输出型和电压输出型)来实现对不同信源数据的采 集。由电源控制芯片 MAX894 控制两路传感器的信号调理电路的电源,并联合选 通开关选择一路进行采集。传感器采集到的信号经过放大器放大并经过滤波器滤 波后,送至 C8051F020 片内集成的 ADC 实现模数转换。转换后的数据先放到采 集器的存储器中暂存,然后通过串行通信接口传送到 PC 机上进行处理。 数据采集器的系统结构如图 2.1 所示。 电荷输出 型传感器 电荷放 大器 电压放 大器 滤 波 C8051F020 存储器 计 算 机 滤 波 选 通 开 关 电压输出 型传感器 图 2.1 数据采集器的系统结构 注:选通开关为 C8051F020 单片机片内的。 传感器的作用是把非电的物理量(加速度、角速度、位移等)转换成模拟电 量。放大器用来放大和缓冲输入信号。传感器以及后续处理电路中的器件常会产 生噪声,人为的发射源也可以通过各种耦合渠道使信号通道感染上噪声。为了提 高模拟输入信号的信噪比,常常需要使用滤波器对噪声进行一定的衰减。在数据 采集系统中,往往要对多个物理量进行采集,即所谓多路检测。这可以通过多路 模拟开关来实现这样可以简化设计,降低成本。多路模拟开关可以分时选通来自 多个输入通道中的某一路通道,因此,在多路模拟开关后的单元电路只需一套即 可。C8051F020 是整个数据采集系统的核心。C8051F020 控制整个数据采集系统 的正常工作,并且把 A/D 转换器输出的结果存入外扩存储器中。计算机将 C8051F020 存入存储器中的数据读出,做相应的处理后将所得结果显示在屏幕上 并存入计算机中存储器中,以便进行后续处理。 第 4 页 共 35 页 3 数据采集器的硬件设计数据采集器的硬件设计 3.1 信号调理电路的设计信号调理电路的设计 传感器接口模块包括放大器、滤波器几个部分如图 3.1 所示。其可以充分利 用 C8051F020 芯片内部集成的功能模块(多路开关、PGA、ADC) ,只需要扩展 少量外围部件。C8051F020 芯片中包括 1 个 9 通道的可配置模拟多路开关 AMUX、可编程增益放大器 PGA 和 12 位分辨率的 100kbps 逐次逼近型 ADC,AMUX 中的 8 个通道用于外部测量,第 9 通道在内部被接到片内温度传感 器上,它们都可以使用软件通过特殊功能寄存器来配置。4 电荷输出 型传感 器 电压输出 型传感 器 电荷放 大器 电压放 大器 无源低 通滤波 无源低 通滤波 C8051F020 AIN0.0 AIN0.1 图 3.1 传感器接口模块 3.1.1 放大电路 1、放大器的选择 表 3.1 运放参数的比较 运放参数OPA340LM741RC4558 增益带宽积 GBW/ MHz5.51.53 开环增益 AOL /dB124- 共模抑制比 CMRR/ dB9290100 转换率 SR /V/s60.70.8 单电源供电可否否 供电电压 VS范围/V2.7532218 为了在采集高频的信号时,放大器有较大的放大倍数,需选择高增益带宽积 的运放;为了较好的抑制干扰,需选择有较高的共模抑制比的运放;同时有较大 的转换速率,供电电压不是太高以及可单电源供电时,在经过如图 3.1 所示的比 较后,我选择了 OPA340,它的各项性能都能满足本设计的要求。 2、电荷放大器 第 5 页 共 35 页 因为积分运算电路可以将电荷量转换成电压量,所以可以用积分运算电路作 电荷放大器。由于该电荷放大器的输出为负值,而 C8051F020 只能对 0V 到 2.43V 的电压量进行数模转换,所以本设计在原来的电荷放大器电路上加了一个正向偏 置电路,将放大器的输出值上调为正值以满足单片机的 AD 模拟通道的输入要求。 电容性传感器可等效为因存储电荷而产生的电动势 Vt 与输出电容 Ct 串联,电容 上的电荷量为 q,输出公式推导如下: 图 3.2 电荷放大电路 3、电压放大器 由于许多传感器的输出有负值,为了扩大传感器的选择范围,本设计也在普 通的电压放大器上加了电压偏置电路。将放大器输出的负值上调为正值以满足单 片机的 AD 模拟通道的输入要求。电压放大器的输出公式的推导如下: 第 6 页 共 35 页 图 3.3 电压放大电路 3.1.2 滤波电路 有源滤波自身就是谐波源。其依靠电力电子装置,在检测到系统谐波的同时 产生一组和系统幅值相等,相位相反的谐波向量,这样可以抵消掉系统谐波,使 其成为正弦波形。有源滤波除了滤除谐波外,同时还可以动态补偿无功功率。其 优点是反映动作迅速,滤除谐波可达到 95以上,补偿无功细致。缺点为价格高, 容量小。由于目前国际上大容量硅阀技术还不成熟,所以当前常见的有源滤波容 量不超过 600kvar。其运行可靠性也不及无源。 一般无源滤波指通过电感和电容的匹配对某次谐波并联低阻(调谐滤波)状 态,给某次谐波电流构成一个低阻态通路。这样谐波电流就不会流入系统。无源滤 波的优点为成本低,运行稳定,技术相对成熟,容量大。缺点为谐波滤除率一般 只有 80,对基波的无功补偿也是一定的。 目前在容量大且要求补偿细致的地方一般使用有源加无源混合型,即无源进 行大容量的滤波补偿,有源进行微调。5 基于以上考虑,本设计采用 RC 无源低通滤波器。当信号频率趋于零时,电 容的容抗趋于无穷大,故通带放大倍数为一。当频率升高时,电容的容抗减小, 故通带放大倍数减小,信号迅速衰减。带负载后,通带放大倍数的数值减小,通 带截止频率升高。 0 1 12 1 12 () / / () f f p ii Of nab pab nf pf ii Of ab R VVV RR R VV VR RRR RRRR RRR RR VV VR RR 令 第 7 页 共 35 页 3.2 C8051F020 单片机的应用单片机的应用 3.2.1 C8051F020 的介绍 数据采集器选用 C8051F020 作微控制器。C8051F020 是完全集成的混合信号 系统级 MCU 芯片,具有 64 个数字 I/O 引脚。 C8051F020 主要特性如下: 高速、流水线结构的与 8051 兼容的 CIP-51 内核 (可达 25MIPS); 全速、非侵入式的在系统调试接口 (片内); 真正 12 位 100ksps 的 8 通道 ADC,PGA 和模拟多路开关; 真正 8 位 500ksps 的 ADC,带 PGA 和 8 通道模拟多路开关; 两个 12 位 DAC,具有可编程数据更新方式; 64K 字节可在系统编程的 FLASH 存储器; 4352(4096+256)字节的片内 RAM; 可寻址 64K 字节地址空间的外部数据存储器接口; 硬件实现的 SPI、SMBus/I2C 和两个 UART 串行接口; 5 个通用的 l6 位定时器; 具有 5 个捕捉比较模块的可编程计数器定时器阵列; 片内看门狗定时器、VDD 监视器和温度传感器。 具有片内 VDD 监视器、看门狗定时器和时钟振荡器的 C8051F020 是真正能 独立工作的片上系统(SOC) 。所有模拟和数字外设均可由用户软件使能禁止和 配置。FLASH 存储器还具有在系统重新编程能力,可用于非易失性数据存储,并 允许现场更新 C8051 固件。片内 JTAG 调试电路允许使用安装在最终应用系统上 的产品 MCU 进行非侵入式 (不占用片内资源)、全速、在系统调试。该调试系统 支持观察和修改存储器和寄存器,支持断点、观察点、单步及运行和停机命令。 在使用 JTAG 调试时,所有的模拟和数字外设都可全功能运行。6 3.2.2 ADC0 的应用 C8051F020 的 ADC 子系统包括一个 9 通道的可编程模拟多路选择器 (AMUX0) ,一个可编程增益放大器(PGA0)和一个 100ksps、12 位分辨率的逐 次逼近寄存器型 ADC0,ADC0 中集成了跟踪保持电路和可编程窗口检测器。 第 8 页 共 35 页 AMUX0、PGA0、数据转换方式及窗口检测器都可用软件通过特殊功能寄存器来 控制。只有当 ADC0 控制寄存器中的 AD0EN 位被置1ADC0 子系统(ADC0、 跟踪保持器和 PGA0)才被允许工作。当 AD0EN 位为0时,AD0C 子系统处于低 功耗关断方式。7 1、ADC0 的性能参数如下所示 分辨率 12 位 转换速率 100ksps(可调) 电压转换范围(单端方式) 02.4V SAR 时钟频率 2.5Mhz(最大) 转换占用 SAR 时钟数 16 周期 转换精度 1LSB 2、ADC0 的速率与启动 C8051F 系列单片机中 ADC 的速率都是可用编程设置的,但最少要用 16 个系 统时钟。一般在转换之前还自动加上 3 个系统时钟的跟踪/保持捕获时间 (1.5s) 。设置 C8051F020 内 ADC 速率的方法是通过配置寄存器 ADCxCF(x 为 0 或 1)的位 73 来进行的,其复位值为 11111(位 73=SYSCLK/CLKSAR-1) 。 ADC0 的转换启动方式由 ADC0CN 中的 ADC0 启动转换方式位 (AD0CM1,AD0CM0)的状态决定。本设计采用定时器 3 溢出启动(即定时的 连续转换) 。 3、ADC0 的电压基准 C8051F020 的片内有 1 个 1.2V、1510-6/的带隙电压基准发生器和 1 个两 倍增益的输出缓冲器。2.4V 的基准电压(VREF)可通过外引脚分别接入 ADC0 中。 为了使 ADC 具有更好的性能,应在 VREF 引脚接电容。推荐在 VREF 引脚 接一个 0.1F 的陶瓷电容器与一个大的电容(典型为 4.7F 钽电容) ,见图 3.4 电 压基准功能框图。在 VREF 引脚加电容是为了降低 VREF 的噪声。因为 VREF 的 噪声越小,ADC 转换结果的噪声也就越小,且这两个电容在 PCB 板上应尽可能 离 VREF 引脚近。8 第 9 页 共 35 页 旁路电容 图 3.4 电压基准功能框图 4、 模拟输入电压要求 因为模拟输入(AINx)引脚不能承受 5V 电压,任何引脚在任何情况下(不管 ADC 或 PGA 的设置如何)必须使其输入电压保持在 AGND 和 AV之间,这是为 了避免沉(或源)电流通过 ESD 保护装置。为了测试 05V 范围的信号,必须使 信号衰减(衰减到 AV以下)才能进入到 ADC 输入。 在单端输入方式,有两个限制因素如下: (1)AIN 输入电压必须在 AGND 和 AV+之间以避免吸/源电流流过 ESD 保护器 件。 (2)AIN 电压必须在 AGND 和(VREF / GAIN) 之间。假设一个 12 位的 ADC,AINx 引脚的输入电压小于 AGND,结果将是 0x000;如果输入电压大于 (VREF / GAIN) ,结果将是 0xFFF。9 例如,本设计使用内部 2.43V 参考电压,PGA 增益为 1,单片机允许的电压 输入范围是 0V 到 (2.43V / 1 = 2.43V)。 5、总结 综合 C8051F020 中与 ADC 相关的各要素,要想正确应用 ADC 功能,应按下 列顺序编程:设置参考电压设置允许 ADC设置跟踪(启动)方式设定数据 对齐配置通道选择通道设置转换时钟和增益设定窗口检测上、下限启 动转换。操作 SFR 的顺序(以 12 位为例)为: 第 10 页 共 35 页 REF0CNADC0CNAMX0CFAMUX0SLADC0CFADC0GTHADC0GTL ADC0LTHADC0LTLADC0CN 或其它启动方式。 3.2.3 晶体振荡器的设置 在不影响系统的正常工作的情况下,为了减小电路板的体积,节约成本,本 设计采用 C8051F020 的内部振荡器。因为系统设计只使用内部振荡器而不使用外 部振荡器,XTAL1 脚应如图 3.5 所示那样从外部接地或通过将 XOSCMD 位 (OSCXCN.6-4),设置为000从内部接地。如果系统需要/RST 引脚长时间保持低 电平,则建议将 XTAL1 从外部接地。 图 3.5 使用内部振荡器时的电路 除了具有高度可配置性外,C8051F020 的振荡器还具有灵活和易于使用的特 点。内部和外部振荡器的工作受两个 SFR 寄存器控制,即 OSCICN(内部振荡 器控制寄存器)和 OSCXCN(外部振荡器控制寄存器) 。表 3.2 内部振荡器寄存器 的说明。 在系统复位时,内部振荡器被选为系统时钟并工作 2MHz 。用 IFCN 位 (OSCICN.1-0)对内部振荡器编程,如表 3.2 所示,有四种频率可供选择。本系 统采用 16MHz 的晶体震荡频率。在振荡器频率发生改变后,IFRDY(内部振荡器 频率准备好,OSCICN.4)内部振荡器标志变为低电平,表示振荡器频率尚未达到 其编程值。一旦振荡器频率稳定在它的最新编程频率,IFRDY 将变为高电平。为 了确保 AD 转换的准确,工作频率对于改变振荡器操作之后的指令很重要,所以 要查询 IFRDY,却保振荡器的震荡频率达到了编程要求再选为系统时钟源。10 第 11 页 共 35 页 表 3.2 OSCICN 内部振荡器控制寄存器 R/W R/W R/W R/W R/W R/W R/W R/W MSCLKE-IFRDYCLKSLIOSCENIFCN1IFCN0 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 复位值 00010100 SFR 地址 0xB2 位 7 MSCLKE 时钟丢失允许位 0 时钟丢失检测器禁止 1 时钟丢失检测器允许 如果检测到时钟丢失将产生复位 位 6-5 未使用 读=00B 写=无意义 位 4 IFRDY 内部振荡器频率准备好标志 0 内部振荡器频率未达到 IFCN 位设定的速度 1 内部振荡器频率达到 IFCN 位设定的速度 位 3 CLKSL 系统时钟源选择位 0 使用内部振荡器作为系统时钟 1 使用外部振荡器作为系统时钟 位 2 IOSCEN 内部振荡器使能位 0 内部振荡器禁止 1 内部振荡器允许 位 1-0 IFCN1-0 内部振荡器频率控制位 00 内部振荡器典型频率值为 2MHz. 01 内部振荡器典型频率值为 4MHz. 10 内部振荡器典型频率值为 8MHz. 11 内部振荡器典型频率值为 16MHz. 3.3 扩展外部数据存储器扩展外部数据存储器 C8051F020 MCU 内部有位于外部数据存储器空间的 4096 字节片上 RAM(XRAM) ,还有外部数据存储器接口(EMIF) ,可用于访问片外存储器和存 储器映射的 I/O 器件。 3.3.1 存储器的选择 SRAM 是一种具有静志存取功能的内存,不需要刷新电路即能保存它内部存 储的数据。因此 SRAM 具有较高的性能,但是 SRAM 也有它的缺点,就是掉电后 数据丢失。还有另外的缺点,就是价格高,体积大。 现将它的特点归纳如下: 优点,节能、速度快,不必配合内存刷新电路,可提高整体的工作效率。 缺点,集成度低,相同的容量体积较大,而且价格较高。 第 12 页 共 35 页 Flash 存储器特点在嵌入式系统中一般使用 NOR 技术的 Flash 存储器,既可 存储数据,还可存放直接执行的代码。而这种 Flash 存储器不象普通的块设备,它 不能对同一内存地址写入两次,而必须先进行耗时的擦除操作,而且一次擦除一 个扇区,扇区大小一般为 64K 字节。这要求为 Flash 存储器开发专用的文件系统, 而不能使用已有的文件系统。扇区完全擦除后,所有位都变为1;在写入操作时, 可使必要的位从1变为0。但是要让位从0变为1,就需要再进行擦除操作。擦 除操作比较耗时,一般需要 1-2 秒,甚至最大要 10 秒。对于实时系统来说,肯定 不能进行忙等待擦除完成。另外需要提醒一点,在 Flash 存储器进行擦除操作时, 不能再进行正常的读取操作,若在中断中也有访问 Flash 的代码,还需屏蔽中断, 但实时系统一般不允许。NOR 型 Flash 擦除次数都有限制,一般 10 万次100 万 次。Flash 存储器的扇区过大,是实现文件系统的最大障碍。而小扇区 Flash 可更 方便地实现文件系统。对频繁写入数据的应用来说存在缺陷,文件分配表的频繁 改写会很快损坏其存放扇区。 片内 flash 擦除及写入的时序由芯片内自动控制,当发出擦除或写入指令时, CPU 暂时停止工作,外围设备(串行口、ADC、Timer 等)仍处于活动状态,外 围设备产生的中断此时被挂起,中断在擦除或写入完成后按优先级顺序执行。以 C8051F020 为例,扇区(512 字节)擦除时间为 10m14ms;典型值 12ms,写入 时间 50S。11 鉴于以上三种存储器的比较:外部 FLASH 对频繁写入数据的应用来说存在缺 陷,文件分配表的频繁改写会很快损坏其存放扇区,并且每次写入都需要耗时的 擦除工作;内部 FLASH 的写入时间太长,当采样频率较大时,会有一部分数据丢 失。加之本设计不要求存储器长时间保存数据,所以,我采用 SRAM 来扩展外部 存储器。C8051F020 典型的最大外扩存储器容量是 64MB,但是为了采集更多的 数据,本设计采用了分块操作的方法,使得外扩存储器的容量达到了 128MB。 3.3.2 配置外部存储器接口 配置外部存储器接口的过程包括下面 5 个步骤: (1)将 EMIF 选到高端口(P7、P6、P5 和 P4) 。 (2)选择非复用方式。 第 13 页 共 35 页 (3)选择存储器模式(只用片外存储器) 。 (4)设置与片外存储器接口的时序。地址建立和保持时间为 1SYSCLK,WR、RD 保持时间为 14SYSCLK (5)选择所需要的相关端口的输出方式(寄存器 PnMDOUT 和 P74OUT) 。7 端口选择、复用方式选择和存储器模式位都位于 EMI0CN 寄存器中,如表 3.2 所示。 表 3.3 EMI0CF:外部存储器接口配置 R/W R/W R/W R/W R/W R/W R/W R/W - -PRTSELEMD2EMD1EMD0EALE1EALE0 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0 复位值:00000011 SFR 地址:0xA3 位 7-6: 未用。读 = 00b,写 = 忽略。 位 5: PRTSEL:EMIF 端口选择位 0:EMIF 在 P0-P3。 1:EMIF 在 P4-P7。 位 4: EMD2:EMIF 复用方式选择位 0:EMIF 工作在地址/数据复用方式。 1:EMIF 工作在非复用方式(分离的地址和数据引脚) 。 位 3-2: EMD1-0:EMIF 工作模式选择位 这两位控制外部存储器接口的工作模式。 00:只用内部存储器。所有有效地址都指向片内存储器空间。 01:不带块选择的分片方式。寻址低于 4K 边界的地址时访问片内存储器,寻址高于 4K 边 界的地址时访问片外存储器。8 位片外 MOVX 操作使用地址高端口锁存器的当前内容作为 地址的高字节。注意:为了能访问片外存储器空间,EMI0CN 必须被设置成一个不属于片内 地址空间的页地址。 10:带块选择的分片方式。寻址低于 4K 边界的地址时访问片内存储器,寻址高于 4K 边界 的地址时访问片外存储器。8 位片外 MOVX 操作使用 EMI0CN 的内容作为地址的高字节。 11:只用外部存储器:MOVX 只寻址片外 XRAM。片内 XRAM 对 CPU 为不可见。 位 1-0: EALE1-0:ALE 脉冲宽度选择位(只在 EMD2 =0 时有效) 00:ALE 高和 ALE 低脉冲宽度 = 1 个 SYSCLK 周期。 01:ALE 高和 ALE 低脉冲宽度 = 2 个 SYSCLK 周期。 10:ALE 高和 ALE 低脉冲宽度 = 3 个 SYSCLK 周期。 11:ALE 高和 ALE 低脉冲宽度 = 4 个 SYSCLK 周期。 3.3.3 非复用方式配置 在非复用方式,数据总线和地址总线是分开的。由于使用高 I/O 端口 (P4P7) ,则地址总线高 8 位使用 P5 口,地址总线低 8 位使用 P6 口,数据总线 使用 P7 口,/RD 使用 P4.6,/WR 使用 P4.7。采用 IS62LV1024 将数据存储器扩充 第 14 页 共 35 页 到 128K,并且只采用片外存储器。其硬件连接框图如图 3.6 所示。 +5V C8051F020 P6.0P6.7 P5.0P5.7 P4.0 P7.0P7.7 /WR /RD P4.1 地址总线 IS62LV1024 A0A7 A8A15 A16 I/O0I/O7 /WE /OE /CE1 CE2 数据总线 图 3.6 外部 XRAM 接口框图 3.4 串口串口连接电路的设计连接电路的设计 C8051F020 单片机有两个全双工的串行通讯口,所以单片机和电脑之间可以 方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一个电平转换电 路,我采用了专用芯片 MAX232 进行转换,虽然也可以用几个三极管进行模拟转 换,但是还是用专用芯片更简单可靠。我采用了三线制连接串口,也就是说和电 脑的 9 针串口只连接其中的 3 根线:第 5 脚的 GND、第 2 脚的 RXD、第 3 脚的 TXD。这是最简单的连接方法,但是对本设计来说已经足够使用了,MAX232 的 第 10 脚和单片机的 P0.0 脚连接,第 9 脚和单片机的 P0.1 脚连接,第 15 脚和地连 接。 3.5 本设计采用的抗干扰本设计采用的抗干扰措施措施 本设计属于含微弱模拟信号电路以及高精度 A/D 变换电路的系统,这种情况 需要特别注意硬件的抗干扰。 第 15 页 共 35 页 3.5.1 增加系统的抗干扰能力的措施 1、模拟电源和数字电源分别供电 为了给系统提供更加稳定的电源,本设计的模拟电源和数字电源分别供电。 但模拟电源和数字电源可以来自同一个稳压器的输出,只在 AV+和 VDD 之间接 简单的滤波器即可。这种方式既能降低成本又能减少体积。12 2、处理好接地线 考虑到电磁兼容设计而要求的接地问题(包括:屏蔽接地、滤波器接地、噪声 和干扰抑制、电路参考),本设计采用的是将模拟器件的地和数字器件的地分别连 接,然后再将数字地和模拟地统一接地即单点接地。主要是为电路提供公共电位 参考点,这样信号就可以在电路之间传输。单点接地要求每个部分只接地一次, 并且接在同一点,该点常常以地球为参考。由于只存在一个参考点,因此可以相 信没有地回路存在,因而也就没有干扰问题。13 3、用好去耦电容 虽然本设计采用电池供电,仍需加去耦电容滤除噪声。典型的 0.1uf 的去耦电 容有 5nH 分布电感,它的并行共振频率大约在 7MHz 左右,它对于 10MHz 以下 的噪声有较好的去耦作用,对 40MHz 以上的噪声几乎不起作用。1uf,10uf 电容, 并行共振频率在 20MHz 以上,去除高频率噪声的效果要好一些。在电源进入印刷 板的地方加一个 1uf 或 10uf 的去高频噪声电容往往是有利的。所以在本设计的所 有电源上都加了 0.1uf 和 10uf 的电容来滤除低频和高频噪声。去耦电容最好不用 电解电容,电解电容这种两层薄膜卷起来的结构在高频时表现为电感。要使用钽 电容或聚碳酸酯电容。14 3.5.2 采用的其他降低噪声与电磁干扰的措施 (1)印制板尽量使用 45折线而不用 90折线布线也不允许有锐角以减小高频信 号对外的发射与耦合。 (2)单面板和双面板用单点接电源和单点接地、电源线、地线尽量粗。经济是能 承受的话用多层板以减小电源,地的容生电感 (3)闲置不用的门电路输入端不要悬空,闲置不用的运放正输入端接地,负输入 端接输出端。 第 16 页 共 35 页 (4)MCD 无用端要接高,或接地,或定义成输出端,集成电路上该接电源地的 端都要接,不要悬空。15 3.6 系统硬件的整体介绍系统硬件的整体介绍 模拟量经由传感器采集后转换为电荷量或电压量进入数据采集系统。因为传 感器的输出量很小,所以首先要对其进行放大,以满足单片机 AD 的输入要求。 在比较了几种集成运放后(见 3.4.1 节) ,电荷放大器和电压放大器全由 OPA340 组成。并且在放大器上加了偏置电路,使得当传感器输出负值时,也可将其转化 为正值满足 AD 的要求,由此扩大了数据采集系统的测量范围。由于系统不可避 免会受到干扰,为了增加系统的稳定性及及准确性,需要加滤波器。在比较了有 源滤波及无源滤波后(见 3.4.2 节) ,本设计选择了无源低通滤波器。经过放大及 滤波后的模拟信号满足了 C8051F020 的 ADC0 的模拟通道输入要求。因为系统每 次只采集一路数据,则为了减少不必要的干扰,由单片机通过 MAX894 控制两路 传感器的调理电路的电源,只为单片机选中的那个通道的传感器的信号调理电路 供电。C8051F020 将所采集的数据存储在外部存储器中,等待上位机的通信信号, 一旦接收到信号,单片机就通过串口向上位机发送数据。进行串行通信时要满足 一定的条件,电脑的串口电平标准是 RS232 电平,而单片机的串口是 TTL 电平的, 两者之间必须有一个电平转换电路(见图 3.3)才能进行正常的通信。我采用了专 用芯片 MAX232 进行转换,他将 TTL 电平转换为 RS232 电平。整体硬件图见附 录 A。 第 17 页 共 35 页 4 数据采集器的软件设计数据采集器的软件设计 4.1 选择编程语言选择编程语言 在单片机开发过程中,经常用到 C 语言和汇编语言,二者各有优劣。以下作 简单比较。 4.1.1 汇编语言 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码 的一种语言。 汇编语言的优点:占用资源少,程序执行效率高。说明数据是如何表示并存 储在存储器与外部设备上的;阐述处理器是如何访问与执行指令的,以及指令是 如何访问与处理数据的;阐述程序是如何访问外部设备的。 虽然汇编语言有诸多的优点,同时还应该认识到,汇编语言是一种层次非常 低的语言,因此不可避免地存在一些缺点:不同的 CPU,其汇编语言可能有点差 异,所以不易移植。编写的代码非常难懂,不好维护;很容易产生 Bug,难于调 试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调。 16 4.1.2 单片机 C 语言 C 语言是一种结构化的高级语言,是普遍使用的是一种计算机语言。 其优点是可读性好,移植容易,用 C 编写程序比汇编更符合人们的思考习惯, 开发者可以摆脱与硬件无必要的接触

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论