带云台的视频摄像机(示意图如下图所示)可以由云台控制旋转,因而可以从不同角度来进行视频监控,若以S3C2410芯片为核心来设计其控制系统,其基本功能描述如下: a.支持嵌入式Web的访问方式,即连接在因特网上的远程PC机可以通过浏览器观察视频监控画面,并控

admin2021-05-11  47

问题 带云台的视频摄像机(示意图如下图所示)可以由云台控制旋转,因而可以从不同角度来进行视频监控,若以S3C2410芯片为核心来设计其控制系统,其基本功能描述如下:
a.支持嵌入式Web的访问方式,即连接在因特网上的远程PC机可以通过浏览器观察视频监控画面,并控制云台动作。
b.摄像头可以在云台的带动下,进行左右320°,上下60°的旋转动作,以便拍摄不同角度的视频。
c.能够存储本地拍摄的图片1万张(分辨率1600×1200)。
d.具有实时日历,拍摄图片后,需要标记图片的拍摄时间。
根据上述功能要求的描述,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后附录)。

(1)为了支持嵌入式Web的访问方式,带云台的视频摄像机控制系统电路中需要设计以太网接口电路,以便视频摄像机可以连接到因特网上。若以太网接口电路选择控制芯片AX88796为核心来设计,它支持10M/100M自适应物理收发,数据总线宽度为【81】位。电路设计时,若用S3C2410芯片的nGCS5连接到其CS引脚(低电平有效),那么,读写AX88796芯片内部寄存器的首地址是【82】
(2)系统的软件构件设计时,需要完成嵌入式Web服务器环境构建、应用网页设计、CGI接口程序设计、云台及视频摄像机操控程序设计等。嵌入式Web服务器环境构建时,需要移植启动引导程序(如:【83】)、嵌入式操作系统(如:Linux)、嵌入式Web服务器(如:Lighttpd)。
(3)应用网页是远程操控带云台的视频摄像机的人机界面,远程PC机可以用浏览器登陆该界面从而操控该视频摄像机。应用网页设计时,通常使用页面设计语言【84】。应用网页需要接收操控设备的命令并提交(如:接收控制云台旋转的命令并提交等),因此,需要在页面程序代码中,嵌入【85】接口程序代码,完成与设备操控组件的信息交互。
(4)设备操控程序是带云台的视频摄像机的主控程序,用于控制带云台的视频摄像机动作及采集其状态信息,如:控制云台左右320°旋转、采集实时时间等,操控命令是用户通过应用网页提交的。若设备操控程序中,控制云台左右320°旋转的设计思路及程序如下,请补充完善:
云台左右320°旋转由步进电机带动,电路设计时,选用S3C2410的GPE端口的GPE7、GPE6引脚来控制步进电机驱动器所需的使能信号、旋转方向信号。那么,相应的驱动程序中,需要设计以下程序指令。
//初始化GPE7、GPE6引脚为输出引脚,以便用来输出使能信号、旋转方向信号
rGPECON=(rGPECON| 0x00005000)&【86】// rGPECON是端口E的控制寄存器变量
若旋转方向信号为低电平时,步进电机顺时针转;为高电平时,步进电机反时针转。那么,控制步进电机反时针转的语句是:
rGPEDAT = rGPEDAT |【87】;//rGPEDAT是端口E的数据寄存器
步进电机的旋转角度及速度是由输入给步进电机驱动器的脉冲信号个数及频率确定,电路设计时,脉冲信号由S3C2410的Timer2部件产生,对应的脉冲输出引脚TOUT2连接到步进电机驱动器的脉冲输入信号线上。那么,相应的驱动程序中,需要设计以下程序指令。
//初始化GPB2引脚的功能
rGPBCON=(rGPBCON | 0x00000020)& 【88】// rGPBCON是端口B的控制寄存器变量
若设计所要求的步进电机转速换算成脉冲频率为120Hz,由Timer2部件来产生此频率的脉冲信号,那么,Timer2部件所需的时间间隔是【89】μs(小数四舍五入)。初始化Timer2部件的函数可以设计如下。(程序中所有参数请用十六进制表示。并假设系统主频参数PCLK为400MHz,分割器值选择为16,预分频系数选择为99。)
void Timer2Int(void)
{
//设置定时器配置寄存器0(TCFG0)
rTCFG0=【90】;//dead zone=0, Timer2预分频系数设99
//设置定时器配置寄存器1(TCFG1)
rTCFG1=【91】;//工作在中断方式,分割器值为16
//设置计数常数
rTCNTB2= 0x823;
//设置控制寄存器TCON
rTCON=【92】;//仅更新TCNTB2和TCMPB2
rTCON=【93】;//仅Timer2启动
}
(5)照片拍摄的实时时间可以通过读取S3C2410芯片内部的【94】部件来获得。设备操控程序中所设计的相关驱动程序中,可以用下面一段语句来初始化该部件。
void R_init(void)
{
//初始化相关寄存器
rRTCCON = (rRTCCON|【95】);// rRTCCON是控制寄存器变量
rRTCALM =【96】;//报警功能(即闹钟)全部禁止
rRTCRST = 0x00;
rTICNT =【97】;//时间间隔设置为1s
rRTCCON = (rRTCCON&【98】);
…… //省略了其他语句
}
(6)带云台的视频摄像机开机运行时,目标系统需先运行【99】程序,然后引导Linux操作系统运行。设备操控程序作为一个独立的任务被Linux启动,并且嵌入式Web服务器(如:Lighttpd)也被启动。用户在客户机上利用【100】软件,可以访问连接到因特网上带云台的视频摄像机,并通过目标系统的应用网页来提交设备的操控命令。
说明:下面是试题解答时需要用到的寄存器格式及相关说明
1)端口B控制寄存器(GPBCON)的格式

