1、体系结构框图
图1体系结构图
1.1、信号调度电路
信号调度电路要完结的功用是:程控扩大,叠加直流重量。程控扩大的作用是:当输入信号的起伏很小的时分就需求对输入信号进行扩大,使得被测信号能够在LCD上尽可能清楚的显现出来。叠加直流重量的作用是:ATmega16自带的A/D是单电源的,没办法输入负压而待测信号又往往有负压。这时分就需求这样一个电路,能够把负压举高到0电平以上。
图2信号调度电路原理图
R1,R2分别由一个模仿开关CD4051来衔接不同的电阻,不同的R1,R2经过公式:这样就能够完结程控扩大功用了。可调电阻R9用来设置信号调度电路参加的直流重量的巨细。扩大后的信号和直流重量最后由U3模仿加法器叠加后输出。
输入信号与输出信号的联系:只需R4、R6、R7的阻值相同,调度电路输入与输出的联系简化为:。
Ux为U3的输出电压,输出电压的电压值与可调电阻R9中心抽头的电压一至。
1.2、主控芯片软件规划
这个体系的主控芯片挑选的是,Atmel公司的AVR系列单片机ATmega16,最高可到达16MPIS指令速度。ATmega16有16K的flash, 1K的SRAM, 512 B的EEPROM,单片机内部自带一个10 bits精度的逐次迫临型模数转化器,内建采样/坚持电路。ADC的时钟是可编程的,在这个规划中为了太到最高的采样频率100KHz ADC的时钟设置为2MHz。ADC的触发源挑选为定时器/计数器0溢出,ATmega16的定时器的时钟源也是可编程的。这样就能够经过操控定时器/计数器0溢出中止频率来操控ADC的采样频率。
图3简易示波器体系程序流程图
1.2.1、键盘功用
在这个体系中设置了7个按钮分别为:运转与中止,扩大倍数增大,扩大倍数减小,采样频率增大,采样频率减小,触发电平上移,触发电平下移。
运转与中止键:是经过敞开和封闭ATmega16 ADC转化结束中止的办法来完结的。
扩大倍数的增大与减小:是经过ATmega16操控模仿开关CD4051来完结扩大倍数的数字化操控。CD4051为8通道的模仿开关,所以程控扩大器能够有8档。
采样频率的增大与减小:是经过操控ATmega16的定时器0的时钟源及定时器的初始值来完结体系所需求的各个采样频率。定时器0的中止频率就等于ADC的采样频率。
触发电平的上移与下移:是经过对采样来的数据进行数字触发时,当数据的二进制值在添加的进程中某个数据的巨细刚好与数字触发的二进制数值相同,在此今后的波形数据才存入显现RAM中。
当这7个按键中的某一个被触发,都会置位相应的标志位,以便改写LCD液晶屏上相应的显现信息。
1.2.3、数字触发功用
怎么完结触发呢?用硬件来完结的话又会添加体系硬件电路的复杂度,我就想了一个办法,有软件的办法来完结触发的功用。完结的进程如下:
for (ik=0;ik<500;ik++){
if (k0_ram){
if (box_buff[ik] < trigger) {
kk_ram = 1 ;
}
if (kk_ram){
if ((box_buff[ik] >= trigger) & (ik < 402)){
en_ram = 1 ;
k0_ram = 0 ;
kk_ram = 0 ;
}}}
if (en_ram){
boxing[adc_data]=box_buff[ik] ;
adc_data++ ;
if (adc_data > 96){
adc_data = 0x00 ;
en_ram = 0 ;
}}}
trigger的巨细能够经过触发电平上移与触发电平下移按键来设置它的巨细。
1.2.3、复原波形
GDM12864A是一个具有128点x 64点的点阵LCD。依据所选的LCD的特色,Y轴上只要64个点,所以能显现的数据规模为0到63而采样得到的数据为8位的二进制数据为0到255。为了能在这个LCD上显现只取8位数据的高6位。那么怎么把这高6位的二进制数据转化成在LCD上的Y轴座标和数据值呢?我想了这样一个核算的办法:
LCD的纵向分为8个地址从上到下顺次为0~7,每个地址段有8个数据点。在某个数据段中假如想顺次让这些位从上到下点亮就需求顺次向这个地址段送数据0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,送入0x00后这个地址段的8个数据点将不被点亮。完结的详细进程如图4所示。