




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 目 录 1 系统设计任务与要求 - 2 - 1.1 设计要求设计要求 - 2 - 1.2 设计作用和目的设计作用和目的 - 2 - 1.3 课程设计应完成的任务 - 2 - 2 设计方案 - 3 - 2.1 信号产生部分 - 3 - 2.2 对幅度进行调整 - 4 - 2.3 对频率进行调整 - 4 - 2.4 滤波电路 - 5 - 3 硬件设计 - 6 - 3.1 系统框图 - 6 - 3.2 各功能模块 - 6 - 3.2.1 波形产生电路 - 6 - 3.2.2 键盘模块 - 6 - 3.2.3 滤波器设计 - 6 - 3.2.4 显示模块 - 6 - 3.3 各个功能块的实现原理及分
2、析 - 7 - 3.3.1 正弦波的产生 - 7 - 3.3.2 三角波的产生 - 7 - 3.3.3 方波的产生 - 7 - 3.3.4 幅度的控制 - 8 - 3.3.5 频率的控制 - 8 - 3.3.6 滤波器设计 - 8 - 3.3.7 键盘模块 - 8 - 4 软件设计软件设计 - 9 - 4.1 方框图 - 9 - 4.2 程序清单 - 9 - 4.3 测试结果图 - 14 - 5 心得体会心得体会 - 16 - 参考文献参考文献 - 17 - 1 1 系统设计任务与要求系统设计任务与要求 1.11.1 设计要求设计要求 利用 ARM 芯片设计信号发生器,包括 Sin、方波、三角
3、波形实现 1.21.2 设计作用和目的设计作用和目的 1、注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。 2、了解所选择的 ARM 芯片各个引脚功能,工作方式,计数/定时,I/O 口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。 3、通过软硬件设计实现利用 ARM 芯片完成信号发生器功能。 1.3 课程设计应完成的任务课程设计应完成的任务 1 查阅相关文献资料,熟悉所选 ARM 芯片; 2 总体设计方案规划 信号源的产生,用不同按钮选择不同信号源; 3 系统硬件设计,熟悉 DA 转换原理及过程及硬件接口实现及信号函数显示,注意频
4、率及幅度; 4 系统软件设计,包括 DA 转换及显示的软件实现,用 C 语言编程; 5 设计心得体会及总结。 2 2 设计方案设计方案 2.1 信号产生部分信号产生部分 方案一:使用集成函数发生器芯片 ICL8038。 芯片 ICL8038 能输出方波、三角波、正弦波和锯齿波四种不同的波形,将他作为信号发生器。它是电压控制频率的集成芯片,失真度很低。可输入不同的外部电压来实现不同的频率输出。为了达到数控的目的,可用高精度 DAC 来输出电压以控制正弦波的频率。 方案二:锁相环频率合成器(PLL)2 锁相环频率合成器(PLL)是常用的频率合成方法。锁相环由参考信号源、鉴相器、低通滤波器、压控振荡
5、器几个部分组成。通过鉴相器获得输出的信号 FO 与输入信号 Fi 的相位差,经低通滤波器转换为相应的控制电压,控制 VCO 输出的信号频率,只有当输出信号与输入信号的频率于相位完全相等时,锁相环才达到稳定。 如果在环路中加上分频系数可程控的分频器,即可获得频率程控的信号。由于输出信号的频率稳定度取决于参考振荡器信号 fi ,参考信号 fi 由晶振分频得到, 晶振的稳定度相当高,因而该方案能获得频率稳定的信号。一般来说PLL 的频率输出范围相当大,足以实现 1kHz10MHZ 的正弦输出。如果 fi100Hz 只要分频系数足够精细(能够以 1 步进) ,频率 100Hz 步进就可以实现。 方案三
6、:直接数字频率合成(DDS)3 DDS 是一种纯数字化方法。它现将所需正弦波一个周期的离散样点的幅值数字量存入 ROM 中,然后按一定的地址间隔(相位增量)读出,并经DA 转换器形成模拟正弦信号,再经低通滤波器得到质量较好的信号。 方案四: 基于计算的数字频率合成4 利用函数将波形的点数保存在芯片的 RAM 中,根据所要的波形的频率计算出它的周期,经计算得到在定时器定时时间固定的前提下产生一个完整的波形所需要的输出的点数,这样数据指针可以根据点数的数量来进行移动,得到频率准确、切换快速的信号。 方案一(VOC)不能实现稳定频率信号的输出并且难于数字控制。并且电容、电阻参数随温度等其他因素的影响
7、,频率稳定度以及电路的稳定度都较低,实现也较复杂,不予采纳。虽然 ICL8038 可很好的实现频率输出的控制,但查看 ICL8038 的设计资料4可知其频率输出范围为0.01Hz300kHz,不能达到题目的要求,故不予选用。PLL 方案和DDS 方案都能实现 1kHz10MHz 的稳定的信号输出,且能达到 100Hz频率步进,但是 PLL 的动态特性却很差,在频率改变时,环路从不稳定到稳定的过程有时间延迟。相比较而言,DDS 的频率输出范围一般低于PLL,且杂散也大于 PLL 方案,但 DDS 信号源具有输出频率稳定度高、精度更高、分辨率更高且易于程控等优点,且频率改变不存在失调过程,尽管有杂
8、散干扰,只需在输出级加滤波器仍可以得到质量很好的波形。而方案四集中了上述三个方案的各个优点,因此采用方案四来实现波形信号的产生。 2.2 对幅度进行调整对幅度进行调整 方案一:用高速模拟乘法器实现 采用 AD835 高速模拟乘法器,来实现模拟调制。模拟乘法器 AD835 的3dB 截止频率为 250MHz,能够满足题目的要求。但是 AD835 的差分输入范围仅为1V,因此必须对输入信号进行预处理,这样在增加硬件的同时,又加大了设计的难度。 方案二:采用高速的 D/A 转换器 在 LPC2138 中集成着一个高速的 D/A 转换器5,我们可以直接在软件中设置一个幅度的参数来改变输出波形的幅度大小
9、。 综上所述,采用方案(二)虽然增加了软件的难度,延迟了波形的输出时间,但是可以不用外加硬件拓展,节省了成本。 2.3 对频率进行调整对频率进行调整 方案一: 通过在存储芯片 ROM 中保存不同频率信号的信号发生点数,在频率切换时调用 ROM 中所存储的不同点数模块来实现频率的切换。 方案二: 在存储芯片 RAM 中保存由软件实时产生的波形点数,通过所取的点数的不同来决定发生的波形的频率。 由于设计中的信号要进行不断的改变,因此波形的数据不能存储在 ROM中,应该存储 RAM 中,因此采用方案二的设计方法。 2.4 滤波电路滤波电路 方案一: 利用运放芯片 TL082 构成的有源二阶巴尔沃基滤
10、波器6,它的频率范围可以达到 1MHZ,远远高于我们所要的达到的最高频率,而且可以同时提高输出电压的稳定性即带载能力。 方案二: 采用硬件构建的模拟滤波器,通常这种滤波电路主要采用无源元件 R,L和 C 组成的低通滤波电路6。其优点是具有不用电感,体积小,重量轻等优点;缺点是其集成运放的带宽有限,电路的工作频率有限难以做得很高。 由于所设计的信号源的频率相对来说不是很高,采用 RC 滤波器已经可以很好的完成设计的要求。因此采用方案二。 3 硬件设计硬件设计 3.1 系统框图系统框图 根据前述方案,得到以下系统方框图,如图 3-1 所示,包括键盘、芯片LPC2138、D/A 转换、滤波器、示波器
11、、串口 RS432、上位机。 图 3-1 系统方框图 3.2 各功能模块各功能模块 3.2.1 波形产生电路波形产生电路 通过软件将波形数据存储到 RAM 当中去,再把这些数据输送到 D/A 转换器进行转换得到模拟波形。 3.2.2 键盘模块键盘模块 用 LPC2138 开发板上自身带有的键盘得到键值,通过中断服务程序将键盘信息传给控制芯片。 3.2.3 滤波器设计滤波器设计 直接采用 RC 过程的简单的滤波电路,此方法设计简单,又完全满足设计要求。 3.2.4 显示模块显示模块 波形直接在示波器上显示,波形的中间调试参数在上位机 EasyARM2131上显示,这样节省了外部显示模块的扩展,使
12、得硬件电路更加的简便。 3.3 各个功能块的实现原理及分析各个功能块的实现原理及分析 3.3.1 正弦波的产生正弦波的产生 本设计中信号的产生直接用 LPC2138 芯片上集成的 D/A 转换器和软件的结合来生成。波形的信号数据采用了函数计算的方法来取得: Y=sin(N7 (3-1) 其中,N 表示所要取得的点数的多少。在设计中我选择 N=1024,即一个完整的基本的正弦信号有 1024 个数据信号点组成。 将数据存储到控制芯片 LPC2138 的 RAM 当中,根据所要的频率来取得信号数据的多少,点数多少的计算如下: N=T/2t7 (3-2) 其中,N 表示点数,T 表示所要产生的波形信
13、号的周期,t 表示定时器的时间长短. 从 RAM 中 取得点数的间隔为: M=1023/N8 (3-3) 其中 M 表示在 RAM 中的表格取得点数的间隔.根据不同的间隔的大小决定产生一个完整的波形信号所要的数据多少不同. 设计中要求信号的最高产生的频率为 50KHZ, 根据奈奎斯特定理,采样的频率最少要为所要信号的频率的两倍,但是为了更好的保证信号的完整输出,我们至少要让它采样 10 个点才能输出完整波形,就要求采样的频率为他的 10 倍即 500KHZ,采样时间的大小为 2us,这刚好满足了 LPC2138控制芯片上的集成 D/A 转换器最高转换时间为 1us 的限制。 3.3.2 三角波
14、的产生三角波的产生 在设计中,三角波的产生就直接利用定时器定时时间的长短来控制信号数据的输出,信号数据从一个较低(或高)的位置开始按照一定的规律步进9,当其达到一个高度时再按照相同的步进下降到原来的数据大小,如此反复的输出就构成了三角波模拟信号的输出。 3.3.3 方波的产生方波的产生 在设计中,方波的产生由大小不同的两个信号数据交替输出形成,每个信号数据输出的时间长短根据所要点信号频率来决定。 3.3.4 幅度的控制幅度的控制 在设计中,为了能使波形在示波器中显示,这样就要设定好波形的幅度,在设计时我们把波形的幅度控制在 1024 之内,才能很好的显示波形。同时为了改变幅 度的大小,我们设置
15、了一个参数直接与所取得的信号数据相乘,这就改变了信号数据的大小,也就使得 D/A 转换时的数据大小产生变化,从而体现在输出的信号波形在幅度上发生改变。 3.3.5 频率的控制频率的控制 在输出的信号数据的时间间隔一定时,当产生一个完整波形时所需要的在输出的信号数据的时间间隔一定时,当产生一个完整波形时所需要的点数发生变化时信号的周期就发生变化,这样它的频率就相应的变化。点数发生变化时信号的周期就发生变化,这样它的频率就相应的变化。因此,在设计中,因此,在设计中, 通过固定定时器的定时长短,改变波形数据的点数多通过固定定时器的定时长短,改变波形数据的点数多少就改变了信号的频率。少就改变了信号的频
16、率。 3.3.6 滤波器设计滤波器设计 由于我所设计的信号源的输出频率还不是很高,所以可以用简单的低通由于我所设计的信号源的输出频率还不是很高,所以可以用简单的低通滤波器就可以完成滤波的功能,因此我选择使用滤波器就可以完成滤波的功能,因此我选择使用 RC 低通滤波器。参数为:低通滤波器。参数为:R=100 欧姆,欧姆,C=0.1UF。 具体结构如下:具体结构如下: R 图图 3-2 3.3.7 键盘模块键盘模块 键盘是直接与键盘是直接与 ARM(LPC2138)芯片的)芯片的 P0 口口 P0.16P0.21 连接,通过连接,通过ARM 芯片对芯片对 P0.16P0.21 输入数据,输入数据,
17、0 表示有效,表示有效,1 表示无效表示无效11。键。键 1用来选择输出波形,键用来选择输出波形,键 2 用来选择所要改变的参数,键用来选择所要改变的参数,键 3 和键和键 4 用来加用来加/减键减键 3 所选的参数所选的参数 4 软件设计软件设计 4.1 方框图方框图 由设计方案进行进一步的软件设计,首先得到流程图如图 4-1 所示,主要包括:初始化、键盘扫描、PC 机显示波形等部分。 N 正弦波 PC 机显示波形 方波 键盘扫描 Y 三角波 判断是否有键按下? 开始 图图 4-1 4.2 程序清单程序清单 由硬件设计及主程序流程图,经过 C 语言编程,在 ADS 环境下运行,完成了信号源发
18、生器的软件设计部分,实现了设计的内容。部分主要程序清单如下: 1 1、初始化串口、初始化串口 0 0 void UART0_Init (void uint16 Fdiv; U0LCR = 0 x83; / DLAB = 1,可设置波特率 Fdiv = (Fpclk / 16 / UART_BPS; /设置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0 x03; 2 2、向串口发送字节数据、向串口发送字节数据 void UART0_SendByte (uint8 data / data=18; U0THR = data; /发送数据发送
19、数据 while (U0LSR & 0 x40 = 0; / 等待数据发送完毕等待数据发送完毕 3 3、向 PCPC 机发送显示字符。 void PC_DispChar (uint8 x, uint8 y, uint8 chr, uint8 color UART0_SendByte(0 xff; / 起始字符起始字符 UART0_SendByte(x; /发送字符显示坐标(发送字符显示坐标(x,y) UART0_SendByte(y; UART0_SendByte(chr; /发送显示字符发送显示字符 UART0_SendByte(color; 4 4、向上位机发送字符串。 void ISen
20、dStr (uint8 x, uint8 y, uint8 color, char *str while (1 if (*str = 0 break; / 结束字符结束字符 PC_DispChar(x+, y, *str+, color; /发送显示数据发送显示数据 if (x = 80 x = 0; y+; 5 5、定时器 0 0 中断服务程序。 void _irq IRQ_Timer0(void pinsave=(IO0PIN&pinvalue; if(pinsave!=pinvalue while(delay+=2 delay=0; if(pinsave = (IO0PIN&pinval
21、ue switch(pinsave case 0 x003e0000: bo=bo+1; if(bo4 bo=1; break; case 0 x003d0000: canshu+=1; if(canshu2 canshu=1; break; case 0 x003b0000: switch(canshu case 1: if(hight26 hight=hight+1; break; case 2: if(fc100 fc=fc+2; break; break; case 0 x00370000: switch(canshu case 1: if(hight26 hight=hight-1;
22、 break; case 2: if(fc100 fc=fc-2; break; break; T0IR=0 x01; VICVectAddr=0 x00; 6 6、定时器、定时器 1 1 捕获中断服务程序捕获中断服务程序 void _irq IRQ_Timer1(void switch(bo case 1: sin_wave(; break; case 2: trip_wave(; break; case 3: fang_wave(; break; default: break; T1IR=0 x01; VICVectAddr=0 x00; 7 7、主程序、主程序 int main (voi
23、d char str30; const double T = (2 * 3.1415926/1024; /把一个周期分成 2048 份 for(i=0;i1024;i+ tablei = 512*(1+sin(T*i; PINSEL0 = 0 x00000000; / 设置管脚连接 GPIO,管脚功能选折寄存器全部为 0 时选为 GPIO 功能 PINSEL1=(218; PINSEL2=PINSEL2&(0 x08; DACR=(016; /最大定时 1US,电流 700UA IRQEnable(; T0TC=0; T0PR=0; T0MCR=0 x03; T0MR0=Fpclk/2; T0
24、TCR = 0 x03; / 启动并复位 T0TC T0TCR=0 x01; T1TC=0; T1PR=0; T1MCR=0 x03; T1MR0=Fpclk/205000*(fc/100; /把一秒分成 2048 份,再根据要求的频率来进行设置 t T1TCR = 0 x03; / 启动并复位 T1TC T1TCR=0 x01; VICIntSelect=0 x00; VICVectCntl0=0 x20|0 x04; VICVectAddr0=(uint32IRQ_Timer0; VICVectCntl1 = 0 x20 | 0 x05; / 设置定时器 1 中断通道分配最高优先级 VIC
25、VectAddr1 = (uint32IRQ_Timer1; VICIntEnable =(10 x04|(1 0 x05; while (1 sprintf(str, M mv, hight; ISendStr(0,8,0 x30,str; sprintf(str, M hz, fc; ISendStr(0,10,0 x30,str; return 0; 4.3 测试结果图测试结果图 由以上硬件、软件设计,经实验调试得到测试结果,如图 4-2、4-3、4-4 所示,分别为三角波、正弦波、方波。 图 4-3 三角波(频率=200HZ 幅度=2.4V) 图 4-4 正弦波(频率=40HZ 幅度=100MV) 图 4-5 方波(频率=1000HZ 幅度=2V) 5 心得体会心得体会 两个周的嵌入式课程设计基于 ARM 的信号源发生器设计就要结束了,虽然课程设计的时间比较短,但我却收获了很多值得总结和值得我铭记于心的知识和认识。 开始课程设计的时候,由于我们学的都是一些嵌入式方面的理论知识,牵涉到实际的我们几乎一无所知,所以我们组的成员都不知道该怎么入手,我们通过请教 老师,以及上网查询等通道,终于顺利的完成数据采样系统的各方面设计。这样一个过程使我的理论知识得到了试验和应用,使我的理论知识得到了进一步的提高。 通过这次 ARM 课程设计,我对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江西中考数学试卷真题答案解读及备考指导
- 高中化学课程中校园植物化学成分分析与应用研究论文
- 小学生网络互动游戏对认知发展影响分析论文
- 高中语文课程思政教育中的历史教育价值挖掘与传承论文
- 中国医药级酮咯酸氨丁三醇行业市场前景预测及投资价值评估分析报告
- 节电方案与管理制度
- 英文版公司管理制度
- 电工学试题集和试题集及答案
- 小学语文《夜色》课件
- 财务管理学自考历年真题
- NB/T 11123-2023煤矿安全双重预防机制规范
- 内墙抹灰安全技术交底
- 中学美术校本教材《素描》
- 上海市2023年初中毕业物理课程终结性评价指南
- 中国教师发展基金会国家教师科研基金规划全国重点课题实施指南
- (通桥【2018】8370)《铁路桥梁快速更换型伸缩缝安装图》
- “双减”背景下的初中数学课堂教学设计与思考 论文
- 义务教育语文课程标准(2022)测试题带答案(20套)
- (医院护理论文)护理本科生学习适应现状及影响分析
- 保护性约束完整版
- 明源地产erp3.04-费用管理操作手册
评论
0/150
提交评论