【解题思路】
车载GPS导航仪是在当前城市生活中已经非常普及,是嵌入式系统的典型应用。可以通过S3C2410外加功能电路来实现在汽车行驶过程中定位导航、防盗防劫等实用功能。S3C2410是基于ARM9内核的典型ARM芯片,采用ARM920T核,属于中高档32位嵌入式微处理器。本题主要考查基于S3C2410的嵌入式系统开发。涉及到无线通信与数据传输,数字信号处理,通用I/O接口GPIO、串行外设接口SPI、集成电路互连总线接口I2C的典型应用及相关应用的驱动程序设计以及系统集成等。
【参考答案及解析】
(1)【81】GPE11、GPE12、GPE13【82】0xFABFFFFF
【解析】GPS是嵌入式系统中常用的无线通信接口,本题使用基于SPI接口的GPS 模块,采用S3C2410芯片GPE端口的GPE11~GPE13引脚。初始化为GPE11~GPE13共6位进行赋值,按照寄存器格式为10,则端口值为0xFABFFFFF。
(2)【83】GPD【84】0xAAAAAAAA【85】8【86】2.25
【解析】LCD显示屏自身不带控制器,没有驱动电路;本系统中主要利用GPIO 口设计驱动电路来进行控制,主要利用GPC和GPD端口。真彩图像由R、G、B三基组成,且3个分量中的像素位数都是8位。图像数据量=图像水平分辨率×图像垂直分辨率×像素深度/8。
(3)【87】8【88】125【89】0x00000100【90】0x00000100【91】0x249F【92】0x002000【93】0x001000
【解析】按照采样定理,取样频率不应低于声音信号最高频率的两倍才不产生失真;所以此处频率可以取8KHz;波形声音的码率=取样频率×量化位数×声道数(单位:b/s);定时器计数脉冲周期=1/(PCLK/(预分频值+1)/分频系数)。对配置寄存器以及控制寄存器的设置即按照寄存器格式对相应位进行赋值。
(4)【94】GPE15【95】GPE14
【解析】I2C总线只有数据线SDA和时钟线SCL两条信号线。连接无线通信模块时分别连接到S3C2410芯片的GPE15和GPE14引脚上。
(5)【96】内核【97】根【98】0x00000000(0x0)【99】4【100】分支(转移无条件转移)
【解析】软件平台的构建步骤通常是:首先移植启动引导程序(Bootloader),然后完成Linux内核的移
植,随后还需构建根文件系统。基于ARM9核的处理器,启动引导程序代码的存储单元首址应该是0x00000000,它对应复位异常向量。各异常向量之间相差4个字节。因此,需要在各异常向量处设计一条无条件转移指令。
十一
解题思路】
S3C2410是基于ARM9内核的典型ARM芯片,采用ARM920T核,属于中高档32位嵌入式微处理器。本题主要考查基于S3C2410的嵌入式系统开发。涉及到的知识点包括嵌入式最小系统、GPIO接口典型应用、计数器以及相关应用的驱动程序设计等等。
【参考答案及解析】
汽车导航仪(1)【81】低0【82】0x5FFFFFFF【83】0xBFFF【84】0x8000
【解析】外接LED发光管,有共阳极接法和共阴极接法两种。当采用共阳极接法时,相应的输出口输出低电平时,对应的二极管被点亮。驱动程序即是给相应的控制寄存器赋值。GPE15或GPE14作为输出口,相应的置0,即0x5FFFFFFF。控制LED亮,则相应端口置0;控制LED灭则相应端口置1。
(2)【85】模/数(A/D)【86】10
【解析】将模拟信号转变为数字信号需要模/数(A/D)转换电路;根据香农采样定理,采样周期不得低于信号的1/2,故采样频率应该至少是信号最高频率的2倍。
(3)【87】250【88】0x00000063【89】0x00000030【90】0x00000200【91】0x00000100
【解析】脉搏周期为0.5s,故时间间隔为0.25s即250ms;定时器计数脉冲周期=1/(PCLK/(预分频值+1)/分频系数),则根据计算,可得寄存器0的端口值为0x63,寄存器1的端口值为0x30;控制寄存器设置参照寄存器格式,对相应位进行赋值。
(4)【92】RTC【93】0x01【94】0x00【95】0xFF【96】0xFE
【解析】系统日期和时间可通过读取芯片内部的实时时钟部件来获得;设置使能控制位即对寄存器相应位赋值1,即0x01;闹钟全禁止,则全赋值0,即0x00;时间间隔设置参照寄存器格式,为0xFF;若设置为不使能,则相应位置0,即0xFE。
(5)【97】0xFFF0FFFF【98】0x0200【99】0x0100【100】0xFFFF5555
【解析】键盘和显示屏等外设是GPIO口的典型应用,注意接线方式和输出口的高低电平,并用来对相应的控制寄存器对应的位进行赋值。对GPE8、GPE9端口初始化为输入,对相应位置0,即0xFFF0FFFF;对GPE8、GPE9端口分别赋值置1,则分别是0x0200,0x0100;初始化GPE0~GPE7八
个端口为输出,则置1,即0xFFFF5555。
十二
【解题思路】
S3C2410是基于ARM9内核的典型ARM芯片,采用ARM920T核,属于中高档32位嵌入式微处理器。本题主要考查基于S3C2410的嵌入式系统开发。涉及到的知识点包括数字图像处理、GPIO接口、串行异步通信接口UART等I/O口的典型应用以及相关应用的驱动程序设计,还有中断机制等等。
【参考答案及解析】
(1)【81】90【82】8.79。
【解析】灰度等级为256表明其像素深度是8,图像数据量=图像水平分辨率*图像垂直分辨率*像素深度/8,即256*360*8/8=92160B/1024=90KB;存储100幅图像所需容量=90KB*100/1024=8.79MB。
(2)【83】0xA0000000【84】0xFFFF0000
【解析】GPE15和GPE14的第三功能分别为SDA和SCL,对照E口控制寄存器GPECON,相应引脚的赋
值应为10,即1010;而GPE7~GPE0作为输入口赋值应为00,其余置11;故为0xA0000000和0xFFFF0000。
(3)【85】0x0055【86】x00FF【87】8【88】0xF0【89】0xFDBF【90】“保存”【91】0xFFFF
【解析】题中选用矩阵键盘接口,采用中断方式读取键盘值。参考F口的控制寄存器GPFCON,将端口作为输出口则将相应端口值置为01,作为输入口则置为00,其余口置11;对矩阵键盘采用循环扫描法读取键盘按键情况,需要循环8次;无键按下,则全1,有键按下,则相应置0。循环结构中i<=8;当没有按键被按下,输出为0xFFFF,有相应的键被按下时,结合行列值便可判断。
(4)【92】0xAAAAAAAA
【解析】LCD显示屏自身不带控制器,没有驱动电路;本系统中主要利用GPIO 口设计驱动电路来进行控制,主要利用GPC和GPD端口。初始化数值可根据端口D的控制寄存器GPDCON来确定,所有端口置10即可。
(5)【93】0x00000A00(或0xA00)【94】3【95】2【96】16
【解析】选用UART1部件来实现串口,根据GPHCON可知,将端口GPH4和GPH5置10,其余端口置00即可;UART的波特率由除数寄存器决定,也取决于外部时钟,关系式如下:UBRDIVn=INT(UCLK/(
波特率*16))-1。其中UCLK可以是PCLK。(6)【97】4【98】中断(中断部件)【99】SP(堆栈)【100】main()(main,主)
【解析】软件平台的构建步骤通常是:首先移植启动引导程序(Bootloader),然后完成Linux内核的移植,随后还需构建根文件系统。基于ARM9核的处理器,各异常向量之间相差4个字节。因此,需要在各异常向量处设计一条无条件转移指令。对于S3C2410微处理器来说,启动引导程序还需要完成禁止看门狗部件和禁止中断,并设置各工作模式下的SP指针,然后再通过BL指令来引导应用程序的main函数。
十三
【解题思路】
本题主要考查Web环境下基于S3C2410的云台旋转控制系统的开发。包括嵌入式系统网络接口配置,系统软件启动引导,GPIO引脚功能及相应初始化设置,GPE控制来控制步进电机驱动器所需的使能信号、旋转方向信号,还考察了定时器和计数器的使用,Linux操作系统系统与使用。
【参考答案及解析】
(1)【81】16【82】0x28000000
【解析】控制芯片AX88796的数据总线宽度为16位。其片选信号CS引脚链接到S3C2410芯片的nGCS5上,则读写AX88796芯片内部寄存器的地址范围是
0x28000000~0x280003FF。
(2)【83】U-Boot
【解析】U-Boot是一种广泛使用的引导程序,支持多种体系结构的处理器。(3)【84】HTML【85】CGI
【解析】一般网页设计语言用的是HTML;CGI接口程序可以用任何语言编程,在HTML网页中嵌入CGI接口程序可以完成与设备操控组件的信息交互。
(4)【86】0xFFFF5FFF【87】0x00400x40【88】0xFFFFFFEF【89】8333【90】0x6300【91】0x300【92】0x2000【93】0x1000
【解析】【86】0xFFFF5FFF;使能GPE7和GPE6作为输出端口,均置为01。【87】0x00400x40;反时针旋转则需要将GPE6端口置于高电平。【88】0xFFFFFFEF;按要求将GPB2置为10,为TOUT2。【89】8333;120Hz对应的周期即8333μs。【90】0x6300;Timer2分割器值为16,按照公式,定时器输入时钟频率=PCLK/(预分频系数+1)/分割器值,即可得本题答案。【91】0x300;计数常数=定
时时间间隔/(1/定时器输入时钟频率),即可得。【92】0x2000;更新TCNTB2和TCMPB2【93】0x1000;启动Timer2。
(5)【94】实时时钟(RTC)【95】0x01【96】0x00【97】0xFF【98】0xFE 【94】实时时钟(RTC);实时时钟(RTC)组件是一种能提供日历/时钟功等功能的内置硬件。【95】0x01;RTCCON置为01确定RTC使能。【96】0x00;RTCALM 置为0报警禁止。【97】0xFF;时间间隔设置为1s。【98】0xFE;初始化RTCCON。(6)【99】启动引导【100】浏览器
【99】启动引导;目标系统需先运行启动引导程序。【100】浏览器;客户机一般用浏览器访问因特网。
十四
【解题思路】
本题主要考查WiFi遥控下基于S3C2410的智能吸尘器控制系统的开发。包括嵌入式系统无线网络接口配置,系统软件启动引导,GPIO引脚功能及相应初始化设置,GPC端口来控制LED显示器的显示输出,还考察了μC/OS-II操作系统系统配置与使用。
【参考答案及解析】
(1)【81】堆栈【82】BL__main【83】0x00000000【84】4
【解析】系统上电或复位后,首先执行的是“B ColdReset”指令,系统跳转到标号为ColdRest处接着执行,在完成了关看门狗定时器、关中断、初始化各模式的堆栈、初始化存储器等功能后,执行指令“BL__main”跳转到C语言的主函数处执行。按照S3C2410芯片体系结构的规定,复位异常的向量地址是0x00000000,各异常向量地址之间相差4个字节。
(2)【85】任务【86】OSInit【87】OSStart【88】Main_Task【89】Infra_Red 【解析】在应用程序的main()函数中除了完成必要的AEM处理器初始化外,还必须初始化μC/OS-II操作系统、并创建多任务(至少创建一个任务)、启动多任务调度等;初始化μC/OS-II的函数用OSInit();启动多任务调度用OSStart();任务优先级的值越小表示任务优先级越高,反之亦然。
(3)【90】0x000000AA0xAA【91】5【92】3【93】16【94】0xFF555555【95】0x0F00
【解析】该题主要是完成对GPH、GPC扣的初始化设置、线路控制器配置、波特率设置以及LED控制输出,此处LED是共阴极接法。对照控制寄存器的格式,设置为相应的输入输出和使能功能。
(4)【96】OSQPend【97】OSQPost【98】最高
【解析】在μC/OS-II操作系统中,一般用OSQPend()函数来等待并获得消息,用函数OSQPost()来发送
消息;当有多个任务在等待消息队列中的消息时,其中任务优先级最高的任务将获得消息。
(5)【99】01100110【100】1110
【解析】题中LED为共阴极接法,要显示4,则b、c、f、g四段需要被点亮,分别对应GPC1、GPC2、GPC5、GPC6;在位信号线GPC11~GPC8上输出的数据组合是1110。