A.R0→R1
B.PC→AR
C.M→DR
D.DR→IR
第1题
A.R0→R1
B.PC→AR
C.M→DR
D.DR→IR
第2题
A.R0→R1
B.PC→AR
C.M→DR
D.DR→IR
第3题
A.(R0)→R1
B.PC→AR
C.M→DR
D.DR→IR
第4题
a、需要若干个对应楼层的按键和开门、关门、紧急呼叫等功能按键,用户可同时按下若干个楼层按键。需要用7段LED显示器显示电梯所运行到的楼层。
b、需要在电梯轿箱门的两侧安装红外发射、接收探头,门打开后开始监测红外接收电路的信号,当探测到无人再进入电梯时,5秒后电梯门关闭。若门在关闭时,又有人已经进入门内,门将再自动打开,以防夹到人。然后重新开始计时5秒,再关门,电梯运行。
c、具备与中央控制子系统的数字语音对讲功能。若用户遇到紧急情况,可以按下“紧急呼叫”按键,则启动数字语音对讲。
d、具备对轿箱内部的视频监控功能。中央控制子系统通过电梯轿箱控制器可以查看轿箱内部的监控视频。
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建电梯轿箱控制器的硬件平台,请完善下面的叙述(程序)和回答有关的问题。
(注意:完善程序或回答问题所需的寄存器格式见题后的附录)
(1)电梯轿箱控制器的硬件平台设计时,除了要设计最小硬件系统外,还必须完成按键接口电路、LED显示器接口电路、红外探测接口电路、电梯开关门驱动电路、音频接口电路、___【1】___接口电路及通信接口电路等。在通信接口设计时,由于电梯轿箱控制器与电机房控制器之间只需要传输包含命令信息、楼层信息的文本数据,它们之间的通信接口拟设计为RS-485接口,可以采用S3C2410芯片内部的___【2】___部件外加电平转换芯片等来实现。而电梯轿箱控制器与中央控制子系统之间需要传输视频和音频信息,它们之间的通信接口拟设计为以太网接口,由于S3C2410芯片内部没有以太网控制部件,因此需外加以太网控制器芯片及电平转换等来实现。实现时,若选用AX88796芯片,其片选信号CS引脚(低电平有效)连到S3C2410芯片的nGCS3上,因此,读写AX88796芯片内部寄存器的首地址是:___【3】___。(说明:S3C2410芯片外部可扩展的存储容量为1GB,分成了8块,每块128MB,分别由nGCS0~nGCS7选择,整个外部存储空间的首地址为:0x00000000)
(2)设计红外探测电路时,利用GPE2作为输出,控制红外发射管工作,GPE3作为输入连接到红外接收管。那么,相关驱动程序中,初始化GPE2、GPE3引脚功能的语句是:
rGPECON=((rGPECON|0x00000010)&___【4】___); // rGPECON是端口E的控制寄存器
若GPE2输出“1”时,控制红外发射管工作(即发射红外线),GPE2输出“0”时,控制红外发射管不工作,那么,相关驱动程序中,控制红外发射管工作和不工作的语句分别是:
rGPEDAT= rGPEDAT |___【5】___; // rGPEDAT是端口E的数据寄存器
rGPEDAT= rGPEDAT &___【6】___;
(3)电梯轿箱控制器探测到无人再进入电梯时,将延时5秒后关闭电梯门。设计时,若选用S3C2410芯片内部的Timer2部件来产生0.05秒的时间间隔,然后,再用Timer0部件来计数,即计0.05秒时间间隔的产生次数。那么,Timer0部件在此将作为计数器用,而Timer2部件在此将作为___【7】___器用。软件设计时,Timer0部件计数___【8】___次,即表示5秒时间间隔到,将产生中断请求,在Timer0的中断服务程序中发出轿箱门关闭信号。
若系统主频参数PCLK为264MHz,分割器值选择为16,预分频系数选择为19,那么,为了使Timer2能产生0.05秒的时间间隔,初始化函数可以设计如下,请补充完善。(注:所有参数请用十六进制表示)
voidTimer2Int(void)
{
//设置定时器配置寄存器0(TCFG0)
rTCFG0=___【9】___; //dead zone=0, Timer2预分频系数设19
//设置定时器配置寄存器1(TCFG1)
rTCFG1=___【10】___; //都工作在中断方式,mux2=1/16
//设置计数常数
rTCNTB2=___【11】___;
//设置控制寄存器TCON
rTCON=___【12】___; //更新TCNTB2和TCMPB2
rTCON=0x001000;//Timer2启动
}
(4)电梯轿箱控制器中所需的数字语音对讲功能,需要设计语音信号的采集电路和回放电路。通常情况下人的语音信号是频率范围为300Hz~___【13】___Hz的模拟信号,因此,可以利用A/D转换部件设计语音波形的采集电路,从而得到数字语音信号,并通过以太网通信接口传输给中央控制子系统。假设采样频率为8KHz,样本值用8位二进制数进行编码。那么,125ms的语音片段,用10Mbps的以太网传输,至少需要___【14】___ms。语音信号回放电路可以利用D/A转换芯片再加功放电路等来设计,设计语音回放软件时,为了使回放时语音不会失真,需定时把数字语音信号输出到D/A芯片中,这个定时时间间隔应该是___【15】___靤。
(5)电梯轿箱控制器中所需的视频监控功能,需要设计与视频模块的接口电路。若用GPE15、___【16】___来连到视频模块的SDA、___【17】___引脚上,GPC0~GPC7连接到视频模块的数据线上,用于输入视频图像的Y信号,那么,相关驱动程序中需要下面语句来初始化GPC0~GPC7引脚的功能。
rGPCCON=rGPCCON&___【18】___; // rGPCCON是端口C的控制寄存器
(6)电梯轿箱控制器中需要移植霤/OS-II操作系统作为软件平台。移植工作的重点是改写OS_CPU.H、___【19】___、OS_CPU_C.C等与处理器硬件有关的文件,使其适合电梯轿箱控制器的硬件环境,从而在其上运行。电梯轿箱控制器的应用程序主函数中,需要用___【20】___函数来创建任务,并用OSStart()函数来启动多任务调度功能。
附录:三、综合题中完善程序或回答问题所需的寄存器格式端口C控制寄存器(GPCCON)的格式
符号位描述初始状态
GPC15[31:30]00=输入01=输出10=VD7 11=保留
GPC14[29:28]00=输入01=输出10=VD6 11=保留
GPC13[27:26]00=输入01=输出10=VD5 11=保留
GPC12[25:24]00=输入01=输出10=VD4 11=保留
GPC11[23:22]00=输入01=输出10=VD3 11=保留
GPC10[21:20]00=输入01=输出10=VD2 11=保留
GPC9[19:18]00=输入01=输出10=VD1 11=保留
GPC8[17:16]00=输入01=输出10=VD0 11=保留
GPC7[15:14]00=输入01=输出10=LCDVF2 11=保留
GPC6[13:12]00=输入01=输出10=LCDVF1 11=保留
GPC5[11:10]00=输入01=输出10=LCDVF0 11=保留
GPC4[9:8]00=输入01=输出10=VM 11=保留
GPC3[7:6]00=输入01=输出10=VFRAME 11=保留
GPC2[5:4]00=输入01=输出10=VLINE 11=保留
GPC1[3:2]00=输入01=输出10=VCLK 11=保留
GPC0[1:0]00=输入01=输出10=LEND 11=保留
端口E控制寄存器(GPECON)的格式
符号位描述初始状态
GPE15[31:30]00=输入01=输出10=IICSDA 11=保留
GPE14[29:28]00=输入01=输出10=IICSCL 11=保留
GPE13[27:26]00=输入01=输出10=SPICLK 11=保留
GPE12[25:24]00=输入01=输出10=SPIMOSI0 11=保留
GPE11[23:22]00=输入01=输出10=SPIMISO0 11=保留
GPE10[21:20]00=输入01=输出10=SDDAT3 11=保留
GPE9[19:18]00=输入01=输出10=SDDAT2 11=保留
GPE8[17:16]00=输入01=输出10=SDDAT1 11=保留
GPE7[15:14]00=输入01=输出10=SDDAT0 11=保留
GPE6[13:12]00=输入01=输出10=SDCMD 11=保留
GPE5[11:10]00=输入01=输出10=SDCLK 11=保留
GPE4[9:8]00=输入01=输出10=IISSDO 11=保留
GPE3[7:6]00=输入01=输出10=IISSDI 11=保留
GPE2[5:4]00=输入01=输出10=CDCLK 11=保留
GPE1[3:2]00=输入01=输出10=IISSCLK 11=保留
GPE0[1:0]00=输入01=输出10=IISLRCK 11=保留
TCFG0寄存器
TCFG0的位功能描述初始状态值
[31:24]保留0x00
[23:16]在此不用0x00
[15:8]确定Timer2,Timer3,Timer4的预分频系数0x00
[7:0]确定Timer0,Timer1的预分频系数0x00TCFG1寄存器
TCFG1的位功能描述初始状态值
[31:24]保留0x00
[23:20]在此不用0b0000
[19:16]确定Timer4的分割器值0000=2 0001=4 0010=8 0011=16
[15:12]确定Timer3的分割器值0000=2 0001=4 0010=8 0011=16
[11:8]确定Timer2的分割器值0000=2 0001=4 0010=8 0011=16
[7:4]确定Timer1的分割器值0000=2 0001=4 0010=8 0011=16
[3:0]确定Timer0的分割器值0000=2 0001=4 0010=8 0011=16
说明:设置TCFG0、TCFG1可以确定预分频器系数、分割器值,如:通过设置TCFG0为0x00001F00,Timer2的预分频器系数选择为31,设置TCFG1为0x00000100,Timer2的分割器值选择为4。通过下面公式计算定时器的计数常数:
定时器输入时钟频率=PCLK/(预分频系数+1)/分割器值
计数常数=定时时间间隔/(1/定时器输入时钟频率)
预分频系数的范围为0~255,分割器值的取值范围为2、4、8、16。
TCON寄存器(注:此处不用的位被省略,其值均默认为0)
TCON的位功能描述初始状态值
[15]确定Timer2的自动装载功能1=自动装载0=一次停止
[14]确定Timer2的输出反转位1=TOUT2反转0=TOUT2不反转
[13]确定Timer2的更新1=更新TCNTB2和TCMPB2 0=不更新
[12]确定Timer2的启动/停止1=启动0=停止
第5题
中断处理过程中保存现场的工作是A的。保存现场中最基本的工作是保存断点和当前状态,其他工作是保存当前寄存器的内容等。后者与具体的中断处理有关.常在B用C实现,前者常在D用E完成。
设CPU中有16个通用寄存器,某中断处理程序运行时仅用到其中的2个,则进入该处理程序前要把这F个寄存器内容保存到内存中去。
若某机器在响应中断时,由硬件将PC保存到主存0000单元中,而该机允许多重中断,则进入中断程序后,G将此单元的内容转存到其他单元中。
供选择的答案:
A:①必需的;②可有可无的。
B,D:①中断发生前:②响应中断前:③具体的中断服务程序执行时;①响应中断时。
C.E:①硬件:②软件.
F:①16;②2。
G:①不必:②必须。
第6题
A.计算机由运算器、控制器、通用寄存器、存储器和输入输出设备五部分组成
B.在机器内部,指令和数据均以二进制形式表示
C.指令在存储器中一般按执行顺序存放,由指令计数器指明要执行的指令的地址
D.采用存储程序的方式工作
第7题
需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。
具备一个RS-232接口,可以和上位机连接,接收上位机发送的命令及参数。
需要提供一个基准定时信号,定时时间间隔为0.01秒。
需要彩色LCD显示器,用于显示状态信息等。
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该机械设备控制器的硬件平台,请完善下面的叙述和C语言程序(需要使用的控制寄存器的格式见题后说明)。
(1)若硬件设计时采用GPIO端口E的GPE0~GPE7引脚作为8个数字量输出,那么软件设计时其初始化语句是:rGPECON=(rGPECON|0x00005555)&___【1】____。若软件设计时需要通过GPE5引脚输出“1”来驱动执行机构动作,那么语句是:rGPEDAT= rGPEDAT | ___【2】____。(注:rGPECON是端口E的控制寄存器所对应的变量,rGPEDAT是端口E的数据寄存器所对应的变量)
(2)硬件设计时,选用UART0来完成RS-232接口电路设计。在软件设计时,其初始化程序中波特率设置为9600bps,数据格式设置为:8位数据位、奇校验、1位停止位。请补充完善下面的UART0初始化函数(注:主频参数为PCLK):
voidUART0_Init()
{
rGPHCON=(rGPHCON&0xFFFFFF00)|___【3】____; //端口H相应引脚功能初始化
rUFCON0=0x0; //FIFO不使能
rUMCON0=0x0;
rULCON0=___【4】____; //设置线路控制寄存器
rUCON0=0x145; //设置控制寄存器
rUBRDIV0=((int)(PCLK/___【5】____) 1); //设置波特率,小数采用四舍五入
}
(3)按照上面UART0初始化函数所设置的通信速率,每秒钟最多能传输___【6】____个字节的信息。若上位机有大小为4KB的初始参数需要下载到控制器中,那么,约需传输____【7】___秒才能完成下载(1K=1024,精确到小数点后面1位数字)。
(4)系统中所需要的0.01秒基准定时时间选用S3C2410芯片内部的Timer0部件来产生。若系统的主频参数PCLK为264MHz,分频器值选择为16,预分频系数选择为3,那么,Timer0的计数常数为___【8】____。软件设计时,设计了如下的Timer0初始化函数,请补充完善。(注:下面程序中⑨、⑩、⑿用8位十六进制数表示,⑾用4位十六进制数表示)
voidTimer0Int(void)
{
//设置定时器配置寄存器0(TCFG0)
rTCFG0=___【9】____; //Timer0预分频系数选择为3,该寄存器中其它无关位均为0
//设置定时器配置寄存器1(TCFG1)
rTCFG1=___【10】___; // Timer0分频器值为16,该寄存器中其它无关位均为0
//设置计数常数
rTCNTB0=___【11】____; //设置控制寄存器TCON
rTCON=___【12】____;//更新TCNTB0和TCMPB0,该寄存器中其它无关位均为0
rTCON=0x00000009;//设置Timer0自动装载,并启动
}
(5)彩色LCD显示屏的硬件接口电路由S3C2410的专用GPIO端口__【13】_____和端口___【14】____相关引脚配以驱动电路来设计。软件设计时,需要通过设置它们控制寄存器的值分别为___【15】____和____【16】___来确定它们的引脚功能。
(6)系统的软件可以设计为在无操作系统的环境下运行。设计者自行设计系统的启动引导程序,在该程序中完成异常向量设置、堆栈指针设置以及必要的硬件初始化。ARM9体系结构中规定的IRQ异常所对应的异常向量地址为___【17】____。Timer0部件所产生的0.01秒基准时间到时将引起IRQ异常。由于IRQ异常向量地址与下一个异常向量地址之间间隔为___【18】____个字节,因此,通常在IRQ异常向量地址处设计一条转移指令。堆栈指针的设置需按工作模式来进行。设置IRQ模式下的堆栈指针,需在R0“清0”后用指令ORRR1,R0,0x12|___【19】____和MSRCPSR_CXSF,R1来使CPU核进入IRQ模式,然后再给SP寄存器赋值作为该模式下的堆栈指针。这些初始化工作完成后,即可通过指令___【20】____来引导应用程序的主函数main()。
说明:下面是试题解答时需要用到的寄存器格式及相关说明。
1)端口C的控制寄存器(GPCCON)
引脚GPCCON的位描述
GPC15[31:30]00=输入,01=输出,10=VD7,11=保留
GPC14[29:28]00=输入,01=输出,10= VD6,11=保留
GPC13[27:26]00=输入,01=输出,10= VD5,11=保留
GPC12[25:24]00=输入,01=输出,10= VD4,11=保留
GPC11[23:22]00=输入,01=输出,10= VD3,11=保留
GPC10[21:20]00=输入,01=输出,10= VD2,11=保留
GPC9[19:18]00=输入,01=输出,10= VD1,11=保留
GPC8[17:16]00=输入,01=输出,10= VD0,11=保留
GPC7[15:14]00=输入,01=输出,10=LCDVF2,11=保留
GPC6[13:12]00=输入,01=输出,10= LCDVF1,11=保留
GPC5[11:10]00=输入,01=输出,10=LCDVF0,11=保留
GPC4[9:8]00=输入,01=输出,10=VM,11=IIS数据输出
GPC3[7:6]00=输入,01=输出,10=VFRAME,11= IIS数据输入
GPC2[5:4]00=输入,01=输出,10=VLINE,11=保留
GPC1[3:2]00=输入,01=输出,10=VCLK,11=保留
GPC0[1:0]00=输入,01=输出,10=LEND,11=保留
2)端口D的控制寄存器(GPDCON)
引脚GPDCON的位描述
GPD15[31:30]00=输入,01=输出,10=VD23,11=保留
GPD14[29:28]00=输入,01=输出,10= VD22,11=保留
GPD13[27:26]00=输入,01=输出,10= VD21,11=保留
GPD12[25:24]00=输入,01=输出,10= VD20,11=保留
GPD11[23:22]00=输入,01=输出,10= VD19,11=保留
GPD10[21:20]00=输入,01=输出,10= VD18,11=保留
GPD9[19:18]00=输入,01=输出,10= VD17,11=保留
GPD8[17:16]00=输入,01=输出,10= VD16,11=保留
GPD7[15:14]00=输入,01=输出,10= VD15,11=保留
GPD6[13:12]00=输入,01=输出,10= VD14,11=保留
GPD5[11:10]00=输入,01=输出,10= VD13,11=保留
GPD4[9:8]00=输入,01=输出,10= VD12,11=保留
GPD3[7:6]00=输入,01=输出,10= VD11,11=保留
GPD2[5:4]00=输入,01=输出,10= VD10,11=保留
GPD1[3:2]00=输入,01=输出,10= VD9,11=保留
GPD0[1:0]00=输入,01=输出,10= VD8,11=保留
3)端口E的控制寄存器(GPECON)
引脚GPECON的位描述
GPE15[31:30]00=输入,01=输出,10=IICSDA,11=保留
GPE14[29:28]00=输入,01=输出,10=IICSCL,11=保留
GPE13[27:26]00=输入,01=输出,10=SPICLK0,11=保留
GPE12[25:24]00=输入,01=输出,10=SPIMOSI0,11=保留
GPE11[23:22]00=输入,01=输出,10=SPIMISO0,11=保留
GPE10[21:20]00=输入,01=输出,10=SSDAT3,11=保留
GPE9[19:18]00=输入,01=输出,10=SSDAT2,11=保留
GPE8[17:16]00=输入,01=输出,10=SSDAT1,11=保留
GPE7[15:14]00=输入,01=输出,10=SSDAT0,11=保留
GPE6[13:12]00=输入,01=输出,10=SDCMD,11=保留
GPE5[11:10]00=输入,01=输出,10=SDLCK,11=保留
GPE4[9:8]00=输入,01=输出,10=IISSDO,11=IIS数据输出
GPE3[7:6]00=输入,01=输出,10=IISSI,11= IIS数据输入
GPE2[5:4]00=输入,01=输出,10=CDCLK,11=保留
GPE1[3:2]00=输入,01=输出,10=IISCLK,11=保留
GPE0[1:0]00=输入,01=输出,10=IISLRCK,11=保留
4)端口H的控制寄存器(GPHCON)
引脚GPHCON的位描述
GPH10[21:20]00=输入,01=输出,10=CLKOUT1,11=保留
GPH9[19:18]00=输入,01=输出,10= CLKOUT0,11=保留
GPH8[17:16]00=输入,01=输出,10=UEXTCLK,11=保留
GPH7[15:14]00=输入,01=输出,10=RXD2,11=保留
GPH6[13:12]00=输入,01=输出,10=TXD2,11=保留
GPH5[11:10]00=输入,01=输出,10=RXD1,11=保留
GPH4[9:8]00=输入,01=输出,10=TXD1,11=IIS数据输出
GPH3[7:6]00=输入,01=输出,10=RXD0,11= IIS数据输入
GPH2[5:4]00=输入,01=输出,10=TXD0,11=保留
GPH1[3:2]00=输入,01=输出,10=nRTS0,11=保留
GPH0[1:0]00=输入,01=输出,10=nCTS0,11=保留
5)UART线路控制寄存器(ULCONn n可以是0、1、2)
ULCONn的位[7][6][5:3][2][1]描述保留
值为0确定红外模式
0=正常操作模式
1=正常操作模式确定校验类型
0xx=无校验
100=奇校验
101=偶校验确定停止位数
0=1位停止位
1=2位停止位确定数据位
00=5位01=6位
10=7位11=8位6)TCFG0寄存器
TCFG0的位功能描述初始状态值
[31:24]保留0x00[23:16]在此不用0x00
[15:8]确定Timer2,Timer3,Timer4的预分频系数0x00[7:0]确定
Timer0,Timer1的预分频系数0x007)TCFG1寄存器
TCFG1的位功能描述初始状态值[31:24]保留0x00
[23:20]在此不用0b0000
[19:16]确定Timer4的分频器值0000=2 0001=4 0010=8 0011=16
[15:12]确定Timer3的分频器值0000=2 0001=4 0010=8 0011=16
[11:8]确定Timer2的分频器值0000=2 0001=4 0010=8 0011=16
[7:4]确定Timer1的分频器值0000=2 0001=4 0010=8 0011=16
[3:0]确定Timer0的分频器值0000=2 0001=4 0010=8 0011=16
说明:设置TCFG0、TCFG1可以确定预分频器系数、分频器值,如:通过设置TCFG0为0x0000001F,Timer0的预分频器系数选择为31,设置TCFG1为0x00000001,Timer0的分频器值选择为4。通过下面公式计算定时器的计数常数:
定时器输入时钟频率=PCLK/(预分频系数+1)/分频器值
计数常数=定时时间间隔/(1/定时器输入时钟频率)
预分频系数的范围为0~255,分频器值的取值范围为2、4、8、16。
6)TCON寄存器(注:此处不用的位被省略,其值默认为0x0000000)
TCON的位功能描述初始状态值厖0x0000000[3]确定Timer0的自动装载功能
1=自动装载0=一次停止0b0[2]确定Timer0的输出反转位
1=TOUT0反转0=TOUT0不反转0b0[1]确定Timer0的更新
1=更新TCNTB0和TCMPB0 0=不更新0b0[0]确定Timer0的启动/停止
1=启动0=停止0b0
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!