最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基-TATmegal6微控制器的航拍相机摄像机控制器

IT圈 admin 13浏览 0评论

2024年11月5日发(作者:伟艾)

2013—03 

兵工自动化 

32(3) 

Ordnance Industry Automation ・87・ 

基 ̄ATmegal6微控制器的航拍相机/摄像机控制器 

贺思桥 ,赖宏伟 ,张恒超 

(1.中国兵器工业第五八研究所科研处,四J1I绵阳621000;2.德阳市东汽实业开发有限公司钢结构厂, 

四川德阳618000;3.中国人民解放军77538部队,拉萨854000) 

摘要:通过Atmel公司的低功耗8位CMOS微控制器ATmegal6,实现对相机和摄像机的智能控制,较好地解 

决了成品高清相机和摄像机在无人平台控制系统的融合及远程控制问题,经过与多款高清成品相机和摄像机的集成 

试用结果证明:该控制器具有质量小、功耗低、成本低等优点,且稳定可靠,易于集成和应用。 

关键词:ATmegal6;LANC;相机控制;摄像机控制 

中图分类号:TP332 文献标志码:A 

Aviation Camera/Vidicon Controller Based on ATmega l 6 Micro Controller 

He Siqiao .Lai Hongwei 。Zhang Hengchao 

(1.Management Ofifce ofScientiifc Research,No.58 Research Institute foChina Ordnance Industries,Miangyang 621000,China; 

2.Steel Structure Factory,Deyang Dongqi Industrial&Mechanical Production Co.Ltd.,Deyang 618000,China; 

3.No.77538 Unit fo ,Lhasa 854000,China) 

Abstract:Based on low power consumption 8bit CMOS micro—controller ATmega l 6,realize intelligence control for 

camera and vidicon.It solved the fusion and remote control problem of high definition camara and vidicon in unmanned 

platform control system.The controller has integrated with many kinds of cameras and vidicons.The test shows that the 

controller has advantages of light weight,low power consumption,low cost.It is easy for integration and application. 

Key words:ATmegal6;LANC;camera control;vidicon control 

O 引言 

ATmegal6微控制器,通过串口驱动芯片与无人机 

目前,各种用于军用和民用的无人平台,通常 

平台控制系统进行RS232串行通讯。ATmegal6微 

携带了高清的摄像和照相设备,用于完成侦查、航 

控制器接收无人机地面控制系统的指令后,进行指 

拍、灾难现场搜救等任务。鉴于成本、稳定性、平 

令解析、执行指令的操作。相机/摄像机控制器通过 

台载重等因素的限制,民用无人平台一般搭载成品 

控制相机接口(即I/O)输出的方波频率、占空比进 

的相机和摄像机,实现视频录制和高清照片拍摄等 

而控制相机拍照的频率与快门半行程时间。相机/ 

功能。为解决成品高清相机和摄像机与无人平台控 

摄像机控制器通过摄像机协议转换芯片将变焦、开 

制系统的融合问题以及远程控制问题,笔者提出一 

始与结束摄像、是否自动变焦、摄像机状态检查指 

种用于无人平台的相机/摄像机控制器的设计方案。 

令转换为摄像机可辨识的LANC指令,控制摄像机 

l 控制器硬件设计 

工作。状态指示灯可指示云台航拍控制器与无人机 

飞行控制器的通讯状态、相机与摄像机工作状态 ]。 

笔者采用ATMEL公司的ATmegal6微控制器 

相机/摄像机控制器r_i 五 j耍 

作为主控芯片,相机/摄像机控制器通过RS232串 

控制系统l 

相机接口I I摄像机接口 

行通讯接口与无人平台控制系统连接,航拍控制器 

±数据链路 

的控制命令通过无人平台控制系统和地面控制系统 

反相j 

高清摄像机I I无人机地面 

快门 

LANC. ̄-口l l控制系统 

之间的数据链路进行传送,利用相机及摄像机的控 

图1 

相机/摄像机控制器系统结构 

制接口,完成相机状态检查、快门控制、摄像机变 

焦等功能,实现相机和摄像机的远距离控制,从而 

高效快捷地获取现场信息…。相机/摄像机控制器的 

相机接口与单反相机的快门接口连接。摄像机接口 

通过LANC接口实现与云台控制系统的摄像机接口 

连接。航拍控制器的系统结构如图1所示。 

图2 相机/摄像机控制器原理框图 

如图2,相机/摄像机控制器采用的主控芯片为 

在不需要在线调试相机拍照参数的情况下,可 

收稿日期:2012-09—21;修回日期:2013-01—07 

