[原创] 【Hercules】基于TMS570的CAN通信接口板设计第二波其他模块笔记

陌路绝途   2014-7-15 17:08 楼主


模块2:DMA模块
DMA (Direct Memory Access):此模块用于将数据从器件特殊位置存入或取出数据。DMA支持数据在片上存储器之间,片上存储器与外设之间。在本芯片中,DMA控制器支持16个通道以及32条请求线。32条请求线被默认地分配到32条可靠的通道上。
模块3.HET-TU模块
HET-TU (High End Timer Transfer Unit):此模块是一个本地DMA模块。专门用于传输HighEnd Timer数据到CPU的数据SRAM。由软件来控制选择哪一条HET指令传输线到传输单元。
模块4.VIM模块
VIM (Vectored Interrapt Manager):中断向量管理提供硬件管理优先级,并且控制器件上的中断源。器件上模块(比如SPI, LIN,SCI等)的最初的中断被分配到64条中断向量管理单元。VIM请求通道可以被屏蔽从而单独的通道可以被禁止。VIM中的所有的中断请求可以被编程为FIQ(Fast interruptrequest),IRQ(Normalinterrupt request)以及NMI (Nonmaskable interrupt)。
模块5. CCM模块
CCM:双核的实现:控制器有两个Cortex-R4核,其输出通过CCM-R4(Core CompareModule)进行比较.为了避免共模干扰,两个CPU的信号以不同的方式延迟, CCM模块内部构架如图所示: QQ截图20140715165736.png
CCM-R4:为了避免CCM-R4比较错误,应用软件必须保证两个CPU的寄存器在第一个函数调用前或者其他将CPU寄存器压栈的操作前初始化为相同的值。其还有如下特点:实时检测,自检能力,强制错误能力。其比较是在CPU重启后六个CPU时钟周期开始。本模块可以运行在以下四个操作模式下:锁步,自检,强制错误以及自检强制错误模式下。锁步模式下,CPU的信号一步一步被比-较,如果有错误,ERROR管脚会输出一个错误信号;自检模式下,CCM-R4F模块自动生成测试样式以寻找硬件错误,如果检测到错误,自检错误信号被生成并被送到ESM模块,自检过程立即中止,如果自检过程中没有发现错误,则自检完成标志被置位。在自检状态下,有两种测试类型:匹配测试以及不匹配测试;强制错误模式下,一个特定的测试序列被用于CCM-R4F以强制生成一个错误;自检强制错误模式下,同样一个错误会在自检错误信号上强制生成。比较模块此时仍然运行在锁步模式。模块6.LPM模块LPM: TMS570平台支持多种低功耗模式。这些不同的模式允许用户权衡各模式下电流消耗。模块7.Voltage Monitor模块Voltage Monitor:此器件集成了一个电压监控器。其目的在于为核心和10供电时消除特定的顺序要求。它还减少了在上电,掉电或者其他突发情况对内存的破坏和10脚上产生的毛刺现象。电压监控器并不能代替电压监控电路,后者将保证电压供应超出范围的情况下,芯片可以在重启状态。当电压监控器检测到10引脚上有一个低电压时,它将产生一个RESET信号。当电压监控器检测到CPU核的低电压时,它将使所有的输出引脚异步产生一个高阻信号,并产生一个RESET信号。当芯片处理中止模式时,电压监控器也被禁止。它有以下滤波功能,它对-PORRST引脚上短毛刺现象进行过滤,对VCCIO供电信号噪声进行过滤,对VCC供电噪声进行过滤。模块8:CRC模块CRC:这里有一个专门的MCRC模块用于执行CRC以校验系统存储器的完整性。一个代表存储器里内容的标号会在此内容读入MCRC控制器时获得。MCRC控制器的任务就是计算这些数据的标号,然后和先前获得的值进行比较。MCRC提供四个通道进行CRC计算,可以做到不同的存储器并发执行。这些通道可以被用于任何的内存系统。通道1可以用于数据跟踪模式。在这种模式下,MCRC控制器会压缩任何通过CPU数据总线读取的数据。模块9:CPU Self Test Controller模块CPU Self Test Controller: STC/LBIST: STC用于测试ARM处理器核,它通过一个确定的LBIST控制器作为测试引擎。基于自身平台的软件可以提供内测但是其覆盖范围有限、,是于软件核心是复杂的,所以达到满足要求的覆盖度是非常困难的,并且即使达到了,代码也会很多。由于以下这些复杂的因素,片上LBIST是一个好的选择。其有如下特点:可以将一个大的完整的测试分为独立的测试集;不仅有运行全部测试的能力,也可以一次只测一小段间隔;不仅可以从开始测,也可以从上次测试过的地方开始测;在测试过程中,CPU的测试可以和系统的其他部分分开进行;在自测试过程中,任何进入CPU核心的操作会被保留,直到自测试完成;可以捕获间隔数;用于CPU自测试的超时计数器有故障安全特性;模块10:PBIST模块PBIST:其全称为Programmable Built-in Self Test。其有如下特点:支持多种算法的扩展指令集,支持存储器映射配置寄存器的多种配置模式,可靠的状态寄存器并允许进行状态检测,允许简单编程的简易寄存器集,支持外部或CPU控制下的操作模式,支持基于ROM的测试,支持ROM测试,数据宽度可编程,支持任意数量的背景形式等。利用此模块,可以测试PBIST ROM, STC ROM, DCAN,ESRAM,VIM, MADC, DMA, NHET, HTU, RTP, Flexray等各功能模块所占用的存储器。在一个严格的大系统中,对于系统各部分的测试是很严格的。此芯片提供了较严格的测1??能,其功能模块如图所示: QQ截图20140715170554.png
此测试用于检测SRAM的充电电路。这一部分很重要,因为这是SRAM中用得比较频繁的模拟电路。其测试方法为在两个写之间插入一个读操作,以将其置于最坏的情况。需要注意的是,如果系统时钟频率太高,此项测试可能会失效。DOWNla测试:这主要是对于CPU存储器的读写测试。可以用于测试行列解码,测试感知放大器及感知放大器的多路复用器等。DTXN2a测试:此项测试主要用于全局列解码逻辑。还有一些其他的测试,通过上面的图可以看出其测试目的。资料显示,此项测试很多时钟周期为100MHz时,其全部测试一遍用时23.23rns.这样的测试对于一个安全平台来说是必要的。模块11.DMM模块DMM模块:其全名为DataModification Module,它有如下特性,其功能类似于一个主总线,从而可以在没有CPU的千预下直接访问4GB的地址空间等。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复