2.3 DM642的接口设计
DM642作为系统设计的核心,其主要接口如图4所示,主要包括:(1)通过EMIF总线对SDRAM和FLASH进行数据读写。FLASH主要保存程序代码、与热像仪相关的配置和测温系数等数据;SDRAM是程序运行中需要用到的外部存储器,由于基于BIOS操作系统的代码量都较大,无法把程序和数据都加载到DM642的L2缓存中,因此必须合理使用SDRAM,并且将其配置为L2的外部CACHE,通过EDMA通道和L2对应一致。(2)编码器接口。ADV7179的时钟信号和初始化由FPGA提供,但编码器的输入数据由DM642通过VP0提供,数据格式是8位宽的BT.656格式,内嵌同步信号,因此这里不再需要提供额外的行同步和帧同步信息。(3)FPGA接口。这部分在介绍FPGA接口设计时已经提到,DM642需要把VP1配置为RAW格式的采集模式,采集宽度为16位,采集时钟和采集使能信号都由FPGA提供。(4)EMAC接口。DM642内嵌EMAC控制器,并且在扁平型电感片内由EDMA插件电感通道及通过专用的EMAC数据线和外部物理层芯片LXT971ALC连接,这种架构设计正是DM642网络通信性能优异的保证,具体的测试结果在实验与总结部分给出。EMAC控制器还可以通过MDIO接口对LXT971ALC芯片进行配置,获取以太网连接状态信息等。(5)I2C接口,该接口主要用来配置探测器,使得探测器工作在合适的模式,并且获取相关的配置信息,如探测器内部温度、控制快门校正等。
3 软件设计
基于DM642的软件设计有两种主要方式,其中之一是类似单片机的程序设计方法,主程序是一个死循环,通过中断和定时器来实现各个任务的控制。这种方式在程序较大、任务较多并且任务间需要同步和通信时不太适合,难以发挥出处理器的性能。因此本文采用TI公司针对C6000芯片的BIOS操作系统来进行软件设计,采用多线程技术,对硬件的访问都通过BIOS架构的Mini-Driver方式,这就保证了系统的稳定性和可靠性。
3.1 驱动程序
对硬件的访问都封装成对应的驱动模块,并且需要用到TI的DDK和NDK开放包,主要包括:(1)对VP1和VP0的驱动设计,在DDK中TI为了降低设计难度,已经针对VP口提供了常用的编码器和解码器的驱动模块,如TVP5146 和TVP5150等,因此可以在现有的VPORT.lib库上进行共模电感修改。具体来说就是把头文件中的VPORTCAP_Params和VPORTDIS_Params结构中位宽定义字段修改为需要的位宽格式,然后把编码器和解码器的OPEN、CLOSE、CTRL函数中参数和实际用到的编码器和解码器对应修改即可。修改完后需要重新编译V扁平型电感PORT工程,把编译得到的VPORT.lib文件保存到新工程目录下调用。(2)TI已经在NDK中提供了TCP/IP协议栈的支持,但NDK要在自己设计的板子上运行,还需要在用户板级驱动包中添加对EMAC和MDIO的初始化操作。这里在BIOS的全局初始化函数中首先对物理层芯片进行复位,然后实现两个回调函数_getConfig和_linkStatus,分别实现对MAC地址配置和以太网链路状态信息的读取。
3.2 主程序设计
主程序流程如图5所示。首先进行硬件初始化,包括CACHE、VP口、EMAC、I2C、EDMA、中断等;然后启动网络监听任务和热图采集任务;最后启动塑封电感器数据处理任务和视频显示任务。各个任务的功能如下:(1)在热图采集任务中采集到一帧完整的640×480×16 bit的红外图像原始数据并通过双缓冲模式通过EDMA把数据保存在SDRAM中,然后通过TI提供的RF5框架中的SCOM通信模块,把地址指针和同步信号发送到数据处理任务。(2)数据处理任务把原始红外数据进行非均匀性校正、直方图均衡、温度计算等处理,并且同时生成具有字符叠加后的模拟视频数据;然后数据处理任务把模拟视频数据通过SCOM通信模块发送到视频显示任务,通过ADV7179得到PAL格式的模拟红外视频。如果热像传输任务已经启动,数据处理任务还需要把处理后的热图数据发送到热像传输任务。(3)热像传输任务和命令收发任务都是基于NDK提供的网络通信,首先是初始化TCP SOCKET连接并监听,当接收到网络来的连接请求并通过鉴权后,再启动对应传输和命令收发任务。其中热像传输任务的输入数据是来自数据处理任务,然后通过TCP协议发送到PC计算机进行显示、存储和进一步处理。命令收发任务接收网络传来的命令信息,包括对探测器的配置、对热像仪定标数据的配置,以及通过该任务对FLASH进行读写,实现热像仪在线软件更新功能。
基于ADE7878的多功能电能表的设计 摘 要: 介绍了基于ADE7878测量芯片和LPC2212嵌入式ARM7平台的电子式多功能电能表的设计思路,实现了对各种电力参数的高精度测量、显示和存储,同时还设置了对各种异常情况进行报警和事件存 利用编程口实现三菱PLC远距离通讯的方法 MITSUBISHI PLC是三菱公司生产的可编程序控制器,由于该产品体积小,结构紧凑,性能可靠,易编程,系列全(根据被控对象的复杂程度,选用相应容量的PLC)等优点,而被广泛应用于各种场合和生产过 调质处理对标准铂铑热电偶 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费
2/3 首页 上一页 1 2 3 下一页 尾页 |