作者简介:贺思桥(1983一),男,四川人,大学本科,工程师,从事科研项目管理研究。 

・88・ 兵工自动化 第32卷 

以在使用前通过拨码开关预先设置相机拍照延迟时 

间、拍照频率、快门半行程时间。拨码开关为lO 

位,由ATmegal6微控制器10位I/0口读取开关 

数值,其中前8位表示数值,后2位表示拍照延迟 

时问、拍照频率、快门半行程时间功能选项。 

2软件程序设计 

ATmega16微控制器提供了良好的C语言开发 

环境,整个程序在IAR Assembler for AVR下开发【3]。 

如图3所示,主程序首先进行系统初始化,而后初 

始化I/O模块、串口通讯模块等外设,之后开始按 

预设模式运行。系统中,上位机通过对串口可完成 

配置工作模式。 

接收上位机命令 

一一接收报又、 

皇 

 

初始化中断向量表 

主 

开放中断 

面 

—百蕊 卜 

主 

●是 

读取EEPROM参 

夏 

数、初始化RS232 

设定拍照频率等 

模块等 

按设定参数运行 

图3主程序流 

2.1 ATmegal6微控制器EEPROM编程 

相机/摄像机控制器的配置参数存储在 

ATmegal6微控制器内部EEPROM中,使用不当可 

能出现数据丢失的现象,导致程序运行状态出错。 

通常原因有下面几种: 

11程序本身问题; 

21程序跑飞; 

3)EEPROM相关寄存器因强磁场、高压静电等 

外部干扰出错所产生的写入动作; 

4)系统有很大的感性负载,在断电时会产生一 

个反向高压,EEPROM有可能会自擦除。 

在设计之初,为了防止出现EEPROM存储数据 

失效,采取了2种预防措施:1)防止因为电压不正 

常引起的工作不稳定,导致程序跑飞。本设计中使 

能内部BOD,使在电压不稳定的情况下,防止误操 

作;2)数据在不同区块进行多次备份,并进行校验。 

部分程序代码如下: 

#define SYSPARA

ST

ADDRFIR 0x l 0 

——————

/ 存储参数的第一个地址 / 

#define SYSPARA

STADDR

SEC 0x 1 00 

——————

/ 存储参数的第二个地址:一c/ 

#define SYSPARAST

ADDRTHI Ox l 80 

————

—.

/ 存储参数的第三个地址 / 

数据在不同区块进行多次备份: 

SysCfg

——

Save(SYSPARA——ST——ADDR_FIR); 

SysCfg

——

Save(SYSPARA——ST

ADDR

_

SEC); 

SysCfg

——

Save(SYSPARA——ST——ADDR——THI); 

数据读取时从地址1开始读取,假如数据CRC 

校验错误读取失败,则顺序读地址2的数据,提高 

了数据存储的可靠性。 

if(TRUE == 

SysCfg

Read(SYSPARA—ST—ADDRFIR)){ return 

TRUE;} 

if(TRUE == 

SysCfg

Read(SYSPARA—ST—ADDR—SEC)){ 

SysCfg

——

Save(SYSPARA——ST——ADDR——FIR);retur 

n TRUE:} 

2.2相机控制程序设计 

云台航拍控制器通过控制相机接口(即I/O)输 

出的方波频率、占空比进而控制相机拍照的频率与 

快门半行程时间L4J。笔者利用Timerl输出设定频率 

的PWM波进而控制相机拍照。 

Timerl的初始化部分程序代码如下: 

void Timer l

Init(USIGN 1 6 TimeUnit){ 

TCCR1ACOM1A1=0; 

TCCR1ACOM1AO=0; 

OCR1A=TimeUnit; 

TIMSKTOIE1 0; 

TIMSK

OCIE1A=l; } 

2.3 摄像机控制程序设计 

云台航拍控制器通过摄像机协议转换芯片将变 

焦、开始与结束摄像、是否自动变焦、摄像机状态 

检查指令转换为摄像机可辨识的LANC指令,进而 

控制摄像机工作。本设计中,云台航拍控制器与摄 

像机协议转换芯片之间的通讯为RS232,但由于 

ATmegal6微控制器的唯一串口已经被云台航拍控 

制器与飞行控制系统之间的通讯占用,故而云台航 

拍控制器与摄像机协议转换芯片之间的通讯采用 

