第三部分习题答案(共9页)_第1页
第三部分习题答案(共9页)_第2页
第三部分习题答案(共9页)_第3页
第三部分习题答案(共9页)_第4页
第三部分习题答案(共9页)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上第10章 建立嵌入式系统开发环境10.2.5习题1 使用vi查看安装程序install.sh,对比install.sh中的语句与安装过程。答:首先建立合适的安装目录,然后安装交叉编译工具软件,然后安装Linux内核,建立根文件系统,之后安装调试工具gdb和gdbserv,最后安装试验源代码及相关文档。2 若使用上位机的com2口与下位机进行连接,应在minicom中如何设置?答:若使用上位机的com2口与下位机进行连接,应在minicom中选择“Serial port setup”进入串口配置界面。输入“A”,将“Serial device”的值修改为“/dev/tt

2、yS1”,表示连接的是上位机的com2口。3若下位机的IP地址为192.168.0.121,上位机的IP地址为202.201.33.15,请写出将上位机和下位机的IP地址配置在同一个网段的过程。 答:在上位机的终端命令窗口中键入下面的命令,可以将上位机和下位机的IP地址配置在同一个网段192.168.0.:ifconfig eth0 192.168.0.252 netmask 255.255.255.010.3.5习题1在“vivi>”提示符状态下,使用help查看vivi命令的用法,比较与Linux命令的不同。答:vivi命令用来配置开发板的硬件资源,使用时后面需给出必要的关键字参数,

3、如:vivi> load helpUsage: load <flash|ram> <partname> | <addr> <size> <x|y|z|t>而Linux命令的参数通常以“-”开始,如:cat -AbeEnstTuv -help -version fileName。2写出下位机软件系统的四个组成部分的功能。答:下位机的软件系统由Bootloader系统内核、根文件系统和应用程序四部分组成。Bootloader相当于PC机上的BIOS,在下位机加电时自动运行,执行硬件初始化和调用系统内核的功能。Bootloader分为

4、U-boot、Vivi、Blob、ARMBoot、RedBoot等多种,本实验使用实验箱自带光盘中的vivi。系统内核就是运行在下位机上的操作系统内核,本实验使用实验箱自带光盘中的zImage,是ARM-Linux的内核,版本号为2.6。根文件系统是Linux系统必不可少的一部分,用来管理下位机中的文件。本实验使用实验箱自带光盘中的root.cramfs。Cramfs是专门针对Flash设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3,经常作为下位机的根文件系统。应用程序是需要烧写到下位机,在下位机中运行的程序,在上位机中以压缩文件包的形式

5、保存,本实验使用实验箱自带光盘中的yaffs.tar.bz2。应用程序所使用的文件系统为Yaffs(Yet Another Flash File System),Yaffs是一种专门为Flash设计的嵌入式文件系统,运行速度快、占用内存小,提供写均衡、垃圾收集等底层功能。3查阅相关资料,了解下位机软件系统的四个组成部分的生成过程。 省略11.1.5习题1Makefile是如何工作的?其中的宏定义分别是什么意思?答:makefile文件中语句的语法是Shell语句语法的子集,以“#”开头的语句为注释语句,内容一般分为两部分,前面部分由include和变量定义语句构成,include语句能够将另外

6、一个文件的内容包含进来,变量定义语句定义后面部分要使用的变量。前面部分的内容可以为空。makefile的后面部分内容是文件的主要内容,由一些规则描述的语句块组成,make执行时将根据这些语句块的描述执行相应的命令或者程序。其中常用的宏有:CC:指明采用的编译器;EXEC :表示编译后生成的可执行文件名;OBJS:给出目标文件列表;CFLAGS:给出编译参数;LDFLAGS:给出连接参数;all:给出编译主入口;clean: 表示清除编译结果2嵌入式开发的基本过程有哪几步?答:嵌入式开发的基本过程为:采用相应的编辑工具编写应用程序,然后在上位机编译调试应用程序,然后使用NFS将上位机上编译好的文

7、件下载到下位机上运行。11.2.6 习题1在生产者-消费中实例中,加入一个新的线程用于处理键盘的输入,并在按键为ESC时终止所有线程。答:参考程序见“/labs/ Lab_2”文件夹中的“pth1.c”。2使用信号量控制方式编写多线程程序,设4个线程,其中两个线程负责从文件中读取数据到公共的缓冲区,另两个线程从缓冲区读取数据做不同的处理(加和乘运算)。答:参考程序见 “/labs/ Lab_2”文件夹中的“sem_example.c”。3线程的优先级的控制。答:程序控制线程的优先级,一般是用pthread_attr_getschedpolicy来获取系统使用的调度策略,如果是SCHED_OTH

