1 引言
当前,越来越多的设计应用领域要求具有高精度的a/d转换和实时处理功能。在实时数据采集处理系统设计中,一般需要考虑数据采集以及对采集数据的处理。而对于大数据量的实时数据采集处理系统来说,保持数据高速传输也是该系统性能的关键因素。
采用tms320vc5402和转换器aduc841构成双cpu处理器平台,充分利用tms320vc5402的对大容量数据和复杂算法的处理能力,aduc841接口的控制能力以及各自拥有的dma控制器构建实时数据采集处理系统。双cpu通过dma方式实现数据交换,将数据传输和系统控制分开,提高了数据传输速度,降低了处理器负担,提高系统运行效率。采用此解决方案。大大提高了系统的信号采集和处理能力。
2系统硬件设计
2.1 aduc841简介
aduc841是adi公司aduc84x系列中性能最完善的一款微转换器,它具有单周期指令,20 mi/s的8052内核;内置一个8通道、高速420 ks/s、高精度自校正、12位逐次逼近的adc,具有dma控制:2通道12位dac;2通道pwm方式∑-△型dac;片上15 ppm/℃高稳定电压基准;片上温度传感器;62 kb片内flash/ee程序存储器;4 kb的片内flash/ee数据存储器。还包括看门狗定时器和电源.、adc与数据存储器之间的dma方式、存储保护功能、通用异步串行收发器(uart)、spi和i2c总线接口等功能模块。
aduc841片内的adc的转换速率为2.38μs/次(420 khz的采样率)。当a/d转换时,aduc841必须在2μs内读取a/d转换结果并将其传输且存储到外部存储器中以便后续处理,否则将导致下一个转换结果出现后丢失前一个转换结果。由于中断服务子程序中存储转换结果和微转换器跳转到adc的中断服务子程序都需要时间,因此很多应用无法响应高的中断速率。采用adc的dma方式传输数据能够解决上述问题,通过设置特殊功能寄存器adccon2中的中断响应位即可使能adc的dma方式。这种方式下,无需cpu的软件中断响应干预,可通过硬件直接检测相应控制位就能将adc的转换结果直接输出并存储到片外的静态ram中,并提供了一个高速数据传输通道,从而保证了adc能以最高速率(420 khz)完成数据采样和转换,并进行高速信号传输。
2.2数字信号处理器tms320vc5402简介
tms320vc5402 是 ti 公 司 的tms320c5000系列之一,它采用改进的哈佛结构,具有分离的程序总线和数据总线,采用4级流水线作业,其运行速度可达100 mi/s,具有高速运行的特点。同时提供丰富的指令集,增强的模块化结构设计,具有通用性,拓展了应用领域。tms320vc5402可寻址3个独立的存储空间,包括1 mb×16的程序空间,64 kb×16的数据空间以及64 kb×16位的i/o端口空间。片内提供16 kb×16的双存取ram和4 kb×16的rom,并具有直接存储器访问(dma)功能,通过hold允许对外部程序、数据以及i/o空间进行直接存储器访问。tms320vc5402存储器直接存储控制dma可在不占用cpu资源的情况下,实现dsp存储器间数据的自由传输。tms320vc5402有6个可独立编程的dma通道,每个dma通道由各自的寄存器控制。
2.3系统的硬件结构
设计dma共享存储器实现双机通讯需要考虑以下几点:(1)设计aduc841和tms320vc5402之间数据总线和地址总线的隔离电路。隔离电路在双cpu不通信时隔离地址总线和数据总线,而在dma通信时则选通。(2)设计aduc841和tms320vc5402都能对存储器读写的选通信号和读写信号。(3)设计控制tms320vc5402信号及其响应信号。
考虑上述问题,采用aduc841与tms320vc5402的双cpu系统结构如图1所示。存储器hm62256既是tms320vc5402的全局数据存储器,又是aduc841的外部存储器。a15为片选信号,地址范围为8000h~ffffh。两个cpu分别通过总线和数据存储器hm62256相连,实现存储器共享。
隔离电路采用4片74lvc245双向缓冲器实现,由于aduc841的p0口是分时复用的地址/数据总线,所以需采用一片74lvc373地址锁存器将p0端口的地址信号从地址/数据总线中分离出来。而aduc841的16位数据总线需要双向缓冲,由于aduc841要对hm62256进行读写操作,所以缓冲器的方向由aduc841的读信号rd控制,当aduc841读数据时,rd为低电平,使数据缓冲方向为hm62256至aduc841;写数据时,rd为高电平,数据缓冲方向为aduc841至hm62256。缓冲器的使能线由a15反向信号控制,当a15为高电平时,选通缓冲器,否则缓冲器为高阻态。a15还是hm62256的片选信号,若要aduc841和tms320vc5402都能选通hm62256,需将a15和ps的与非信号作为hm62256的片选信号。aduc841选通时,ps为高电平,aduc841的a15有效。tms320vc5402选通时,当a15为低电平时,ps有效。
aduc841通过p3.5、p3.2(int0)分别与tms320vc5402的hold、xf引脚相连,p3.5向tms320vc5402申请总线控制,tms320 vc5402响应aduc841的请求后,holda信号变低,tms320vc5402的cpu挂起,并出让外部总线。aduc841通过a15打开总线驱动器,并经与非门后选中hm62256,获得hm62256的控制权,实现对hm62256的读写操作。而tms320vc5402可通过xf向aduc841请求中断,aduc841在响应中断int0后,通过p3.5将hold信号转换为高电平,此时总线控制权重新交给tms320vc5402。
3系统软件设计
系统上电时,aduc841由p3.5向dsp申请总线控制hm62256,设置dma方式,通过配置3个特殊功能寄存器adccon1~adccon3,aduc841的adc工作在不同模式下。其中在dma模式下,adc可连续转换,并将采样值直接输出并存储到片外的hm62256中而无需来自cpu的任何软件干预,从而保证adc能以最高速度(420 khz)完成采样和转换并进行高速信号传输。a/d转换后,aduc841通过adc中断,p3.5发送高电平至tms320vc5402的hold引脚,向tms320vc5402申请放弃总线控制,hm62256的总线控制权重新交换给tms320vc5402,由tms320vc5402进行数据处理。当tms320vc5402处理完数据后,首先将运算结果放回hm62256,然后通过xf信号线通知aduc841,aduc841响应后,向dsp申请总线控制接管hm62256,读出运算结果,然后进行下一步处理。以下是aduc841的部分dma接口程序代码:
4 结束语
对于实时数据采集处理系统,选取合理有效的核心算法是至关重要的,然而,选择数据传输方法也是相当重要,在一些实际情况下,数据传输时间可能超过数据处理的时间。通过合理使用dma高速数据传输是提高数据传输效率的一种途径,有助于产品的开发。
台积电7nm+工艺明年Q2量产 5纳米可望在2020年上半年进入量产
“2017易观A10大数据应用峰会”在北京隆重举行,一场全新的视听盛宴
Micro LED企业辰显光电完成数亿元A轮融资
Onion Omega2:用于IoT的模块化Linux计算机
可控硅和igbt区别
如何使实时数据采集处理系统保持数据的高速传输
如何用分子钟跃迁探测对称性破缺
卤素开关电路原理图讲解
搭载虹软车载视觉解决方案的车型在中国及其他地区实现量产上市
重庆集成电路技术联盟成立,促进万亿产业集成
CFL节能灯工作原理分析
高端电视都采用OLED的原因
示波器差分探头延时的测量
NVIDIA助力NVIDIA Clara,助医学界更好地追踪、测试和治疗COVID-19
高安全性能强的5G智能巡检机器人将为智慧园区助力
WolfsonWM9081单芯片数字模拟转换器应用于新款助眠
如何对全彩色LED显示屏进行色度处理
荣耀9青春版评测 由外到内都很让人惊喜
投资热点!揭示中国电动夹爪下游市场的发展策略和商机
日本大学开发出双向无线供电技术:输送距离提高两倍