好文档 - 专业文书写作范文服务资料分享网站

基于DSP的数据采集系统的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

在实际设计过程中,考虑到JATG下载口[7-8]的抗干扰性,在与DSP相连的端口均需要采用上拉设计。JTAG主要有两大类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug,对各类芯片以及其外围设备进行调试。JTAG下载电路如图3.2所示。

图3.2 JTAG电路

3.3 通讯接口电路设计

3.3.1 CAN总线接口电路设计

控制器局部网(CAN-Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,随着现代风力发电机组需要监测与控制的节点增多,CAN总线以其实时性好、可靠性高、抗干扰能力强的特点凸现了出来。

TMS320F2812具有一个eCAN模块,支持CAN2.0B协议。为了使F2812 eCAN模块的电平符合高速CAN总线的电平特性,在eCAN模块与CAN总线之间需要增加电平转换器件,如3.3V的CAN发送接收器SN65HVD232。该芯片是TI公司生产的3.3VCAN总线收发器,具有差分收发能力,最高速率可达1Mb/s。在本设计中,SN65HVD230是用来驱动TMS320F2812和物理总线间的接口,提供对总线的差动发送和接收功能。将收发器的数据输入端D与DSP的

CANTX相连,用于本CAN节点发送的数据传送到CAN网络中;将收发器的数据输出端R与DSP的CANRX与相连,用于本节点接收数据。RS引脚为该收发器的方式选择引脚,只需将RS接逻辑低电平就可以使其工作在高速模式,此时的通信速率达到最高,没有内部输出上升斜率和下降斜率的限制,但最大速率的限制与电缆的长度有关,本设计中将RS接地。由于SN65HVD230提供3.3V电源供电,与LF2407A的供电电压相同,因此不需要做电平转换的处理。CAN总线电路[8]如图3.4所示。

图3.4 CAN电路

3.3.2 RS232接口电路设计

串口通信口(SCI)是一种采用两根信号线的异步串行通信接口,又称UART。TMS320F2812中有两组SCI通信,SCIA和SCIB。每组包括两个I/O引脚,分别是串行接收数据输入引脚(SCIRXD)和串行数据输出引脚(SCITXD)。SCI支持CPU与其他使用标准NRZ(非归零)格式的异步外设之间的数据通信,SCI收发器是双缓冲的,每个都有自己独立的使能和中断标志位,两者既可以独立工作,也可以在全双工模式下同时工作。通过对一个16位波特率选择寄存器的编程,可得到64 K种不同的波特率。对于40MHz的时钟输出,波特率最高可达到2500Kb/s的速度。本设计中采用MAX232芯片作为控制器的异步串行通信转换接口。MAX232是符合RS232标准的串行通信驱动芯片,其低功耗关断模式可以将功耗减小到5μW以内。在设计中需要注意的是,由于RS232是单5V供电器件,所以它同DSP间的信号线必须有电平转换,此板采用的是74LS245。RS232的接口电路如图3.5所示。

图3.5 RS232串口电路

3.4 DlD/0接口模块

TM3s20F2812有多达41个通用、双向的数字刀O(GPIO)引脚,其中大

多数都是基本功能和一般刀O引脚,TMS320LF2407的大多数刀O引脚都可用 来实现其他功能。数字刀0端口采用了一种灵活的方法,以控制专用FO引脚 和复用刀O引脚的功能,所有UO和复用引脚的功能可通过9个16位控制寄存 器来设置。DSP的数字量输出主要用于控制继电器,继电器又可以用来控制各 种设备的开关。DSP通过光隔进行隔离,然后经过一个非门进行驱动,再和继 电器的线包相连。这样只需改变DSP输出电平的高低就可以控制按键的开断。 数字量输入包括各种的开关信号、传感器的脉冲信号等等,其连接方法也

是通过一个光隔后,输入到DSP的刀O口。在这里需要注意的是数字量开关的 速度,如果速率要求不高(比如微秒级),就可以使用TLP521系列的光隔,速 度在纳秒级则就需要选择快速光隔125],比如6N137。具体连接方式如图3一8。

第四章 数据采集系统的软件设计

4.1 时钟和系统控制

