简易数字示波器设计Word_第1页
简易数字示波器设计Word_第2页
简易数字示波器设计Word_第3页
简易数字示波器设计Word_第4页
简易数字示波器设计Word_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、如不慎侵犯了你的权益请联系我们告知!电信专业综合实践设计题目:在LPC2210开发板的基础上-简易数字示波器设计学校:班级:IA学号: 指导老师:2011. 1. 1如不慎侵犯了你的权益,请联系我们告知!目录第1章设计内容与要求 .11.1设计内容 .11.2设计要求 .11.3系统功能 .11.4应用分析 .1第2章系统总体设计 .32. 1总体框图 .32. 2总体设计分析 .3第3章硬件结构 .73. 15V电源电路.73. 2系统电源电路 .83.3复位电路 .103.4JTAG 接 口电路 .113.5系统存储器电路 .113.6TFT液晶接口电路.123.7串口接口电路 .133.

2、8ADC 电路.143.9按键控制电路 .153. 10主芯片电路 .14第4章软件分析 .144. 1软件框图分析 .144.2任务的划分 .154.3任务的优先级设计 .154. 4液晶初始化设计 .16如不慎侵犯了你的权益,请联系我们告知!4.5定时器设计 .164.6AD转换设计.164.7数据处理 .174.8触发设计 .174.9周期设计 .174.10求最值设计 .184.11主函数与调用的TASK设计 .18拓展部分.19参考文献.20如不慎侵犯了你的权益,请联系我们告知!第一章设计内容与要求1. 1设计内容:在LPC2210开发板的基础上设计一简易数字示波器。1. 2设计要求

3、:数字示波器的硬件系统的电路原理图设汁数字示波器的图形界面设计数字示波器的信号触发、矢量显示、轨迹消隐实现被测信号的周期、最大/最小值实现1. 3系统功能:以LPC2210开发板的液晶屏模拟数字示波器的显示屏,实现被测波形的显示。1. 4应用分析:本设计对基于ARM (Advanced RISC Machine)的简易示波器的设计过程进行了介绍。主要对系统的硬件设计部分和软件设计部分进行了分析。硬件设计部分首先给出了系统框 图,然后对各个组成模块进行了介绍。并给出了各模块所使用的主要元器件。包括电源部分、 放大部分、控制部分、键盘功能及芯片的采集和显示部分。软件设汁部分编写了使能部分、 AD转

4、换、显示部分、数值计算部分。如不慎侵犯了你的权益,请联系我们告知!第二章系统的总体设计2. 1总体框图2-1系统框图2. 2总体设计分析本设计如果选择的是DSP,设计中用到芯片就会增多,而且因为DSP造价高于ARM并且 小信号的采集如果应用DSP放大芯片有很多限制,不易选取。而应用ARM则减少了这方面的 问题。在嵌入式处理器设计领域,RISC:已经成为处理器结构设计的必然选择。嵌入式微处 理器嵌入式系统是以应用为中心,以计算机技术为基础,软硬可裁剪、适应应用系统对功能、 可靠性、成本、体积、功耗严格要求的专用汁算机系统。并且该系统是以提高对象体系智能 性、控制力和人机交互能力为目的,通过相互作

5、用和内在指标评泄的,嵌入到对象体系中的 专用讣算机系统。而嵌入式微处理器是嵌入式系统的核心部件,是决定嵌入式系统功能强弱 的主要因素,也决定了嵌入式系统的应用范围和开发复杂度。本设计需要解决的问题包括硬件部分和软件部分。硬件部分的设汁主要是芯片选择,控件的选择,放大倍数的控制,衰减倍数的选择。如不慎侵犯了你的权益,请联系我们告知!软件部分的设汁主要是驱动程序的编译,主函数主要功能的实现,按键控制的选择。如不慎侵犯了你的权益,请联系我们告知!t2LEDS第三章硕件结构3. 1 5V电源电路LPC2200系列ARM7微控制器均要使用两组电(LPC213x, LPC214x除外),I/O 口供电电