8、ER的话,表明当前策略不支持线程优先级的使用,否则可以。当然所设定的优先级范围必须在最大和最小值之间,可以通过sched_get_priority_max和sched_get_priority_min来获取。在系统允许使用线程优先级别的时候,使用下面两个函数pthread_attr_setschedparam、thread_attr_getschedparam来设置线程的优先级。11.3.6 习题1修改程序,编写一个简单的文件收、发程序,完成串口文件下载。答:参考本次试验提供的用户程序,在receive函数中新建一个简单文件,读取串口字符写入文件即可,须注意发送和接收线程的互锁机制。2RS-2

9、32串行通信的数据格式是什么?答:开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后传输字符的二进制编码。每个字符的数据位长度可以约定为5-8位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个,也可不要奇偶校验。最后是停止位的“1”信号,停止位可以约定持续1 位、1.5 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。3串行通信最少需要几根线?分别如何连接?答:当通信距离较近时,通信双方可以直接连接。最简单的情况,在

10、通信中根本不需要RS-232C的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。图1 最简单的串行通信连接方式图1中的2号线与3号线交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送RTS有效和数据终端准备好DTR有效就能开始发送和接收。4ARM的串口有几个?相应的寄存器是什么?答:S3C2410提供了三个通用异步串行通信接口,每个串口都有一个波特率发生器、接收寄存器、发送寄存器和一个控制单元,另外,还有两个16字节的FIFO寄存器作为发送和接收的缓冲装置。在S3C2410中,对串口的控

11、制是通过设置相应的控制寄存器来实现的,其常用的寄存器主要有以下几个:(1)ULCONn寄存器:主要用来设置串口工作模式,包括数据位长度、停止位个数,以及数据校验方式等。S3C2410支持四种校验方式,分别是奇校验、偶校验、MARK校验和SPACE校验。(2)UCONn寄存器:该寄存器涉及到中断模式控制、DMA模式控制,以及时钟的选择等。(3)UTRSTATn寄存器:串口的状态寄存器,用于指示串口是否接收或发送完毕。(4)UTXHn和URXHn寄存器:发送和接收寄存器。(5)UBRDIVn寄存器:波特率设置寄存器,用于对时钟分频,产生需要的波特率。5终端如何处理特殊字符?答:在串口的参数配置结构

12、struct termios中,通过设置c_cc数组成员来定义支持的特殊控制字符以及一些timeout参数。c_cc 支持的常量名称有:VINTR 中断控制,对应键为CTRL+C;VQUIT  退出操作,对应键为CRTL+Z;VERASE 删除操作,对应键为Backspace(BS);VKILL  删除行,对应键为CTRL+U;VEOF  位于文件结尾,对应键为CTRL+D;VEOL   位于行尾,对应键为Carriage return(CR);VEOL2  位于第二行尾,对应键为Line feed(LF

13、);VMIN   指定了最少读取的字符数;VTIME 指定了读取每个字符的等待时间。11.4.6习题1修改用户程序,将三个电位器的多次转换的结果写入一个文件中。 答:参考程序见“/labs/ Lab_4”文件夹中的“main1.c”。2逐次逼近型的A/D转换器原理是什么?答:逐次逼近型A/D 转换器其工作原理是:将被测电压和由D/A转换生成的电压进行比较,用对分搜索的方法来逐次逼近被测电压。它的实质是逐次把设定的SAR 寄存器中的数字量经D/A 转换后得到电压Vc 与待转换模拟电压V。进行比较。比较时,先从SAR 的最高位开始,逐次确定各位的数码应是“1”还是“0

14、”,其工作过程如下:转换前,先将SAR 寄存器各位清零。转换开始时,控制逻辑电路先设定SAR 寄存器的最高位为“1”,其余位为“0”,此试探值经D/A 转换成电压Vc,然后将Vc 与模拟输入电压Vx 比较。如果VxVc,说明SAR 最高位的“1”应予保留;如果Vx<Vc,说明SAR 该位应予清零。然后再对SAR 寄存器的次高位置“1”,依上述方法进行D/A 转换和比较。如此重复上述过程,直至确定SAR 寄存器的最低位为止。过程结束后,状态线改变状态,表明已完成一次转换。最后,逐次逼近寄存器SAR 中的内容就是与输入模拟量V 相对应的二进制数字量。3A/D转换的重要指标包括哪些?答:A/D