I/0口模拟串口的形式实现[ 。 

主要部分代码如下: 

static void SimuUart

Putchar(const USIGN8 

X){ 

PORTD&=~

BIT(7);/ lbit开始位 / 

for(i=0;i<l;i++) 

{ while(gTmr2Flag I_ 1){} 

gTmr2Flag=0; } 

for(i=0;i<8;i++) 

2024年11月5日发(作者:伟艾)

2013—03 

兵工自动化 

32(3) 

Ordnance Industry Automation ・87・ 

基 ̄ATmegal6微控制器的航拍相机/摄像机控制器 

贺思桥 ,赖宏伟 ,张恒超 

(1.中国兵器工业第五八研究所科研处,四J1I绵阳621000;2.德阳市东汽实业开发有限公司钢结构厂, 

四川德阳618000;3.中国人民解放军77538部队,拉萨854000) 

摘要:通过Atmel公司的低功耗8位CMOS微控制器ATmegal6,实现对相机和摄像机的智能控制,较好地解 

决了成品高清相机和摄像机在无人平台控制系统的融合及远程控制问题,经过与多款高清成品相机和摄像机的集成 

试用结果证明:该控制器具有质量小、功耗低、成本低等优点,且稳定可靠,易于集成和应用。 

关键词:ATmegal6;LANC;相机控制;摄像机控制 

中图分类号:TP332 文献标志码:A 

Aviation Camera/Vidicon Controller Based on ATmega l 6 Micro Controller 

He Siqiao .Lai Hongwei 。Zhang Hengchao 

(1.Management Ofifce ofScientiifc Research,No.58 Research Institute foChina Ordnance Industries,Miangyang 621000,China; 

2.Steel Structure Factory,Deyang Dongqi Industrial&Mechanical Production Co.Ltd.,Deyang 618000,China; 

3.No.77538 Unit fo ,Lhasa 854000,China) 

Abstract:Based on low power consumption 8bit CMOS micro—controller ATmega l 6,realize intelligence control for 

camera and vidicon.It solved the fusion and remote control problem of high definition camara and vidicon in unmanned 

platform control system.The controller has integrated with many kinds of cameras and vidicons.The test shows that the 

controller has advantages of light weight,low power consumption,low cost.It is easy for integration and application. 

Key words:ATmegal6;LANC;camera control;vidicon control 

O 引言 

ATmegal6微控制器,通过串口驱动芯片与无人机 

目前,各种用于军用和民用的无人平台,通常 

平台控制系统进行RS232串行通讯。ATmegal6微 

携带了高清的摄像和照相设备,用于完成侦查、航 

控制器接收无人机地面控制系统的指令后,进行指 

拍、灾难现场搜救等任务。鉴于成本、稳定性、平 

令解析、执行指令的操作。相机/摄像机控制器通过 

台载重等因素的限制,民用无人平台一般搭载成品 

控制相机接口(即I/O)输出的方波频率、占空比进 

的相机和摄像机,实现视频录制和高清照片拍摄等 

而控制相机拍照的频率与快门半行程时间。相机/ 

功能。为解决成品高清相机和摄像机与无人平台控 

摄像机控制器通过摄像机协议转换芯片将变焦、开 

制系统的融合问题以及远程控制问题,笔者提出一 

始与结束摄像、是否自动变焦、摄像机状态检查指 

种用于无人平台的相机/摄像机控制器的设计方案。 

令转换为摄像机可辨识的LANC指令,控制摄像机 

l 控制器硬件设计 

工作。状态指示灯可指示云台航拍控制器与无人机 

飞行控制器的通讯状态、相机与摄像机工作状态 ]。 

笔者采用ATMEL公司的ATmegal6微控制器 

相机/摄像机控制器r_i 五 j耍 

作为主控芯片,相机/摄像机控制器通过RS232串 

控制系统l 

相机接口I I摄像机接口 

行通讯接口与无人平台控制系统连接,航拍控制器 

±数据链路 

的控制命令通过无人平台控制系统和地面控制系统 

反相j 

高清摄像机I I无人机地面 

快门 

LANC. ̄-口l l控制系统 

之间的数据链路进行传送,利用相机及摄像机的控 

图1 

相机/摄像机控制器系统结构 

制接口,完成相机状态检查、快门控制、摄像机变 

焦等功能,实现相机和摄像机的远距离控制,从而 

高效快捷地获取现场信息…。相机/摄像机控制器的 

相机接口与单反相机的快门接口连接。摄像机接口 

通过LANC接口实现与云台控制系统的摄像机接口 

连接。航拍控制器的系统结构如图1所示。 

图2 相机/摄像机控制器原理框图 

如图2,相机/摄像机控制器采用的主控芯片为 

在不需要在线调试相机拍照参数的情况下,可 

收稿日期:2012-09—21;修回日期:2013-01—07 

作者简介:贺思桥(1983一),男,四川人,大学本科,工程师,从事科研项目管理研究。 

・88・ 兵工自动化 第32卷 

以在使用前通过拨码开关预先设置相机拍照延迟时 

间、拍照频率、快门半行程时间。拨码开关为lO 

位,由ATmegal6微控制器10位I/0口读取开关 

数值,其中前8位表示数值,后2位表示拍照延迟 

时问、拍照频率、快门半行程时间功能选项。 

2软件程序设计 

ATmega16微控制器提供了良好的C语言开发 

环境,整个程序在IAR Assembler for AVR下开发【3]。 

