6:1、电梯群控系统由楼层控制器、电梯轿箱控制器、电机房控制器和中央控制子系统组成,其中电梯轿箱控制器的基本功能要求如下:
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=停止