器、比较器以及时序和控制逻辑等部分组成。它的实质是逐次把设定的SAR 寄存器中的数字量经D/A 转换后得到电压Vc 与待转换模拟电压V。进行比较。比较时,先从SAR 的最高位开始,逐次确定各位的数码应是“1”还是“0”,其工作过程如下:
转换前,先将SAR 寄存器各位清零。转换开始时,控制逻辑电路先设定SAR 寄存器的最高 位为“1”,其余位为“0”,此试探值经D/A 转换成电压Vc,然后将Vc 与模拟输入电压Vx 比 较。如果Vx≥Vc,说明SAR 最高位的“1”应予保留;如果Vx 2. A/D 转换的重要指标包括哪些? 答:分辨率、精度有绝对精度和相对精度、转换时间、电源灵敏度、量程、工作温度范围 3. ARM 的A/D 功能的相关寄存器有哪几个,对应的地址是什么? 答:寄存器ADCCON,地址:0x58000000。ADCDAT0:转换结果数据寄存器;地址:0x5800000C ADC触摸屏控制寄存器ADCTSC,地址:0x58000004; 4. 如何启动ARM 开始转换A/D,有几种方式?转换开始时ARM 是如何知道转换哪路通道 的?如何判断转换结束 答:方式一:软件启动。定义与A/D转换相关的寄存器,初始化寄存器,rADCCON=0x1;启动转换。方式二:硬件启动:复位A/D转换器,外接用高电平触发ADCCON[0].通过对ADCCON[5:3]的赋值来选择通道 实验三 D/A 接口实验 一、实验目的 1、学习 D/A 转换原理 2、掌握 MAX504 D/A 转换芯片的使用方法 3、掌握不带有 D/A 的CPU 扩展D/A 功能的主要方法 4、了解 D/A 驱动程序加入内核的方法 二、实验内容 学习 D/A 接口原理,了解实现D/A 系统对于系统的软件和硬件要求。阅读MAX504 芯片文档,掌握其使用方法 三、实验步骤 1、阅读理解源码并编译应用程序 2、下载调试程序 四、思考题 1.D/A 转换器的分类。 答:D/A 转换器的内部电路构成无太大差异,一般按输出是电流还是电压、能否作乘法运算等进行分类。可分为:电压输出型(如TLC5620)、电流输出型(如THS5661A)、乘算型(如AD7533)、一位 D/A 转换器 2.D/A 转换器的主要技术指标。 答:分辩率:指最小模拟输出量(对应数字量仅最低位为“1”)与最大量(对应数字量所有有效位为“1”)之比。 建立时间:是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。 其他指标还有线性度(Linearity),转换精度,温度系数/漂移。 3.MAX504 的特点及使用方法。 答:、MAX504 10 位D/A 转换器的特点:由单个 5V 电源供电,电压输出缓冲,内部 2.048V 参考电压INL=1/21LSB(MAX)、电压不随温度变化、可变的输出范围:0V~VDD,VSS~VDD 上电复位、串行输出 实验四 CAN 总线通讯实验 一、实验目的 1、掌握 CAN 总线通讯原理。 2、学习 MCP2510 的CAN 总线通讯的驱动开发。 3、掌握 Linux 系统中断在CAN 总线通讯程序中使用。 二、实验内容 学习 CAN 总线通讯原理,了解CAN 总线的结构,阅读CAN 控制器MCP2510 的芯片文档,掌握MCP2510 的相关寄存器的功能和使用方法。编程实现两台CAN 总线控制器之间的通讯。 ARM 接收到CAN 总线的数据后会在于终端显示,同时使用CAN 控制器发送的数据也会在终 端反显。MCP2510 设置成自回环的模式,CAN 总线数据自发自收。 三、实验步骤 1、编译CAN 总线模块 2、编译应用程序 3、下载调试 四、思考题 1.CAN 总线通讯最少需要几根线?如果多个节点应该如何连接? 答:只有2根线与外部相连。多个节点连接方式如下图所示: 2.为什么CAN 总线的可靠性高,传输数率却可以速度比串口快(可达到1Mbps)? 答:CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 实验五 串行端口程序设计 一、实验目的 1、了解在Linux环境下串行程序的基本方法。 2、掌握终端的主要属性及设置方法,熟悉终端I/O函数的使用。 3、学习使用多线程完成串口的收发处理。 二、实验内容 读懂程序源代码,学习终端I/O函数的使用方法,学习将多线程编程应用到串口的接受和发送程序设计中。 三、预备知识 1、C语言的基础 2、掌握在Linux下常用编辑器的使用。 3、掌握Makefile的编写和使用。 4、掌握Linux下的程序编译与交叉编译过程。 四、实验原理 异步串行I/O方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连接线,最后用一对线即可进行。

