1、项目名称:手持式数字示波表比赛编号: 11424单位名称:电子科技大学通信与信息工程学院作者:李广军(Guangjun Li),林水生(Shuisheng Lin),阎波(Bo Yan),王一(Yi Wang),杨新川(Xinchuan Yang),荆研(Yan Jing)联络人:李广军(Guangjun Li)职业:教师通讯地址:四川省成都市电子科技大学通信与信息工程学院邮编:610054电子邮箱:电话:85-28-83202527传真:86-28-832076692002 年 10 月 7 日第 页1目 录摘要 2关键词 21、引言 21.1 示波器工作原理 21.1.1 模拟示波器工作原
2、理 . 21.1.2 数字示波器工作原理 . 21.2 万用表工作原理 31.3 频率计工作原理 31.4 数字示波表工作原理 32、设计概述 . 32.1 示波表的系统结构 . 32.2 示波表性能指标 . 43、硬件描述 . 53.1 DSP 控制核心电路 . 53.2 FPGA 芯片及外围电路 . 63.3 模拟通道 . 63.4 信号调理及模/数转换电路 . 73.5 FPGA 内部功能 . 83.5.1 A/D 采样控制器 . 83.5.2 数据 FIFO 83.5.3 FIFO 采样控制器 83.5.4 频率计单元 . 93.5.5 显示缓存区 . 93.5.6 显存地址发生器 .
3、 93.5.7 LCD 驱动器 . 93.5.8 通道控制端口 . 93.5.9 总线仲裁器 . 94、软件描述 . 104.1 存储器地址空间映射 . 104.2 示波表程序设计说明 104.3 处理算法及实现 114.3.1 波形参数的测量 114.3.2 自适应幅度调整 . 124.3.3 内插算法对波形的重建 . 124.4 底层驱动程序 145、结论 15附录 1:示波表实验电路板附录 2:示波表开机界面附录 3:示波表开机菜单附录 4:示波表显示波形第 页2手持式数字示波表李广军,林水生,阎波,王一,杨新川,荆研电子科技大学通信与信息工程学院(610054)摘要:利用嵌入式技术设计
4、的手持式数字示波表,是集数字存储示波器、数字万用表和数字频率计等功能于一体的手持式电子测量仪表。本文介绍的手持式数字示波表以 Motorola 的 DSP56805 为核心控制和数据处理芯片,以 Xilinx 的 XC2S50 实现图形液晶控制器、高速数据缓存和系统逻辑控制等控制功能。该示波表具有体积小、功耗低、携带使用方便等特点。关键词:数字示波表、数字示波器、数字万用表、数字信号处理器(DSP)、液晶控制器、FPGA1、引言手持式数字示波表集数字存储示波器、数字万用表、数字频率计三者功能于一体,采用电池供电,图形液晶显示,是电子测量领域里一类新型的实用仪器。 本设计采用嵌入式设计技术,把微
5、控制器、A/D转换器、LCD 控制器等核心部件嵌入该系统,并利用嵌入式操作系统、ASIC 设计技术、LCD 图形显示技术及数字信号处理技术等综合设计的嵌入式仪器系统。该仪器功能齐全,并且体积小、重量轻,携带和操作都十分方便,具有极高的技术含量、很强的实用性和巨大的市场潜力,代表了当代电子测量仪器的一种发展趋势。1.1 示波器工作原理1.1.1 模拟示波器工作原理传统的模拟示波器把需观测的两个电信号加至示波管的 X、Y 通道以控制电子束的偏移,从而获得荧光屏上关于这两个电信号关系的显示波形。显然,这种模拟示波器体积大、重量重、成本高、价格贵,并且不太适合用于对非周期的、单次信号的测量。1.1.2
6、 数字示波器工作原理现代数字存储示波器首先对模拟信号进行高速采样获得相应的数字数据并存储。用数字信号处理技术对采样得到的数字信号进行相关处理与运算,从而获得所需的各种信号参数(包括可能需要使用万用表测试的一些元器件电气参数) 。根据得到的信号参数绘制信号波形,并可对被测信号进行实时的、瞬态的分析,以方便用户了解信号质量,快速准确地进行故障的诊断。测量开始时,操作者可通过中文界面选定测量类型(波形测量、元件测量) 、测量参数(频率/周期、有效值、电阻阻值、二极管通断等)及测量范围(可选自动设置,由仪器自动设置最佳范围) ;微处理器自动将测量设置解释到采样电路,并启动数据采集;采集完成后,由微处理
7、器对采样数据按测量设置进行处理,提取所需要的测量参数,并将结果送显示部件。如果需要,用户可选择自动测试方式:微处理器在分析首次采样得到的数据后会根据具体情况调整、修改测量设置,并重新采样。在经过几次这样的“采样-分析 -调整-重采样”循环后,示波表即可完成即触即测功能,而无须人工调换量程,便于手持操作。显然,数字存储示波器与传统的模拟示波器相比具有很多突出的优点:第 页3 可以根据被测信号的特点自动确定和调整测试条件,真正实现自动、离手测试。 能够较容易地实现对高速、瞬态信号的实时捕获。 在波形存储与运算方面有着明显的长处。1.2 万用表工作原理模拟万用表通过电阻分压网络实现电参数的测量。目前
8、有许多数字万用表的专用芯片,这些芯片内部一般集成有 A/D 转换器、LCD 液晶显示驱动器和测量模式选择开关等模块。其外围电路较简单,常常由测量输入电路、AC/DC 变换电路、电压基准电路和蜂鸣器等组成。电压、电容、电阻测量分别有一个外部基准电压,这个电压经过一个齐纳二极管稳压后再经微调电阻调节到各自所需的电压值。芯片的电压/电阻/ 电容/频率端口可分别测量交流/直流电压、电阻、电容、频率。1.3 频率计工作原理被测信号经过整形电路,产生同频率的矩形波规则的脉冲信号。计数器根据所提供的矩形波上升沿进行计数,计数时间由选通时间控制部分决定,根据频率所处的范围来决定档位。为提高测量精度,通常分级进
9、行,即对频率较低的信号采用测周的方法进行,而对频率较高的信号则采用测频的方法。频率计常用计数器及单片机实现,也可通过可编程逻辑器件实现。1.4 数字示波表工作原理数字示波表由高性能微处理器、高速 A/D 及数据处理电路组成。被测信号经信号输入通道进行调理,以满足最佳 A/D 转换要求。高速 A/D 转换后的数据存储在 FIFO 中,供微处理器进行处理。微处理器根据菜单的选择输入,执行相应的算法处理软件,得到相应的测量结果。2、设计概述2.1 示波表的系统结构图 1 示波表系统结构框图第 页4基于 MOTOROLA 的 DSP56805 芯片的手持式数字示波表,利用 MOTOROLA DSP 芯
10、片与现场可编程逻辑器件 FPGA 相结合,大大简化系统,使系统更精简,体积更小,并且充分利用 DSP 与 FPGA 可使数字示波表的功能得到充分的体现。而且在高速并行流水信号处理中,ASIC(FPGA)+ DSP + RAM 是目前的一种流行方式,具有许多优点。现场可编程门阵列逻辑器件 FPGA 具有现成的母片,可实现现场编程。使用 FPGA 可使设计方便,利用它灵活、校验快以及设计可随意改变的特点,可大大缩短研制时间。MOTOROLA DSP56805 芯片具有很强的微控制功能,拥有丰富的片内资源、输入输出端口,并有很强的数字信号处理能力。利用它作为中央处理单元,控制整个系统的运作,它同时完
11、成一些数据处理的功能。数字存储示波表是一个完整的智能化测量系统,其中包括信号输入通道、数据采样、数据处理及存储、显示控制、电源供给等各部分。如图 1 所示。图 1 的模拟通道主要完成被测信号的程控放大和衰减、交/直流耦合、信号平移等预处理。使输入信号适合 A/D 转换的电气性能。被测信号的放大 /衰减倍数、交/直流耦合方式由 FPGA 根据 DSP 的处理结果发出数字控制信号。而被测信号平移和触发电平则由 DSP 控制 D/A 转换器完成。被测元件(电阻、二极管等元件)经过信号调理电路处理后,其信号送 DSP 内部的 A/D 转换器。根据 A/D 转换的结果,分析被测元件的参数值。被测信号经预
12、处理后分两路,一路送高速 A/D 转换器,转换后的数字量暂存在 FPGA 内部块 RAM 设计的 FIFO 中,供 DSP 读取并处理。另一路经过整形电路处理后,得到标准的矩形脉冲信号,并送 FPGA中的测频/测周电路构成的频率计,从而测量出输入信号的频率。利用 DSP56805 内部的 A/D 转换器实现键盘接口,充分利用了 DSP 内部系统资源,减少 I/O 脚的占用。微处理器 DSP56805 从 FPGA 的数据 FIFO 中取得数据并进行处理,获得用户需要的显示信息;微处理器还能够接收和正确分析用户从键盘输入的信息,并由此控制其它部分协调工作。可编程逻辑芯片 XC2S50 内部有 4
13、KB 的块 RAM,其中 2KB 的内部块 RAM 设计成双口 RAM,用作显示缓冲器,另外 2KB 的内部块 RAM 设计为 FIFO,作为 A/D 的高速缓冲器。由 FPGA 设计实现的图形液晶控制器能够直接驱动 320X240 点阵的单色图形液晶显示屏。频率计和系统的逻辑控制也由 XC2S50 实现。DSP 的显示控制软件负责将微处理器处理后的显示数据映射到显示缓冲区中,并由 LCD 显示出来,从而完成一次测量。2.2 示波表性能指标 集数字存储示波器、万用表和频率计的功能于一体;手持;交/直流供电。 模拟带宽 10MHz;单次带宽 5MHz;取样率 50MS/s。 记录长度 2KB;单
14、通道。 水平扫描 50ns/div 10s/div;垂直扫描 5mV/div5V/div。 测量信号参数:周期、频率、占空比、平均、有效、峰峰值。 测量电阻:100、1K、10K、100K、1M 。第 页5 测量电压:10 mV、30mV、1V 、3V 、10V、30V。 二极管测量、通断测量。 频率计:10MHz 5%。 测量精度:示波器精度5%,万用表精度3% 。 校准信号:1KHz/0.3V 。 LCD:320240 点 92mm72mm,对比度可调,有背景光。 其它:电池供电2 小时,RS232 接口。3、硬件描述本系统为典型的嵌入式系统,硬件电路主要由 MOTOROLA 的数字信号处
15、理芯片DSP56805、XILINX 的现场可编程门阵列 XC2S50、GSI 的静态存储器 GS71116、TI 的高速模/数转换芯片TLC5580、Microtips 的 MTG-F32240 液晶显示器和其它辅助器件组成。硬件电路比较简单。下面分模块介绍硬件电路。3.1 DSP 控制核心电路图 2 DSP56805 电路该电路主要由 MOTOROLA 的 DSP56805 构成,如图 2 所示。系统外扩展 64KB 的静态 RAM 作数据存储器,其中 2KB 的存储空间映射为 LCD 的显示缓冲区。另有 2KB 的存储空间作为 I/O 端口扩展,由FPGA 译码后控制通道等操作。DSP5
16、6805 的地址总线将分别连接到静态存储器 SRAM 和 FPGA 芯片,数据总线分别连接到SRAM、 FPGA 和 D/A 转换芯片。DSP 的部分多功能 I/O 口用于控制示波表的通道电路。第 页6DSP56805 内部有 8 通道的双 A/D 转换器,其中 4 个通道用于键盘接口,另一个 A/D 作万用表的测量输入。为了提高测量的精度和稳定度,DSP 的 RHY 输入端连接精密电压基准源。为了不占用 DSP 的通用 I/O 引脚作键盘扩展,示波表使用 DSP56805 的内部 A/D 转换器扩展键盘。从一定程度上缓解了 I/O 引脚紧张的问题,同时也充分利用了 DSP56805 的片上已
17、有资源。键盘采用 45键盘矩阵,每五个键占用一个 A/D 通道,总共使用 DSP56805 的四路 A/D 通道,占用同一个 A/D 通道的五个按键采用电阻五级分压。通过 DSP56805 四路 A/D 的结果值来判断哪个键被按下。3.2 FPGA 芯片及外围电路图 3 FPGA 及外围电路示波表使用的 FPGA 芯片为 XILINX 的 Spartan XC2S50,该芯片内部有 4KB 的块 RAM、384 个CLB,共 5 万门的可编程逻辑器件。该芯片与 DSP56805 的地址总线、数据总线和部分控制信号线相连接,如图 3 所示。示波表的高速 A/D 数据输入、被测信号的整形电路与 F
18、PGA 相连。FPGA 还为 320240 点的单色液晶显示屏提供图形显示控制功能。并控制模拟输入通道和 D/A 转换器。3.3 模拟通道模拟输入通道接收外部待检测信号,进行调理,输出-0.5V +0.5V 的电压信号。模拟输入通道由信号通道与测量通道两部分组成。信号通道由输入耦合电路、衰减器、输入保护、跟随器、及控制电路组成,第 页7完成对输入信号的输入耦合方式、信号衰减、保护控制及阻抗变换等功能。测量通道由测量驱动电路和标准参考电路及测量保护电路构成,完成对电阻、二极管等元件参数的测量。模拟输入通道电路原理图如图 4 所示,被测信号经继电器和多路模拟开关进行多级衰减,后经放大,并与信号平移
19、值叠加,送高速 A/D 进行转换。DSP 根据采样结果的大小确定衰减倍数。量程与量程开关的对应关系如表 1 所示。图 4 通道电路框图表 1 程控开关与量程对应关系表格量程程控开关5mV 10mV 20mV 50mV 0.1V 0.2V 0.5V 1V 2V 5V 10V 20VA 0 0 0 1 1 1 0 0 0 1 1 1B 0 0 0 0 0 0 1 1 1 1 1 1C 0 0 1 0 0 1 0 0 1 0 0 1D 0 1 0 0 1 0 0 1 0 0 1 03.4 信号调理及模/数转换电路第 页8图 5 信号调理与模/数转换电路经模拟通道后的被测信号首先进行调理,再分别送高速
20、 A/D 转换电路和信号整形电路进行处理,如图 5 所示。高速 A/D 转换器为 TI 的 TLC5580。其分辨率为 8 位,转换速率可根据需要调整,最高为80MHz。A/D 转换的数据结果送 FPGA 内的 FIFO 缓存。整形电路用高速比较器 TLC3016,将任意形状的模拟信号转换为标准的矩形脉冲信号,送 FPGA 的频率电路进行频率/周期的测量。3.5 FPGA 内部功能示波表中的 FPGA 主要是为 DSP 提供数据的输入输出接口。首先,其为 DSP 提供数据处理的基准数据;其次根据 DSP 需要对输入数据进行一定的预处理,减少数据的冗余量,提高 DSP 的工作效率;再次为 DSP
21、 提供显示单元的接口,将最终数据在 LCD 上进行显示;最后 FPGA 也为 DSP 对前级通道的控制提供接口。通过片内总线仲裁,FPGA 以完全将自身映射成为 DSP 的外部存储器,有此使 DSP 系统的控制简化为仅仅是对外部存储器的读写,提高了 DSP 及整个系统的工作效率。功能模块如图 6 所示。图 6 FPGA 内部功能框图3.5.1 A/D 采样控制器为了使 A/D 工作在最佳的工作状态以得到最佳信噪比,系统设置四级 A/D 采样时钟,分别为40MHz、20MHz、10MHz、5MHz。A/D 采样控制器根据 DSP 所发的 A/D 采样控制字选择输出 A/D 所需采样时钟信号。3.
22、5.2 数据 FIFO系统为 DSP 处理采样数据提供 2KB 的 FIFO 作为高速数据缓存区。FIFO 通过满/空标志与 DSP 进行通信。3.5.3 FIFO 采样控制器考虑到本示波表测量信号的频率范围很宽,从 0.1 Hz 到 10MHz,所以巧妙的设计 FIFO 的读写时钟。FIFO 的写时钟频率交给 DSP 控制。DSP 根据测频/ 测周所得数据来调整 FIFO 的写时钟频率,其调整的思第 页9路是让写入 FIFO 的数据尽量有用,即 DSP 读出 FIFO 的数据后尽量不用丢数,这些数据经过处理后能在LCD 屏上显示出 2 4 个周期的信号波形。这样做的好处是相当明显的,能够减少
23、 DSP 的很多工作,软件丢数的事情交给了硬件来做,处理数据的速度大大提高,整个系统的性能得以改善。FIFO 采样控制器为 DSP 提供写 FIFO 的端口操作。同时,为了避免大量冗余数据对 DSP 处理带来的额外负担,系统共设置 40MHz2Hz,共 22 级 FIFO 采样频率以屏蔽冗余数据。FIFO 采样时钟的选择由采样控制器根据 DSP 所送控制字决定,伴随着每次状态字的写入,控制器自动使 FIFO 读写指针复位。3.5.4 频率计单元系统采用精密频率计算法测量被测信号的频率及周期值,主要由分频模块,频率选择模块,测频模块,测周模块,数据选择模块和地址译码模块等 6 个模块组成,如图
24、7 所示。测量的结果数值送往 DSP 处理。图 7 频率计功能框图3.5.5 显示缓存区利用 FPGA 内部的块 RAM 设计 2KB 的双口 RAM 作为 LCD 显示缓存区。以此,将 DSP 的数据处理同波形显示脱离直接相关性,提高 DSP 工作效率。3.5.6 显存地址发生器显存地址发生器根据 DSP 的地址总线产生显存的写指针,根据 LCD 驱动信号产生显存读指针。由于FPGA 片内的存储单元不足以满足缓存整屏显示数据,整屏显示数据共分 5 帧送往 FPGA。该单元需通过显存读指针来向 DSP 发出显存刷新中断申请,同时将显存状态字送往 DSP 以通知 DSP 所需的帧。3.5.7 L
25、CD 驱动器LCD 驱动器为 LCD 显示提供各种所需的控制信号。3.5.8 通道控制端口端口为前级通道提供所需的控制信号。第 页103.5.9 总线仲裁器总线仲裁器为 FPGA 和 DSP 提供通信接口。该总裁器将 FPGA 完全映射为 DSP 的外部储器。DSP 所有操作均通过访问片外存储器的方式进行,总线仲裁器根据 DSP 地址总线及/DS 信号译码决定 FPGA 片内地址及数据总线的归属。4、软件描述4.1 存储器地址空间映射示波表需要较多的控制信号,而 DSP56805 提供的通用 I/O 端口数目非常有限,不能满足系统的要求,因此将一部分存储器空间映射为 I/O 端口。DSP568
26、05 的数据存储空间的分配如表 2 所示。DSP56805 端口扩展定义如表 3 所示。表 2 DSP56805 数据存储空间定义起始地址 结束地址 容量 用途0000H 07FFH 2K DSP 内部 RAM0800H 0BFFH 1K 保留0C00H 0FFFH 1K DSP 外设端口映射1000H 1FFFH 4K DSP 内部 FLASH2000H EFFFH 52K DSP 数据存储器F400H F7FFH 2K LCD 显示缓存(FPGA 实现)F800H FEFFH 1.75K 用户保留FF00H FF7FH 128B 端口扩展FF80H FFFFH 128B 保留表 3 DSP
27、56805 端口扩展定义端口地址 读 /写操作 端口数据位 FPGA/外部器件FF00HFF01HFF02HFF03H写写写写通道量程控制(低 4 位)万用表量程控制(低 4 位)信号极性及交/直选择(低 2 位)触发方式选择(低 3 位:交/直触发,上/下降沿触发,单次/连续触发)FPGA 内部译码选通映射端口,端口数据通过FPGA I/O 输出FF10HFF11H无无触发电平(低 8 位 D/A)信号平移(低 8 位 D/A)FPGA 内部译码信号输出到外部器件FF20HFF21H读读频率/ 周期低 16 位频率/周期高 8 位(低 8 位数据有效)FPGA 内部结果由数据线送 DSP第
28、页11FF30HFF31H读读读 FIFO 数据(低 8 位数据位有效)读 FIFO 状态标志(1 位)FF40H 读 读显示缓冲区计数值(低 3 位)4.2 示波表程序设计说明MOTOROLA DSP56805 芯片作为系统控制中心及数据处理中心,整个系统的运转受到它的控制,例如响应用户的按键操作,发出通道控制,A/D 采样时钟控制,FIFO 写时钟的选择,菜单及系统状态显示,数据的处理,信号或参数的自动测试等。 示波表的软件程序结构(如图 8 所示)分为以下几个模块:系统初始化模块、键语分析模块、键盘消息模块、系统控制模块、硬件控制模块、自动参数测试模块、状态显示模块、波形显示模块、其他功
29、能模块。系统的初始化模块包括开机自检、硬件参数初始化、系统状态初始化(如通道的波形显示状态初始化)等等;键语分析模块对面板上的用户输入进行分析处理,并转到相应的功能处理模块通过对系统控制模块、硬件控制模块、自动参数测试模块或其他功能模块的函数功能调用来实现对来自键语分析的消息的处理功能;状态显示模块显示程序运行时的各种状态:当前数据采集的扫描速率、通道的垂直灵敏度等等;波形显示模块显示采集的波形。图 8 示波表软件结构整个 DSP56805 的程序又可分成底层驱动和上层软件。底层驱动指 DSP56805 对本系统其他外设或器件直接控制或访问的程序部分,包括 DSP56805 的初始化(既对片内
30、各核心寄存器的操作赋值、对片上外设的初始化赋值、对片内各外设中断及外部中断的控制操作) 。上层软件主要指:菜单的设计及显示、数据的处理、波形的恢复及平滑等。键语分析模块对面板上的用户输入进行分析处理,并转到相应的功能处理模块通过对系统控制模块、硬件控制模块、自动参数测试模块或其他功能模块的函数功能调用来实现对来自键语分析的消息的处理功第 页12能;状态显示模块显示程序运行时的各种状态,当前数据采集的扫描速率、通道的垂直灵敏度等等。波形显示模块显示采集的波形。4.3 处理算法及实现4.3.1 波形参数的测量设() 为任意周期性函数,则有如下结论:1、有效值 1TdtuU02)(式中为周期性函数的
31、周期, 1 为方均根值。2、平均值 2 的表达式Tdtu01)(式中 2 也称为()的直流分量或恒定分量。3、平均绝对值简称均绝值 (绝对值的平均值 )TdtuU01)(它是(t)的绝对值在一个周期内的平均值,可用全波整流式仪表来测量,对正弦值指示值乘以 0.9 即是其平均绝对值的近似值。4、波顶因数 = / 1它是() 的最大值 和有效值 1 之比。5 波形因数= 1/ 3是有效值 1 与平均绝对值 3 之比。4.3.2 自适应幅度调整当输入信号幅度很小,接近其最小量化刻度时(LSB),转换误差会很大,甚至无法分辨;当信号幅度很大时,超过 A/D 转换器允许的最大输入幅度时,会因为限幅而失真
32、,仍至于烧毁 A/D 转换器件。因此,在将信号送入 A/D 转换器前,必须对信号进行处理,使其在不通过人工进行面板控制情况下,能自动地将信号幅度调节到适于 A/D 转换的最佳幅度。图 9 自适应幅度调整原理自适应幅度调整原理如图 9 示。图中 n 表示对参数 w 进行逐步调整时的第 n 步调整。Z 1 为调整时延,第 页13它使比较误差 e(n)延时一拍,得到 e(n1),即用过去时段的误差 e(n1),通过一定的算法去预测现在时段的参数 w(n),进而实现对输入信号 u(n)的预测。为了保证在 n 时段信号的输出对输入的线性时不变,即在 y(n)w(n)u(n)时段,有 y(t)w(t)u(
33、t),从而完成线性预测功能。d(n) 为希望输出的信号电平值,即 A/D转换器要求的信号输入电平,它与实际输出信号电平之差 e(n)d(n)y(n)为调节误差,e(n)越小,y(t)就越接近最佳要求输入电平,从而达到对信号预测目的。d(n)值是固定的,减小 e(n)只有调整参数 w(n),其调整量取决于不同的算法。4.3.3 内插算法对波形的重建设定的 LCD 波形显示区为 250200 个数据点组成。因此需要根据采样数据恢复出最多 250 个点波形幅度数据。由于被测信号频率的变化及采样速率的不同,采样得到的数据不一定总是能满足显示要求,因此需要根据采样的数据来丢值或者内插。由内插算法来计算最
34、终所要得到的显示数据。内插算法公式为:X(t)= nnTs)/-(tiX(s)内插算法实现流程如图 10 所示。第 页14图 10 内插算法实现流程(1)当显示屏显示的最大显示时间是原波形周期的整数倍时,从 RAM 中得到的采样数据进行处理,但是此时并不知道原采样信号对原始信号采集一个周期的信号的采样点是多少,即:单周期采样个数 n=原信号周期 T/采样信号周期 Tsn=T/Ts 若小于 250,则利用采集的数据进行内插运算,但此时显示屏上的时间分割必须考虑到整个的显示情况,而并不是 t=Tx/250 这种算法了。首先用内插算法先求得一个信号周期的数据,但是这个周期所占用的时间段为整个显示屏时
35、间的一部分,用内插所得到的数据个数同样也为 250 的一部分,即N1=250/(Tx/T)。而余下的点只需不断的复制前一个周期的数据就可以了,直到总共处理的数据达到 250个数据为止。(2)示波表显示的最大时间小于原波形周期,即(TxT)在此情况下,在进行数据处理的时候必须考虑到多种情况。首先,示波屏的最大显示时间 Tx 包含了多个原信号的周期 T,在这种情况下进行数据处理时,可以利用到上面所研究的第一种情况的算法。但是按照这种算法并不能解决所有的数据处理,因为显示屏所显示的最大时间 Tx 不是原始波形周期 T 的整数倍。当按照第一种情况进行数据处理后,在显示屏上还会剩下一个时间段 Ta=Tx
36、-NT。在这种情况下必须把剩下的一小段时间段 Ta( TaT)考虑进去。4.4 底层驱动程序示波表的所有与硬件有关的操作都以标准函数形式提供,上层应用程序与硬件不发生任何联系,而是通过标准函数访问。示波表的底层驱动函数包括: DSP56805 的初始化模块 DSP56805 的中断服务程序,包括:1) 外部中断 A (IRQA)服务程序;2)外部中断 B(IRQB)服务程序;3)内部 A/D 中断(IRQA/D)服务程序。 LCD 屏某处显示 16*16 点阵汉字函数 LCD 屏某处显示 8*16 点阵字符函数 LCD 屏任意位置点显示函数 LCD 屏画实线、画虚线函数 LCD 屏显示栅格函数
37、 LCD 屏显示方波函数 清除 LCD 显示缓冲区的某区域 将 LCD 显示缓冲区全部清除 将 DSP 寻址数据区中内容搬移第 页15 将 DSP 中程序 FLASH 的一个给定地址和数据的单元进行编程 将 DSP 中数据 FLASH 的一个给定地址和数据的单元进行编程 将 DSP 中数据 FLASH 的一给定地址的页(256 字)擦除 将汉字点阵写入 DSP 片内数据 FLASH 对高速 A/D 的采样时钟频率选择端口的访问 访问测频测周数据端口 LCD 屏上指定位置显示测频测周的结果 访问通道控制端口 对 FIFO 的写时钟频率控制端口的访问 对 LCD 显示缓存区的访问 读 FIFO 端口数据 波形显示程序 键盘的键值判断程序5、结论本文主要讨论了嵌入式应用系统手持式数字示波表的硬件/软件的设计思路和设计方案。本设计表明,以 MOTOROLA 的 DSP56805 为核心处理器、XILINX 的 XC2S50 为逻辑控制系统实现的手持式示波表的设计方案完全是可行的。测试结果表明,本设计的技术指标达到了设计要求,具有非常广阔的应用前景。附录 1:示波表实验电路板附录 2:示波表的开机界面第 页16附录 3:示波表的开机菜单附录 4:示波表的显示波形