首页 理论教育 基于的嵌入式无线定位电子白板硬件设计

基于的嵌入式无线定位电子白板硬件设计

时间:2022-02-12 理论教育 版权反馈
【摘要】:信号发射部分指的是用于电子白板书写的信号笔。本部分超声信号时延提取的精度直接决定了电子白板系统的稳定性和系统分辨率等性能。图6-14为根据要求设计的电子白板系统框图。外部并行引导转载模式最为常用,并且作为外部存储器的FLASH性价比较高,有利于降低系统的设计难度和成本,因此,基于DSP的嵌入式无线定位电子白板系统采用该引导模式。根据基于DSP的嵌入式无线定位电子白板系统的需要,对VC5402的片内、片外资源进行了合理的配置。

基于DSP的嵌入式无线定位电子白板的硬件系统分为信号发射、信号接收、信号处理三个功能单元

(1)信号发射部分:信号笔的驱动电路驱动信号笔的超声和红外传感器,产生超声和红外信号。

(2)信号接收部分:通过超声和红外传感器接收信号笔发射的超声和红外信号,对接收到的信号进行放大处理,然后将放大后的信号送给信号处理单元的核心处理器。

(3)信号处理部分:主要完成信号的采集、超声信号时延的精确提取,其核心部分为数字信号处理器TMS320VC5402。

6.2.1 电子白板系统硬件总体设计方案

6.2.1.1 信号发射部分硬件电路设计

信号发射部分指的是用于电子白板书写的信号笔。用信号笔书写时,信号笔接触白板面,并用力压笔体,这样白板面对书写笔尖有反作用力,迫使笔体内的压力开关合上,信号笔电路的电源接通,信号笔正常工作。当抬笔时,白板面不再对书写笔尖有反作用力,笔体内的压力开关打开,信号笔电路的电源被切断,信号笔不再工作。

信号笔的基本功能是信号笔的驱动电路驱动信号笔上的超声和红外传感器,产生超声和红外信号。信号笔的工作原理框图如图6-11所示。

图6-11 信号笔工作原理框图

系统中的红外发射二极管选SFH426,其发射角度为120°,因此使用4个SFH426,让其均匀分布在笔的一周上可达到360°全向发射。超声发送传感器选的是US40KT-01,它可以实现360°全向发射超声波。

6.2.1.2 信号接收部分硬件电路设计

信号接收部分指信号接收器A、B,是电子白板系统重要组成部分,接收器接收、放大性能的好坏决定了送入信号处理部分信号的质量,直接影响白板有效区域超声信号时延的提取。

系统接收部分的红外二极管型号为SFH205FA。接收传感器选的是AT/R40_10P。超声波在传播过程中衰减很快,接收电路采用放大器TLC084C对其进行放大后再送入A/D转换。红外信号作为超声的时间基准信号,触发DSP的INT0中断。为了接收信号方便,在第二级放大电路将左路红外信号和右路红外信号的红外脉冲信号复合为一路信号,复合后的红外信号通过比较器LM393进行整形,再送给DSP,作为白板系统的时间基准。超声和红外的接收过程框图分别如图6-12和6-13所示。

图6-12 超声接收原理框图

图6-13 红外接收原理框图

6.2.1.3 信号处理部分硬件电路设计

信号处理部分完成超声信号的采集、超声信号时延的精确提取。本部分超声信号时延提取的精度直接决定了电子白板系统的稳定性和系统分辨率等性能。

经过信号接收单元放大后的红外和超声信号由A/D采集,送入VC5402存储并进行算法处理,将得到的精确超声时延信息通过RS-232串口送给PC机完成书写笔迹的实时跟踪显示。图6-14为根据要求设计的电子白板系统框图。

图6-14 电子白板处理单元功能框图

为了实现超声精确时延提取算法,选用美国TI公司生产的TMS320VC5402(以下简称VC5402)作为系统中央处理器。电子白板信号处理单元硬件系统应具有以下功能:

(1)电源供电稳定持续,能提供VC5402需要的3.3 V和1.8 V电压;

(2)A/D转换速率和分辨率满足超声信号处理要求;

(3)中央处理器速度快,在有限时间内完成超声信号精确时延提取算法;

(4)能与PC机实时通信,将处理得到的两路超声信号时延τ㊣l和τ㊣r㊣、信号笔颜色以及其他控制信息实时传送给PC机。

6.2.2 核心处理器TMS320VC5402 DSP

DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛地采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法。

