利用DMA模块的图像采集处理系统的优化设计
匡琅辉1,2,郭建1,黄嵩人1,2
【摘 要】摘要: 提出了一种利用DSP片内DMA模块进行数据搬移和存储处理,并应用于身份证识别系统的优化设计方案。该方案主要是基于原系统无法满足高速、大量的A/D采样数据的存储和处理而进行设计的。利用DMA的高效性和实时性,将A/D采样数据通过DMA模块再通过并口XINTF直接存储到片外SDRAM 中,同时处理后的信号也可以直接通过USB3.0发送到上位机,提供一条高效的数据通路。在完成新系统的CMOS图像传感器、光电传感器、DSP、FPGA、SDRAM和USB3.0接口等硬件的功能实现后,最后测试验证了优化设计后的系统是可实行的,并能适应更广泛的使用领域。 【期刊名称】单片机与嵌入式系统应用 【年(卷),期】2018(018)007 【总页数】4
【关键词】关键词: DMA模块;CMOS图像传感器;A/D采样;片外SDRAM;数字信号处理器
引 言
随着物联网的迅速发展,人们对设备使用效率的要求越来越高,嵌入式系统的高速性能也越来越备受关注,这对广泛应用于车站、酒店、银行等场合的嵌入式身份证读卡器系统也提出了更高的要求。
嵌入式身份证读卡器系统是基于数字信号处理器(DSP)和现场可编程门阵列(FPGA)架构而开发的实用系统。该系统不仅结构灵活,且有较强的通用性,适合模块化设计从而提高算法效率,而且开发周期较短,平台易于维护和扩展,
适用于实时信号处理[1]。
身份证读卡系统虽然已经被广泛应用,但是因为用户需求的多样化以及受数据传输响应速度的限制,现有的系统数据传输速率并不能满足高速CMOS图像传感器的采样频率以及用户对使用等待时间的要求。针对这一问题,利用集成了DMA模块的DSP进行数据搬移、存储和处理,提高了整个系统的响应速度。
1 原系统简介
身份证读卡器是一款用于对身份证信息扫描和采集的仪器,需要获取的身份证数据主要包括射频识别RFID[2] (Radio Frequency Identification)数据和图像扫描数据。RFID信息数据大约有100多KB,通过串行通信获取,而图像扫描数据则通过A/D采样的模拟信号,信号数据有4 MB左右。对于如此大量的数据处理,速度是关键,处理的慢则耗时越久,这是使用者难以接受的。所以根据实际使用情况及用户要求,我们将扫描过程耗时控制在1 s以内,经计算要达到这个时间要求,则图像扫描频率需达到3 MHz以上。
原系统由CMOS图像传感器、光电传感器、片外A/D、ARM、FPGA、SDRAM和USB2.0接口等硬件组成。系统硬件结构框图如图1所示。 片外A/D采集CMOS传感器图像后由FPGA存储到SDRAM,再由ARM进行处理,最后通过USB2.0上传至上位机[3]。
2 改进系统设计
基于对提高整个系统的运行速度及降低硬件结构尺寸来提升性价比的方面考虑,我们提出了一种新的升级方案——用一块DSP芯片替代ARM+片外A/D两块芯片,新方案系统硬件结构框图如图2所示。
方案中的DSP首先使用的是ADP32F12,该芯片内部集成了一个流水线结构
且分辨率为12位的ADC模块[4]。该ADC模块有16个通道,可配置成两个独立的8通道模块,可以为外设事件管理器EV服务,两个8通道模块具有一对一系列转换自动化序列化的能力,通过模拟多路器可以任意选择可用的8个通道中的一个通道,一旦转换结束,已选择的通道值就保存在各个通道的结果寄存器ADCRESULT中。自动序列允许系统对同一通道转换多次,允许用户执行采样算法[5],完全等效TITMS320F2812芯片的功能。
由于A/D采样率最高可达12.5 MHz,如果采用该系统,直接以一个8 MHz的频率去启动A/D采样,由于上下两个面各有一个扫描头,各需要一个A/D通道对其采样,所以实际的A/D采样频率为4 MHz。
同样,两个A/D通道采集完后进入A/D中断,该中断的频率同样是4 MHz,然后在中断服务程序中将A/D采样数据搬移至片外RAM中,整个扫描过程结束。但在实际测试时发现扫描数据会大量丢失,理论上扫描数据有: 648(每行点数)×3(RGB三色)×1024(行数)×2(正反两面)=3 981 312个 而通过实验扫描得到的数据点数只有理论计算的一半。经验证,发现A/D采样在非连续模式下其采样率远达不到12.5 MHz,而只有1.5 MHz左右,并且中断的响应频率最快只有2 MHz左右,完全满足不了系统的应用需求。
经分析发现,A/D如果在连续采样模式下,采样率能够满足应用要求,只是采样后的数据CPU无法将其快速搬移。但如果仍沿用该系统架构,即使采用A/D连续采样,数据也无法达到应用要求的速度进行快速搬移,因为2 MHz的A/D中断的响应频率还是无法满足要求。无法满足数据搬移的速度是该方案的瓶颈所在。
于是,在上述方案的基础上将ADP32F12替换为ADP32F28335,该芯片相对
利用DMA模块的图像采集处理系统的优化设计



