保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

由uClinux与MC68VZ328构成数字存储示波器


出,锁存信号由D口的PD7给出。此外,每当数据采满1K时,FIFO存储器会产生一个中断信号INT。该信号由D口的PD6输入。

   

2.3 系统软件结构

基于嵌入式Linux的数字示波器系统主要分为数据采集和存储模块、波形显示和刷新模块以及触摸屏控制模块三个部分。系统软件由Linux下的C语言编程实现。

(1)数据采集和存储模块

采集存储模块流程如图4所示。

系统首先向采集卡发送所要求的频率和幅值信号,然后发出复位信号RESET,采集卡开始采集数据。采集到的数据经过FIFO存储器,由J口读入内存并存入指定数据缓冲区之中。在存储过程中,采用了双缓冲区机制,数据按1K大小分块,相邻的两块数据交替存放在内存的不同区域中。在每读入1K个数据之后,内存中都存在连续的2K个采样数据,这样有助于以后对数据的处理和显示。

(2)波形显示和刷新模块

本系统中使用一块大小为240×320像素的黑白液晶显示屏。VZ328为LCD的控制提供了良好的支持,其实现主要通过LCD控制器完成。

    存放在内存中的数据经过坐标变换之后就可以在LCD上进行显示了。在显示之前,因为LCD的坐标系与显示波形时所用的坐标系y轴方向相反,且需要将波形显示在屏幕的特定区域内,所以要对数据进行归一化处理。从端口读入数据的范围为0~0XFF,0点对应于LCD上y轴坐标的190,0XFF对应于LCD上y轴坐标的50,则0X7F对应于LCD上坐标为120的点,即屏幕显示的零点。相应的转化公式为

Y=120-(DATA-0X7F)×70/0X7F

其中DATA为从端口读入的数据;

Y是DATA在LCD上显示的y坐标。

LCD一屏可以显示300个数据点,点与点之间用矢量法直线相连。

(3)触摸屏控制模块

触摸屏是附着在LCD表面的一层透明薄膜,它将压力转换成模拟电信号,模拟信号再经过A/D转换被采样。触摸屏的工作流程如图5所示。

触摸屏通过中断方式完成其功能。从执行流程上来说,首先在TouchPanel_init()中完成两件事:注册驱动程序和注册中断。

对于触摸屏设备,主设备号为58,设备名为“ts7843”,驱动程序子函数集为TouchPanel_fops。TouchPanel_fops中指定了read、select、open、release

四个操作子函数的地址依次为

ReadTouchPanel、TouchPanelSelect、OpenTouchPanel和CloseTouchPanel。

当用户进程调用open()打开/dev/ts7843时,内核调用OpenTouchPanel();用户进程调用read()读该设备时,内核调用ReadTouchPanel()。request_irq()注册中断处理,中断为TOUCHPANEL_IRQ_UNM,中断处理程序为TouchPanelInterrupt(),说明为“TouchPanel”。

当触摸屏有数据来到时,中断被触发,调用中断处理程序,准备处理数据。

在本系统中,触摸屏主要用于改变采样的频率和幅值放大倍数。在LCD的上方有四个长方形区域,分别对应

《由uClinux与MC68VZ328构成数字存储示波器(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/148136.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。