6、源为3. 3V,内核及芯片外设供电电源为1. 8V,所以系统设计为3. 3V应用系统。首先有CZ1 电源接口输入9V宜流电源,二极管D1防止电源反接,经过C42,C44滤波,然后通过LM2575 将电源稳压O5Y,再使用LDO芯片(低压差芯片)稳压输出3.3Y及1.8V电压。如图所示(1-1),所设计的5V电源电路的稳压芯片使用的是LM2575开关电源芯片。图3-1(5V电源电路)3. 2系统电源电路系统电源电路如图1-2所示,LD0芯片分别采用SPX1117M3-1. 8和SPX1117M3-3. 3,其 特点为输出电流大,输出电压精度髙,稳定性好。犹豫LPC2200系列ARM7微控制器具有

7、独 立的模拟电源和模拟地引脚,为了降低噪声和出错几率,模拟电源与数字电源应该隔离。这 里使用10uH的电感L2L4实现电源隔离(将高频噪声隔离),并且在设计PCB板时采用大而 积敷地,以降低噪声。LiXJOAJLIAC4d 40C*FXi$Vi 5VIQuHL4/VVVX1DuHAVDD33C48104AGNDATDDl.21CW如不慎侵犯了你的权益,请联系我们告图3-2 (系统电路)3. 3复位电路由于ARM芯片的告诉、低功耗和的工作电压导致貝噪声容限低,对电源的纹波、瞬态响应性能、时钟源的稳宦性和电源监控可靠性等诸多方而也提出了更高的要求。如图1-3所示。图3-3 (系统复位电路)3. 4

8、 JTAG接口电路采用RAH公司提岀的标准20脚JTAG仿真调试接口,JTAG信号的龙义以及与LPC2210 的连接如图1 -4所示。图中,JTAG接口上的信号nTRST连接到LPC2210芯片的TRST引 脚,以达到控制LPC2210内部JTAG接口电路复位的目的(但不控制CPU复位)。VOUTU12SPZ117M3-3 3VIN VOUTUH壬SFZI 曰 ygC旳 ChF/l6VC46 220uF/16VAGFD】不犯了你的权益,请联系我们告知!ETM_ENP1.3imTPl 28 TDIP1.30/TMSP1.207TCKP1.29/TDOPl 26TtTCK1234567801011

9、1213141516r181920图3-4 (JTAG接口电路)3. 5系统存储器电路SartARM2200j教学实验开发平台上扩展了 2MB NOR FLASH (型号为SST39VF160)和8MBPSRAM(芯片型号为MT45W4MW16),电路如图1-5。为了方便程序调试及最终代码的固化应用, 使用LPC2210外部存储接口的BANKO和BANK1地址空间,并且可以通过JP10跳线将片选信 号CSO和CS1分别分配给SRAM或FLASHo在使用JTAG调试程序时,分配SPRAM为BANKO地 址,因为BANKO可以进行异常向量表的重新映射操作。当最终代码固化到FLASH时,分配 FLA

