




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、装订线长 春 大 学 课程设计纸目 录一 设计目的1二 设计内容1三 设计要求1四 设计过程11 任务解析12 器件选择23 电路连接94 功能实现115 系统测试12五 设计总结13参考文献13附录14一 设计目的通过课程设计,进一步巩固课堂上所学的知识,深刻把握嵌入式环境C语言编程实践技术的重要概念及其特性,掌握软件开发的基本流程,锻炼我们应用设计方法解决实际问题的能力,培养我们合作精神和技术文档撰写能力。二 设计内容(1)设计D/A驱动程序;(2)定时采集D/A数据;(3)将数据保存到数据库。三 设计要求(1)设计开发思想要清晰、详细; (2)撰写说明书、结构图要清楚。四 设计过程1 任
2、务解析本设计的基于ARM 的嵌入式数据采集本系统,首先设计D/A驱动程序,并考虑到系统的可扩展性和延伸性,本系统采用主从CPU协同工作实现了数据的实时采集、传输与显示,具有处理速度快、精度高、人机交互界面友好、稳定性高、扩展性好等优点,得到与被测参数对应的测量值或形成相应的决策与判断;数据输出是将处理结果送给输出设备,进行显示、储存等操作。系统功能图如图1所示。 图1 系统功能框图2 器件选择 (一)AD转换器的的选择(1)根据AD转换器基本原理及特点,可以分为以下类型:积分型、逐次逼近型、并行比较型/串并行型、-调制型、电容阵列逐次比较型及压频变换型。1)积分型(如TLC7135) 积分型A
3、D工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。 2)逐次比较型(如ADC0809)逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(12位)时价格很高。3)并行比较型/串并行比较型(如TLC5510)并行比较型AD采用多个比较器,
4、仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。串行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路规
5、模比并行型小。4)-(Sigma?/FONTdelta)调制型(如AD7705) -型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。5)电容阵列逐次比较型电容阵列逐次比较型AD在内置DA转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式
6、的。6)压频变换型(如AD650)压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。 考虑到设计指标要求8路模拟输入,可采用的A/D转换器有多种如:AD574、ADC0809、ADC0804等,但是ADC0809本身具有8路模拟输入端,不需要多路开关,考虑节省硬件开支故采用ADC0809作为模数转
7、换器。(2)ADC0809的技术指标如下 :主要特性 1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s 4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图2所示,它由8路模拟开关、地址锁存与译码器、比较器、8路开关树型D/A转换、逐次逼近型寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容
8、。图2 ADC0809内部结构框图图3 ADC0809管脚图外部引脚功能 ADC0809芯片有28条引脚,采用双列直插式封装,如图3所示。下面说明各引脚功能 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线用于选择8路模拟输入中的一路,ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数
9、字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 (二)DA转换器的选择数字量的值是由每一位的数位权
10、叠加而得的。例如,8位二进制数10000001,只有最高位和最低位上的代码为l,其他数位均为0,最高位的位权为2的7次方128,最低位的位权为2的0次方1,所以,该二进制数10000001就是十进制数129。把一个数字量变为模拟量,必须是把每一位上的代码按照位权转换为对应的模拟量,再把各模拟量相加,这样,求和得到的便是与数字量对应的模拟量。在DA转换电路中,通常采用电阻网络实现数字量到模拟电流的转换,再利用运算放大器完成模拟电流到模拟电压的转换。所以,要把一个数字量转换为模拟电压,实际上需要两个环节,即先由DA转换器把数字量变为模拟电流,再由运算放大器将模拟电流变换为模拟电压。目前,DA转换集
11、成电路芯片大多数都包含了这两个转换环节。对只包含第一个转换环节的DA转换芯片时,需要外接运算放大器才能得到模拟电压。DA转换器品种繁多,有权电阻DAC、变形权电阻DAC、T型电阻DAC、电容型DAC和权电流DAC等。各种勘DAC在电路结构上,通常都由基准电源、解码网络、运算放大器和缓冲寄存器等部件组成。不同的DAC主要差别在不同的解码网络形式。其中,T型电阻解码网络的DAC,由于网络电阻阻值少(只有只和2R两种)、简单、转换速度快、转换误差小等优点特别受到青睐。常用的各类DA转换器及其性能。其中,既有分辨率较低、价格也较低的通用8位芯片,也有速度和分辨率较高、价格也较高的1216位芯片;既有电
12、流输出的芯片,也有电压输出的芯片;服有内部没有数据输入寄存器,不能直接和系统总线相连的、结构简单的芯片,如DAC0808,DAC0800等,也有内部有数据输入寄存器,可以直接和系统总线相连的芯片,如DAC0832,DACl210等。集成运放NE5534由于 DAC0832 输出级没有加集成运放,所以需外加 NE5534 相配适用。NE5534 封装如下图4所示。图4 NE5534的管脚图IN-:反相输入端;IN+:同相输入端;OUT:输出端;Balance:平衡输入端,主要作用是,使内部电路的差动放大电路处于平衡状态;COMP/Bal:调节外接电阻,以达到改善放大器的性能和输出电压;VCC-、
13、 VCC+:正负电源; (三)中断控制器的选择(1)中断系统功能与组成1)中断系统应具有的功能多中断源请求,软件可禁止与允许每个请求。中断优先级判别功能,响应优先级别最高的请求。中断嵌套功能,高级别中断可中断较低级别的中断。响应中断后,能自动转向中断处理程序,处理结束后自动返回主程序。2)中断系统的组成微处理器应有处理中断请求的机制与相关硬件电路:接收请求,响应请求,保护现场,转向中断服务程序,处理完返回。外围应有一个与处理器匹配的中断控制器:管理多个中断源,优先级裁决,中断源屏蔽等功能。(2)本次设计中断控制器选用82591)可编程中断控制器8259功能、内部结构及外部引脚定义可编程中断控制
14、器8259功能和内部结构 图5 8259内部结构图8259的外部引脚信号 图6 8259外部引脚图2) 8259A的工作方式 优先级方式选择 a)全嵌套方式:固定优先级,IR0最高,IR7最低。 b)特殊全嵌套:与a)基本相同,响应同级中断请求 c)优先级自动循环:某级被响应后,降为最低。如IR4被响应后,优先级顺 序变为:IR5,IR6,IR7,IR0,IR1,IR2,IR3,IR4。 d)优先级特殊循环方式:编程指定最低优先级,其它同c)。 屏蔽中断方式选择 a)普通屏蔽方式选择:对应IMR为1的位中断请求将被屏蔽。 例如:IMR=00001100,则IR2、IR3的中断请求被禁止。 b)
15、特殊屏蔽方式: 执行中断程序时,动态改变优先级结构,屏蔽本级,允 许较低级请求被服务。 中断结束方式:ISRn被清0,中断结束。 中断请求信号触发方式选择 a)边沿触发方式。8259的IR0-IR7输入端出现低电平到高电平的正跳变信号,表示有中断请求。出现正跳变信号后,允许高电平保持。 b)电平触发信号。 8259的IR0-IR7输入端出现高电平信号时,表示有中断请求。该请求信号必须在中断服务程序中的中断结束命令执行前予以撤消,否则会引起不应有的第二次中断。 (四)并行接口选择 本次设计采用8255作为并行接口,8255外部引脚如图7图7 8255外部引脚内部组成及引脚功能如图8图8 8255
16、内部组成3 电路连接根据以上各功能部件的选择,按照各自的硬件连接要求及相互之间在本次设计中的关系,做出本次设计的硬件连接图如图9。图9 数据采集与控制系统原理电路图 说明:ADC0809的8路模拟输入分别由W1,W2,W3和DAC0832产生按图13中接法,IN0由W1提供,INl和IN2由W2提供,IN3和IN4由W3提供,IN5,IN6,IN7由DAC0832提供。同时,DAC0832的输出又作为调节IN0的控制信号。ADC0809的转换结束信号EOC接系统中断控制器8259A的中断请求输入(例如IR3)。因此,当转换结束时,自动向CPU申请中断,CPU响应中断,将转换数据读到累加器,然后
17、存人存储单元。启动ADC0809转换时,首先要向对应通道(由C,B,A端编码决定)发出写操作信号。这包括三个意思:发出C、B、A编码和CS信号,它们共同决定选中的通道;使ALE信号为高电乎,锁存C、B、A编码(通道地址低3位);使ALE信号为高电乎,启动转换。这与写操作的内容是无关的。按图9中接法,只要对这个地址发出写动作就可以了。DAC0832的输入是由软件产生的。也就是说,ADC0809对DAC0832进行采集的信号大小是人为设置的。软件流程图开始保护现场读数据并保存恢复现场发中断结束命令开中断中断返回 图10 中断服务流程图图11 数据采集与控制系统主程序流程图4 功能实现 (1)数据采
18、集计算机按照选定的采样周期,对输入到系统的模拟信号进行采样,称为数据采集。(2)模拟信号处理模拟信号是指随时间连续变化的信号,模拟信号处理是指模拟信号经过采样和A/D转换输入计算机后,要进行数据的正确性判断、标度变换、线性化等处理。(3)数字信号处理数字信号处理是指数字信号输入计算机后,需要进行码制的转换处理如BCD码转换成ASCII码,以便显示数字信号。(4)屏幕显示就是用各种显示装置如CRT、LED把各种数据以方便于操作者观察的方式显示出来。(5)数据存储数据存储是就是将某些重要数据存储在外部存储器上。 在本次设计中,我们采用8259作为中断控制器,8255作为并行接口ADC0809作为模
19、数转换器。5 系统测试(1)下载调试 切换到 minicom 终端窗口,使用 NFS mount 开发主机的/arm2410s 到/host 目录,然后进入host/exp/05_da/dr ivers 目录,用 insmod exio.o 命令插入 D/A 驱动,并用 lsmod 命令查看是否已经插入。(2)进入/host/exp/basic/05_da 目录,运行./da_main,观察运行结果的正确性。在输入 ./da_main 后会出现下面的提示信息。(3)这是由于我们没有指定参数造成的,它的格式为 ./da_main da 的id 号 数字,我们可以通过选择0 或1 来决定输出到开发
20、板上的哪个D/A 接口;同时还需要在0.04.096V之间来选择一个输出电压。下面的例子是用了开发板上的DA0 并且输出1V 的电压,我们可以使用万用表对其进行测量。五 设计总结 通过本次设计进一步你给我了所学知识,整体了解了嵌入式环境C语言编程实践思想。通过本次课程设计增加了团队合作的能力。虽然没能将所有学过的嵌入式环境C语言编程实践的知识全部应用到设计上,但是对所学的知识大体上都有所了解,而且大多数知识已经应用上。参考文献1ARM嵌入式系统教程 张石 主编 机械工业出版社;2嵌入式系统的构建 慕春棣 主编 清华大学出版社;3嵌入式系统的设计 美Frand Vahid tony gavirg
21、 编 骆丽译 北京航空航天大学出版社;4周立功,ARM嵌入式系统基础教程M. 北京:北京航空航天大学出版社 2008。5 王田苗,嵌入式系统设计与实例开发M. 北京:清华大学出版社,2003 附录:驱动程序代码 da_main.c 如下:#include #include #include #include #define DA0_IOCTRL_WRITE 0x10 #define DA1_IOCTRL_WRITE 0x11 #define DA_IOCTRL_CLR 0x12 #define Max504_FULL 4.096f static int da_fd = -1; char *DA
22、_DEV=/dev/exio/0raw; void Delay(int t) int i; for(;t0;t-) for(i=0;i400;i+); /*/ int main(int argc, char *argv) float v; unsigned int value; / char *da_dev; / unsigned int da_num=0; if(argc 3) printf(n); printf(Error parametern); printf(Input as:n); printf(./ad_main da_id numn); printf( da_id: select between 0 and 1n); printf( num: range 0.0 4.096n); printf(n); return 1; sscanf(argv2, %f,&v); if(vMax504_FULL) printf(DA out must between: 0 to %fn, Max504_FULL); return 1; value=(unsigned int)(v*1024.0f)/Max504_FULL); if(da_fd=open
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度道路交通安全设施设计合同
- 二零二五年度企业资质变更代办服务合同样本
- 2025年度新能源储能技术研发意向投资协议书
- 二零二五年度光伏支架钢板租赁服务协议
- 2025年度美食餐厅连锁加盟及商铺租赁合同
- 二零二五年度水利工程款拨付与水土保持协议
- 二零二五年度境外劳务派遣与海外房地产项目合作协议
- 二零二五年度幼儿园教职工劳动权益保障合同
- 2025年度汽车制造公司股权收购合同样本
- 天津市河西区2024-2025学年高二上学期期末考试政治试题 无答案
- 金字塔原理(完整版)
- 认识自我 悦纳自我 课件- 高中生心理健康主题班会
- 大型设备的吊装技术课件
- (赛课课件)人教部编版二年级语文《看图写话写事:乐于助人-》
- 液化天然气(LNG)相关的知识培训
- 高空作业车安全技术交底
- 消防管道水压试验记录
- 机关事业单位调动人员登记表(样表2022年)
- 城市管理综合执法局城管执法与执法程序PPT模板
- 铅酸蓄电池维护规程
- 部编版七年级语文下学期木兰诗对比阅读练习题(含解析答案)
评论
0/150
提交评论