- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
宽带阻抗测量仪的设计——微处理器电路设计(二)
5.3人机接口单元电路
为了方便系统的扩展和满足人机互动的需要,本设计提供了液晶显示界面、键盘控制等,同时提供了RS-485/232通讯接口。液晶显示界面用来显示测试结果,可通过字符和图形形式显示;键盘控制用来设置一些参数,以得到不同情况下测试结果的变化情况;RS-485/232通讯接口用来实现与其它监测设备或和外部计算机的信息通讯和共享。
人机接口单元原理图如图5-5所示。
5.3.1 RS232/485接口电路设计
系统配置有2个通用异步串口,接口标准配置为1路RS232和1路RS485,用它可以与计算机及其它设备进行串行通信。设计上直接采用F2812片上的2通道SCI作为异步串行收发器UART。
TMS320F2812片内集成有SCI模块,SCI是一个双线的异步串口,SCI模块支持CPU与采用非返回至0(NRZ)标准格式的异步外围设备之间的数字通信。SCI的接收器与发送器各具有一个16级深度的FIFO,它们还各有自己独立的使能位和中断位,可以在半双工通信中进行独立的操作,或在全双工通信中同时进行操作。
SCI模块结构图如图5-6所示。
TMS320F2812的SCI和以往的DSP的SCI相比具有两个特点:一是传送、接收都具有独立的FIFO;二是波特率可以自动检测。自动波特率检测逻辑主要解决通信过程中终端波特率的确定问题。而其16字的FIFO可大大减少通信中断次数,提高通信速率。TMS320F2812的SCI有4个外部引脚:SCIRXDA、SCITXDA、SCIRXDB、SCTTXDB,不作通讯时,这些引脚可以用作通用I/O。SCI有一个16位的波特率选择寄存器,通过改变寄存器的值可以得到多于65000种的波特率。
本设计将片上SCIA模块配置成1路RS232串口,接口电平配置为RS232接口电平标准。片上的SCIB模块配置成1路RS485串口,接口电平配置为RS485接口标准。RS485为半双工串口通讯,接收和发送公用一条线路,通过F2812的GPIO的PB12控制RS485的接收和发送。PB12电平为高时,RS485为发送模式,PB12电平为低时,RS485为接收模式。
RS232选用了Sipex公司的SP202EEN,RS232串行总线收发器,该芯片具有低功耗,高传输率的特点,工作在5V工作电压下,满足所有的符合RS232D和ITUV.28标准。电路原理图如图5-7所示。
RS485接口选用了TI公司的SN65HVD485E总线收发器[33-35],该芯片也是+5V供电,完全兼TIA/EIARS485A标准,适用于长双绞线最高10Mbps的数据传输,静电防护等级15KV。电路原理图如图5-8所示。
5.3.2 USB接口电路
设计USB总线具有传输速度高、热插拔、即插即用等特点,目前被广泛的使用,本设计为了方便系统与外部设备的通讯也设计了USB接口。
系统采用Cypress公司的CY7C68001芯片实现USB2.0接口。CY7C68001通用USB2.0接口控制器是基于应用层编程的接口器件,相对于其它基于链路层编程的接口器件,使用简单,开发方便。CY7C68001上集成了USB2.0收发器(物理层)、USB2.0串行接口引擎SIE(链路层,实现底层通信协议)。CY7C68001作为F2812的外设,USB的应用层协议由F2812编程实现。CY7C68001采用并行异步存储器接口与F2812相连接,主机可以唤醒F2812,亦可以配置USB。
CY7C68001符合USB2.0规范;支持高速(480Mbps)或全速(12Mbps)USB数据传输;4个可编程端点共享4KB的FIFO,每个端点对应的FIFO空间大小及FIFO状态可编程;8/16位双向命令接口、配置灵活(同步/异步可配置,状态引脚、读写引脚以及极性可编程),数据I/O口可与DSP、FPGA或其它ASIC同步/异步通信;智能SIE功能(可在不借助微处理器中断的前提下完成枚举);集成的锁相环功能;I/O口为3.3VTTL电平,可承受5V电压。
TMS320F2812与CY7C68001的接口电路如图5-9所示。
CY7C68001相关引脚说明如下:FD[01:016]伪数据总线,FA[0:2]地址线和CS片选信号合起来为CY7C68001的地址空间。CY7C68001除了存储器接口外,还有1个中断信号USBINT和4个状态信号(READY,FLAGA,FLAGB和FLAGC).USBINT信号表明CY7C68001有中断事件发生,或反映对于CY7C68001的读操作结束;FLAGA、FLAGB、FLAGC报告由FIFOADR[2:0]选择的FIFO状态,默认分别对应为FIFO自定义、满、空状态;FLAGD为FIFO状淘片选可选,默认为片选信号;SLOE是CY7C68001驱动并行数据总线,常与SLRD短接;SLRD为并口读有效信号,在SLRD有效且同步通信时,FIFO指针在每个IFCLK的上升沿递增;SLWR为并口写有效信号,在SLRD有效且同步通信时,FIFO指针在每个IFCLK的上升沿递增;PKTEND信号总是高电平,将当前的缓冲区提交给上位机USB。
5.3.3显示电路和键盘接口电路设计
显示电路设计采用了内置T6963C控制器的CM12864-10液晶显示器。
CM12864-10图形液晶显示模块由控制器T6963C、列驱动器T6A39、行驱动器T6A40以及与外部设备的接口等几部分组成,它既能显示字符(包括中文和西文字符),又能显示图形,还能够将字符与图形混合显示。液晶显示的控制和驱动都由模块内部的芯片及电路来完成,因此它与外部的连接只有数据线和控制线。CPU通过这些数据线和控制线来设置所需要的显示方式,其它功能均由模块自动完成。
DSP与LCD接口电路设计:
对于点阵LCD液晶显示接口来说,对其的读/写访问通过一个8位的命令口和1个8位的数据口进行。在本设计中将LCD液晶显示接口分配在F2812的Zone 0空间中,占用2个地址单元:0X002800,LCD液晶显示接口的数据口:0X002801,LCD液晶显示接口的命令口。
F2812与LCD的接口信号如下:
LCD_D[7:0]: 8位数据总线
LCD CE: 片选信号
LCD I/D: 命令/数据选择信号
LCD RD: 读信号
LCD WE: 写信号
LCD RST: 复位信号
LCD LIGHT: 背光控制信号
LCD与F2812连接如图5-10所示。
设计中采用了4×4键盘接口,用F2812的PB[15:12]作为4根键盘扫描输出线,用F2812的PA[10:7]作为4根键盘的扫描回读线。键盘的扫描、回读、去抖等时序由软件编程实现。
5.4 Boot装载与复位电路
5.4.1 Boot装载模式选择
TMS320F2812有两种程序装载方式,它们分别是微处理器模式和微计算机模式[39]。当系统启动或处于复位过程中,外部引脚XMP/MC的值被采样,并被锁入XINTF的配置寄存器XINTFCNF2,该引脚的复位状态决定了由Boot ROM还是由外部XINTF Zone 7区装载。若复位时XMP/MC=1(微处理器模式),则Zone 7区被使能,从外部存储器去引导复位向量。若XMP/MC =0(微计算机模式),则Boot ROM被使能,而XINTF Zone 7区不被使能,在这种情况下,从内部Boot ROM来引导复位向量。
在本设计中采用了微计算机模式,即从Boot ROM引导系统。Boot ROM为F2812的内部引导ROM,地址为0X3FF000h~0X3FFFC0h。该存储器内由TI公司装载了产品版本号、发布的数据、校验求和信息、复位矢量、CPU矢量表(测试用)及数学表等。Boot BOM的主要作用是实现F2812的Bootloader功能,芯片出厂时在Boot BOM的0X3FF000h~0X3FFFBFh存储器内装有厂家的引导装载程序。
5.4.2复位模式与复位源
阻抗测量仪共设计有四个复位源:上电复位、手动复位、看门狗复位和电源监测复位。任何一个复位有效都将导致整个系统复位。
F2812复位时,终止所有的当前操作,使CPU进入己知的初始状态,刷新流水线操作,复位所有的CPU寄存器,复位相关的信号的状态。复位完成后,CPU从0X3FFFC0H处取复位向量到PC寄存器中,然后开始执行程序。如果XMP/MC引脚为低电平,则程序空间高16K×16位映射为片上Boot ROM,片上Boot ROM中0X3FFFC0H单元中存放0X3FF000H,也即程序将从片上Boot ROM的0X3FFC00H处开始执行,片上Boot ROM中0X3FFC00H起始的1K×16位存储空间中存放的是BootLoader程序。如果XMP/MC引脚为高电平,则程序空间高16K×16位映射为片外Zone 7,设计时应该在Zone 7的0X3FFFC0H处存放CPU中断向量表。
5.4.3看门狗电路
设计中将XMP/MC下拉,令F2812工作在MC方式,上电后从片内Boot ROM中执行程序,选择Jump to Flash Boot方式,GPIOF4片内上拉,程序将跳转到片内Flash的0X3F7FF6H处,在0X3F7FF6H存放跳转指令,跳转到实际的应用程序中,应用程序首先初始化PIE中断向量表,然后使能PIE。用Jump to Flash Boot方式时,没有停止片内看门狗电路,所以应在规定的时间内刷新看门狗电路,否则将导致看门狗溢出,产生复位。
看门狗复位直接采用F2812片上自带看门狗电路,F2812片上的看门狗电路为一个8位加计数器,当其加计数到最大值,并溢出翻转时,将产生复位脉冲或中断请求输出。加计数器的输入时钟可由WDCR寄存器选择,从而使看门狗电路作用周期在一定范围内可编程设定;另外,通过对WDKEY寄存器顺序写入0X55+0XAA,使加计数器清为0,所以只要在溢出周期内周期性的对WDKEY寄存器写入0X55+0XAA,可使看门狗电路不发生溢出,此外通过WDCR还可以禁止看门狗电路工作。
手动复位与监测电路如前所示,采用了TI公司的TPS3823-33DVBT芯片,用于监测电源电压和手动复位系统,前面已经作了详细介绍。