吉林大学研制的电子白板系统(宋巍巍,2006年)采用的核心处理器TMS320VC5402是TI公司推出的定点数字信号处理芯片,它对很多数字信号处理算法进行了硬件优化,运算速度高、CPU结构优化、功耗低、产品成熟、应用广泛。其特点有:

◣在一个指令周期内可完成一次乘法和一次加法;

◣程序和数据空间分开,可以同时访问指令和数据;

◣快速的中断处理和硬件I/O支持;

◣可以并行执行多个操作;

◣支持流水线操作,取指、译码和执行等操作可以重叠执行。

总的说来,其特点是:从硬件设计到软件指令都是按照有利于实现数字信号处理算法来设计的。

6.2.2.1 中央处理器(CPU)

C54×系列DSP的CPU具有下列特征:

◣采用改进的哈佛结构,具有一条程序总线(PB)、三条数据总线(CB、DB、EB)和四条地址总线(PAB、CAB、DAB、EAB),提高了操作的灵活性和性能;

◣40 bit的算术逻辑单元(ALU)以及一个40 bit的移位器(shifter)和两个40 bit的累加器(A、B),支持32 bit或双16 bit的运算;

◣17×17 bit的硬件乘法器和一个40 bit专用加法器的组合(MAC)可以在一个周期内完成乘加运算;

◣比较、选择和存储等单元能够加快Viterbi译码的执行;

◣专门的指数编码器(EXP encoder)能够在一个周期内完成累加器中40 bit数值的指数运算;

◣单独的数据地址产生单元(DAGEN)和程序地址产生单元(PAGEN),能够同时进行三个读操作和一个写操作。

6.2.2.2 存储器

VC5402系统的映射存储器分为三个区域,分别称为程序区、数据区和I/O区。I/O区是片外资源,访问空间大小为64K×16bit;数据区可以是片上存储区映射的,也可以是片外存储器映射的,或兼而有之,访问空间大小也为64K×16bit;程序区分为基本程序区和扩展程序区,基本程序区的访问空间为64K×16bit,最大扩展访问空间为1024K×16bit。

VC5402提供了4K×16bit的片上ROM和16K×16bit的片上DARAM。DARAM由2个8K×16bit的区块组成,每一个区块均可在一个指令周期内完成两次读操作或一次写操作。

6.2.2.3 片上外设

VC5402具有片上外设:

◣软件可编程的等待状态发生器、可编程的等待状态切换块;

◣并行I/O口;

◣一个增强的8 bit主机接口(HPI8);

◣两个多通道缓冲串行口(Mcbsp);

◣两个硬件计时器;

◣一个带有锁相环(PLL)的时钟发生器;

◣一个直接内存访问(DMA)控制器。

6.2.2.4 Boot Loader加载模式

VC5402的Boot Loader引导装载程序位于片内ROM的F800h~FBFFh单元,该程序功能是在硬件系统上电后,进行初始化并通过一系列控制信号如中断、位控信号BIO等来决定采用哪一种引导方式,然后进行程序搬移。

VC5402支持HPI、并口、Mcbsp等5种Boot Loader模式。访问是具有优先级区别的,按照从高到低的顺序依次为:HPI模式(增强主机接口)、串口EEPROM模式、并口模式、标准串行口模式和通用I/O口模式。VC5402上电后,根据片上的环境采取相应的Boot Loader模式进行程序加载。外部并行引导转载模式最为常用,并且作为外部存储器的FLASH性价比较高,有利于降低系统的设计难度和成本,因此,基于DSP的嵌入式无线定位电子白板系统采用该引导模式。

6.2.3 信号处理单元基本硬件系统的构建

VC5402在一定的工作环境下才能正常工作,构建支持VC5402的硬件环境是保证电子白板系统正常工作的前提条件。根据基于DSP的嵌入式无线定位电子白板系统的需要,对VC5402的片内、片外资源进行了合理的配置。

6.2.3.1 电源环境的构建

VC5402需要同时提供3.3 V和1.8 V两种电源,分别用作I/O电源与核心工作电源。在这两种稳定的电源环境下,VC5402才能正常工作。系统选用TI公司提供的DSP专用电源芯片TPS767D318来构建电源环境。

TPS767D318芯片是一种双输出稳压器。该芯片输入电压+5 V,输出电压分为两路,一路输出3.3 V,另一路输出1.8 V,可分别为VC5402的I/O电源和核心电源供电。图6-15为该系统中采用的TPS767D318电路原理图。

图6-15 TPS767D318电路原理图

