硬件设计论文第1篇
工艺设计团队在进行工艺过程的设计时一般先需要如下原始资料:产品装配***和零件***,企业的制造相关信息。产品装配***有助于工艺设计师了解零件在产品上的位置,所起到的作用以及工作的条件情况;零件***则表明了该零件的尺寸和精度要求;了解企业的制造相关信息有利于工艺设计师根据生产厂的生产条件,生产厂现有的设备规格,型号及性能,物资供应状况等信息设计出更加符合本企业的产品工艺设计。这些原始资料是制定工艺设计的基础。根据工艺设计流程和工艺设计相关内容,可以把工艺设计活动分为四个阶段活动。第一阶段:工艺性分析阶段,工艺设计人员从产品详细设计人员处获得新产品的CAD***,对CAD***进行工艺性分析,审查***纸上的视***、尺寸和技术要求是否完整、统一、正确;找出重要的技术要求结合企业的加工能力分析是否能达到要求,分析零件的结构工艺性,是否存在不合理的结构或者可以改进的地方,与产品设计人员协商。只有对零件的结构工艺性进行充分分析,才能清楚零件的结构特点,加工表面与非加工表面、重要表面与非重要表面、技术要求的高低等直接影响零件加工性的因素,才能制定出最合理的工艺设计方案;第二阶段:确定毛坯及其制造方式,通过***纸的审查之后,设计人员开始确定毛坯及其制造方式,毛坯的确定是工艺设计过程中的重要内容,选择不同的毛坯就会有不同的加工工艺,采用的设备,工装也不同从,从而对生成率和成本有影响。因此必须正确的选择毛坯类型和制造方法,确定毛坯精度及余量,之后绘制毛坯***;第三阶段:拟定产品的工艺路线,工艺路线是指用各种方法将毛坯加工成零件的整个加工路线。在毛坯确定后,根据零件的技术要求、表面形状、已知的各种机床加工工艺范围、刀具的用途,就可以初步拟定零件表面的加工方法,工序的先后顺序,工序的集中还是分散。工艺路线的拟定不但影响加工质量和生产效率,而且影响工人的劳动强度,影响设备投资,车间面积,生产成本等,因此拟定工艺路线是工艺设计过程中的关键阶段;第四阶段:进行工序详细设计,工艺路线拟定之后确定各工序的具体内容。包括确定各工序加工余量、计算各工序尺寸及公差,选择各工序使用的机床与工艺设备,确定各工序的切削用量及时间定额。工序设计应该是在保证质量的前提下,提高生产效率,这个阶段最终形成加工工序卡片。当过程流程***,加工工序卡片都通过审核之后形成将文件,整理文件保存,整个产品开发设计过程中的工艺设计到此结束。之后将文件下发,指导一线工人进行生产。
2工艺设计过程的要素模型
质量管理体系国际标准将过程定义为:一组将输入转化为输出的相互关联或相互作用的活动[7]。过程方法是指组织内各过程的系统的应用,连同这些过程的识别和相互作用及其管理。过程构成要素模型,如***2所示。根据过程定义并结合***2过程构建要素模型可知:一个过程包括输入、输出、相关转换活动、所需资源、过程所处的环境以及检测评价等六要素。其中输入是实施过程的开始,而输出是完成过程的结果,通过使用合理的资源和科学的管理,来对处于一定的环境的过程进行增值转换活动。为了确保过程的结果质量,对输入过程的要素、环境要求和输出的结果(有形的或者无形的)以及在过程中的适当阶段应进行必要的监控和评价。工艺设计过程中的转化活动是由一系列按照时序要求展开的活动,首先是包括审查***纸、产品结构及技术分析、工艺性评价的工艺性分析活动,之后是选择毛坯精度确定余量、绘制毛坯***的确定毛坯及其制造方式活动,然后是划分加工阶段及确定工序顺序的拟定产品的工艺路线活动,最后是确定工序余量计算工序尺寸及公差,选择切削用量,计算时间额定,选择加工设备及工艺装备的详细的工序设计活动。
3工艺设计过程影响因素分析
工艺设计过程是指工艺设计相关的一切活动,信息,数据,资源的总和。它是由一系列子过程工艺设计活动组成。由于每个过程活动的任务和目标不一样,如表1所示。使得不同阶段的活动所需的资源,输入输出,环境等要素也不同。在产品结构性工艺审查,毛坯的选择,工艺方案设计与评价,工装设计,材料与工时定额等活动时要综合考虑企业自身条件,生产设备,生产能力,生产环境,工艺相关经验,工具相关信息,设备相关参数,加工人员技术水平信息等影响因素,还要结合所处的环境和资源等因素,如环保规则,加工生产条件,安全条件,经济性等方面。最后输出最经济,最可行,最合理的工艺设计方案等文件内容指导企业生产制造。
4工艺设计缺陷因素结构模型的构建
为了更好的表达缺陷因素与工艺设计过程的关系,避免工艺设计缺陷的产生,并参考多数企业的工艺设计流程,采用过程方法构建的工艺缺陷因素结构关系模型,如***3所示。从***3可以看出硬件产品工艺设计过程是一个多层次,多步骤和分阶段的设计过程。整个工艺设计过程涉及的影响因素因不同阶段而不同,分布于产品工艺设计过程各个阶段的活动中。工艺缺陷影响因素结构关系模型不仅表达出工艺设计过程中各设计阶段间的逻辑顺序关系,理顺了工艺设计阶段的各个活动的输入、输出,而且还清晰地呈现出设计资源、环境等缺陷因素与工艺设计过程的关系,为以后的工艺设计缺陷的预防和控制提供了理论基础。然而,从整个模型可以看出,影响工艺缺陷的因素比较多,在具体的工艺设计活动中,往往是由于模型中缺陷因素不能合理有效的控制这些因素,增加了工艺设计缺陷的风险。因此,需要进一步定量掌握工艺设计阶段的影响因素对工艺设计活动的影响程度,以及因素之间的互相影响关系,以便更好的,有针对性地采取措施来优化工艺设计过程,提高工艺设计质量。
5工艺缺陷影响因素定量化分析
5.1基于DEMATEL方法的工艺设计缺陷因素分析
DEMATEL(decisionmakingtrialandevaluationlaboratory)决策实验室分析法,是20世纪70年代出现的运用***论与矩阵论原理进行系统因素分析的方法,它通过系统中各因素之间的逻辑关系构建直接影响矩阵,计算各因素对其他因素的影响度以及被影响度,从而计算各因素的中心度和原因度,然后,根据因素所对应的中心度和原因度,得出该因素所属的种类(原因性因素还是结果性因素)。DEMATEL方法关注的不仅是因素之间的两两直接影响关系,还考虑了所有因素之间的间接影响关系,从而获取众多因素中的关键因素。采用DEMATEL方法对影响工艺设计缺陷因素进行量化分析,分析过程直观、明晰,其结果不仅可以表达各缺陷因素之间的量化因果关系,还能根据量化结果对影响因素集进行因果分类和重要程度排序,为缺陷因素控制管理以及识别提供科学依据。
5.2基于DEMATEL方法的工艺设计缺陷因素分析步
骤如下(1)构建各因素间的直接影响矩阵。工艺设计缺陷影响因素表示为Tx,其中x=1,2,3……n,如果因素Ti对因素Tj有影响,则表示为tij。设定影响关系评价标度(如根据较强,强,一般,弱,无五个等级分别赋值),定义:当i=j时,tij=0表示因素自身对自己无影响;当因素Ti对因素Tj影响很弱时,tij=1;当因素Ti对因素Tj影响一般时,tij=2;当因素Ti对因素Tj影响较强时,tij=3;当因素Ti对因素Tj影响很强时,tij=4。构造因素间的影响矩阵G。影响度Hi为综合影响矩阵D中i行的行和,表示因素Ti对其他所有元素的综合影响值。被影响度Lj为综合影响矩阵T中j列的列和,表示Tj受其他所有因素的综合影响值。中心度Mi为综合影响矩阵T中第i行的行和与第i列的列和之和,表示该因素在系统中的重要性程度。原因度Ui为综合影响矩阵T中的第i行之和与第i列之和的差,表示该因素与其他因素的因果逻辑关系程度,若为正,表示该因素对其他因素的影响大,称为原因因素;若为负,则表示该因素受其他因素的影响大,称为结果因素。(5)根据第四步计算的结果,以Ui为纵轴,Mi为横轴,绘制因素的原因—结果***,得出各缺陷因素的影响度和被影响度排序。
5.3举例分析
以某雨弹发射架的工艺设计为例,影响雨弹发射架工艺设计缺陷的因素众多、关系复杂。按上述方法,从与工艺设计有关过程活动的角度来考虑,同时考虑输入输出类、资源类、环境类以及监测评价四大类工艺缺陷影响因影响因素体系,构建了雨弹发射架工艺设计缺陷因素表以及按DEMATEL方法步骤计算出综合数据,如表2所示。(1)缺陷因素的原因—结果***根据综合影响关系表,以Ui为纵轴,Mi为横轴,绘制因素的原因—结果***,得出各缺陷因素的影响度和被影响度排序。应用SPSS软件将各雨弹发射架工艺设计影响因素标注在坐标系上,如***4所示。(2)分析结果由以上结果从整体所有因素可以看到:(1)雨弹发射架工艺设计的原因因素有24个位于0线以上,依次f1、f2、f3、f4、f5、f7、f8、f10、f11、f13、f14、f15、f17、f21、f23、f24、f25、f28、f30、f32、f35、f37、f39、f40,它们是导致雨弹发射架工艺设计缺陷的主导因素。根据20/80原则,影响度大小排序前五位为f10(工艺流程***)、f13(工序操作指导卡片)、f5(现有生产能力资料)、f7(毛坯方案)、f2(组件明细)、所以,必须采取针对性的措施。(2)结果因素有16个位于0线以下,依次为f6、f9、f12、f16、f18、f19、f20、f22、f26、f27、f29、f31、f33、f34、f36、f38,这些因素受其他因素影响比较大。按被影响度大小排序前三位为f38(成本约束)、f22(毛坯的相关经验)、f12(工序卡片),它们极易受到其他因素的影响,必须加以重视。(3)从工艺设计缺陷因素原因—结果***中也可以分别按类中的因素比较,如输入输出类缺陷因素(正方形表示)中的f10(工艺流程***)、f13(工序操作指导卡片)、f5(现有生产能力资料)中心度值较大,是输入输出类最可能导致工艺设计缺陷的致因因素;从***4可以看出输入输出类因素相对其他类因素大部分都在0线以上,这说明此类因素中原因因素较多,应该给予一定控制。资源类缺陷因素(圆圈表示)中f22(毛坯的相关经验)原因度第二小,说明受其他因素影响最大。环境类缺陷因素(正三角形表示)中f38(成本约束)原因度最小,中心度第三大,说明成本约束不仅受其他因素影响大外,自身影响其他因素也大,应给予控制。监测评价类成本约束(倒三角形表示)f39,f40,都在0线以上,说明此类缺陷因素影响其他因素较多。(4)从整体来看缺陷因素f5(现有生产能力资料)、f10(工艺流程***)、f12(工序卡片)、f13(工序操作指导卡片)、f22(毛坯的相关经验)、f38(成本约束)相对离散,应重点控制监测。以上结果只是针对雨弹发射架工艺设计,对其他硬件产品工艺设计缺陷因素分析可参照此方法,但分析结果因产品而异。
6结论
硬件设计论文第2篇
静止无功发生器硬件电路主要包括:整流电路、逆变电路、智能功率模块IPM的驱动电路、过零检测电路,电流调理电路,锁相环电路。逆变电路采用了IPM,该芯片内含驱动电路,报警电路等独特结构,一方面提高了系统的可靠性;另一方面也避免了保护电路的另外设计,简化了硬件装置的设计。主电路主要由整流部分和逆变部分组成。整流部分通过三相不可控整流桥将三相交流电压转换为三相直流电压,在经过电容滤波后得到稳定的直流电压。逆变部分采用SPWM控制技术来控制IPM内部IGBT的开断从而获得所需的补偿电流。将整流输出的直流电逆变转化为交流电回馈到电网。IPM内含保护电路,当发生故障时,IPM的自保能力使得IGBT的损坏率较低,提高了系统的可靠性。
二、SVG各硬件电路组成
(一)整流电路。整流电路采用三相不可控整流桥,输出的三相直流电通过电容稳压、滤波获得稳定的直流电压。根据以往的经验,直流侧电容取用4个2200μF/450V的电解电容,两并两串接进电路。电路组成如***2所示。为了避免大电流烧坏整流装置,电容需要通过一个充电电阻对不可控整流桥的输出端进行充电,直到充满在直接接到不可控整流桥的输出端。另外,为避免故障发生,在不使用整流电路时要对滤波电容进行放电。根据计算的电压、电流,选用二极管整流模块6RI30G-160G-120即(30A,1200V)。
(二)IPM及其驱动电路。通过计算智能功率模块(IPM)参数,选用型号为PM25CLA120的IPM(25A,1200V),内部有IGBT,内含驱动电路。通过资料得知IPM驱动电路的控制电源电压范围为13.5V~16.5V,本文选用4路隔离的l5V直流电源。利用DSP发出PWM信号经光耦器件隔离后作为驱动信号对IPM进行控制。
(三)电流调理电路。该电路可将18A的电网电流相量转换成0~3Vpp的电压信号并实现过零点检测功能。该电路与电压调理电路的组成基本一致,不同之处在于互感器TVA1421-01用作电流互感器,采样电阻取59Ω。若一次侧电流为18A,二次侧输出(-0.5~+0.5)V的正弦波;经放大电路,输出电压(-1.5~+1.5)V的正弦波;最后经过加法电路输出(0V~3.00V)的电压信号。同时大于50Hz的正弦信号被滤除。过零比较电路在正弦波的过零时刻输出下降沿跳变。
(四)锁相环电路。本文采用了由TI公司生产的CD7H4C4046型锁相环芯片对电网频率进行跟踪,避免了利用固定频率采样时产生的误差。本系统中,锁相环的输出信号有两大作用:一是作为ADC模块的转换触发信号;二是作为事件管理器A(EVA)的时钟输入信号。通过锁相环电路使其产生跟随电网频率变化的SP-WM波,从而精确控制后级逆变器。
三、结语
硬件设计论文第3篇
1飞行原理与机械结构
四旋翼飞行器的旋翼对称地安装在呈十字交叉的支架顶端,位置相邻的旋翼旋转方向相反,同一对角线上的旋翼旋转方向相同,以此确保了飞行系统的扭矩平衡[7],如***1所示。四旋翼飞行器旋翼的旋转切角是固定值,因此,要通过调节每个电机的转速来实现六自由度的飞行姿态控制。增大或减少4个电机的转速来完成垂直方向上的升降运动,调节1,3旋翼的转速差来控制仰俯速率和进退运动,调节2,4旋翼的转速差来控制横滚速率和倾飞运动,调节2个顺时针旋转电机和2个逆时针旋转电机的相对速率来控制偏航运动。通过对飞行原理的分析,把可行性、低成本、易维护作为主要考虑因素,设计的样机如***2所示。机臂由镂空工程塑料材料PA66和30%玻璃纤维制成,质量相对较轻,强度大,对称电机轴距55cm,为保证水平起飞与平稳着陆,四旋翼飞行器底部安装起落架。电机旋翼等具体参数为:机体质量为857g;最大负载约为300g;机身高度为31cm;飞行时间约为8min。在整机安装过程中尽量保证重心在机械机构的对称中心,实际飞行实验证明了系统动力设备与机械结构的可行性。
2总体结构设计
四旋翼飞行器的硬件系统设计以飞控板为核心,搭载动力设备、电源模块与遥控模块。***3描述了以ATMEGA644P—AU为核心芯片搭载多传感器的飞行控制系统总体结构框***,整体系统利用11.1V锂电池供电,飞控与无刷电调以I2C总线数据传输来调节4个电机的转速;在遥控模块中,2.4MHz的控制信号通过PPM解码板与飞控板进行数据传输;在多传感器系统中,大气压力感器用行高度检测,陀螺仪与加速度计的融合使用用于姿态解算。
3电源模块
四旋翼飞行器由2200MAh,11.1V,持续放电倍率30C锂电池供电,通过稳压电路的设计对不同电路进行供电,确保各模块正常稳定的工作。控制系统设计需要5,3V两种电平供电,电压转换电路如***4所示。由锂电池提供的11.1电压经两块7805稳压芯片后转为5V电压,一部分用控板供电,一部分向预留的外部接口供电。经7805输出的5V电压经过2个MCP1700T稳压芯片输出3V电压,一部分供给控制系统的数字电路,一部分供给控制系统的模拟电路。330μF/25V电解电容器,10nF/16V钽电容器,贴片电容器的并联使用起到了防止电压抖动与滤波的作用。
4多传感器控制模块
为了准确地控制四旋翼飞行器的飞行姿态,需要在控制系统中加入不同的传感器,加速度传感器与三个陀螺仪来测量三轴加速度与角速度,大气压力传感器通过测量起始位置与飞行位置的气压差对飞行高度控制,为自主导航功能提供支持。大气压力传感器选择的是Freescale公司的MPX4250A,在该集成传感器芯片上,除具有压阻式压力传感器外,还有用作温度补偿的薄膜电阻网络,测压范围为20~250kPa,输出电压为0.2~4.9V,工作温度范围为-40~+125℃。电路如***5所示,可以根据压力的大小,通过控制P_1和P_2选择不同的放大倍数,提高采样的精度。LIS344ALH是一种低功耗、高性能、高精度的三轴加速度传感器,通过模拟输出为外部电路提供直接测量信号,加速度传感器的工作电压为2.2~3.6V,检测量程可以在±2gn或±4gn间选择。其中,VREF为通过稳压芯片MCP1700T转换为3V的稳定电压输入。应用电路如***6所示,选择100nF的贴片电容器作为VCC端的解耦电容,在输出端使用1μF的滤波电容减小噪声。考虑到振动误差无法通过加速度传感器进行补偿,因此,陀螺仪选型的过程中把机械性能作为重要的考虑因素,选择了可以在单芯片上实现完整单轴角速度响应的ADXRS610陀螺仪传感器。3个ADXRS610陀螺仪分别安装于垂直于机体坐标系的XYZ轴来实现系统三轴角速度的测量。
5实验与仿真
四旋翼飞行器在姿态解算时,陀螺仪传感器直接测量的是角速度,在积分得到角度的过程中随着时间的增长会产生累计积分误差,积分误差产生的原因一方面是积分时间,另一方面,由于自身的机械特性会产生零漂温漂等现象[8]。在陀螺仪的使用过程中融合加速度传感器,不仅为陀螺仪提供了绝对参考系,而且使加速度传感器优秀的静态性能与陀螺仪良好的动态性能相结合[9],较好地抑制了外界干扰。数据经卡尔曼滤波算法处理后,可有效地降低数据噪声。***8为加速度传感器采样数据与卡尔曼滤波后的数据比较,可以明显地看到噪声信号减小了,但是仍有少量的扰动存在。***9的曲线表明了陀螺仪采集角速度数据存在零漂、温漂现象,当确定零漂为0.05°,静态输出电压为2.63V时,从波形***中可以观察到通过卡尔曼滤波处理后的积分数据平滑收敛,不但对零点漂移进行了补偿,而且对累计积-10-5051015角度/(°)012345时间/s卡尔曼滤波后的数据加速度计采集数据***8加速度计采样数据经卡尔曼滤波后的数据***Fig8DatadiagramofsamplingdatasofaccelerometerprocessedbyKalmanfiltering分误差,温漂有较好的抑制作用。-10-5051015角度/(°)012345时间/s卡尔曼滤波后的陀螺仪数据陀螺仪积分数据采集角速度数据。
6结论
硬件设计论文第4篇
关键词:变压器;冷却控制系统;硬件
1变压器冷却控制系统控制模块的设计总体思想
本文所进行的就是对变压器冷却控制系统控制器模块进行设计,其中包括了可以对主变压器风扇投入与切除的温度范围进行自行设定,也可以按照用户的要求而变化。在传统控制方式中,风扇投切的温度限制值是不能改变的,此外,风扇电机的启动和停止温度有一余量,不像传统的控制方式中是一个定值,避免了频繁启动的缺陷,此外还有运行、故障保护及报警等信号的显示及其与控制中心或调度中心的通讯,上传这些信息,如变压器油温、风扇运行状态有无故障等。至于风扇的分组投切设置是为了节约电能,具有一定的经济意义,但这个分组数不宜过多,以免控制复杂,且散热效果不佳。
控制器主要由AT89CS1单片机、A/D转换器、键盘控制芯片,输出模块、通讯模块以及自动复位电路等组成,其中单片机是控制器的核心,AID转换器是把输入信号转换为数字信号。
2变压器风扇控制系统的硬件接线
基于以上的要求,我们设计的风扇控制器的硬件线路***如下页***1所示。变压器风扇控制中对控制模块进行改进是本文研究的重点,其中包括主要芯片的选用以及一些抗干扰元件的使用。所以在本章节中,我们重点将要介绍变压器风扇冷却控制模块中的主要硬件芯片的作用、选用以及它们之间的连接力一法。
(1)单片机AT89C51(如***1)。
AT89C51是Atmel公司生产的一种低功耗,高性能的8位单片机,具有8k的flash可编程只读存储器,它采用Atmel公司的高密度不易丢失的存储器技术,并且和工业标准的80c51和80c52的指令集合插脚引线兼容,其集成的flash允许可编程存储器可以在系统或者通用的非易失性的存储器编程中进行重新编程。AT89C51集成了一个8位的CPU,8K的flash。256字节的EDAM,32位的I/0总线。三个16字节的定时器/计数器,两级六中段结构,一个全双工的串行口,振荡器及时钟电路。AT89C51是完成系统的数据处理和系统控制的核心,所有其它器件都受其控制或为其服务。
在本文中,经过TLC1543A/D转换器后输出的数字量输入到AT89C51单片机中,同时在进行了温度参数的设置以后,进行它的输出控制,其中包括了变压器的温度显示、状态显示、以及声音报警设备等等,也就是我们所研究的变压器冷却控制系统的核心部分。
(2)变压器的温度采集及温度处理模块。在变压器的风扇冷却自动控制系统中,第一步进行的就是对变压器上层油温进行的温度采集工作。变压器的温度采集是由变压器的温度控制器来实现的,其中包括铂电极、传感器以及变送器。经过温度控制器输出的信号进入变送器,变送器送出一个4一20毫安的电流信号,然后将此电流信号通过控制芯片上的电阻元件实现电流电压信号的转换,转换后的电压是在0.4一2(伏特)之间,然后将此电压信号输入到TLC1543数模转换器,进行信号处理。变送器输出信号有电流和电压信号两种,考虑到变压器安装的位置(室外)距本控制装置(室内)有一定的距离,电流信号不易损失,故选择了4一20毫安的电流信号。(3)11通道10位串行A/D转换器丁LC1543。
TLC1543A/D转换器是美国TI公司生产的众多串行A/D转换器中的一种,它具有输入通道多、转换精度高、传输速度快、使用灵活和价格低廉等优点,是一种高性价的模数转换器。TLC1543是CMOS,10位开关电容逐次逼近模数转换器。它有三个输入端和一个3态输出端:片选(CS),输入/输出时钟(I/0CLOCK),地址输入和数据输出(DATAOUT)。这样通过一个直接的四线接口与卞处理器或的串行口通讯。片内还有14通道多路选择器可以选择11个输入中的任何一个三个内部自测试(self-test)电压中的一个。
(4)BC7281128段LED显示及64键键盘控制芯片。
BC7281是16位LED数码管显示器键盘接口专用控制芯片,通过外接移位寄存器(典型芯片如74HC164,74LS595等),最多可以控制16位数码管显示或128支***的LED。BC7281的驱动输出极性及输出时序均为软件可控,从而可以和各种外部电路配合,适用于任何尺寸的数码管。
BC7281各位可***按不同的译码方式译码或不译码显示,译码方式显示时小数点不受译码影响,使用方便;BC7281内部还有一闪烁速度控制寄存器,使用者可随时改变闪烁速度。
BC7281芯片可以连接最多64键C8*8)的键盘矩阵,内部具有去抖动功能。它的键盘具有两种工作模式,BC7281内部共有26个寄存器,包括16个显示寄存器和10个特殊(控制)寄存器,所有的操作均通过对这26个寄存器的访问完成。
BC7281采用高速二线接口与MCU进行通讯,只占用很少的I/O资源和主机时间。
BC7281在本系统中主要用于驱动变压器温度显示的LED以及显示风扇运行状态的指示灯。
前已提及,BC7281芯片内部共有26个寄存器,包括16个显示寄存器和10个特殊功能寄存器,共用一段连续的地址,其地址范围是OOH-19H,其中OOH-OFH为显示寄存器,其余为特殊寄存器。
(5)使用MAX232实现与PC机的通讯。
①MAX232芯片简介
MAX232芯片是1VIAX工M公司生产的低功耗、单电源双RS232发送/接收器,适用于各种E工A-232E和V.28;V.24的通信接口,1VIAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-2320输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。
我们的设计电路中选用其中一路发送/接收,RlOUT接MCS一51的RXD,T1工N接MCS一51的TXD,TlOUT接PC机的RD,Rl工N接PC机的TD1。因为MAX232具有驱动能力,所以不需要外加驱动电路。
系统中使用了此技术之后就实现了变压器风扇冷却系统的远程控制,工作人员可以在控制室对冷却系统进行控制,可以达到方便、准确、快捷的日的,这也是我们对传统的风扇冷却控制系统而做的一个重要的改进。
②串行通讯
在此实现中,我们必须要对MCS-51串行接日和PC机串行接日的串行通讯要有一定的了解,串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的,它的优点是只需一对传输线进行传送信息,囚此其成本低,适用于远即离通信;它的缺点是传送速度低;串行通信有异步通信和同步通信两种基本通信方一式,同步通信适用于传送速度高的情况,其硬件复杂;而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式,本文中使用的就是异步通讯方式。
(6)“看门狗”电路DS1232
在系统运行的过程中,为了避免因干扰或其他意外出现的运行中的死机的情况,“看门狗电路”DS1232会自动进行复位,并且能够重读EEPROM中的设置,以保证系统可以安全正常的运行。
美国Dallas公司生产的“看门狗”(WATCHDOG)集成电路DS1232具有性能可靠、使用简单、价格低廉的特点,应用在单片机产品中能够很好的提高硬件的抗干扰能力。
DS1232具有以下特点:
①具有8脚DIP封装和16脚SOIC贴片封装两种形式,可以满足不同设计要求;
②在微处理器失控状态卜可以停止和重新启动微处理器;
③微处理器掉电或电源电压瞬变时可自动复位微处理器;
④精确的5%或10%电源供电监视;
在本变压器冷却控制系统中,DS1232作为一定时器来起到自动复位的作用,在DS1232内部集成有看门狗定时器,当DS1232的ST端在设置的周期时间内没有有效信号到来时,DS1232的RSR端将产生复位信号以强迫微处理器复位。这一功能对于防止由于干扰等原因造成的微处理器死机是非常有效的,因为看门狗定时器的定时时间由DS1232的TD引脚确定,在本设计中,我们将其TD引脚与地相接,所以定时时间一般取为150ms。
3结论
本装置实现了通过单片机自动控制冷却器的各种运行状态并能精确监测变压器的油温和冷却器的各种运行、故障状态,显示了比传统的控制模式的优越性。(1)能够对变压器油温进行监测与控制;(2)实现了变压器冷却器依据不同油温的分组投切,延长了冷却器的使用寿命,有较好的经济意义;(3)实现了冷却系统的各种状况,如油温、风扇投切和故障等信息的上传,便于值班员、调度员随时掌握情况。
由于固态继电器实现了变压器的无触点控制,解决了传统的控制回路的弊端,同时此控制装置具有电机回路断相与过载的保护功能。由于使用了单片机,因而具有一定的智能特征,实现了油温、风扇的投入、退出和故障等信号的显示以及上传等。通过实际运行表明,该装置的研制是比较成功的。但今后,我们还应该对固态继电器本身的保护进行一些研究,以免主回路因电流过大而造成固态继电器的损坏,以使变压器风扇冷却控制回路更加完善。
参考文献
硬件设计论文第5篇
系统硬件原理框***如***1所示。系统采用不同的链路口完成输入和输出,可以避免采用总线可能产生的通道冲突。模拟视频信号由AD9883A完成模数转换。AD9883A是个三通道的ADC,因此系统可以完成单色的视频信号处理,也可以完成彩色的视频信号处理。采样所得视频数字信号经链路口输入到ADSP-21160,完成处理后由不同的链路口输出到ADV7125,完成数模转换。ADV7125是三通道的DAC,同样也可以用于处理彩色信号。输出视频信号到灰度电压产生电路,得到驱动液晶屏所需要的驱动电压。ADSP-21160还有通用可编程I/O标志脚,可用于接受外部控制信号,给系统及其模块发送控制信息,以使整个系统稳定有序地工作。例如,ADSP-21160为灰度电压产生电路和液晶屏提供必要的控制信号。另外,系统还设置了一些LED灯,用于直观的指示系统硬件及DSP内部程序各模块的工作状态。
本设计采用从闪存引导的方式加载DSP的程序文件,闪存具有很高的性价比,体积小,功耗低。由于本系统中的闪
存既要存储DSP程序,又要保存对应于不同的伽玛值的查找表数据以及部分预设的显示数据,故选择ST公司的容量较大的M29W641DL,既能保存程序代码,又能保存必要的数据信息。
***2为DSP与闪存的接口电路。因为采用8位闪存引导方式,所以ADSP-21160地址线应使用A20-A0,数据线为D39—32,读、写和片选信号分别接到闪存相应引脚上。
系统功能及实现
本设计采用ADSP-21160完成伽玛校正、时基校正、时钟发生2S、***像优化和控制信号的产生等功能。
1伽玛校正原理
在LCD中,驱动IC/LSI的DAC***像数据信号线性变化,而液晶的电光特性是非线性,所以要调节对液晶所加的外加电压,使其满足液晶显示亮度的线性,即伽玛(Y)校正。Y校正是一个实现***像能够尽可能真实地反映原物体或原***像视觉信息的重要过程。利用查找表来补偿液晶电光特性的Y校正方法能使液晶显示系统具有理想的传输函数。未校正时液晶显示系统的输入输出曲线呈S形。伽玛表的作用就是通过对ADC进来的信号进行反S形的非线性变换,最终使液晶显示系统的输入输出曲线满足实际要求。
LCD的Y校正***形如***3所示,左***是LCD的电光特性曲线***,右***是LCD亮度特性曲线和电压的模数转换***。
2伽玛校正的实现
本文采用较科学的Y校正处理技术,对数字三基信号分别进行数字Y校正(也可以对模拟三基信号分别进行Y校正)。在完成v校正的同时,并不损失灰度层次,使全彩色显示屏***像更鲜艳,更逼真,更清晰。
某单色光Y调整过程如***4所示,其他二色与此相同。以单色光v调整为例:ADSP-21160首先根据外部提供的一组控制信号,进行第一次查表,得到Y调整系数(Y值)。然后根据该Y值和输入的显示数据进行第二次查表,得到经校正后的显示数据。第一次查表的Y值是通过外部的控制信号输入到控制模块进行第一次查表得到的。8位显示数据信号可查表数字0~255种灰度级显示数据(Y校正后)。
3***像优化
为了提高***像质量,ADSP-21160内部还设计了***像效果优化及特技模块,许多在模拟处理中无法进行的工作可以在数字处理中进行,例如,二维数字滤波、轮廓校正,细节补偿频率微调、准确的彩色矩阵(线性矩阵电路),黑斑校正、g校正、孔阑校正、增益调整、黑电平控制及杂散光补偿、对比度调节等,这些处理都提高了***像质量。
数字特技是对视频信号本身进行尺寸、位置变化和亮,色信号变化的数字化处理,它能使***像变成各种形状,在屏幕上任意放缩,旋转等,这些是模拟特技无法实现的。还可以设计滤波器来滤除一些干扰信号和噪声信号等,使***像的清晰度更高,更好地再现原始***像。所有的信号和数据都是存储在DSP内部,由它内部产生的时钟模块和控制模块实现的。
4时基校正及系统控制
由于ADSP-21160内部各个模块的功能和处理时间不同,各模块之间存在一定延时,故需要进行数字时基校正,使存储器最终输出的数据能严格对齐,而不会出现信息的重叠或不连续。数字时基校正主要用于校正视频信号中的行,场同步信号的时基误差。首先,将被校正的信号以它的时基信号为基准写入存储器,然后,以TFT-LCD的时基信号为基准读出,即可得到时基误差较小的视频信号。同时它还附加了其他功能,可以对视频信号的色度、亮度、饱和度进行调节,同时对行、场相位、负载波相位进行调节,并具有时钟台标的功能。
控制模块主要负责控制时序驱动逻辑电路以管理和操作各功能模块,如显示数据存储器的管理和操作,负责将显示数据和指令参数传输到位,负责将参数寄存器的内容转换成相应的显示功能逻辑。内部的信号发生器产生控制信号及地址,根据水平和垂直显示及消隐计数器的值产生控制信号。此外,它还可以接收外部控制信号,以实现人机交互,从而使该电路的功能更加强大,更加灵活。此外,ADSP21160的内部还设计了I2C总线控制模块,模拟FC总线的工作,为外部的具有I2C接口的器件提供SCLK(串行时钟信号)和SDA(双向串行数据信号)。模拟I2C工作状态如***5和***6所示。
系统软件实现
在软件设计如***7所示,采用Matlab软件计算出校正值,并以查找表的文件形式存储,供时序的调用。系统上电
开始,首先要完成ADSP-21160的一系列寄存器的设置,以使DSP能正确有效地工作。当ADSP-21160接收到有效的视频信号以后,根据外部控制信息确定Y值。为适应不同TFT-LCD屏对视频信号的显示,系统可以通过调整Y值,以调节显示效果到最佳。再如***4所示,对先前预存的文件进行查表,得到所需的矫正后的值,然后暂存等待下一步处理。系统还可以根据视频信号特点和用户需要完成一些***像的优化和特技,如二维数字滤波、轮廓校正、增益调整、对比度调节等。这些操作可由用户需求选择性使用。利用ADSP-21160还可以实现***像翻转、停滞等特技。最后进行数字时基校正,主要用于校正视频信号中的行、场同步信号的时基误差,使存储器最终输出的数据能严格对齐,而不会出现信息的重叠或不连续。除了以上所述的主要功能以外,ADSP-21160还根据时序控制信号,为灰度电压产生电路和TFT-LCD屏提供必要的控制信号。另外,ADSP-21160还能设置驱动通用I/O脚配置的LED灯,显示系统工作状态。
硬件设计论文第6篇
关键词:UART多点通信FPGA知识产权
在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数据,消耗了CPU较多的时间。89C51单片机有一种九位通信方式,采用一位地址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用的UART芯片如16C550和89C51等构成总线式的通信系统时,需要由CPU通过软件处理接收到的地址和产生九位的数据。本文介绍的UART采用VerilogHDL硬件描述语言设计,可以用FPGA实现,可应用于SoC设计中。其主要特性如下:
·全硬件地址识别,过滤数据不需要CPU的介入;支持一个特殊地址,可用于监听和广播。
·支持查询和中断两种工作方式,中断可编程。
·接收和发送通路分别有128ByteFIFO,每个接收字节附带状态信息。
·设计采用VerilogHDL语言,全同步接口,可移植性好。
·支持自环测试功能。
·波特率可以编程,支持八位或者九位两种数据格式。
设计的UART的九位串行数据格式如***1所示。在空闲状态,数据线处于高电平状态。总线由高到低跳变,宽度为一个波特率时间的负脉冲为开始位,然后是8bit的数据位。数据位后面是lbit的地址信息位。如果此位是1,表示发送的字节是地址信息;如果此位是0,传输的是正常数据信息。地址指示位后是串行数据的停止位。
1UART设计
UART采用模块化、层次化的设计思想,全部设计都采用VerilogHDL实现,其组成框***如***2所示。整个UARTIP由串行数据发送模块、串行数据接收模块、接收地址识别模块、接收和发送HIFO、总线接口逻辑、寄存器和控制逻辑构成。串行发送模块和接收完成并/串及串/并的转换,接收地址的识别由接收地址识别模块完成。发送和接收HIFO用于缓存发送和接收的数据。总线接口逻辑用于连接UARTIP内部总线和HOST接口。寄存器和控制逻辑实现UARTIP内部所有数据的收发、控制和状态寄存器、内部中断的控制及波特率信号的产生。以下详细说明主要部分的设计原理。
1.1串行数据发送模块
串行数据发送模块将数据或地址码由并行转换为串行,并从串行总线输出。设计采用有限状态机实现,分为空闲、取数、发送三个状态。其状态迁移如***3所示。各个状态说明如下:
空闲状态:状态机不断检测发送使能位、UART使能位和发送FIFO空/满标志位,如果使能位为高、UART使能打开且FIFO空标志位为低,串行发送进入取数状态。
取数状态:在此状态,分两个周期从发送FIFO中取出待发送的数据或者地址,然后进入发送状态。
发送状态:在此状态,状态机按照九位串行数据的格式依次发送开始位、数据位、地址指示位。待停止位发送完毕后,返回空闲状态。一个字节的数据发送完毕后,进行下一个字节数据的发送流程。
1.2串行数据接收模块
串行数据接收模块用于检测串行数据的开始位,将串行总线上的串行数据转换成并行数据并输出。接收逻辑也采用有限状态机实现,分为空闲状态、寻找开始位、接收数据和保存数据四个状态。其状态迁移***如***4所示。各个状态说明如下:
空闲状态:在此状态,不断检测接收使能、UART使能和串行输入信号的状态。如果串行输入信号出现由高到低的电平变化且UART使能和接收使能都为高,则将采样计数器复位,并进入寻找开始位状态。
寻找开始位:在此状态,状态机等待半个波特率的时间,然后重新检测串行输入的电平。如果为低,则判断收到的开始位有效,进入接收数据状态;否则认为数据总线上出现干扰,开始位无效,重新返回空闲状态。
接收数据:在此状态,依次接收串行数据线上的数据位、地址指示位和停止位,结束后进入保存数据状态。
保存数据:此状态将收到的串行数据以并行方式从接口的并行总线输出,然后返回空闲状态,准备进行下一个字节数据的搜索和接收。
为提高对串行输入上突发干扰的抵抗能力,对于接收数据,在脉冲的中间位置连续采样三次,较多的电平作为接收的有效数据。所有接收数据的采样频率为接收波特率的16倍。
1.3硬件地址识别模块
硬件地址识别模块用于从接收到的数据中判断出地址和数据,在地址识别功能打开时,选择数据通过或者丢弃;而该功能关闭时,所有数据都会通过。地址识别模块是一个有两个状态的有限状态机,分为地址和数据两个状态。其状态迁移***如***5所示。状态说明如下:
地址状态:在此状态时,判断接收到的数据以及地址识别使能位。如果地址识别功能没有打开,对于接收的任何地址,都进入数据状态。如果地址识别功能打开,则将收到的地址和本地地址比较,如果相等,则保存此地址,进入数据状态;否则继续在此状态接收数据和地址,将收到的数据忽略。
数据状态:将接收到的数据输出,直到收到地址位时,返回地址状态,处理地址。
为实现监听和广播功能,将地址255作为特殊地址,它可以和任何地址匹配。若本站的地址为255,此站点可以接收任何地址的数据,此功能可以用于监听总线上的数据;若发送数据的目的地址为255,则任何站点都会接收到此数据,此功能可以用于发送广播数据。
1.4FIFO设计
FIFO由控制逻辑和双口RAM组成,控制逻辑用来实现将一个双口RAM转换成两个FIFO的功能,这两个FIFO分别用于发送和接收数据缓存;中断控制用于在中断工作方式时管理UART内部的中断状态和控制信息。
为减少所需块RAM的数量,接收和发送FIFO使用同一个块RAM实现,使用仲裁机制保证两个FIFO的四个端口,在同一时刻最多只有两个操作,不影响对FIFO的读写。
1.5总线接口
UART采用同步接口,所有信号都在系统时钟的上升沿采样,设备的握手用一位应答信号完成。
数据总线宽度采用8+2的方式。和16位或者32位宽度的数据总线连接时,可以一次读取接收数据的数据和地址指示位,减少总线操作次数;若和8位系统连接,可以只连接低8位数据线,接收数据的地址信息可以通过内部的状态寄存器读取。
1.6寄存器和控制逻辑
寄存器部分实现UART内部所有数据的收发、控制和状态寄存,用于设置UART的数据格式、收发波特率、FIFO控制、本地地址、地址识别、中断控制和状态寄存,实现对UART工作的控制。
控制逻辑产生所需的所有波特率信号及对应的上升和下降沿指示信号,并根据实际工作所选择的波特率输出与系统时钟同步的对应信号。波特率产生逻辑的组成框***如***6所示。
2功能和时序仿真
首先结合功能仿真设计系统的仿真平台。仿真平台如***7所示。系统仿真平台和仿真激励采用VerilogHDL语言设计,可同时用于功能仿真和时序仿真,不能用于二者的综合。寄存器级模型为用于UARTIP设计的RTL描述,全部采用可以综合的VerilogHDL语句编写。仿真使用的软件为ModelSim。
功能仿真包括以下几个方面:
(1)基本模块连线时序的仿真。首先用描述方式设计UART的接口模型,利用仿真激励进行简单的读写操作,设计出仿真激励信号和系统仿真平台。然后结合仿真激励信号逐步完成UART的各个子模块的设计。仿真时,需要逐步观察UART接口信号的波形、UART内部模块的接口信号波形、各种状态机的状态迁移和数据指针的值以及状态位的值,逐步完成寄存器传输级的UART设计。
(2)UART的工作仿真。完成RTL的寄存器传输级模型后,根据系统软件工作的模式,用HDL设计出数据收发的仿真激励,打开自环功能,进行数据的发送和接收。仿真可以分为仿真查询和中断两种工作方式。对于中断工作方式,需要用HDL语言模拟软件的中断机制,
进行中断工作方式的仿真。最后打开地址识别功能,发送不同目的地址的数据,观察UART的硬件地址识别情况。
完成功能仿真后,将设计进行布局布线,生成Ver-ilogHDL形式的时序仿真模型和标准时延文件,利用与功能仿真相同的仿真平台进行时序仿真。时序仿真只需要仿真工作方式。功能仿真和时序仿真使用相同的仿真平台和激励向量,这样便于比较二者的差异,发现设计代码存在的问题。
3综合和测试结果
本设计用Synplicity公司的SynplifyPro作为综合工具,用XilinxISE5.2作为布局布线工具,采用器件为XC2S100IIE-7。综合结果显示,该UARTIP占用资源情况为:SLICE275个、内部块RAM1个、I/O24个,HOST总线可以达到的频率为73.2MHz。
测试程序参考仿真激励的生成,用C语言在vxWorks操作系统下设计。测试所用方法和工作仿真完全相同,只是仿真激励对应测试程序,而RTL模型对应实际的FP-GA器件。
多点测试使用了五块单板,采用半双工总线方式,定义简单的数据包格式,用于检测数据错误并返回数据。数据包的格式为地址开头,后面是最大255Byte的数据;数据部分包括发送方的地址、数据校验和及包的长度。另外,还定义简单的驱动程序格式,完成基本数据的收发和控制,然后在上层加载多点通信协议。其中的一块加载主设备程序,其它单板加载从设备程序。主设备周期性地向其它从设备发送测试数据,并在规定的时间内等待接收目标单板的数据。从设备软件只接收发给本单板的数据,如果校验正确,将收到的数据发给主设备;如果有错误,则不进行任何操作。主设备若在规定时间内无法接收从设备的数据或者接收数据错误,则判断通信异常,进行下一个设备的测试。
硬件设计论文第7篇
关键词:PCI总线WDM驱动MPEG-1压缩卡
随着计算机技术、多媒体和数据通信技术的高速发展,人们生活水平的提高,对计算机视频的需求和应用越来越多,如视频监控、视频会议、计算机视觉等。计算机视频提供给人的信息很多,但是视频的数据量很大,不利于传输和存储,使其应用受到不少限制。为解决视频数据的存储和传输,唯一途径就是对视频数据进行压缩。
目前常见的视频压缩方法有MPEG-1、MPEG-2、MPEG-4、H.261、H.263等。考虑压缩技术的成熟度和该压缩卡的主要用途,本文采用MPEG-1作为压缩标准,研制了基于PCI总线的MPEG-I压缩卡。该卡适用于视频监控、视频会议等多种应用场合。该卡加上一台主机、摄像头和软件可构成一个完整的视频采集压缩系统。
1系统特点
(1)支持BNC、RCA、S-VIDEO视频接口;
(2)支持PAL和NTSC制式;
(3)可对视频实时预览,最大分辨率可达720×576×32;
(4)可对声音进行同步监听;
(5)可对音、视频信号进行MPEG-I压缩,生成MPEG文件和VCD文件;
(6)用户可编程MPEG-1编码设置,可支持CBR和VBR;
(7)可一机多卡同时工作;
(8)可从动态影像中捕获单帧,生成JPG和BMP文件;
(9)支持Win98/Win2000。
2系统硬件设计
2.1系统组成
该系统主要由视频解码、音频解码、压缩核心和PCI接口等组成,其总体框***如***1所示。
2.2视频解码设计
视频解码部分主要完成模拟视频到数字视频的处理,以供后面预览、压缩用。视频解码芯片常用的有SAA7110、SAA7113和SAA7114等。本方案中采用Philips公司的SAA7114。SAA7114有六路模拟输入,内置模拟源选择器可构成6×CVBS、2×Y/C2×CVBS、1×Y/C和4×CVBS;两路模拟预处理通道,内有抗混迭滤波器;CVBS或Y/C通道含完全可编程静态增益控制或自动增益控制功能,对CVBS、Y/C通道可进行自动钳位控制;能自动检测50Hz/60Hz场频,并可自动在PAL和NTSC制式进行切换;能将PAL、NTSC和SECAM信号解码及模数变换得到符合ITU-601/ITU-656的数字电视信号。该芯片是目前视频解码芯片中接收视频源的宽容性及视频解码***像质量最好的一种。其通过I2C接口,进行初始化设置。
本系统采用ImagePort作为数字视频输出端口,数字视频格式采用ITU-656AI11(PIN20)作为BNC/RCA输入脚,AI12、AI22作为S-VIDEO输入脚。
***2SAA7146A方框***
2.3音频解码设计
音频解码的数据一部分提供给SAA7146A作声音监听用,另一部分用于压缩。考虑到成本,本系统采用BURR-BROWN公司的PCM1800E。该芯片是双声道单片ΔΣ型20位ADC单+5V电源供电,信噪比为95dB(典型值),动态范围95dB(典型值),内嵌高通滤波器,支持四种接口方式和四种数据格式。其采样频率为32kHz、44.1kHz和48kHz可选。
本系统采用从模式,20位I2S数据格式。主时钟由SAA7114提供。
2.4MPEG-1压缩部分设计
本系统中MPEG-I压缩芯片选用ZAPEX公司的SZ1510。该芯片基于TI的TMS320C54xDSP内核,能对ITU-601/ITU-656数字电视信号和PCM音频流进行MPEG-1实时压缩,可生成多种流,如音频基本流、视频基本流、音视频复合流等。
该芯片外接27MHz晶振,可支持多种主机接口,可工作在复用或非复用、Intel或Motorola类型总线。通过输入管脚HCONFIG1:0和SysConfig寄存器可设置成六种总线接口类型:Intel8051类型的数据/地址复用的8位总线、Motorola类型的数据/地址复用的8位总线、Intel8051类型的非复用的8位数据总线、Motorola类型的非复用的8位数据总线、Intel8051类型的非复用的16位数据总线和Motorola类型的非复用的16位数据总线。支持I2S声音接口。
本系统中采用Intel8051类型的非复用的16位数据总线。
2.5PCI接口部分设计
本系统中PCI接口芯片选用SAA7146A,该芯片并不是通用的PCI接口芯片,而是一个多媒体桥(MultimediaBridge)。方框***如***2。该芯片符合PCI2.1规范。它有八个DMA通道,三个视频,四个音频,一个DEBI(DataExpansionBusInterface)。还具有两路视频通道,可对视频数据进行缩放,一路可无级缩放HPS(HighPerformaceScaler,其纵向可达1:1024、横向可达1:256;另一路有级缩放BRS(BinaryRatioScaler支持CIF和QCIF格式。
音频接口以I2S为基础,通过编程控制以支持MSB-FIRST的不同格式及不同的时序格式。
本系统中该部分主要实现功能如下:
(1)通过DEBI接收SZ1510产生的MPEG-1数据,传输到内存;
(2)通过视频接口,接收SAA7114输出的视频解码信号,并进行亮度、色度、饱和度的控制,并实现无级缩放功能实现视频预览功能;
(3)通过音频接口,接收PCM1800E输出的PCM编码信号,传输到内存,实现声音监听功能;
(4)提供符合PCI2.1规范的接口,将板上数据传输到主机内存。
3软件设计
软件设计主要包括驱动程序设计和应用层的API设计。驱动程序主要负责与硬件打交道,应用层API主要负责与驱动程序接口。由于设计了应用层的API,应用程序可很容易在上面进行开发。
3.1驱动程序设计
为了支持Windows2000和Windows98采用WDMWindowsDriverModel驱动程序。WDM作为微软的最新驱动程序模型与传统的Win3.x和Win95使用的VxD驱动完全不同。WDM可支持电源管理、自动配置和热插拔等。WDM驱动的设计可以采用DriverStudioDS、Windriver、DDKDriverDeviceKit等。本系统驱动采用Windows2000DDK借助VC6.0设计。
3.1.1MPEG-I压缩部分
在驱动中,重置SZ1510后,就可以装载相应工作模式的微码;根据需要,设置好相应寄存值后就可以启动SZ1510对视频数据进行MPEG-1编码。每当产生的压缩数据超过SZ1510内部的FIFO门限后,SZ1510产生相应中断,内核调用中断例程,在中断例程中调用中断延迟例程DPC,在中断延迟例程中接收产生的压缩数据。SZ1510提供两种方式提取数据,一种用I2C总线接口方式,另一种用DEBI方式。
在本系统中,采用DEBI进行压缩数据的传输。考虑到压缩数据产生的速度,本系统开了32页大小的缓冲区,在中断延迟例程中填充该缓冲区。每当填满8页大小后,产生一个事件通知应用层进行数据读取。通过这种方式,可以避免压缩数据的丢失。
其流程***如***3所示。
在驱动中,压缩数据的提取方式将极大地影响生成MPEG文件的质量。如果处理不当,将导致马赛克、跳帧等现象。
3.1.2驱动程序中用户缓冲区的访问
驱动程序访问用户内存主要通过缓冲I/O和直接I/O。缓冲I/OI/O管理器创建一个内核模式拷贝缓冲区,并把用户缓冲区的内容拷贝到该缓冲区中,并在IRP首部的AssociateIrp.SystemBuffer域中存储该非分页内存地址。驱动程序可简单地读写该块内存。直接I/O,I/O管理器为输入数据提供一个内核模式拷贝缓冲区,对输出数据提供一个内存描述符(MDL)。为了使用缓冲I/O或直接I/O在创建设备时,必须设置设备对象的Flags域中的DO_BUFFERED_IO标志位来使用缓冲I/O或设置DO_DIRECT_IO标志位来使用直接I/O。
在本驱动中由于缓冲I/O和直接I/O都被使用,DO_BUFFERED_IO标志位和DO_DIRECT_IO标志位都被设置。
在定义IOCTL码中,对缓冲I/O使用METHOD_BUFFEERED对直接I/O使用METHOD_OUT_DIRECT。
3.2应用层API设计
应用层对驱动程序的访问通过调用Win32I/O函数(如ReadFile、WriteFile和DeviceIoControl)访问。当应用层调用Win32I/O函数以请求I/O后,该请求由内核的I/O系统服务接收,I/O管理器对该请求构造合适的IRP包,并将其传给驱动程序栈,IRP在栈中进行传递,传到驱动程序进行处理,并将结果返回给应用程序。