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