系统中其他芯片都选用3.3 V低电压器件,都可以与DSP芯片直接相连,无需额外的电压转换芯片,在一定程度上降低了硬件成本,简化了设计。

6.2.3.2 A/D转换电路设计

系统采用TI公司生产的TLV1572芯片完成超声信号的采样。TLV1572是高速同步串行的10位A/D转换芯片,单电源2.7~5.5 V供电,8引脚SOIC封装,功耗较低(3 V供电功耗3 mW,5 V供电功耗25 mW)。当不进行A/D转换时,芯片自动进入省电模式;5 V供电、时钟频率20 MHz时,最高转换频率为1.25 MSPS;3 V供电频率为625 KSPS。

TLV1572与TMS320系列多通道缓冲串行口、SPI接口协议完全兼容,可以与TM320系列DSP的串口处理器及微处理器的SPI接口直接相连,不需要其他外部硬件电路。对应于以上两种连接,TLV1572有两种工作方式:一种为TMS320 DSP工作方式,另一种为SPI工作方式。该系统中,TLV1572工作在TMS320 DSP方式下,此工作方式时序如图6-16所示。

图6-16 TMS320 DSP方式下TLV1572工作时序图

该系统将两片TLV1752与VC5402的多通道缓冲串行口(Mcbsp0/1)直接相连,通过串口接收中断(BRINT0/1),并行完成两路超声数据的采集(如图6-17所示)。

图6-17 A/D转换单元硬件系统

根据TLV1572信号通信的特点,设置DSP的Mcbsp0/1工作在如下状态:以时钟自由模式运行,每帧一段,每段一个字,每字16位,帧同步脉冲低电平有效,发送帧同步信号和移位脉冲由DSP内部的采样率发生器产生。

该电子白板系统(宋巍巍,2006年)超声信号发射频率为40 k Hz。为保证能将超声信号的细节信息完整地保存下来,该系统选用700 k Hz的采样率。

6.2.3.3 系统串行通信设计

VC5402将计算得到的两路超声信号时延、信号笔颜色以及其他控制信息实时传递给PC机,PC机作为上位机完成信号笔书写笔迹显示及人机交互功能。

由于VC5402芯片无RS-232串行口,如何实现VC5402与PC机之间的实时、可靠的通信将直接影响到整个电子白板系统的性能。实现VC5402异步串行通信功能的设计方法一般有两种:一种基于软件编程来实现,另一种基于硬件来实现。基于软件编程的方法一般通过对Mcbsp进行软件模拟,依靠其硬件上的3个独立信号——数据、帧同步和移位时钟来收发数据。该方法需要对通信协议有深刻的了解,软件编程较繁琐,无法保证通信的可靠性。基于硬件的实现一般利用UART来扩展串口。这种方法增加了系统的硬件,但异步通信芯片提供了丰富的控制引脚和应答信号,只需对其设置一些寄存器就可以进行灵活的控制,编程比较简单,降低了软件的复杂度,通信可靠性高并且实时性好。因此,该系统采用异步通信芯片TL16C550C实现无线定位电子白板系统中VC5402与PC机的通信接口。

TL16C550C是TI公司生产的一款异步通信芯片,可采用5 V和3.3 V对其供电,其主要特点如下:

◣高达16MHz的时钟和1Mbaud的发送速度。

◣波特率可编程。波特率的计算公式为:波特率=基准时钟频率/(16×波特率因子)。

◣完全可编程的串行接口,可选择5、6、7、8位串行数据位,可设置奇、偶或者无奇偶校验位,可设置1个、1个半或者2个停止位。

◣独立控制的发送、接收、线状态以及中断设置。

该系统将TL16C550C映射到VC5402的I/O空间,对TL16C550C的读写相当于一个I/O单元,它的初始化可以通过对TL16C550C的内部寄存器的设置来完成。

系统中,将TL16C550C的片内寄存器选择线直接与VC5402的地址线A0~A2相连,由A0、A1、A2三条片内寄存器选择线和除法锁存位DLAB一起通过多路复用访问和控制TL16C550C的任何一个寄存器。寄存器地址分配如表6-1所示。注意:除法锁存位DLAB是一个重要的位信号。当DLAB=0时,RBR/THR和IER才能正常工作;而DLAB=1时,进行波特率因子的设定。

表6-1 TL16C550C片内寄存器