15、 转换的重要指标有;分辨率、精度、转换时间、电源灵敏度、量程、输出逻辑电平和工作温度范围等。4ARM的A/D功能的相关寄存器有哪几个,对应的地址是什么?答:与A/D相关的寄存器主要有A/D转换控制寄存器(ADCCON)和A/D转换数据寄存器ADCDAT0。ADCCON的地址为0x,ADCDAT0的地址为0xC。5如何启动ARM 开始转换A/D,有几种方式?转换开始时ARM 是如何知道转换哪路通道的?如何判断转换结束?答:A/D转换的数据可以通过中断或查询的方式来访问,如果使用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长。如果是查询方式,则要检测ADCCON15(转换结束标志位

16、)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。A/D转换开始的另一种方式是将ADCCON1置为1,这时只要有读转换数据的信号,A/D转换才会同步开始。转换开始时ARM 中的ADCCON寄存器的第5-3位表示模拟输入通道选择,可判断其值就可知哪路通道转换。通过测试ADCCON寄存器的第15位是否为1,就可判断转换是否结束。11.5.6 习题1修改用户程序,产生余弦波形信号,并使用示波器观察输出波形。 答:参考用户程序 “da_sin.c”,将其正弦函数修改为余弦函数即可。2修改用户程序,产生方波信号,并使用示波器观察输出波形。 答:参考代码为“da_fang.c”。 3D/A 转换

17、器的分类。 答:D/A 转换器的内部电路构成无太大差异,一般按输出是电流还是电压、能否作乘法运算等进行分类,主要有:电压输出型(如TLC5620)、电流输出型(如THS5661A)、乘算型(如AD7533)、一位 D/A 转换器等。4D/A 转换器的主要技术指标。答:D/A 转换器的主要技术指标有:(1)分辩率(Resolution)分辨率用输入二进制数的有效位数表示。在分辨率为n位的D/A转换器中,输出电压能区分2n个不同的输入二进制代码状态,能给出2n个不同等级的输出模拟电压。分辨率也可以用D/A转换器的最小模拟输出量(对应数字量仅最低位为“1”)与最大量(对应数字量所有有效位为“1”)之

18、比来表示。(2)建立时间(Setting Time)这是D/A的一个重要性能参数,通常定义为:在数字输入端发生满量程码的变化以后,D/A的模拟输出稳定到最终值1/2LSB时,所需要的时间。其他指标还有线性度(Linearity),转换精度,温度系数/漂移。5MAX504 的特点及使用方法。 答:MAX504 10位D/A转换器的特点有:由单个 5V 电源供电;电压输出缓冲;内部2.048V参考电压;电压不随温度变化;可变的输出范围:0VVDD,VSSVDD;上电复位;串行输出。MAX504 在开发板上的连接连接如图2所示。图2 MAX504在开发板中的连接图2中,RFB 连接VOUT、BIPO

19、FF连接AGND,使得输出电压范围为02VREFIN,即04.069V。时钟和输入、输出信号分别与同步串口的时钟、发送和接收端相连。MAX504可接收12 位的数据,但低两位不起作用。所以发送数据时应先将数据左移两位,然后先发送高八位,再发送低八位数据。11.6.6 习题1CAN 总线通讯最少需要几根线?如果多个节点应该如何连接?答:CAN总线通讯最少需要2根线。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点,但是,实际应用中节点数目受网络硬件的电气特性所限制,需要使用CAN收发器实现各节点之间的通讯。2为什么CAN 总线的可靠性高,传输数率却可以速度比串口快(可达到1Mbps)?

20、答:CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。与RS-485等相比,CAN总线中,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差。3如果要在现有的系统上构建复杂的CAN 总线通信协议需