10、SH为BANKO地址,SRAM为BANK1地址。这是因为BANKO可以用来引导程序运行。若使用 BANKO引导程序运行,将JP9短接到OUTSIDE端,使系统复位时B00T1和BOOTO引脚的电平 为ObOl (即二进制值01).图3-5 (系统存储器电路)3 . 6 TFT液晶接口电路SmartARM2200教学实验开发平台标配有2. 2英寸液晶屏-TF6758液晶模块其电路原理 如图1-6所示。TFT6758液晶模块的工作电压为3. 3V,内带白光LED背光灯,可以直接使用 8位、16位或18位总线方式与控制器连接(因为液晶模块内部包含了 HD66781和HD66783 102Vdil3.

11、3 IITRST :U1F1.ZOTKACE5YNCJ2、而.Jg .KVt*_ yfaT1X1XXI0.31X1XXI1X5o zJJUJ/31 P- /F VXKitC1XKDVA.Q v:aQCC vJTVJJOiJ=!=f TH . l( (HJJJ血AJnXJAJnXJ昌吕1515衆1515川圮器erETrerETr如不慎侵犯了你的权益.请联系我们告知!液晶控制驱动器)。为了得到更搞的数据传输速率,设计电路时采用16位总线接口,按照 HD66781芯片说明,需要IM3和IMO引脚0电平,16位数据分别为DB17DB10和DB8DB1 引脚,为使用的DBO和DB9引脚应接地,电路连接如

12、图1-6所示。因为不使用DMA传输功能, 所以将DACK引脚接为髙电平。如不慎侵犯了你的权益.请联系我们告知!O20?130oo- o -8=7=R虧5VCCCUV*C】V-C2-Gi-IDC2-T1OUTT1IHR1DTR1OUTT30UTT21NR2CHR2GVTPD 14 DCD1JF1ISP3. 7串口接口电路由于系统电源是3.3V,所以应使用SP3232E进行RS232电平转换,SP3232E是3V工作电源的RS232转换芯片。如图1-7所示VDD33图3-7 (串口接口电路)3. 8 ADC电路图3-6 (TFT6758液晶模块应用电路)g7”VDD3315CZ21310 POCL

13、TKCO9 PUIHLLO10K.如不慎侵犯了你的权益.请联系我们告知!PC2114/2124/2119/2129/2194 具有 4 路 10 位 ADC 转换器, LPC2210/2212/2214/2290/2292/2294 具有 8 路 10 位 ADC 转换器,其参考电压为 3. 3V (由 V3a引脚提供),参考电压的精度会影响ADC的转换结果。SmartARM2200教学实验开发平台 提供了两路滞留电压测量电路如图1-8所示,可调电阻W1和腔用于调整ADC的输出电压, 可以在VINI和VIN2测试点上用万用表检查当前电压值。R36和R37为I/O 口保护电阻,当 ADC输入电压

14、调整到3. 3V或0V时,而P0. 27或P0. 28作为GPIO输岀0或1,此刻,这两个 电阻保证电路不产生短路故障。如不慎侵犯了你的权益.请联系我们告知!JP23. 9按键控制电路按键:在SmartARM2200教学实验平台上使用P0. 20扩展一个独立按键KEY1,当需要使 用此按键时,应将JP2跳线短接。当断开JP2跳线时,P0. 20可以通过J5连接器(GPI0输 出接口)与用户板连接使用。VDD3.3R261OKKEY1Q如不慎侵犯了你的权益.请联系我们告知!图3-9 (按键控制电路)3. 10主芯片电路LPC2210是基于一个支持实时仿真和跟踪的16/32位ARM7TDHI-S

15、CPU的微控制器, 并带有0/128/256KB嵌入的髙速片内Flash存储器,片内128位宽度的存储器接口和独特的 加速结构使32位代码能够在最大时钟速率下运行。由于LPC2210具有较小的64个144脚封 装,极低的功耗,多个32位左时器,4路10位ADC或8路10位ADC (64脚和144脚封装) 以及多达9个外部中断。如不慎侵犯了你的权益.请联系我们告知!图3-10 (主芯片电路)第四章软件分析4. 1软件框图分析如不慎侵犯了你的权益.请联系我们告知!如不慎侵犯了你的权益.请联系我们告知!GUI_Line(184,26& 184, 315, Oxffff);GUI_Line(144,2

16、6& 144, 315, Oxffff);4. 2任务的划分对一个嵌入式应用系统进行“任务划分”,是实时操作系统应用软件设计的关键,任务 划分是否合理将直接影响软件设计的质量。任务划分原则如下: 以CPU为中心,将与各种输入/输出设备(或端口)相关的功能分別划分为独立的 任务。 发现“关键”功能,将英最关键”部分“剥离”岀来,用一个独立任务(或ISR) 完成,剩余部分用另一个任务实现,两者之间通过通信机制沟通。 发现“紧迫”功能,将其最“紧迫”部分“剥离”出来,用一个独立的高优先级任 务(或ISR)完成,剩余部分用另一个任务实现,两者之间通过通信机制沟通。 对于既“关键”又“紧迫”的功能,按“

17、紧迫”功能处理。将消耗机时较多的数据处理功能划分岀来,封装为低优先级任务。将关系密切的若干功能组合成为一个任务,达到功能聚合的效果。将由相同事件触发的若干功能组合成为一个任务,从而免除事件分发机制。将运行周期相同的功能组合成为一个任务,从而免除时间事件分发机制。将若干按固定顺序执行的功能组合成为一个任务,从而免除同步接力通信的麻烦。4. 3任务的优先级设计为不同任务安排不同的优先级,英最终目标是使系统的实时性指标能够得到满足。在实 际的产品开发中,应该在项目开始时,仔细思考和推敲。如果任务优先级的设泄有误,对以 后的开发和调试会带来极大的困扰,会让工程师花很长时间来査错误,而且出现的错误不好

18、排除。所以设计任务的优先级是很重要的。本次实验一共建立了五个任务,其优先级如下:OSTaskCreate(TaskO, (void *)0,&TaskOStk128 -1, 2);/创建TaskO任务,优先级为2OSTaskCreate(Taskl, (void *)0,&TasklStk128 -1, 3);/创建Taskl任务, 优先级为3OSTaskCreate(Task2, (void *)0,&Task2Stk128 -1, 4);/创建Task2任务,优先级为4OSTaskCreate(Task3, (void *)0,&Task3StkE128 -1, 5);创建Task3任务,

19、优先级为5OSTaskCreate(Task4, (void *)0,&Task4Stk128 -1, 6);/创建Task4任务,优先级为64. 4液晶显示初始化设计GUI_PrtPic(O, 0, 239, 319, glmage.rootOl) ;/ 示波器而板(背景)图显示GUI_Line(224, 268, 224, 315, Oxffff) ;/Running至Off间6根短白线如不慎侵犯了你的权益.请联系我们告知!GUI_PrtStr(208,显示GUI_PrtStr(188,GUI_PrtStr(168,显示GUI_PrtStr(148,GUI_PrtStr(128,60uS

20、显示GUI_PrtStr(108,GUI_PrtStr( 8&270,280,273,275,270,275,274,Coupling, 0 xfee4, 0 x0274) ; / Coupling和DC ” DC 0 x0000, Oxffff);Volt/Div, 0 xfee4, 0 x0274); / Volt/Div和0. 42V0. 42V0 x0000, Oxffff);/Time/Div, 0 xfee4, 0 x0274) ;/ Time/Div和60uS 气 0 x0000, Oxffff);TrigVolt, 0 xfee4, 0 x0274) ; / TrigVolt显

21、示sprintf(UART0_StrBuff, %1. 2fV /z, CHlTptVal*3. 3/255);GUI_PrtStr(GUI_PrtStr(6&4&276, UARTO.StrBuff, 0 x0000, Oxffff);280, Invert, 0 xfee4, 0 x0274) ;/ Invert和Off 显GUI_PrtStr(283, ” Off , 0 x0000, Oxffff);4.5定时器设计PWMPR = 0 x00;PWMMCR 二 0 x02;PWMMR0 二 CYCLE.DATA;PWMMR6 二 DUTY_CYCLE_DATA;/不分频,计数频率为Fp

22、clk/设置PWMMR0匹配时复位PWMTC /设置PWM周期设置PWM占空比/4.PWMLER = 0 x41;PWMPCR = 0 x4000;PWMTCR = 0 x09;/PWMMRO、PWMMR6锁存 允许PWM6输出,单边PWM 启动定时器,PWM使能6 AD转换设计ADCR = (1 7)(Fpclk / 4500000 - 1) 8)-1 ,即转换时钟为4.5MHz/ SEL = 0 x80 ,选择通道7/ CLKDIV = Fpclk / 4500000(116)/ BURST = 1 ,软件控制转换操(2换,8位精度(1(非掉电转换模式)(0 17)21)22)/CLKS

23、= 2 ,使用9clock转PDN = 1 ,正常工作模式TEST1:O = 00 ,正常工作如不慎侵犯了你的权益.请联系我们告知!GUI_Line(104,26&104,315, Oxffff);GUI.Line( 64,26&64,315, Oxffff);GUI.Line( 24,26&24,315, Oxffff);如不慎侵犯了你的权益.请联系我们告知!WaveTrackCnt=0;模式(非测试模式)(1 24)/ START 二 1 ,直接启动ADC如不慎侵犯了你的权益.请联系我们告知!(1 27);触发ADC转换)dat = ADDR; 位/ EDGE 二 0 (CAP/MAT引脚

24、下降沿/读取ADC结果,并清除DONE标志转换4. 7数据处理void OSC_PCM(void) 位uint32 i, dat;/ 2048个数据采集,每个数据为8for(i=0; i1024*2; i+)1while( (ADDR&0 x80000000)=0 );/等待转换结束dat = ADDR;/读取ADC结果CHlEi = (dat8) & OxFF; /扌是取AD转换值4. 8触发设计uintS OSC_LockTrigerPoint(void) uint32 i;uint32 AvgO, Avgl;/触发点锁定CHlTptl 二 0;for(i=250; i0 )/比较2个釆样

25、点,判断是否为上升沿CHlTptVal = 80;/ 触发点电压为:3. 3*80/255=1. 04Vif(AvglCHlTptVal) & (AvgO 240)/求(寻找)周期/已经锁定触发点,可以寻找周期for(i=CHlTptl+8; i0 )/CHlTptVal = 128;if(AvglCHlTptVal) & (AvgOCHlTptVal)/是否为触发点CHlTpt2 = i;i = Oxffff;i+;if(i = 1250)CHlTpt2 二 250; return (0);elseCHlFre = 422880/(CHlTpt2-CHlTptl); return (1);/

26、给定一个初始值用于显示i+;if(i = 1250)CHlTptl 二 250; return (0);elsereturn (1);4. 9周期设计如不慎侵犯了你的权益.请联系我们告知!4.10求最值设计void 0SC_CHlMaxMin(void) uint32 i;uint32 Max, Min;/求(寻找)最大值和最小值4. 11主函数与调用的TASK设计#include configh#include stdlibhOS.STK TaskOStk 128;/ Define the TaskOstackOS.STKTasklStk 128;/ Define the Tasklstac

27、kOS.STKTask2Stk 128;/ Define the Task2stackOS.STKTask3Stk 128;/ Define the Task3stackOS.STKTask4Stk 128;/ Define the Task4stackvoidTaskO(void *pdata);/ TaskO 任务0voidTaskl(void *pdata);/ Taskl 任务1voidTask2 (void *pdata);/ Task2 任务2voidTask3 (void *pdata);/ Task3 任务3voidTask4 (void *pdata);/ Task4 任务4

28、intmain(void)Max = CHlECHlTpt1-125;Min 二 CHICHlTpt1-125;for(i=CHlTpt1-125; iMax)Max 二 CHli;if(CHIiMin)Min 二 CHlEi;CHlMax = Max;CHlMin = Min;定义用户任务0的堆栈定义用户任务1的堆栈定义用户任务2的堆栈定义用户任务3的堆栈 定义用户任务4的堆栈如不慎侵犯了你的权益.请联系我们告知!pdata 二 pdata;while/启动操作系统TaskO任务0/采样1600个数据,void TaskO(void *pdata)uint32 i;pdata 二 pdata

29、;Targetlnit ();while (1)OS_ENTER_CRITICAL ();for(i=0;i= 5) pwm = 1;PTOIR6 = DUTY_CYCLE_DATA*pwm; / 设置PWM占空比PWMLER =PWMTCR =拓展知识Agilent 1000系列便携式示波器23种自动测量所有型号的1000系列示波器都配有23种自动电压、时间和频率测量项 目。按下Measure键就可调出三种您最常用的测量,或在屏幕上同时显示岀一 个通道的所有测疑结果。序列模式让您轻松进行调试序列模式可记录最多1000次触发产生的波形,然后进行回放,轻松找出 毛刺和其他异常,以便进行进一步分析。示波器可将波形存储到内部存储器或 外部存储器(USB闪存)中。对波形进行数字滤波如不慎侵犯了你的权益.请联系我们告知

温馨提示

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

评论

0/150

提交评论