图6-18为EPM3064中TL16C550C的控制逻辑。TL16C550C的芯片使能信号CS0和CS1接高电平,CS2接VC5402的/IS。/IS是VC5402的外部I/O空间选择线。当VC5402使用PORTW PORTR指令对TL16C550C的内部寄存器进行访问时,/IS信号有效,TL16C550C被选中。TL16C550C的中断请求信号INTRPT与VC5402的外部中断INT3相连,TL16C550C工作在中断方式下,当接收准备好或发送准备好时触发VC5402外部中断INT3,完成数据的接收或发送。

图6-18 TL16C550C逻辑控制

RS-232接口逻辑电平与TL16C550的CMOS电平之间采用MAX3232进行转换。MAX3232的电路连接如图6-19所示。

图6-19 MAX3232的电路连接图

MAX3232是MAXIM公司生产的一种RS-232接口芯片,使用单一电源电压从+3.0~+5.5 V都能正常工作,额定电流为300μA,仅需外接几个电容即可完成从CMOS电平到RS-232电平的转换。

6.2.4 存储空间设计

6.2.4.1 VC5402内部存储器资源配置方案

VC5402提供16 k×16 bit的片上DARAM,可以在一个工作周期中实现两次独立的读或写。对片上RAM进行读写操作没有等待延迟,通常用来存放实时性要求较高的程序和数据,提供了对数据区和程序区的高性能操作。