21、要进行怎样的扩展?省略11.7.6 习题1修改用户程序,将上位机上的若干个字符串传递给下位机。答:参考程序见“labs/lab_7”文件夹中的“test485.c”。2RS-485通信特点。答:RS-485是一个电气接口规范,它只规定了平衡驱动器和接收器的电特性,而没有规定接插件、传输电缆和通信协议。RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)通信链路,是一种极为经济、并具有相当高噪声抑制、传输速率、传输距离和宽共模范围的通信平台。RS-485接口的主要特点如下:Ø 平衡传输Ø 多点通信 Ø 驱动器输出电压(带载):|1.5V| Ø 接

22、收器输入门限:±200MV Ø 7V至+12V总线共模范围 Ø 最大输入电流:1.0MA/-0.8MA(12VIN/7VIN) Ø 最大总线负载:32个单位负载(UL) Ø 最大传输速率:10MBPS Ø 最大电缆长度:4000英尺 Ø 网络配置3建立自己的高层通信协议,完成设备间的多机通信。省略11.8.6习题1修改测试程序,控制直流电机以恒定速度或变速转动。答:参考代码为本次实验目录下的“dcm_c_v.c”。2简述PWM的基本原理,思考其基本参数的变化对电机转动的影响。答:PWM(Pulse-Width Modulat

23、ion)是脉宽调制技术的简称,可用于控制高性能的直流电机调速系统。其原理为:晶体管的导通时间也被称为导通角,通过控制晶体管的开通与断开时间来改变导通角的大小,就可以调节加在负载上的平均电压的大小,以实现对电动机的变速控制,这就是PWM变速控制技术的基本原理,如图3所示。在PWM 变速控制中,系统采用直流电源,放大器的频率是固定,变速控制通过调节脉宽来实现。图3 PWM调速原理由上图可知,电动机两端得到的电压平均值可用下式表示为:式中:为开关每次接通的时间,为开关断开的时间周期,为占空比,由公式可见,改变脉冲的占空比,电动机两端的电压平均值也随之改变,从而控制电机的变速。3尝试使用实验箱上的电位

24、器旋钮控制直流电机的转向和转速。省略11.9.6习题1修改用户程序,控制点阵式LED显示其它字符、图形或汉字。答:给出要显示字符的点阵数据,调用write方法即可。2编写测试程序,控制8字数码管循环显示数字90。答:给出数字90的段码表,调用ioctl方法控制8字数码管显示。3编写测试程序,控制8字数码管循环显示字符AF。答:给出字符AF的段码表,调用ioctl方法控制8字数码管显示。4如何控制LED显示内容。答:为使7段LED显示内容,必须点亮相应的段,每个段分别由数据线进行控制,通常数据线D0D7顺序控制ah段,所需的控制信号称为段码。由于数字与段码之间没有规律性,因此必须进行数字与段码之

25、间的转换才能驱动要显示的段,以便显示数字的字形。常用的转换方法是将要显示字形的段码列成一个表,称为段码表。显示时,根据字符查段码表,取出其对应的段码送到数据线上来控制显示。5LED是如何正常工作的?答:点阵式LED显示器的显示控制采用扫描方式,在数据存储器中开辟若干个存储单元作为显示缓冲区,缓冲区中存有所需显示图形的控制信息。显示时依次通过列信号驱动器输出一行所需所有列的信号,然后再驱动对应的行信号,控制该行显示。只要扫描速度适当,显示的图形就不会出现闪烁。674HC273的特点及使用方法。答:LED的驱动需用TTL电路驱动,当然需要加限流电阻,74HC273带锁存,这样D输入的信号可以锁住保

26、持在输出端,保持LED的驱动是固定的电平状态。脉冲输出信号也可以驱动LED,只是亮度与脉冲的脉宽有关,此外,74HC273的输入端接在数据总线上,可以起到隔离的作用。驱动LED一般需要57mA的电流,负载比较大,如果接到其他门电路的输出上,会影响这个输出驱动其他门电路输入的能力。开发板上设置了2个数码管,由74HC273控制。74HC273是同步串行转并行的锁存器,在此通过SPI总线和CPU连接,锁存数据后驱动数码管发光。第12章 扩展实验12.1.6习题1修改用户程序,完成简单的键盘计算、LED显示结果。省略2重新定义小键盘健值,完成对应功能键的处理。 省略12.2.6习题 1阅读源程序,扩展其功能,用于在浏览器上监控开发板各部件工作。 省略 2自定义一些功能,使用网络TCP协议实现。 省略12.3.5习题1在第30行处增加1个断点,

温馨提示

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

评论

0/150

提交评论