用PC104控制模块和C51单片机实现AD检测板
扫描二维码
随时随地手机看文章
由PC104控制模块和Cgnal C8051F06x单片机组成的控制检测板可用于高端检测设备中,充分利用PC104控制模块和单片机丰富的软硬件资源,可用于各种检测应用中。
在开发检测设备的过程中,可采用核心板加底板的设计方法来降低技术难度,实现可编程、高性能、开发简单、扩展性强的设计方案,并且稍加改动就可以很容易地应用到其他领域。
核心板采用PC104控制模块,利用其强大的处理能力来处理数据,如数据存储、数据分析、数据评估,尤其是友好的GUI简化了用户的使用难度。底板采用Cgnal8051F06x、双口RAM和缓冲寄存器,利用C8051F06X单片机丰富的软硬件资源来实现可编程,可设置的各种复杂功能。核心板与底板之间只有一个通信路径PC104总线,可以分开设计,分别实现,简化了开发难度。
系统硬件结构及工作原理
- 系统结构及特点
系统有核心板PC104控制模块与底板Cgnal C8051F06x为核心的AD检测板组成,两板之间通过PC104总线相连,分别供电,任何一个电路板出现问题都不会影响另一块电路板的工作。
系统硬件框图如图1所示,主要包括核心板、底板两部分。核心板主要包括PC104模块、液晶、触摸屏、其他扩展模块,以及电源和与底板相连的PC104总线。底板主要包括C8051F06X控制核心单元、数字电路、模拟电路、双口RAM、缓冲寄存器和专用电源等。
图1 系统硬件原理框图
下面介绍系统工作原理。底板上电复位后读出存储在单片机内部闪存中的设置值,并按照设置值初始化相关的数字电路和模拟电路部分,然后将双口RAM的控制权交给核心板。进入正常工作状态后,不断查询双口RAM的协议区和缓冲寄存器。按接收到的核心板的命令来执行,并将执行结果通过双口RAM反馈给核心板,然后核心板再根据底板的反馈数据进行相应的处理。上电后,核心板首先初始化相关硬件,如PC104控制模块、液晶、触摸屏和其他扩展模块。启动完毕后开始查询底板的工作状态,当底板准备好接收控制字时开始启动GUI程序,并将触摸屏的输入权交给用户,此时用户就可通过触摸屏和液晶显示的GUI界面来控制整个系统来完成相应的功能。
控制核心PC104控制模块具有丰富的软硬件资源,包括专用的显卡控制器、GUI软件、多种操作系统的支持、多功能的电子盘存储方案、铁电存储器或电池后备的512K SRAM存储器、用于扩展外设的ISA总线接口、以太网控制器。在BIOS中集成的虚拟显示技术可以使用户在虚拟显环境中进行编程和调试,可以充分利用现有PC上大量的优秀软件作为开发工具。
显示器采用TFT 640X480 6.3英寸256色的LCD。采用触摸屏做为输入设备,通过软件编程来实现用触摸屏的输入,代替标准的键盘输入和鼠标输入,还可实现手写笔收入。系统还可以增加GPRS模块、红外模块或其他无线通信模块,提供无线通信功能。
底板的控制核心是C8051F06X单片机,由单片机可以实现各种外设在CPU引脚上的配置,实现各种复杂的检测模式,如采样频率、采样长度、采样阚值电压和采样范围均可设置,除此之外还要实现各种状态的指示,以及其他外设的配置。
为解决底板和核心板之间的通信问题,在设计中采用双口RAM加缓冲寄存器的解决方案。
- 底板实现
因为要用于手持设备,所以在供电上使用12V的电池供电。为提高系统的稳定性,在电源模块上使用3个DC/DC分别为底板、核心板和模拟电路供电,电路如图2所示。
图2 底板电路电源部分原理图
POWER为电源的输入端,即电池供电的输入端。DC0核心板供电电路,主要向核心板提供电源。DC1为模拟电路供电电源。DC2为外接传感器供电。L0为5V电源指示灯。
底板电路模拟电路部分如图3所示。
图3 模拟电路部分
AIN为传感器的接入插座。电阻R04和R08,R12和R10分别与LF357构成反向比例放大电路,将传感器弱电信号放大到CPU可以处理的信号。R03和R11为此放大电路的匹配电阻,阻值的计算公式为R03=R04//R08,R11=R12//R10。C10和C13为隔直电容,C11和C14为滤波电容用来滤除信号中的噪声。
底板的核心部分电路如图4所示。
图4 底板的核心电路
U1底板的核心CPU C8051F06X为整个底板的核心,底板的所有操作均由其控制实现。U4为地址锁存器373。U9为总线驱动器,实现3.3V到5V的转化。本部分电路均为3.3V器件。
底板核心器件的供电电路及其他部分电路如图5所示。
图5 底板核心器件的供电电路和其他电路
U10为1117用来实现将5V输入变成3.3V输出。L3为工作状态指示灯。FMQ1为蜂鸣器。C30~C36为去偶电容。R26、R27、C21和C22构成上电和按键复位电路。L1、L2为电源指示灯。JTAG则为JTAG调试端口。
PC104总线电路原理图如图6所示。
图6 PC104总线的电路原理图
由于底板与核心板的连接方式是通过PC104总线相连,并且由于核心板是5V供电,而底板核心器件均是3.3V,所以在原理图上U5、U7、U8、U11、U12都是将5V输入转化成3.3V输出。
软件设计
- 底板部分程序
底板是本方案中检测部分,所有与信号有关的检测部分均在此板上实现。因此在底板程序设计上采用模块化设计,所有模块均可通过逻辑宏加载卸载。
对不使用的功能可以使用#undef宏指令或用//将其注释掉均可。采用这种编程的优势是,当系统增加功能时只需加载相应的模块即可,对不需要的模块可以将其关闭,即可节省闪存空间,又可加快执行效率。
- 核心板部分PC104控制模块
核心板是本方案设计中控制核心,AD检测底板的所有功能均由其控制。在其上主要实现GUI界面,编程开发环境可以使用VB、VC、BC、C++Builder。主要流程为AD板检测、GUI界面设计和数据处理,等等。在本方案中使用Visual C++ 6.0开发环境来开发。
设置选项主要管理与所有与系统有关的设置,例如AD采样方式设置(差分、单端)、采样频率、采样长度、采样阚值电压、采样窗口电压、系统时钟设置等等;文件管理主要管理存储器如CF卡上的存储空间,例如存储空间有多大,占用了多少,还剩下多少,等等;显示属性则主要显示整个系统的所有属性设置值和出厂的默认值等;现场检测是将现场检测的数据用曲线的形式表现出来,并可存储成图形文件的形式为以后分析使用;数据分析则是将现场检测的数据、曲线与理想状态的数据、曲线进行比较,并给出产生数据、曲线差异的可能原因和解决方法。
提高可靠性
为提高本系统的可靠性,除在硬件电路上加电源层、地面层、每个IC都加去藕电容外,在软件设计上也采用了一些独特的设计来增加系统的可靠性。
- 在双方的RAM通信协议上使用规范化的协议标准,包括数据块头、数据块有效字节数、数据块控制命令码、数据块命令码模式、数据块命令码参数列表长度、数据块命令码参数列表、数据块数据长度、数据块数据和较验数据。在不太复杂的应用中可以使用简化的形式,例如较验数据可以使用奇较验、偶较验、和校验和CRC校验,在一般的应用中采用和校验即可。
- 存储区分区管理。将通信使用的双口RAM分为协议区和数据区,既增加了双口RAM的使用效率又使软件编程结构清晰,同时增加了系统操作的可靠性。
- 软件看门狗的使用。在核心板和底板都使用了各自的软件看门狗,即分别保证核心板和底板的可靠性外,还使它们发生故障时相互的影响降到最低。
本设计方案具有体积小、功耗低的优点,可用电池进行供电,可以当作一个手持设备使用。