为了让F2812DSP按部就班的执行相应的代码来实现功能,就得让DSP芯片“活”起来,除了给DSP提供电源外,还需向CPU不断地提供规律的时钟脉冲,这一功能由F2812内部振荡器OSC和基于锁相环PLL的时钟模块来实现。目前DSP集成的片上锁相环PLL模块,主要作用是通过软件实时的配置片上外设时钟,提高系统的灵活性和可靠性。此外,由于采用软件可编程锁相环,所设计的处理器外部允许较低的工作频率,而片内经过锁相环模块提供较高的系统时钟,这种设计可以有效地降低系统对外部时钟的依赖和电磁干扰,提高系统启动和运行时的可靠性,降低系统对硬件的设计要求。

CLKINX1/XCLKINX22812CPUPLLSYSCLKOUTOSC系统控制寄存器外设寄存器低速预定标器使能时钟ECANLSPCLK外设寄存器SCI、SPI、McBSP高速预定标器HSPCLK外设寄存器EVA/EVB、ADC

void InitSysCtrl(void) {

Uint16 i; EALLOW;

DevEmuRegs.M0RAMDFT = 0x0300; DevEmuRegs.M1RAMDFT = 0x0300; DevEmuRegs.L0RAMDFT = 0x0300; DevEmuRegs.L1RAMDFT = 0x0300; DevEmuRegs.H0RAMDFT = 0x0300; // 禁止看门狗模块

SysCtrlRegs.WDCR= 0x0068; // 初始化PLL模块

SysCtrlRegs.PLLCR = 0xA; //如果外部晶振为30M,则

SYSCLKOUT=30*10/2=150MHz

// 延时,使得PLL模块能够完成初始化操作 for(i= 0; i< 5000; i++){}

// 高速时钟预定标器和低速时钟预定标器,产生高速外设时钟HSPCLK和低速外设时钟LSPCLK

SysCtrlRegs.HISPCP.all = 0x0001; // HSPCLK=150/2=75MHz SysCtrlRegs.LOSPCP.all = 0x0002; // LSPCLK=150/4=37.5MHz // 对工程中使用到的外设进行时钟使能 SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1; SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; SysCtrlRegs.PCLKCR.bit.ECANENCLK=1; EDIS; }

4.2 看门狗软件设计

在由MCU构成的微型计算机系统中,由于单片机的工作常常受到外界电磁场的干扰,造成程序跑飞而陷入死循环,程序正常的运行被打断,由单片机控制的系统就无法继续工作,会造成整个系统陷入停滞状态,发生不可预料的后果。出于对单片机运行状态进行实时监测的考虑,便产生了一种专门监测单片机程序运行状态的电路,俗称“看门狗”。 看门狗电路的应用,使单片机可以在无人监控的状态下连续工作。其工作原理是:看门狗电路和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时的往看门狗这个引脚上送人高电平(或者低电平),这一程序语句分散地放在单片机其他控制语句中间:一旦单片机由于程序跑飞陷入某一段程序,进入死循环状态时,写看门狗引脚的程序便不能被执行。这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它与单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

F2812中的看门狗原理和上述的MCU看门狗原理类似,作用是为DSP的运行情况进行“把脉”,一旦发现程序跑飞或者状态不正常,便立即使DSP复位,提高系统的可靠性。

F2812的看门狗电路有一个8位看门狗加法器WDCNTR,无论什么时候,如果WDCNTR计数器达到最大值,看门狗模块就会产生一个输出脉冲,脉冲宽度为512个振荡器时钟宽度。为了防止WDCNTR溢出,通常采用两种方法:一种是禁止看门狗,时计数器WDCNTR无效;另一种是定期“喂狗”,通过软件向负责看门狗计数器的看门狗密钥寄存器(8位的WDKEY)周期性的写入0x55+0xAA,紧跟着0x55写入0xAA能够清除WDCNTR。当向WDKEY写入0x55的时候,WDCNTR复位到时能的位置;只有再向WDKEY写入0xAA后才能使WDCNTR真正的被清除。写任何其他的值都会使系统立即复位。只要向WDKEY写0x55和0xAA,无论写的顺序如何都不会导致系统复位;而只有先写0x55,再写0xAA才会清除WDCNTR。

基于DSP的数据采集系统的设计

在实际设计过程中,考虑到JATG下载口[7-8]的抗干扰性,在与DSP相连的端口均需要采用上拉设计。JTAG主要有两大类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug,对各类芯片以及其外围设备进行调试。JTAG下载电路如图3.2所示。图3.2JTAG电路3.3通讯接口电路设计3.3.
推荐度:
点击下载文档文档为doc格式
32e9i8osb59da6a52j24
领取福利

微信扫码领取福利

微信扫码分享