如图3所示,主程序首先进行系统初始化,而后初 

始化I/O模块、串口通讯模块等外设,之后开始按 

预设模式运行。系统中,上位机通过对串口可完成 

配置工作模式。 

接收上位机命令 

一一接收报又、 

皇 

 

初始化中断向量表 

主 

开放中断 

面 

—百蕊 卜 

主 

●是 

读取EEPROM参 

夏 

数、初始化RS232 

设定拍照频率等 

模块等 

按设定参数运行 

图3主程序流 

2.1 ATmegal6微控制器EEPROM编程 

相机/摄像机控制器的配置参数存储在 

ATmegal6微控制器内部EEPROM中,使用不当可 

能出现数据丢失的现象,导致程序运行状态出错。 

通常原因有下面几种: 

11程序本身问题; 

21程序跑飞; 

3)EEPROM相关寄存器因强磁场、高压静电等 

外部干扰出错所产生的写入动作; 

4)系统有很大的感性负载,在断电时会产生一 

个反向高压,EEPROM有可能会自擦除。 

在设计之初,为了防止出现EEPROM存储数据 

失效,采取了2种预防措施:1)防止因为电压不正 

常引起的工作不稳定,导致程序跑飞。本设计中使 

能内部BOD,使在电压不稳定的情况下,防止误操 

作;2)数据在不同区块进行多次备份,并进行校验。 

部分程序代码如下: 

#define SYSPARA

ST

ADDRFIR 0x l 0 

——————

/ 存储参数的第一个地址 / 

#define SYSPARA

STADDR

SEC 0x 1 00 

——————

/ 存储参数的第二个地址:一c/ 

#define SYSPARAST

ADDRTHI Ox l 80 

————

—.

/ 存储参数的第三个地址 / 

数据在不同区块进行多次备份: 

SysCfg

——

Save(SYSPARA——ST——ADDR_FIR); 

SysCfg

——

Save(SYSPARA——ST

ADDR

_

SEC); 

SysCfg

——

Save(SYSPARA——ST——ADDR——THI); 

数据读取时从地址1开始读取,假如数据CRC 

校验错误读取失败,则顺序读地址2的数据,提高 

了数据存储的可靠性。 

if(TRUE == 

SysCfg

Read(SYSPARA—ST—ADDRFIR)){ return 

TRUE;} 

if(TRUE == 

SysCfg

Read(SYSPARA—ST—ADDR—SEC)){ 

SysCfg

——

Save(SYSPARA——ST——ADDR——FIR);retur 

n TRUE:} 

2.2相机控制程序设计 

云台航拍控制器通过控制相机接口(即I/O)输 

出的方波频率、占空比进而控制相机拍照的频率与 

快门半行程时间L4J。笔者利用Timerl输出设定频率 

的PWM波进而控制相机拍照。 

Timerl的初始化部分程序代码如下: 

void Timer l

Init(USIGN 1 6 TimeUnit){ 

TCCR1ACOM1A1=0; 

TCCR1ACOM1AO=0; 

OCR1A=TimeUnit; 

TIMSKTOIE1 0; 

TIMSK

OCIE1A=l; } 

2.3 摄像机控制程序设计 

云台航拍控制器通过摄像机协议转换芯片将变 

焦、开始与结束摄像、是否自动变焦、摄像机状态 

检查指令转换为摄像机可辨识的LANC指令,进而 

控制摄像机工作。本设计中,云台航拍控制器与摄 

像机协议转换芯片之间的通讯为RS232,但由于 

ATmegal6微控制器的唯一串口已经被云台航拍控 

制器与飞行控制系统之间的通讯占用,故而云台航 

拍控制器与摄像机协议转换芯片之间的通讯采用 

I/0口模拟串口的形式实现[ 。 

主要部分代码如下: 

static void SimuUart

Putchar(const USIGN8 

X){ 

PORTD&=~

BIT(7);/ lbit开始位 / 

for(i=0;i<l;i++) 

{ while(gTmr2Flag I_ 1){} 

gTmr2Flag=0; } 

for(i=0;i<8;i++) 

发布评论

评论列表 (0)

  1. 暂无评论