智能测控电路片上系统的设计与仿真
扫描二维码
随时随地手机看文章
1 引言
智能测量控制电路系统在工业控制、各种消费类电子产品获得了广泛的应用。它一般是以单片机为核心,外加模拟信号调理、模数转换、人机接口(包括按键和数码显示等)、功率输出等几部分组成,其系统框图如图1。测控系统是基于PCB板来设计的,体积和功耗都较大。特别是为了使系统能够应用在各种恶劣的工作环境下,设计者通常要化大量的时间和精力来研究和实施各种硬件和软件的抗干扰措施。另外,这些系统都具有大多数的共性,设计师很多的工作都是重复的。
2 系统结构
随着集成电路的设计技术和深亚微米制造技术的迅速发展,集成电路已进入片上系统时代,且由数字SoC全面转向混合信号SoC。本文的工作是将智能测量控制系统所需的信号采集、转换、存储、处理和I/O等各个部分功能集成于单芯片系统之中。高度集成的单片器件比用分立的IC成本低、功耗小,占据面积小;同时简化了PCB系统设计和提高了系统的抗干扰能力。系统芯片的应用简单、通用性好,用户只要接不同的传感器和少量器件即可构成完整的测量控制系统,缩短了产品的上市时间。通用测量控制系统见图1。
为了使单芯片智能测控系统具有良好的通用性,我们采取了基于微控制器内核的设计方案。系统芯片中包括微控制器、仪用放大电路、A/D转换、EEPROM、ROM、RAM及驱动逻辑等。
2.1微控制器内核
在工业控制、各种中低档的消费类电子产品中,8位微控制器在目前仍然占相当大的比例,而且在未来的相当一段时间内仍然会以8位为主;其实现技术成熟,结构简单。按指令系统,微控制器可以分为CISC,RISC和类RISC等几种。CISC型代码密度高,但绝大多数指令的需要多个时钟周期完成,实现比较复杂。RISC型硬件实现比较简单,但其代码密度较低;类RISC类型则具备了代码密度高和指令单周期完成等特点。
基于以上考虑自主开发了8位类RISC型的微控制器IP软核,其结构框图如图2所示。为了利用现有的编译工具,微控制器的指令和Microchip公司的PIC16C62单片机的指令兼容。微控制器有35条单字、单周期的14bit指令,除了程序分支指令外其他指令都是单周期指令。采用了Harvard结构,两级流水线设计。具有引脚电平变化中断、外部边沿中断及定时器中断三类中断源,8级硬件堆栈。
2.2 A/D转换器
A/D转换器有并行、逐次逼近、积分型等多种类型,其各有优缺点并能满足不同的具体应用要求。在大多数工业测控及消费类产品应用中,时间量级都在ms上,但都要求有较高的精度和极高的可靠性及抗干扰能力。所以决定用双积分型的A/D转换器来实现模数转换功能。设计的双积分A/D转换器的结构如图3所示,其信号的控制时序如图4所示
为了减少积分器的失调的漂移的影响,采用补偿测量法,在电路中设置电子开关S3、S4和零漂移记忆电容。设输入的信号为Vi,基准电压为-Vr。双积分A/D转换器工作分为三个阶段:
一是零补偿期,将开关S3和S4接通,S1、S2断开。积分器的开环增益很大,则其输出基本上等于比较器的失调电压e2。
二是信号定时积分阶段,将开关S1接通,S4、S3、S2断开,在一个固定的时间内对被测电压进行积分。在开始的瞬间,积分器的输出为e2。因此积分器从e2开始积分,经时间Td后进入第三个阶段,此时积分器的输出为
三是反向积分阶段,将开关S2接通,S3、S1断开,将积分器接到基准电压上。当积分器的输出返回到e2时,比较器翻转,设此积分区间的时间为Tx,有
可以看出整个积分过程不受失调和漂移的影响。
假定信号定时积分、基准反向阶段计数器的计数分别为N1、N2,则有N2=Vi*N1/Vr ,在本系统中取N1=10000 Vr=1.0000V。采样结果表达式与时钟频率、积分电阻电容无关,只取决于基准电压。把计数器的时钟频率取为工频信号的整数倍,则对信号的积分时间为工频周期的整数倍,可把由工频噪声的误差减小到最小,从而有效地抑制电网的工频干扰。
计数器采用CPU的TMR1,TMR1是一个16位的定时/计数器,由TMR1H、TMR1L两个寄存器组成,为增1计数。为了方便与A/D转换器接口,在标准的TMR1上增加了一个比较器输出端的门控信号BUSY。将定时器的计数初值设置为0xd8ef,这样经过定时积分阶段计数器值将变为零,反向积分阶段结束后计数器的值即为采样结果。通过用I/O口RB1发脉冲来启动A/D转换,转换结束后通过BUSY信号来停止计数和向CPU申请中断。在中断程序中读出采样值和重新启动A/D转换。信号BUSY、S3/S4、计数器的计数值通过采集时序控制逻辑模块来实现对S1、S2开关的控制。
2.3 存储单元
为了配合微控制器的使用,设计了2K×14bit的程序存储单元及128×8bit数据存储单元。另外集成一定的EEPROM以满足系统的参数的输入和改变,如:传感器的标度转换系数、控制算法程序参数。
2.4 扩展端口的实现
实际应用之中,可能会在微控制器的外围集成一些特殊其他的IP模块。IP模块与微控制器的通信是通过微控制器的寻址方式来进行的,通过对IP模块的可寻址单元的读写来实现对IP模块的数据存取。对于每一个IP模块分配唯一性的地址单元保证其数据访问的唯一性。多个IP模块的集成可能会使芯片的端口数目大大增加。对于外接模块的端口可采用与微控制器的通用I/O端口复用的方法 。
2.5 输出显示
数码管具有寿命长、耐腐蚀、抗震动、防爆防潮、可靠性高、可视角度大等优点,被广泛应用于各种测控仪表中。利用微控制器的定时器中断的方法进行数码管的动态显示刷新。
2.6 低功耗设计
为了使测控芯片满足便携式测控系统低功耗的需求,在设计时必须充分考虑降低功耗的要求,微控制器设有SLEEP指令,在SLEEP状态之前微控制器可关断传感器、前级放大电路及基准电源等部分的电源。另外在逻辑设计时,采用门控时钟、异步逻辑、减少毛刺等方法来降低功耗。
3 仿真与设计
3.1系统的仿真
民首先微控制器核的软件程序写成汇编或C语言代码,然后利用PIC16C62的编译系统生成HEX文件。为了能够被EDA工具的所用,我们将将HEX文件转换成了Verilog类型的文件。方法是分析生成的HEX文件格式,采用VB6.0高级语言将其转换成 .v文件,其中实现采用case语句的方式来实现。其形式如下:
下面的波形为采用ACTIVE-HDL4.2仿真所产生,图中 portbinout(0)信号(来自BUSY信号)下降沿产生中断。在中断中将计数值读出并将TMR1定时器重新赋值0xd8ef,随后将读出的值用PORTC逐位用HEX方式输出。
3.2 硬件验证平台
为了对系统的功能进行验证,设计了FPGA和通用器件相结合的硬件仿真系统,将微控制器内核,ROM,RAM,A/D转换的数字部分及数码管驱动等逻辑部分采用FPGA的逻辑来实现,而模拟部分采用一般元器件来实现,框图如图3 所示。FPGA采用Xlinx公司的10万门的XC2S100,程序存储器及寄存器RAM采用其片内BlockRAM来实现。FPGA的编程文件存储在一片PROM之中。运算放大器用三片OP07构成仪用放大器来实现;A/D转换器的模拟部分用运算放大器和阻容元件构成。
3.3 系统的设计
系统经过验证后,便进行后端版图设计。后端设计把每一个元件的电路表示转换成集合表示,同时元件间连接的线网也被转换成几何连线图形。为了处理问题的规模缩小,我们先将系统分成数字部分、ROM及RAM,模拟部分等几个模块,再为每个模块和整个芯片选择一个好的布图方案。接下来完成模块间的互连并进一步优化布线结果,最后进行压缩完成布线后的优化处理过程,进一步减小芯片的面积。
4 结束语
本文阐述了智能测量控制集成电路的设计方法,设计过程中充分考虑了一般智能测量控制的一般需求,注重通用性,从而使智能测控系统芯片只需外接少量的器件即可形成测控系统,且进行了基于FPGA系统的设计验证。着重分析了设计过程中需要考虑的几个问题,如:微控制器的选择、A/D转换器的选择。