2)端口E控制寄存器(GPECON)的格式

3)TCFG0寄存器的格式

    通过TCFGO、TCFG1的设置,可以确定预分频系数和分割器值,最终通过下面公式计算定时器输入时钟频率。
    定时器输入时钟频率=PCLK/(预分频系数+1)/(分割器值)
    预分频系数的范围=O0~255
    分割器值的取值范围=2,4,8,16
    5)TCON寄存器的格式

6)RTCCON寄存器的格式

7)TICNT寄存器的格式

选项

答案(1)【81】16【82】0x28000000 (2)【83】U–Boot (3)【84】HTML【85】CGI (4)【86】0xFFFF5FFF【87】0x0040 0x40【88】0xFFFFFFEF【89】8333【90】0x6300【91】0x300【92】0x2000【93】0x1000 (5)【94】实时时钟(RTC)【95】0x01【96】0x00【97】0xFF【98】0xFE (6)【99】启动引导【100】浏览器

解析 (1)控制芯片AX88796的数据总线宽度为16位。其片选信号CS引脚链接到S3C2410芯片的nGCS5上,则读写AX88796芯片内部寄存器的地址范围是0x28000000~0x280003FF。
(2)U–Boot是一种广泛使用的引导程序,支持多种体系结构的处理器。
(3)一般网页设计语言用的是HTML:CGI接口程序可以用任何语言编程,在HTML网页中嵌入CGI接口程序可以完成与设备操控组件的信息交互。
(4)【86】0xFFFF5FFF:使能GPE7和GPE6作为输出端口,均置为01。【87】0x0040 0x40:反时针旋转则需要将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):实时时钟(RTC)组件是一种能提供日历/时钟功等功能的内置硬件。【95】0x01:RTCCON置为01确定RTC使能。【96】0x00:RTCALM置为0报警禁止。【97】0xFF:时间间隔设置为1s。【98】0xFE:初始化RTCCON。
(6)【99】启动引导:目标系统需先运行启动引导程序。【100】浏览器:客户机一般用浏览器访问因特网。
转载请注明原文地址:https://kaotiyun.com/show/QH0Z777K
0

最新回复(0)