该系统的最大定位范围是1.8 m×1.2 m,超声信号到达超声传感器的最远距离为(1.82+1.220.5=2.16 m。空气介质中超声波的传播速度为340 m/s,通过计算得到超声波到达接收器的最长时间为8.3 ms。该系统A/D采样率为700 k Hz,在超声信号未被遮挡的情况下,两路超声波形数据共占用0x2E00存储空间。为保证超声数据读取和处理的速度,系统将采集的超声数据和算法程序都存储到VC5402片上的16 kB DARAM中,刚好能满足数据和程序的存储大小和执行速度的要求。

在后续工作中,扩大板面(2.4 m×1.2 m)和完善算法都要求更大的存储空间,在VC5402片上存储空间不能满足要求时,可以考虑外扩高速SRAM。

6.2.4.2 系统外扩FLASH设计

系统正常工作时,超声端点检测程序保存在VC5402片内的DARAM中。为实现系统上电后程序的自动加载、脱机运行,系统选用Flash芯片AT29LV256保存超声端点检测程序。下一次上电时,VC5402通过并行Bootloader将程序自动载入片内DARAM中的指定位置,实现系统脱机运行。

AT29LV256是ATMEL公司生产的Flash存储器,容量为32 k×8 bit,3~3.6 V单电源供电。AT29LV256将存储空间分成512个独立的扇区,每个扇区有64个字节,其中A6~A14用来选择扇区地址,A0~A5用于选择字节地址。每个扇区的编程操作最长需要20 ms,读操作与一般的SRAM相同,时间为70 ns。AT29LV 256在编程之前,片内对应扇区会自动擦除,因而不需要额外擦除命令。同时,芯片还提供六个软件控制字用于完成对整片的擦除。

AT29LV256的编程流程如图6-20所示,在对Flash进行编程时,先将3个命令字正确地写入对应的地址单元。电子白板系统采用并行Bootloader对程序进行加载,根据并行加载的格式来配置Flash的程序存储空间:将VC5402对应的数据空间0xFFFE、0xFFFF地址单元写入要存放程序的起始地址,将程序存储的位数、各个寄存器的初始化值、装载后的起始运行地址、程序段的大小和装载地址依次写入到FLASH中,最后写入编写好的算法程序。程序段的大小要根据系统仿真时生成的MAP文件来确定。

图6-20 AT29LV256的编程流程图

VC5402上电复位装载时,由于INT2和INT3没有中断触发,系统直接进入并行引导装载模式。VC5402从0xFFFE和0xFFFF单元中读取将要载入程序存储区的首地址,再按表6-2所示的格式开始载入数据。此时,VC5402可以将AT29LV256地址单元0x8010开始的数据读到VC5402的片内DARAM。

表6-2 AT29LV256 Flash中的数据组织结构

6.2.5 VC5402中断系统设计

VC5402硬件中断分为外部硬件中断、内部硬件中断两类。VC5402提供了一个外部不可屏蔽硬件中断、四个外部可屏蔽硬件中断,这些中断都是通过外部信号的下降沿触发的。外部不可屏蔽中断NMI在任何时候触发都会产生中断,而外部可屏蔽中断INT0~INT3必须在对应的屏蔽寄存器中的屏蔽位打开时才能响应对应管脚的中断信号。内部硬件中断是由VC5402的片内外设(DMA、Mcbsp、TINT、HPINT)引发的内部可屏蔽中断。

本系统用到如下中断:外部可屏蔽中断INT3用于实现白板系统与PC机实时通信,外部可屏蔽中断INT0用于判断红外信号的到达时刻,内部硬件中断TINT0用来判断白板笔的落笔信息,内部硬件中断TINT1用来计算白板笔颜色信息,内部硬件中断BRINT0、BRINT1用来接收左右两路超声数据。

6.2.5.1 电子白板系统与PC机实时通信设计

电子白板系统与PC机的通信包括两部分:

(1)白板硬件系统与PC机软件挂接时,双方进行握手。每次打开PC机白板软件,PC机发送字符“R”。硬件系统正确地接收到字符“R”后返回字符“R”表示系统挂接成功;若硬件系统未正确的接收到字符“R”,就原地等待。若PC机在设定的时间内未收到硬件系统返回的字符“R”,认为硬件系统未正常工作,此次挂接失败,显示未检测到硬件。

(2)若接收到该点的红外和超声信号正确,VC5402将计算得到白板笔颜色信息和两路精确的超声时延信息传给PC机。

传递给PC机的6个字节分别为:颜色、控制、左路超声时延高8位、左路超声时延低8位、右路超声时延高8位和右路超声时延低8位。颜色字节中的对应关系如表6-3所示。

表6-3 电子白板笔颜色信息

该系统(宋巍巍,2006年)利用异步通信芯片TL16C550C完成电子白板硬件系统与PC机之间的串行通信。TL16C550C接收和发送数据可采用两种方式:查询方式和中断方式。查询方式就是不断地读取中断标志寄存器IIR,看是否接收缓冲寄存器空或发送缓冲寄存器满。若接收缓冲寄存器空,则发送数据;若发送缓冲寄存器满,则读取数据。这种方法适用于工作不繁忙的系统中。该系统对实时性要求较高,不宜采用查询方式。

该系统采用中断方式发送和接收数据。TL16C550C的中断引脚INTRPT上升沿高电平有效,因此在CPLD中将其取反后与VC5402的INT3引脚相连,向VC5402申请中断。系统中,TL16C550C设定串口波特率为19200 bit/s,每个数据含8个数据位、1个停止位,无奇偶校验位。

INT3中断服务程序流程如图6-21所示。由上述可知,挂接仅在打开PC机白板软件时进行,因此在主程序中设置挂接成功标志,在INT3中断服务程序中判断该标志位。若该标志为“0”,认为此时TL16C550C在进行系统挂接;若该标志为“1”,认为此时TL16C550C在传送白板笔颜色、控制及两路超声时延信息。主程序中设置允许TL16C550C接收缓冲寄存器空中断和发送缓冲寄存器满中断。

图6-21 INT3中断服务子程序流程图

6.2.5.2 红外信号到达时刻判断

在电子白板系统中,信号笔发射的红外脉冲信号的作用主要是:

(1)第一个红外脉冲到达接收器的时间作为超声信号的时基信号。红外信号以光速在空气中传播而超声信号以声速在空气中传播,相对于超声信号的传播时间,红外信号的传播时间可以忽略不计,因此系统中利用红外脉冲信号来标定超声信号的起始时间。

(2)两红外脉冲下降沿的时间差携带白板笔的颜色信息。电子白板有四种颜色的笔和一种电子板擦,分别为黑色(Black)、绿色(Green)、红色(Red)、蓝色(Blue)和板擦(Eraser)。每种颜色及板檫用两个红外脉冲之间的时间间隔来进行区分。

经模拟电路合并后的红外信号直接与中断引脚INT0相连,红外脉冲第一个下降沿触发INT0中断,表示红外信号已到达,打开TINT1中断开始计算两红外脉冲下降沿的时间差。红外脉冲第二个下降沿触发INT0中断,关闭TINT1中断,并同时打开BRINT0、BRINT1中断,开始接收左右两路超声数据。

6.2.5.3 白板笔落笔判断

白板信号笔的落笔信息是重要的信息之一。该系统(宋巍巍,2006年)利用定时器timer()来完成落笔判断,将控制信息置为0x09,传给PC机。PC机白板软件依靠硬件系统传送的落笔信息判断新一笔的开始。图6-22为TINT0中断服务子程序流程图。

图6-22 TINT0中断服务子程序流程图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